0001039399-23-000019.txt : 20230509 0001039399-23-000019.hdr.sgml : 20230509 20230509160635 ACCESSION NUMBER: 0001039399-23-000019 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 80 CONFORMED PERIOD OF REPORT: 20230401 FILED AS OF DATE: 20230509 DATE AS OF CHANGE: 20230509 FILER: COMPANY DATA: COMPANY CONFORMED NAME: FORMFACTOR INC CENTRAL INDEX KEY: 0001039399 STANDARD INDUSTRIAL CLASSIFICATION: SEMICONDUCTORS & RELATED DEVICES [3674] IRS NUMBER: 133711155 STATE OF INCORPORATION: DE FISCAL YEAR END: 1230 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 000-50307 FILM NUMBER: 23901940 BUSINESS ADDRESS: STREET 1: 7005 SOUTHFRONT ROAD CITY: LIVERMORE STATE: CA ZIP: 94551 BUSINESS PHONE: 9252904000 MAIL ADDRESS: STREET 1: 7005 SOUTHFRONT ROAD CITY: LIVERMORE STATE: CA ZIP: 94551 10-Q 1 form-20230401.htm 10-Q form-20230401
False0001039399December 302023Q19100010393992023-01-012023-04-0100010393992023-05-03xbrli:shares00010393992023-04-01iso4217:USD00010393992022-12-31iso4217:USDxbrli:shares00010393992021-12-262022-03-260001039399us-gaap:CommonStockMember2022-12-310001039399us-gaap:AdditionalPaidInCapitalMember2022-12-310001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001039399us-gaap:RetainedEarningsMember2022-12-310001039399us-gaap:CommonStockMember2023-01-012023-04-010001039399us-gaap:AdditionalPaidInCapitalMember2023-01-012023-04-010001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-04-010001039399us-gaap:RetainedEarningsMember2023-01-012023-04-010001039399us-gaap:CommonStockMember2023-04-010001039399us-gaap:AdditionalPaidInCapitalMember2023-04-010001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-04-010001039399us-gaap:RetainedEarningsMember2023-04-010001039399us-gaap:CommonStockMember2021-12-250001039399us-gaap:AdditionalPaidInCapitalMember2021-12-250001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-250001039399us-gaap:RetainedEarningsMember2021-12-2500010393992021-12-250001039399us-gaap:CommonStockMember2021-12-262022-03-260001039399us-gaap:AdditionalPaidInCapitalMember2021-12-262022-03-260001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-262022-03-260001039399us-gaap:RetainedEarningsMember2021-12-262022-03-260001039399us-gaap:CommonStockMember2022-03-260001039399us-gaap:AdditionalPaidInCapitalMember2022-03-260001039399us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-03-260001039399us-gaap:RetainedEarningsMember2022-03-2600010393992022-03-2600010393992021-12-262022-12-3100010393992023-01-3100010393992023-01-012023-01-310001039399us-gaap:SalesRevenueNetMemberform:TwoMajorCustomersMemberus-gaap:CustomerConcentrationRiskMember2021-12-262022-03-26xbrli:pure0001039399us-gaap:SalesRevenueNetMemberform:TwoMajorCustomersMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-04-010001039399us-gaap:RevenueFromContractWithCustomerMemberform:IntelMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-04-010001039399us-gaap:RevenueFromContractWithCustomerMemberform:IntelMemberus-gaap:CustomerConcentrationRiskMember2021-12-262022-03-260001039399us-gaap:RevenueFromContractWithCustomerMemberus-gaap:CustomerConcentrationRiskMemberform:TaiwanSemiconductorManufacturingCoLTDMember2021-12-262022-03-260001039399us-gaap:RevenueFromContractWithCustomerMemberform:CustomersRepresenting10OrMoreOfTotalRevenuesMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-04-010001039399us-gaap:RevenueFromContractWithCustomerMemberform:CustomersRepresenting10OrMoreOfTotalRevenuesMemberus-gaap:CustomerConcentrationRiskMember2021-12-262022-03-260001039399form:MajorCustomer1Memberus-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMember2023-01-012023-04-010001039399form:MajorCustomer2Memberus-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMember2023-01-012023-04-010001039399form:MajorCustomer1Memberus-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMember2021-12-262022-12-310001039399form:ProbeCardsSegmentMember2021-12-250001039399form:SystemsSegmentMember2021-12-250001039399form:ProbeCardsSegmentMemberform:WoburnMember2021-12-262022-06-250001039399form:SystemsSegmentMemberform:WoburnMember2021-12-262022-06-250001039399form:WoburnMember2021-12-262022-06-250001039399form:ProbeCardsSegmentMember2021-12-262022-06-250001039399form:SystemsSegmentMember2021-12-262022-06-2500010393992021-12-262022-06-250001039399form:ProbeCardsSegmentMember2022-12-310001039399form:SystemsSegmentMember2022-12-310001039399form:ProbeCardsSegmentMember2023-01-012023-04-010001039399form:SystemsSegmentMember2023-01-012023-04-010001039399form:ProbeCardsSegmentMember2023-04-010001039399form:SystemsSegmentMember2023-04-010001039399form:ExistingDevelopedTechnologiesMember2023-04-010001039399form:ExistingDevelopedTechnologiesMember2022-12-310001039399us-gaap:CustomerRelationshipsMember2023-04-010001039399us-gaap:CustomerRelationshipsMember2022-12-310001039399us-gaap:TradeNamesMember2023-04-010001039399us-gaap:TradeNamesMember2022-12-310001039399us-gaap:InProcessResearchAndDevelopmentMember2023-04-010001039399us-gaap:InProcessResearchAndDevelopmentMember2022-12-310001039399us-gaap:CostOfSalesMember2023-01-012023-04-010001039399us-gaap:CostOfSalesMember2021-12-262022-03-260001039399us-gaap:SellingGeneralAndAdministrativeExpensesMember2023-01-012023-04-010001039399us-gaap:SellingGeneralAndAdministrativeExpensesMember2021-12-262022-03-260001039399form:A2022RestructuringPlanMember2022-10-252022-10-250001039399form:A2022RestructuringPlanMember2022-10-252023-04-010001039399form:StockBasedCompensationMemberform:A2022RestructuringPlanMember2022-10-252023-04-010001039399form:ProbeCardsSegmentMemberform:A2022RestructuringPlanMember2022-10-252023-04-010001039399form:SystemsSegmentMemberform:A2022RestructuringPlanMember2022-10-252023-04-010001039399us-gaap:CorporateNonSegmentMemberform:A2022RestructuringPlanMember2022-10-252023-04-010001039399form:A2021RestructuringPlanMember2021-09-252023-04-010001039399form:A2021RestructuringPlanMemberform:ProbeCardsSegmentMember2021-09-252023-04-010001039399form:SystemsSegmentMemberform:A2021RestructuringPlanMember2021-09-252023-04-010001039399us-gaap:EmployeeSeveranceMemberform:A2021RestructuringPlanMember2021-09-252023-04-010001039399form:A2021RestructuringPlanMemberus-gaap:ContractTerminationMember2021-09-252023-04-010001039399form:A2021RestructuringPlanMemberform:InventoryImpairmentsMember2021-09-252023-04-010001039399form:A2021RestructuringPlanMemberus-gaap:OtherRestructuringMember2021-09-252023-04-010001039399form:ProbeCardsSegmentMemberus-gaap:CostOfSalesMember2023-01-012023-04-010001039399form:SystemsSegmentMemberus-gaap:CostOfSalesMember2023-01-012023-04-010001039399form:ProbeCardsSegmentMemberus-gaap:CostOfSalesMember2021-12-262022-03-260001039399form:SystemsSegmentMemberus-gaap:CostOfSalesMember2021-12-262022-03-260001039399us-gaap:ResearchAndDevelopmentExpenseMemberform:ProbeCardsSegmentMember2023-01-012023-04-010001039399us-gaap:ResearchAndDevelopmentExpenseMemberform:SystemsSegmentMember2023-01-012023-04-010001039399us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-04-010001039399us-gaap:ResearchAndDevelopmentExpenseMemberform:ProbeCardsSegmentMember2021-12-262022-03-260001039399us-gaap:ResearchAndDevelopmentExpenseMemberform:SystemsSegmentMember2021-12-262022-03-260001039399us-gaap:ResearchAndDevelopmentExpenseMember2021-12-262022-03-260001039399us-gaap:SellingGeneralAndAdministrativeExpensesMemberform:ProbeCardsSegmentMember2023-01-012023-04-010001039399us-gaap:SellingGeneralAndAdministrativeExpensesMemberform:SystemsSegmentMember2023-01-012023-04-010001039399us-gaap:SellingGeneralAndAdministrativeExpensesMemberform:ProbeCardsSegmentMember2021-12-262022-03-260001039399us-gaap:SellingGeneralAndAdministrativeExpensesMemberform:SystemsSegmentMember2021-12-262022-03-260001039399form:ProbeCardsSegmentMember2021-12-262022-03-260001039399form:SystemsSegmentMember2021-12-262022-03-260001039399us-gaap:EmployeeSeveranceMember2022-12-310001039399form:StockBasedCompensationMember2022-12-310001039399form:InventoryImpairmentsMember2022-12-310001039399us-gaap:EmployeeSeveranceMember2023-01-012023-04-010001039399form:StockBasedCompensationMember2023-01-012023-04-010001039399form:InventoryImpairmentsMember2023-01-012023-04-010001039399us-gaap:EmployeeSeveranceMember2023-04-010001039399form:StockBasedCompensationMember2023-04-010001039399form:InventoryImpairmentsMember2023-04-010001039399us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMember2023-04-010001039399us-gaap:FairValueInputsLevel2Memberus-gaap:MoneyMarketFundsMember2023-04-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:MoneyMarketFundsMember2023-04-010001039399us-gaap:MoneyMarketFundsMember2023-04-010001039399us-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel1Member2023-04-010001039399us-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel2Member2023-04-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:CommercialPaperMember2023-04-010001039399us-gaap:CommercialPaperMember2023-04-010001039399us-gaap:FairValueInputsLevel1Member2023-04-010001039399us-gaap:FairValueInputsLevel2Member2023-04-010001039399us-gaap:FairValueInputsLevel3Member2023-04-010001039399us-gaap:USTreasuryBillSecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-04-010001039399us-gaap:USTreasuryBillSecuritiesMemberus-gaap:FairValueInputsLevel2Member2023-04-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:USTreasuryBillSecuritiesMember2023-04-010001039399us-gaap:USTreasuryBillSecuritiesMember2023-04-010001039399us-gaap:FairValueInputsLevel1Memberus-gaap:CertificatesOfDepositMember2023-04-010001039399us-gaap:FairValueInputsLevel2Memberus-gaap:CertificatesOfDepositMember2023-04-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:CertificatesOfDepositMember2023-04-010001039399us-gaap:CertificatesOfDepositMember2023-04-010001039399us-gaap:FairValueInputsLevel1Memberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-04-010001039399us-gaap:FairValueInputsLevel2Memberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-04-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-04-010001039399us-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-04-010001039399us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueInputsLevel1Member2023-04-010001039399us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueInputsLevel2Member2023-04-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:CorporateBondSecuritiesMember2023-04-010001039399us-gaap:CorporateBondSecuritiesMember2023-04-010001039399us-gaap:ForeignExchangeContractMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel1Member2023-04-010001039399us-gaap:ForeignExchangeContractMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel2Member2023-04-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:ForeignExchangeContractMemberus-gaap:DesignatedAsHedgingInstrumentMember2023-04-010001039399us-gaap:ForeignExchangeContractMemberus-gaap:DesignatedAsHedgingInstrumentMember2023-04-010001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:NotesReceivableMemberus-gaap:FairValueInputsLevel1Member2023-04-010001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:NotesReceivableMemberus-gaap:FairValueInputsLevel2Member2023-04-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:NotesReceivableMember2023-04-010001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:NotesReceivableMember2023-04-010001039399us-gaap:InterestRateSwapMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel1Member2023-04-010001039399us-gaap:InterestRateSwapMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel2Member2023-04-010001039399us-gaap:FairValueInputsLevel3Memberus-gaap:InterestRateSwapMemberus-gaap:DesignatedAsHedgingInstrumentMember2023-04-010001039399us-gaap:InterestRateSwapMemberus-gaap:DesignatedAsHedgingInstrumentMember2023-04-010001039399us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMember2022-12-310001039399us-gaap:FairValueInputsLevel2Memberus-gaap:MoneyMarketFundsMember2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:MoneyMarketFundsMember2022-12-310001039399us-gaap:MoneyMarketFundsMember2022-12-310001039399us-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:CommercialPaperMember2022-12-310001039399us-gaap:CommercialPaperMember2022-12-310001039399us-gaap:FairValueInputsLevel1Memberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-12-310001039399us-gaap:FairValueInputsLevel2Memberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-12-310001039399us-gaap:USGovernmentAgenciesDebtSecuritiesMember2022-12-310001039399us-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Member2022-12-310001039399us-gaap:USTreasuryBillSecuritiesMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:USTreasuryBillSecuritiesMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:USTreasuryBillSecuritiesMember2022-12-310001039399us-gaap:USTreasuryBillSecuritiesMember2022-12-310001039399us-gaap:FairValueInputsLevel1Memberus-gaap:CertificatesOfDepositMember2022-12-310001039399us-gaap:FairValueInputsLevel2Memberus-gaap:CertificatesOfDepositMember2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:CertificatesOfDepositMember2022-12-310001039399us-gaap:CertificatesOfDepositMember2022-12-310001039399us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:CorporateBondSecuritiesMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:CorporateBondSecuritiesMember2022-12-310001039399us-gaap:CorporateBondSecuritiesMember2022-12-310001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:CommercialPaperMember2022-12-310001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:CommercialPaperMember2022-12-310001039399us-gaap:ForeignExchangeContractMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:ForeignExchangeContractMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:ForeignExchangeContractMemberus-gaap:DesignatedAsHedgingInstrumentMember2022-12-310001039399us-gaap:ForeignExchangeContractMemberus-gaap:DesignatedAsHedgingInstrumentMember2022-12-310001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:NotesReceivableMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:NotesReceivableMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:NotesReceivableMember2022-12-310001039399us-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:NotesReceivableMember2022-12-310001039399us-gaap:InterestRateSwapMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel1Member2022-12-310001039399us-gaap:InterestRateSwapMemberus-gaap:DesignatedAsHedgingInstrumentMemberus-gaap:FairValueInputsLevel2Member2022-12-310001039399us-gaap:FairValueInputsLevel3Memberus-gaap:InterestRateSwapMemberus-gaap:DesignatedAsHedgingInstrumentMember2022-12-310001039399us-gaap:InterestRateSwapMemberus-gaap:DesignatedAsHedgingInstrumentMember2022-12-310001039399currency:EURus-gaap:ForeignExchangeForwardMemberus-gaap:LongMember2023-04-01iso4217:EUR0001039399us-gaap:ShortMembercurrency:EURus-gaap:ForeignExchangeForwardMember2023-04-010001039399currency:JPYus-gaap:ShortMemberus-gaap:ForeignExchangeForwardMember2023-04-01iso4217:JPY0001039399currency:KRWus-gaap:ForeignExchangeForwardMemberus-gaap:LongMember2023-04-01iso4217:KRW0001039399us-gaap:ShortMembercurrency:TWDus-gaap:ForeignExchangeForwardMember2023-04-01iso4217:TWD0001039399us-gaap:FairValueMeasurementsNonrecurringMember2022-03-260001039399us-gaap:FairValueMeasurementsNonrecurringMember2023-04-010001039399us-gaap:LandMember2023-04-010001039399us-gaap:LandMember2022-12-310001039399us-gaap:BuildingAndBuildingImprovementsMember2023-04-010001039399us-gaap:BuildingAndBuildingImprovementsMember2022-12-310001039399us-gaap:EquipmentMember2023-04-010001039399us-gaap:EquipmentMember2022-12-310001039399us-gaap:ComputerEquipmentMember2023-04-010001039399us-gaap:ComputerEquipmentMember2022-12-310001039399us-gaap:FurnitureAndFixturesMember2023-04-010001039399us-gaap:FurnitureAndFixturesMember2022-12-310001039399us-gaap:LeaseholdImprovementsMember2023-04-010001039399us-gaap:LeaseholdImprovementsMember2022-12-310001039399us-gaap:CommonStockMemberform:October2020StockRepurchaseProgramMember2020-10-260001039399us-gaap:CommonStockMemberform:October2020StockRepurchaseProgramMember2021-12-262022-03-260001039399us-gaap:CommonStockMemberform:May2022StockRepurchaseProgramMember2022-05-200001039399us-gaap:CommonStockMemberform:May2022StockRepurchaseProgramMember2023-01-012023-04-010001039399us-gaap:CommonStockMemberform:May2022StockRepurchaseProgramMember2023-04-010001039399us-gaap:RestrictedStockUnitsRSUMemberform:EquityIncentivePlanMember2022-12-310001039399us-gaap:RestrictedStockUnitsRSUMemberform:EquityIncentivePlanMember2023-01-012023-04-010001039399us-gaap:RestrictedStockUnitsRSUMemberform:EquityIncentivePlanMember2023-04-010001039399us-gaap:EmployeeStockMember2023-01-012023-04-010001039399us-gaap:EmployeeStockMember2023-04-010001039399us-gaap:RestrictedStockMember2023-04-010001039399us-gaap:RestrictedStockMember2023-01-012023-04-010001039399form:PerformanceRestrictedStockUnitsMember2023-04-010001039399form:PerformanceRestrictedStockUnitsMember2023-01-012023-04-010001039399srt:MinimumMember2023-04-010001039399srt:MaximumMember2023-04-010001039399us-gaap:AutomobilesMember2023-04-0100010393992023-04-022023-04-0100010393992023-12-312023-04-0100010393992024-12-292023-04-01form:segment0001039399form:ProbeCardsSegmentMemberus-gaap:OperatingSegmentsMember2023-01-012023-04-010001039399form:SystemsSegmentMemberus-gaap:OperatingSegmentsMember2023-01-012023-04-010001039399us-gaap:CorporateAndOtherMemberus-gaap:OperatingSegmentsMember2023-01-012023-04-010001039399form:ProbeCardsSegmentMemberus-gaap:OperatingSegmentsMember2021-12-262022-03-260001039399form:SystemsSegmentMemberus-gaap:OperatingSegmentsMember2021-12-262022-03-260001039399us-gaap:CorporateAndOtherMemberus-gaap:OperatingSegmentsMember2021-12-262022-03-260001039399form:ProbeCardsSegmentMemberform:FoundryLogicProductGroupMember2023-01-012023-04-010001039399form:SystemsSegmentMemberform:FoundryLogicProductGroupMember2023-01-012023-04-010001039399form:FoundryLogicProductGroupMember2023-01-012023-04-010001039399form:ProbeCardsSegmentMemberform:FoundryLogicProductGroupMember2021-12-262022-03-260001039399form:SystemsSegmentMemberform:FoundryLogicProductGroupMember2021-12-262022-03-260001039399form:FoundryLogicProductGroupMember2021-12-262022-03-260001039399form:DRAMProductGroupMemberform:ProbeCardsSegmentMember2023-01-012023-04-010001039399form:DRAMProductGroupMemberform:SystemsSegmentMember2023-01-012023-04-010001039399form:DRAMProductGroupMember2023-01-012023-04-010001039399form:DRAMProductGroupMemberform:ProbeCardsSegmentMember2021-12-262022-03-260001039399form:DRAMProductGroupMemberform:SystemsSegmentMember2021-12-262022-03-260001039399form:DRAMProductGroupMember2021-12-262022-03-260001039399form:FlashProductGroupMemberform:ProbeCardsSegmentMember2023-01-012023-04-010001039399form:FlashProductGroupMemberform:SystemsSegmentMember2023-01-012023-04-010001039399form:FlashProductGroupMember2023-01-012023-04-010001039399form:FlashProductGroupMemberform:ProbeCardsSegmentMember2021-12-262022-03-260001039399form:FlashProductGroupMemberform:SystemsSegmentMember2021-12-262022-03-260001039399form:FlashProductGroupMember2021-12-262022-03-260001039399form:ProbeCardsSegmentMemberform:SystemsProductGroupMember2023-01-012023-04-010001039399form:SystemsSegmentMemberform:SystemsProductGroupMember2023-01-012023-04-010001039399form:SystemsProductGroupMember2023-01-012023-04-010001039399form:ProbeCardsSegmentMemberform:SystemsProductGroupMember2021-12-262022-03-260001039399form:SystemsSegmentMemberform:SystemsProductGroupMember2021-12-262022-03-260001039399form:SystemsProductGroupMember2021-12-262022-03-260001039399form:ProbeCardsSegmentMemberus-gaap:TransferredAtPointInTimeMember2023-01-012023-04-010001039399form:SystemsSegmentMemberus-gaap:TransferredAtPointInTimeMember2023-01-012023-04-010001039399us-gaap:TransferredAtPointInTimeMember2023-01-012023-04-010001039399form:ProbeCardsSegmentMemberus-gaap:TransferredAtPointInTimeMember2021-12-262022-03-260001039399form:SystemsSegmentMemberus-gaap:TransferredAtPointInTimeMember2021-12-262022-03-260001039399us-gaap:TransferredAtPointInTimeMember2021-12-262022-03-260001039399form:ProbeCardsSegmentMemberus-gaap:TransferredOverTimeMember2023-01-012023-04-010001039399form:SystemsSegmentMemberus-gaap:TransferredOverTimeMember2023-01-012023-04-010001039399us-gaap:TransferredOverTimeMember2023-01-012023-04-010001039399form:ProbeCardsSegmentMemberus-gaap:TransferredOverTimeMember2021-12-262022-03-260001039399form:SystemsSegmentMemberus-gaap:TransferredOverTimeMember2021-12-262022-03-260001039399us-gaap:TransferredOverTimeMember2021-12-262022-03-260001039399form:ProbeCardsSegmentMembercountry:TW2023-01-012023-04-010001039399form:SystemsSegmentMembercountry:TW2023-01-012023-04-010001039399country:TW2023-01-012023-04-010001039399form:ProbeCardsSegmentMembercountry:TW2021-12-262022-03-260001039399form:SystemsSegmentMembercountry:TW2021-12-262022-03-260001039399country:TW2021-12-262022-03-260001039399country:USform:ProbeCardsSegmentMember2023-01-012023-04-010001039399country:USform:SystemsSegmentMember2023-01-012023-04-010001039399country:US2023-01-012023-04-010001039399country:USform:ProbeCardsSegmentMember2021-12-262022-03-260001039399country:USform:SystemsSegmentMember2021-12-262022-03-260001039399country:US2021-12-262022-03-260001039399country:CNform:ProbeCardsSegmentMember2023-01-012023-04-010001039399country:CNform:SystemsSegmentMember2023-01-012023-04-010001039399country:CN2023-01-012023-04-010001039399country:CNform:ProbeCardsSegmentMember2021-12-262022-03-260001039399country:CNform:SystemsSegmentMember2021-12-262022-03-260001039399country:CN2021-12-262022-03-260001039399form:ProbeCardsSegmentMembercountry:KR2023-01-012023-04-010001039399form:SystemsSegmentMembercountry:KR2023-01-012023-04-010001039399country:KR2023-01-012023-04-010001039399form:ProbeCardsSegmentMembercountry:KR2021-12-262022-03-260001039399form:SystemsSegmentMembercountry:KR2021-12-262022-03-260001039399country:KR2021-12-262022-03-260001039399form:ProbeCardsSegmentMembercountry:MY2023-01-012023-04-010001039399form:SystemsSegmentMembercountry:MY2023-01-012023-04-010001039399country:MY2023-01-012023-04-010001039399form:ProbeCardsSegmentMembercountry:MY2021-12-262022-03-260001039399form:SystemsSegmentMembercountry:MY2021-12-262022-03-260001039399country:MY2021-12-262022-03-260001039399country:JPform:ProbeCardsSegmentMember2023-01-012023-04-010001039399country:JPform:SystemsSegmentMember2023-01-012023-04-010001039399country:JP2023-01-012023-04-010001039399country:JPform:ProbeCardsSegmentMember2021-12-262022-03-260001039399country:JPform:SystemsSegmentMember2021-12-262022-03-260001039399country:JP2021-12-262022-03-260001039399srt:EuropeMemberform:ProbeCardsSegmentMember2023-01-012023-04-010001039399form:SystemsSegmentMembersrt:EuropeMember2023-01-012023-04-010001039399srt:EuropeMember2023-01-012023-04-010001039399srt:EuropeMemberform:ProbeCardsSegmentMember2021-12-262022-03-260001039399form:SystemsSegmentMembersrt:EuropeMember2021-12-262022-03-260001039399srt:EuropeMember2021-12-262022-03-260001039399form:ProbeCardsSegmentMembercountry:SG2023-01-012023-04-010001039399form:SystemsSegmentMembercountry:SG2023-01-012023-04-010001039399country:SG2023-01-012023-04-010001039399form:ProbeCardsSegmentMembercountry:SG2021-12-262022-03-260001039399form:SystemsSegmentMembercountry:SG2021-12-262022-03-260001039399country:SG2021-12-262022-03-260001039399form:ProbeCardsSegmentMemberform:RestOfTheWorldMember2023-01-012023-04-010001039399form:SystemsSegmentMemberform:RestOfTheWorldMember2023-01-012023-04-010001039399form:RestOfTheWorldMember2023-01-012023-04-010001039399form:ProbeCardsSegmentMemberform:RestOfTheWorldMember2021-12-262022-03-260001039399form:SystemsSegmentMemberform:RestOfTheWorldMember2021-12-262022-03-260001039399form:RestOfTheWorldMember2021-12-262022-03-26

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
 Form 10-Q
 
(Mark one)
    QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended April 1, 2023
Or 
    TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from            to            
 
Commission file number: 000-50307
 
FormFactor, Inc.
(Exact name of registrant as specified in its charter)
Delaware 13-3711155
(State or other jurisdiction of
incorporation or organization)
 (I.R.S. Employer
Identification No.)
 
7005 Southfront Road, Livermore, California 94551
(Address of principal executive offices, including zip code)
 
(925) 290-4000
(Registrant’s telephone number, including area code)

Securities registered pursuant to Section12(b) of the Act:
Title of each classTrading Symbol(s) Name of each exchange on which registered
Common stock, $0.001 par valueFORM Nasdaq Global Market
 ______________________________________

Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.   Yes   No 
 
Indicate by check mark whether the registrant submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of the Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).  Yes   No
 
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company or an emerging growth company. See the definitions of “large accelerated filer”, “accelerated filer,” “smaller reporting company” and “emerging growth company” in Rule 12b-2 of the Exchange Act. (Check one):
Large Accelerated FilerAccelerated FilerNon-accelerated Filer
Smaller Reporting CompanyEmerging Growth Company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.     

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

As of May 3, 2023, 77,144,094 shares of the registrant’s common stock, par value $0.001 per share, were outstanding.





FORMFACTOR, INC.
FORM 10-Q FOR THE QUARTERLY PERIOD ENDED APRIL 1, 2023
INDEX
 
   
 
   
 
   
  
 
  
 
  
  
  
  
  
  
 

2


PART I - FINANCIAL INFORMATION
 
Item 1. Financial Statements
 
FORMFACTOR, INC.
CONDENSED CONSOLIDATED BALANCE SHEETS
(In thousands, except share and per share amounts)
(Unaudited)
 April 1,
2023
December 31,
2022
ASSETS 
Current assets:  
Cash and cash equivalents$112,360 $109,130 
Marketable securities123,891 129,006 
Accounts receivable, net of allowance for credit losses of $169 and $168
103,969 88,143 
Inventories, net116,553 123,157 
Restricted cash1,207 1,221 
Prepaid expenses and other current assets22,941 23,895 
Total current assets480,921 474,552 
Restricted cash2,287 2,631 
Operating lease, right-of-use-assets30,420 31,362 
Property, plant and equipment, net of accumulated depreciation198,232 189,848 
Goodwill211,773 211,444 
Intangibles, net24,486 26,751 
Deferred tax assets67,951 67,646 
Other assets3,686 3,994 
Total assets$1,019,756 $1,008,228 
LIABILITIES AND STOCKHOLDERS’ EQUITY 
Current liabilities: 
Accounts payable$63,756 $69,308 
Accrued liabilities31,981 42,115 
Current portion of term loan, net of unamortized issuance costs1,142 1,045 
Deferred revenue23,779 29,846 
Operating lease liabilities7,512 7,353 
Total current liabilities128,170 149,667 
Term loan, less current portion, net of unamortized issuance costs14,034 14,389 
Deferred tax liabilities2,905 2,732 
Long-term operating lease liabilities26,407 27,587 
Deferred grant18,000  
Other liabilities5,868 5,568 
Total liabilities195,384 199,943 
 
Stockholders’ equity: 
Common stock, $0.001 par value:
 
250,000,000 shares authorized; 77,142,023 and 76,914,590 shares issued and outstanding
77 77 
Additional paid-in capital858,195 844,842 
Accumulated other comprehensive loss(4,186)(5,578)
Accumulated deficit(29,714)(31,056)
Total stockholders’ equity824,372 808,285 
Total liabilities and stockholders’ equity$1,019,756 $1,008,228 
 
The accompanying notes are an integral part of these condensed consolidated financial statements. 
3


FORMFACTOR, INC.
 CONDENSED CONSOLIDATED STATEMENTS OF INCOME
(In thousands, except per share amounts)
(Unaudited)
 Three Months Ended
 April 1,
2023
March 26,
2022
Revenues$167,448 $197,174 
Cost of revenues106,370 102,950 
Gross profit61,078 94,224 
Operating expenses:  
Research and development28,245 27,134 
Selling, general and administrative32,742 32,906 
Total operating expenses60,987 60,040 
Operating income91 34,184 
Interest income (expense), net1,276 (54)
Other income, net23 192 
Income before income taxes1,390 34,322 
Provision for income taxes48 4,450 
Net income$1,342 $29,872 
Net income per share: 
Basic $0.02 $0.38 
Diluted$0.02 $0.38 
Weighted-average number of shares used in per share calculations:  
Basic 77,066 78,246 
Diluted77,255 79,468 
 
The accompanying notes are an integral part of these condensed consolidated financial statements.
4


FORMFACTOR, INC.
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
(In thousands)
(Unaudited)
Three Months Ended
April 1,
2023
March 26,
2022
Net income $1,342 $29,872 
Other comprehensive income (loss), net of tax:
Translation adjustments832 (2,698)
Unrealized gains (losses) on available-for-sale marketable securities603 (1,204)
Unrealized gains (losses) on derivative instruments(43)874 
Other comprehensive income (loss), net of tax:1,392 (3,028)
Comprehensive income$2,734 $26,844 

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

5


FORMFACTOR, INC.
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY
(In thousands, except shares)
(Unaudited)
 Shares of
Common
Stock
Common
Stock
Additional
Paid-in
Capital
Accumulated
Other
Comprehensive
 Income (Loss)
Accumulated
Deficit
Total
Three Months Ended April 1, 2023
Balances, December 31, 202276,914,590 $77 $844,842 $(5,578)$(31,056)$808,285 
Issuance of common stock under the Employee Stock Purchase Plan210,055 — 5,024 — — 5,024 
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax17,378 — (387)— — (387)
Stock-based compensation— — 8,716 — — 8,716 
Other comprehensive income— — — 1,392 — 1,392 
Net income— — — — 1,342 1,342 
Balances, April 1, 202377,142,023 $77 $858,195 $(4,186)$(29,714)$824,372 
Three Months Ended March 26, 2022
Balances, December 25, 202178,240,506 $78 $898,945 $(1,449)$(81,794)$815,780 
Issuance of common stock under the Employee Stock Purchase Plan157,642 — 5,645 — — 5,645 
Issuance of common stock pursuant to exercise of options6,000 — 42 — — 42 
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax2,612 — (72)— — (72)
Purchase and retirement of common stock through repurchase program(240,548)— (9,397)— — (9,397)
Stock-based compensation— — 7,831 — — 7,831 
Other comprehensive loss— — — (3,028)— (3,028)
Net income— — — — 29,872 29,872 
Balances, March 26, 202278,166,212 $78 $902,994 $(4,477)$(51,922)$846,673 

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


FORMFACTOR, INC.
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
(In thousands)
(Unaudited)
 Three Months Ended
 April 1,
2023
March 26,
2022
Cash flows from operating activities:  
Net income $1,342 $29,872 
Adjustments to reconcile net income to net cash provided by operating activities: 
Depreciation7,576 6,960 
Amortization2,378 2,369 
Reduction in the carrying amount of right-of-use assets1,690 2,492 
Stock-based compensation expense9,290 7,520 
Provision for excess and obsolete inventories4,973 2,501 
Other adjustments to reconcile net income to net cash provided by operating activities133 182 
Changes in assets and liabilities:
Accounts receivable(15,926)966 
Inventories1,375 (17,080)
Prepaid expenses and other current assets1,009 (144)
Other assets(55)(73)
Accounts payable(1,819)10,150 
Accrued liabilities(10,209)(3,120)
Other liabilities319 87 
Deferred revenues(6,046)3,908 
Deferred grant18,000  
Operating lease liabilities(1,721)(2,435)
Net cash provided by operating activities12,309 44,155 
Cash flows from investing activities:  
Acquisition of property, plant and equipment(19,701)(15,606)
Purchases of marketable securities(27,311)(23,462)
Proceeds from maturities and sales of marketable securities33,473 17,990 
Net cash used in investing activities(13,539)(21,078)
Cash flows from financing activities:  
Proceeds from issuances of common stock5,024 5,687 
Purchase of common stock through stock repurchase program (9,397)
Tax withholdings related to net share settlements of equity awards(387)(72)
Principal repayments on term loans(259)(2,234)
Net cash provided by (used) in financing activities4,378 (6,016)
Effect of exchange rate changes on cash, cash equivalents and restricted cash(276)(1,142)
Net increase in cash, cash equivalents and restricted cash2,872 15,919 
Cash, cash equivalents and restricted cash, beginning of period112,982 155,342 
Cash, cash equivalents and restricted cash, end of period$115,854 $171,261 

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



FORMFACTOR, INC.
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
(In thousands)
(Unaudited)
Three Months Ended
April 1,
2023
March 26,
2022
Non-cash investing and financing activities:
Decrease in accounts payable and accrued liabilities related to property, plant and equipment purchases$3,755 $2,524 
Operating lease, right-of-use assets obtained in exchange for lease obligations727 3,359 
Supplemental disclosure of cash flow information:
Cash paid for income taxes, net$7,391 $890 
Cash paid for interest106 163 
Operating cash outflows from operating leases2,191 2,094 
Reconciliation of cash, cash equivalents and restricted cash:
Cash and cash equivalents$112,360 $167,182 
Restricted cash, current1,207 2,026 
Restricted cash, non-current2,287 2,053 
Total cash, cash equivalents and restricted cash$115,854 $171,261 

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


FORMFACTOR, INC.
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS
(Unaudited)


Note 1 — Basis of Presentation and Significant Accounting Policies
 
Basis of Presentation
The accompanying condensed consolidated financial information of FormFactor, Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year.
 
Fiscal Year 
We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the three months ended April 1, 2023 and March 26, 2022 each contained 13 weeks. Fiscal 2023 will end on December 30, 2023.

Significant Accounting Policies
Our significant accounting policies have not changed during the three months ended April 1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022, except for:

Government Assistance
In January 2023, we received $18.0 million in cash from a California Competes Grant (the “Grant”) awarded from the California Governor’s Office of Business and Economic Development. The Grant requires FormFactor to create and maintain full-time jobs and make significant infrastructure investments within California over a 5-year term. If we do not meet the requirements of the Grant, we will be required to repay all or a portion of the Grant.

The Grant is included in our Condensed Consolidated Balance Sheets within Deferred grant and we have elected to recognize when earned as an offset to Cost of revenues and Operating expenses within our Condensed Consolidated Statements of Income. We have elected to present the proceeds from the Grant as cash provided by operating activities within our Condensed Consolidated Statements of Cash Flows as the grant is to offset operations.

Note 2 — Concentration of Credit and Other Risks

Each of the following customers accounted for 10% or more of our revenues for the periods indicated:
Three Months Ended
April 1,
2023
March 26,
2022
Intel Corporation20.0 %20.8 %
Taiwan Semiconductor Manufacturing Co., LTD.*10.7 %
20.0 %31.5 %

At April 1, 2023, two customers accounted for 17.9% and 15.9% of gross accounts receivable, respectively. At December 31, 2022, one customer accounted for 13.8% of gross accounts receivable.

Note 3 — Inventories, net

Inventories are stated at the lower of cost (principally standard cost, which approximates actual cost on a first in, first out basis) or net realizable value.
 
9


Inventories, net, consisted of the following (in thousands):
April 1,
2023
December 31,
2022
Raw materials$57,748 $55,726 
Work-in-progress39,376 46,067 
Finished goods19,429 21,364 
$116,553 $123,157 

Note 4 Goodwill and Intangible Assets

Goodwill by reportable segment was as follows (in thousands):
Probe CardsSystemsTotal
Goodwill, as of December 25, 2021$178,424 $33,875 $212,299 
Addition - Woburn Acquisition 550 550 
Foreign currency translation (1,405)(1,405)
Goodwill, as of December 31, 2022178,424 33,020 211,444 
Foreign currency translation 329 329 
Goodwill, as of April 1, 2023$178,424 $33,349 $211,773 

We have not recorded goodwill impairments for the three months ended April 1, 2023.

Intangible assets were as follows (in thousands):
April 1, 2023December 31, 2022
Intangible Assets GrossAccumulated
Amortization
NetGrossAccumulated
Amortization
Net
Existing developed technologies $171,750 $152,260 $19,490 $171,441 $151,212 $20,229 
Customer relationships50,996 46,559 4,437 50,912 45,003 5,909 
Trade name7,992 7,833 159 7,972 7,759 213 
In-process research and development400  400 400  400 
$231,138 $206,652 $24,486 $230,725 $203,974 $26,751 

Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):
 Three Months Ended
 April 1,
2023
March 26,
2022
Cost of revenues$831 $808 
Selling, general and administrative1,547 1,561 
$2,378 $2,369 

The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands):
Fiscal YearAmount
Remainder of 2023$4,813 
20244,611 
20254,268 
20263,175 
20272,832 
Thereafter4,387 
$24,086 

10


Note 5 Accrued Liabilities

Accrued liabilities consisted of the following (in thousands):
April 1,
2023
December 31,
2022
Accrued compensation and benefits$20,028 $15,864 
Accrued income and other taxes3,241 12,817 
Accrued warranty3,872 4,199 
Employee stock purchase plan contributions withheld1,533 4,585 
Accrued restructuring charges376 1,249 
Other accrued expenses2,931 3,401 
$31,981 $42,115 

Note 6 Restructuring Charges

2022 Restructuring Plan
On October 25, 2022, we adopted a restructuring plan (“2022 restructuring plan”) to align our cost structure with reduced demand levels, by streamlining and improving the efficiency and business effectiveness of our operations. This plan included lowering headcount by approximately 13% of our workforce.

The Company has recognized 2022 restructuring plan charges of approximately $8.1 million for severance and employee-related costs, including $0.3 million for stock-based compensation, with $7.1 million within the Probe Cards segment, $0.5 million within the Systems segment, and $0.5 million within Corporate. We do not expect to incur additional material costs related to the 2022 restructuring plan.

2021 Restructuring Plan
On September 25, 2021, we adopted restructuring plans (“2021 restructuring plans”) to improve our business effectiveness and streamline our operations by consolidating certain manufacturing facilities for both the Probe Cards segment and the Systems segment. This included plans to consolidate or relocate certain leased locations in the United States to other locations in the United States, Germany and Asia. As a result of these changes to certain work locations, we have incurred personnel related costs to sever, relocate, or retain select employees. Additionally, as part of these plans we have undertaken actions to adjust capacity for certain product offerings, which included contract termination costs to satisfy contract obligations.

The Company has recognized 2021 restructuring plans charges of approximately $12.7 million, with $9.9 million within the Probe Cards segment and $2.8 million within the Systems segment, and were comprised of $1.3 million of severance and employee-related costs, $1.8 million in contract and lease termination costs, $9.1 million in inventory impairments and other inventory related costs, and $0.5 million of cost related to impairment of leasehold improvements, facility exits and fixed asset related costs. We do not expect additional material costs related to the 2021 restructuring plan.

Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Cost of revenues$70 $(45)$25 $39 $100 $139 
Research and development4 66 70  146 146 
Selling, general and administrative1,060 62 1,122 3 25 28 
$1,134 $83 $1,217 $42 $271 $313 
11



Changes to the restructuring accrual in the three months ended April 1, 2023 were as follows (in thousands):
Employee Severance
and Benefits
Stock-based CompensationInventory
Impairments &
Other Inventory
Related Costs
Total
December 31, 2022$1,249 $ $ $1,249 
Restructuring charges842 295 80 1,217 
Cash payments(1,715) (63)(1,778)
Non-cash settlement (295)(17)(312)
April 1, 2023$376 $ $ $376 

Note 7 — Fair Value and Derivative Instruments

Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:
Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;
Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and
Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.

We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three months ended April 1, 2023 or the year ended December 31, 2022.

The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities.

No changes were made to our valuation techniques during the first three months of fiscal 2023.

12


Assets and Liabilities Measured at Fair Value on a Recurring Basis
Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands): 
April 1, 2023Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market funds$44,777 $ $ $44,777 
Commercial paper 4,475  4,475 
44,777 4,475  49,252 
Marketable securities:
 U.S. treasuries25,144   25,144 
 Certificates of deposit 471  471 
 U.S. agency securities 13,062  13,062 
 Corporate bonds 53,899  53,899 
 Commercial paper 31,315  31,315 
25,144 98,747  123,891 
Foreign exchange derivative contracts 763  763 
Promissory note receivable  943 943 
Interest rate swap derivative contracts 2,041  2,041 
Total assets$69,921 $106,026 $943 $176,890 
Liabilities:
Interest rate swap derivative contracts$ $(2)$ $(2)
Total liabilities$ $(2)$ $(2)

December 31, 2022Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market funds$21,279 $ $ $21,279 
Commercial paper 4,969  4,969 
U.S. agency securities 996  996 
21,279 5,965  27,244 
Marketable securities:
U.S. treasuries25,019   25,019 
Certificates of deposit 706  706 
U.S. agency securities 11,045  11,045 
Corporate bonds 67,396  67,396 
Commercial paper 24,840  24,840 
25,019 103,987  129,006 
Foreign exchange derivative contracts 664  664 
Promissory note receivable  943 943 
Interest rate swap derivative contracts 2,374  2,374 
Total assets$46,298 $112,990 $943 $160,231 
Liabilities:
Foreign exchange derivative contracts$ $(193)$ $(193)
Total liabilities$ $(193)$ $(193)
 
Cash Equivalents
The fair value of our cash equivalents is determined based on quoted market prices for similar or identical securities.

Marketable Securities
We classify our marketable securities as available-for-sale and value them utilizing a market approach. Our investments are
13


priced by pricing vendors who provide observable inputs for their pricing without applying significant judgment. Broker pricing is used mainly when a quoted price is not available, the investment is not priced by our pricing vendors or when a broker price is more reflective of fair value. Our broker-priced investments are categorized as Level 2 investments because fair value is based on similar assets without applying significant judgments. In addition, all investments have a sufficient trading volume to demonstrate that the fair value is appropriate.

Unrealized gains and losses were immaterial and were recorded as a component of Accumulated other comprehensive loss in our Condensed Consolidated Balance Sheets. We did not have any other-than-temporary unrealized gains or losses at either period end included in these financial statements.

Interest Rate Swaps
The fair value of our interest rate swap contracts is determined at the end of each reporting period based on valuation models that use interest rate yield curves as inputs. For accounting purposes, our interest rate swap contracts qualify for, and are designated as, cash flow hedges. The cash flows associated with the interest rate swaps are reported in Net cash provided by operating activities in our Condensed Consolidated Statements of Cash Flows and the fair value of the interest rate swap contracts are recorded within Prepaid expenses and other current assets and Other assets in our Condensed Consolidated Balance Sheets.

Foreign Exchange Derivative Contracts
We operate and sell our products in various global markets. As a result, we are exposed to changes in foreign currency exchange rates. We utilize foreign currency forward contracts to hedge against future movements in foreign exchange rates that affect certain existing foreign currency denominated assets and liabilities and forecasted foreign currency revenue and expense transactions. Under this program, our strategy is to have increases or decreases in our foreign currency exposures mitigated by gains or losses on the foreign currency forward contracts in order to mitigate the risks and volatility associated with foreign currency transaction gains or losses.

We do not use derivative financial instruments for speculative or trading purposes. For accounting purposes, certain of our foreign currency forward contracts are not designated as hedging instruments and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded within Other income, net in our Condensed Consolidated Statement of Income for both realized and unrealized gains and losses. Certain of our foreign currency forward contracts are designated as cash flow hedges, and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded as a component of Accumulated other comprehensive loss and reclassified into earnings in the same period in which the hedged transaction affects earnings, and in the same line item on the Condensed Consolidated Statements of Income as the impact of the hedge transaction.

The fair value of our foreign exchange derivative contracts was determined based on current foreign currency exchange rates and forward points. All of our foreign exchange derivative contracts outstanding at April 1, 2023 will mature by the first quarter of fiscal 2024.

The following table provides information about our foreign currency forward contracts outstanding as of April 1, 2023 (in thousands):
CurrencyContract PositionContract Amount
(Local Currency)
Contract Amount
(U.S. Dollars)
Euro DollarBuy23,004 $24,250 
Euro DollarSell2,356 2,472 
Japanese YenSell3,227,282 24,377 
Korean WonBuy1,751,490 1,355 
Taiwan DollarSell43,413 1,435 

Our foreign currency contracts are classified within Level 2 of the fair value hierarchy as they are valued using pricing models that utilize observable market inputs.

Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis
We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business
14


acquisition. Other than as discussed in Note 6, Restructuring Charges, there were no assets or liabilities measured at fair value on a nonrecurring basis during the three months ended April 1, 2023 or March 26, 2022.

Note 8 — Warranty
We offer warranties on certain products and record a liability for the estimated future costs associated with warranty claims at the time revenue is recognized. The warranty liability is based upon historical experience and our estimate of the level of future costs. While we engage in product quality programs and processes, our warranty obligation is affected by product failure rates, material usage and service delivery costs. We regularly monitor product returns for warranty and maintain a reserve for the related expenses based upon our historical experience and any specifically identified failures. As we sell new products to our customers, we must exercise considerable judgment in estimating the expected failure rates. This estimating process is based on historical experience of similar products, as well as various other assumptions that we believe to be reasonable under the circumstances. We provide for the estimated cost of product warranties at the time revenue is recognized as a component of Cost of revenues in our Condensed Consolidated Statement of Income.

Changes in our warranty liability were as follows (in thousands):
Three Months Ended
April 1,
2023
March 26,
2022
Balance at beginning of period$4,199 $2,805 
Accruals1,390 1,214 
Settlements(1,717)(1,244)
Balance at end of period$3,872 $2,775 

Note 9 — Property, Plant and Equipment, net

Property, plant and equipment, net consisted of the following (in thousands):
April 1,
2023
December 31,
2022
Land$17,136 $17,136 
Building and building improvements44,444 44,932 
Machinery and equipment 280,936 276,180 
Computer equipment and software46,568 45,813 
Furniture and fixtures 7,481 7,540 
Leasehold improvements 87,318 86,500 
Sub-total 483,883 478,101 
Less: Accumulated depreciation and amortization (342,763)(335,711)
Net, property, plant and equipment 141,120 142,390 
Construction-in-process57,112 47,458 
Total$198,232 $189,848 

Note 10 — Stockholders’ Equity and Stock-Based Compensation

Common Stock Repurchase Programs
On October 26, 2020, our Board of Directors authorized a two-year program to repurchase up to $50 million of outstanding common stock to offset potential dilution from issuances of common stock under our stock-based compensation programs. During the three months ended March 26, 2022, we repurchased 240,548 shares of common stock for $9.4 million. We utilized the remaining funds available for repurchase under this program during fiscal 2022.

On May 20, 2022, our Board of Directors authorized an additional program to repurchase up to $75 million of outstanding common stock, also with the primary purpose to offset potential dilution from issuances of common stock under our stock-based compensation programs. The share repurchase program will expire on May 20, 2024. During the three months ended April 1, 2023, we did not repurchase any common stock. As of April 1, 2023, $18.6 million remained available for future repurchases.

15


Our policy related to repurchases of our common stock is to charge the excess of cost over par value to additional paid-in capital once the shares are retired. All repurchases were made in compliance with Rule 10b-18 under the Securities Exchange Act of 1934, as amended.

Restricted Stock Units
Restricted stock unit (“RSU”) activity under our equity incentive plan was as follows:
UnitsWeighted Average Grant Date Fair Value
RSUs at December 31, 20222,227,081 $35.28 
Awards granted79,020 25.51 
Awards vested(30,751)34.87 
Awards forfeited(82,523)35.16 
RSUs at April 1, 20232,192,827 34.94 

Performance Restricted Stock Units
We may grant Performance RSUs (“PRSUs”) to certain executives, which vest based upon us achieving certain market performance criteria. There were no market based PRSUs granted during the three months ended April 1, 2023. PRSUs are included as part of the RSU activity above.

Employee Stock Purchase Plan
Information related to activity under our Employee Stock Purchase Plan (“ESPP”) was as follows:
 Three Months Ended
 April 1, 2023
Shares issued210,055 
Weighted average per share purchase price$23.92 
Weighted average per share discount from the fair value of our common stock on the date of issuance$(4.22)

Stock-Based Compensation
Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Cost of revenues$1,910 $1,078 
Research and development2,372 1,986 
Selling, general and administrative5,008 4,456 
Total stock-based compensation$9,290 $7,520 
 
Unrecognized Compensation Costs
At April 1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands): 
Unrecognized ExpenseAverage Expected
Recognition Period
in Years
Restricted stock units$39,761 1.98
Performance restricted stock units9,486 1.86
Employee stock purchase plan985 0.33
Total unrecognized stock-based compensation expense$50,232 1.93

16


Note 11 — Net Income per Share

The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Weighted-average shares used in computing basic net income per share77,066 78,246 
Add potentially dilutive securities189 1,222 
Weighted-average shares used in computing diluted net income per share77,255 79,468 
Securities not included as they would have been antidilutive1,121  

Note 12 — Commitments and Contingencies

Leases
See Note 13, Leases.

Contractual Obligations and Commitments
Our contractual obligations and commitments have not materially changed as of April 1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022.

Legal Matters
From time to time, we may be subject to legal proceedings and claims in the ordinary course of business. As of April 1, 2023, and as of the filing of this Quarterly Report on Form 10-Q, we were not involved in any material legal proceedings.

Note 13 — Leases

We lease real estate space under non-cancelable operating lease agreements for commercial and industrial space, as well as for a portion of our corporate headquarters located in Livermore, California. Our leases have remaining terms of 1 to 6 years, and some leases include options to extend up to 20 years. We also have operating leases for automobiles with remaining lease terms of 1 year. We did not include any of our renewal options in our lease terms for calculating our lease liability as the renewal options allow us to maintain operational flexibility and we are not reasonably certain we will exercise these options at this time. The weighted-average remaining lease term for our operating leases was 5 years as of April 1, 2023 and the weighted-average discount rate was 3.92%.

The components of lease expense were as follows (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Lease expense:
Operating lease expense$1,952 $2,221 
Short-term lease expense157 40 
Variable lease expense746 458 
$2,855 $2,719 


17


Future minimum payments under our non-cancelable operating leases were as follows as of April 1, 2023 (in thousands):
Fiscal YearAmount
Remainder of 2023$6,190 
20248,106 
20258,018 
20266,641 
20275,756 
Thereafter3,431 
  Total minimum lease payments38,142 
Less: interest(4,223)
  Present value of net minimum lease payments33,919 
Less: current portion(7,512)
  Total long-term operating lease liabilities$26,407 

Note 14 — Revenue

Transaction price allocated to the remaining performance obligations: On April 1, 2023, we had $9.8 million of remaining performance obligations, which were comprised of deferred service contracts and extended warranty contracts and contracts with overtime revenue recognition that are not yet delivered. We expect to recognize approximately 67.6% of our remaining performance obligations as revenue in the remainder of fiscal 2023, approximately 26.8% in fiscal 2024, and approximately 5.6% in fiscal 2025 and thereafter. The foregoing excludes the value of other remaining performance obligations as they have original durations of one year or less, and also excludes information about variable consideration allocated entirely to a wholly unsatisfied performance obligation.

Contract balances: The timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable is recorded at the invoiced amount, net of an allowance for credit losses. A receivable is recognized in the period we deliver goods or provide services or when our right to consideration is unconditional. A contract asset is recorded when we have performed under the contract but our right to consideration is conditional on something other than the passage of time. Contract assets as of April 1, 2023 and December 31, 2022 were $2.9 million and $1.9 million, respectively, and are reported on the Condensed Consolidated Balance Sheets as a component of Prepaid expenses and other current assets.

Contract liabilities include payments received and payments due in advance of performance under a contract and are satisfied as the associated revenue is recognized. Contract liabilities are reported on the Condensed Consolidated Balance Sheets at the end of each reporting period as a component of Deferred revenue and Other liabilities. Contract liabilities as of April 1, 2023 and December 31, 2022 were $24.9 million and $30.9 million, respectively. During the three months ended April 1, 2023, we recognized $14.0 million of revenue that was included in contract liabilities as of December 31, 2022.

Costs to obtain a contract: We generally expense sales commissions when incurred as a component of Selling, general and administrative expense, as the amortization period is typically less than one year.

Revenue by category: Refer to Note 15, Operating Segments and Enterprise-Wide Information, for further details.

Note 15 — Operating Segments and Enterprise-Wide Information

Our chief operating decision maker (“CODM”) is our Chief Executive Officer, who reviews operating results to make decisions about allocating resources and assessing performance for the entire company. We operate in two reportable segments consisting
18


of the Probe Cards segment and the Systems segment. The following table summarizes the operating results by reportable segment (dollars in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Probe CardsSystemsCorporate and OtherTotalProbe CardsSystemsCorporate and OtherTotal
Revenues$127,328 $40,120 $ $167,448 $159,983 $37,191 $ $197,174 
Gross profit 43,623 20,746 (3,291)61,078 77,202 19,407 (2,385)94,224 
Gross margin34.3 %51.7 %36.5 %48.3 %52.2 %47.8 %

Operating results provide useful information to our management for assessment of our performance and results of operations. Certain components of our operating results are utilized to determine executive compensation along with other measures.

Corporate and Other includes unallocated expenses relating to amortization of intangible assets, inventory and fixed asset fair value adjustments due to acquisitions, share-based compensation, and restructuring charges which are not used in evaluating the results of, or in allocating resources to, our reportable segments.

Certain revenue category information by reportable segment was as follows (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Market:
Foundry & Logic$101,562 $ $101,562 $114,121 $ $114,121 
DRAM19,890  19,890 34,437  34,437 
Flash5,876  5,876 11,425  11,425 
Systems 40,120 40,120  37,191 37,191 
Total$127,328 $40,120 $167,448 $159,983 $37,191 $197,174 
Timing of revenue recognition:
Products transferred at a point in time$126,678 $36,710 $163,388 $158,836 $35,416 $194,252 
Products and services transferred over time650 3,410 4,060 1,147 1,775 2,922 
Total$127,328 $40,120 $167,448 $159,983 $37,191 $197,174 
Geographical region:
Taiwan$38,897 $1,432 $40,329 $42,522 $10,547 $53,069 
United States24,641 13,090 37,731 19,976 5,671 25,647 
China18,476 8,623 27,099 32,791 5,608 38,399 
South Korea19,572 1,203 20,775 24,881 2,620 27,501 
Malaysia10,324 946 11,270 21,517 682 22,199 
Japan7,136 3,841 10,977 4,785 4,597 9,382 
Europe3,426 6,000 9,426 2,382 6,013 8,395 
Singapore3,200 2,140 5,340 10,284 612 10,896 
Rest of the world1,656 2,845 4,501 845 841 1,686 
Total$127,328 $40,120 $167,448 $159,983 $37,191 $197,174 
Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations
 
Cautionary Statement Regarding Forward-Looking Statements
 
This Quarterly Report on Form 10-Q contains forward-looking statements within the meaning of the Securities Exchange Act of 1934 and the Securities Act of 1933, which are subject to risks and uncertainties. The forward-looking statements include statements concerning, among other things, our business strategy, financial and operating results, gross margins, liquidity and capital expenditure requirements and impact of accounting standards. In some cases, you can identify these statements by forward-looking words, such as “may,” “might,” “will,” “could,” “should,” “expect,” “plan,” “anticipate,” “believe,” “estimate,” “predict,” “intend” and “continue,” the negative or plural of these words and other comparable terminology.

19


The forward-looking statements are only predictions based on our current expectations and our projections about future events. All forward-looking statements included in this Quarterly Report on Form 10-Q are based upon information available to us as of the filing date of this Quarterly Report on Form 10-Q. You should not place undue reliance on these forward-looking statements. We have no obligation to update any of these statements. These forward-looking statements involve known and unknown risks, uncertainties and other factors that may cause our actual results, levels of activity, performance or achievements to differ materially from those expressed or implied by these statements, including risks related to general market trends, the benefits of acquisitions and investments, our supply chain, uncertainties related to COVID-19 and other global, regional or national public health-related crises and the impact of our responses to them, the interpretation and impacts of changes in export controls and other trade barriers, military conflicts, political volatility and similar factors, our ability to execute our business strategy and other risks discussed in the section titled “Risk Factors” and elsewhere in our Annual Report on Form 10-K for the year ended December 31, 2022 and in this Quarterly Report on Form 10-Q. You should carefully consider the numerous risks and uncertainties described under these sections.
 
The following discussion and analysis should be read in conjunction with our condensed consolidated financial statements and the accompanying notes contained in this Quarterly Report on Form 10-Q. Unless expressly stated or the context otherwise requires, the terms “we,” “our,” “us” and “FormFactor” refer to FormFactor, Inc. and its subsidiaries.

Overview

FormFactor, Inc., headquartered in Livermore, California, is a leading provider of essential test and measurement technologies along the full semiconductor product lifecycle - from characterization, modeling, reliability, and design de-bug, to qualification and production test. We provide a broad range of high-performance probe cards, analytical probes, probe stations, metrology systems, thermal systems, and cryogenic systems to both semiconductor companies and scientific institutions. Our products provide electrical and physical information from a variety of semiconductor and electro-optical devices and integrated circuits from early research, through development, to high-volume production. Customers use our products and services to accelerate profitability by optimizing device performance and advancing yield knowledge.

We operate in two reportable segments consisting of the Probe Cards segment and the Systems segment. Sales of our probe cards and analytical probes are included in the Probe Cards segment, while sales of our probe stations, metrology systems, thermal systems and cryogenic systems are included in the Systems segment.

We generated net income of $1.3 million in the first three months of fiscal 2023 as compared to $29.9 million in the first three months of fiscal 2022. The decrease in net income was primarily due to a decline in revenues and the associated decline in gross margins.

Significant Accounting Policies and the Use of Estimates

Management’s Discussion and Analysis and Note 2, Summary of Significant Accounting Policies, to the Consolidated Financial Statements in our 2022 Annual Report on Form 10-K describe the significant accounting estimates and significant accounting policies used in preparation of the Consolidated Financial Statements. Actual results in these areas could differ from management’s estimates. During the three months ended April 1, 2023, there were no significant changes in our significant accounting policies or estimates from those reported in our Annual Report on Form 10-K for the year ended December 31, 2022, which was filed with the Securities and Exchange Commission on February 24, 2023, except for:

Government Assistance
In January 2023, we received $18.0 million in cash from a California Competes Grant (the “Grant”) awarded from the California Governor’s Office of Business and Economic Development. The Grant requires FormFactor to create and maintain full-time jobs and make significant infrastructure investments within California over a 5-year term. If we do not meet the requirements of the Grant, we will be required to repay all or a portion of the Grant.

The Grant is included in our Condensed Consolidated Balance Sheets within Deferred grant and we have elected to recognize when earned as an offset to Cost of revenues and Operating expenses within our Condensed Consolidated Statements of Income. We have elected to present the proceeds from the Grant as cash provided by operating activities within our Condensed Consolidated Statements of Cash Flows as the grant is to offset operations.

20


Results of Operations
 
The following table sets forth our operating results as a percentage of revenues for the periods indicated:
 Three Months Ended
 April 1,
2023
March 26,
2022
Revenues100.0 %100.0 %
Cost of revenues63.5 52.2 
Gross profit36.5 47.8 
Operating expenses:  
Research and development16.9 13.8 
Selling, general and administrative19.5 16.7 
Total operating expenses36.4 30.5 
Operating income0.1 17.3 
Interest income0.8 0.1 
Interest expense(0.1)(0.1)
Other income, net— 0.1 
Income before income taxes0.8 17.4 
Provision for income taxes— 2.2 
Net income0.8 %15.2 %

Revenues by Segment and Market
 Three Months Ended
 April 1,
2023
March 26,
2022
 (In thousands)
Probe Cards$127,328 $159,983 
Systems40,120 37,191 
$167,448 $197,174 

Three Months Ended
April 1,
2023
% of RevenuesMarch 26,
2022
% of Revenues$ Change% Change
(Dollars in thousands)
Probe Cards Markets:
Foundry & Logic$101,562 60.6 %$114,121 57.8 %$(12,559)(11.0)%
DRAM19,890 11.9 34,437 17.5 (14,547)(42.2)
Flash5,876 3.5 11,425 5.8 (5,549)(48.6)
Systems Market:
Systems40,120 24.0 37,191 18.9 2,929 7.9 
Total revenues$167,448 100.0 %$197,174 100.0 %$(29,726)(15.1)%

Foundry & Logic The decrease in Foundry & Logic product revenue for the three months ended April 1, 2023, compared to the three months ended March 26, 2022, was driven by the weakening demand in the semiconductor industry that began in the third quarter of fiscal 2022 and continued into the three months ended April 1, 2023 and resulted in decreased unit sales across all major customers.

DRAM The decrease in DRAM product revenue for the three months ended April 1, 2023, compared to the three months ended March 26, 2022, was driven by lower customer demand, a result of the semiconductor industry's overall demand weakening and DRAM market weakness.

21


Flash The decrease in Flash product revenue for the three months ended April 1, 2023, compared to the three months ended March 26, 2022, was driven by decreased customer demand from large multi-national customers, a result of the semiconductor industry's overall demand weakening and Flash market weakness.

Systems The increase in Systems market revenue for the three months ended April 1, 2023, compared to the three months ended March 26, 2022, was driven by increased sales of our 200 millimeter probe stations and cryogenic systems, partially offset by decreased sales of our metrology systems.

Revenues by Geographic Region
Three Months Ended
April 1,
2023
% of RevenuesMarch 26,
2022
% of Revenues
 (Dollars in thousands)
Taiwan$40,329 24.1 %$53,069 26.9 %
United States37,731 22.5 25,647 13.0 
China27,099 16.2 38,399 19.5 
South Korea20,775 12.4 27,501 13.9 
Malaysia11,270 6.7 22,199 11.3 
Japan10,977 6.6 9,382 4.8 
Europe9,426 5.6 8,395 4.3 
Singapore5,340 3.2 10,896 5.5 
Rest of the world4,501 2.7 1,686 0.8 
Total revenues$167,448 100.0 %$197,174 100.0 %

Geographic revenue information is based on the location to which we ship the product. For example, if a certain South Korean customer purchases through their U.S. subsidiary and requests the products to be shipped to an address in South Korea, this sale will be reflected in the revenue for South Korea rather than the U.S.

Changes in revenue by geographic region for the three months ended April 1, 2023, compared to the three months ended March 26, 2022, were primarily attributable to changes in customer demand, shifts in customer regional manufacturing strategies, particularly with our large multinational customers, and product sales mix. More specifically, the increase in revenues for the United States, and decreases in revenues for China and Malaysia were driven principally by a single large U.S.-based company with operations in these regions. The decrease in China mentioned previously is also impacted by lowered demand from a large Chinese DRAM integrated device manufacturer and the impact from expanded export license requirements imposed by the United States government in the fourth quarter of fiscal 2022 for exporting advanced U.S. semiconductor technology sold in China.

Cost of Revenues and Gross Margins
Cost of revenues consists primarily of manufacturing materials, compensation and benefits, shipping and handling costs, manufacturing-related overhead (including equipment costs, related occupancy, and computer services), warranty adjustments, inventory adjustments (including write-downs for inventory obsolescence), and amortization of certain intangible assets. Our manufacturing operations rely on a limited number of suppliers to provide key components and materials for our products, some of which are a sole source. We order materials and supplies based on backlog and forecasted customer orders. Tooling and setup costs related to changing manufacturing lots at our suppliers are also included in the cost of revenues. We expense all warranty costs, inventory provisions and amortization of certain intangible assets as cost of revenues.

Our gross profit and gross margin were as follows (dollars in thousands):
 Three Months Ended
 April 1,
2023
March 26,
2022
$ Change% Change
Gross profit$61,078 $94,224 $(33,146)(35.2)%
Gross margin36.5 %47.8 %

22


Our gross profit and gross margin by segment were as follows (dollars in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Probe CardsSystemsCorporate and OtherTotalProbe CardsSystemsCorporate and OtherTotal
Gross profit $43,623 $20,746 $(3,291)$61,078 $77,202 $19,407 $(2,385)$94,224 
Gross margin34.3 %51.7 %36.5 %48.3 %52.2 %47.8 %

Probe Cards For the three months ended April 1, 2023, gross margins decreased compared to the three months ended March 26, 2022, primarily due to unfavorable absorption of costs on lower production volumes and greater inventory excess and obsolescence reserves.

Systems For the three months ended April 1, 2023, gross margins decreased compared to the three months ended March 26, 2022, primarily as a result of less favorable product mix.

Corporate and OtherCorporate and Other includes unallocated expenses relating to share-based compensation and amortization of intangible assets, inventory and fixed asset fair value adjustments due to acquisitions, and restructuring, which are not used in evaluating the results of, or in allocating resources to, our reportable segments.

Overall Gross profit and gross margins fluctuate with revenue levels, product mix, selling prices, factory loading, labor costs, and material costs. For the three months ended April 1, 2023, compared to the three months ended March 26, 2022, gross profit and gross margins have decreased on lower revenue levels, unfavorable absorption of costs on lower production volumes, and greater inventory excess and obsolescence reserves.

Cost of revenues included stock-based compensation expense as follows (in thousands):
Three Months Ended
April 1,
2023
March 26,
2022
Stock-based compensation$1,910 $1,078 

Research and Development
Three Months Ended
April 1,
2023
March 26,
2022
$ Change% Change
(Dollars in thousands)
Research and development$28,245 $27,134 $1,111 4.1 %
% of revenues16.9 %13.8 %

Research and development expenses in the three months ended April 1, 2023 increased when compared to the corresponding period in the prior year primarily due to an increase in headcount, which is to support our continued investment in technology leadership. Increased general operational costs, annual salary adjustments, and stock-based compensation also contributed to the increase. These increases were partially offset by lower performance-based compensation and project material costs.

A detail of the changes is as follows (in thousands):
Three Months Ended April 1, 2023 compared to Three Months Ended March 26, 2022
Other general operational costs$490 
Stock-based compensation386 
Depreciation263 
Project material costs(214)
Employee compensation costs186 
$1,111 

23


Research and development included stock-based compensation expense as follows (in thousands):
Three Months Ended
April 1,
2023
March 26,
2022
Stock-based compensation$2,372 $1,986 

Selling, General and Administrative
Three Months Ended
April 1,
2023
March 26,
2022
$ Change% Change
(Dollars in thousands)
Selling, general and administrative$32,742 $32,906 $(164)(0.5)%
% of revenues19.5 %16.7 %

Selling, general and administrative expenses decreased in the three months ended April 1, 2023 when compared to the corresponding period in the prior year, primarily driven by lower performance-based compensation, mostly offset by restructuring charges, higher stock-based compensation, and higher general operating expenses.

A detail of the changes is as follows (in thousands):
Three Months Ended April 1, 2023 compared to Three Months Ended March 26, 2022
Employee compensation(2,385)
General operating expenses843 
Restructuring charges826 
Stock-based compensation552 
$(164)

Selling, general and administrative included stock-based compensation expense as follows (in thousands):
Three Months Ended
April 1,
2023
March 26,
2022
Stock-based compensation$5,008 $4,456 

Interest Income (Expense), Net
Interest income is earned on our cash, cash equivalents, restricted cash and marketable securities. The increase in interest income for the three months ended April 1, 2023 compared with the corresponding period of the prior year was attributable to an increase in investment yields due to the higher interest rate environment.

Interest expense primarily includes interest on our term loan, interest rate swap derivative contracts, and term loan issuance costs amortization charges. The interest expense for the three months ended April 1, 2023 compared to the same period of the prior year decreased due to lower outstanding debt.

Other Income, Net
Other income, net, primarily includes the effects of foreign currency impact and various other gains and losses. We partially mitigate our risks from currency movements by hedging certain balance sheet exposures, which minimizes the impacts during periods of foreign exchange volatility.

24


Provision for Income Taxes
 Three Months Ended
 April 1,
2023
March 26,
2022
 (In thousands, except percentages)
Provision for income taxes$48 $4,450 
Effective tax rate3.5 %13.0 %

Provision for income taxes reflects the tax provision on our operations in foreign and U.S. jurisdictions, offset by tax benefits from tax credits and the foreign-derived intangible income (“FDII”) deduction. Our effective tax rate may vary from period to period based on changes in estimated taxable income or loss by jurisdiction, changes to the valuation allowance, changes to U.S. federal, state or foreign tax laws, changes in ASC 718 stock-based compensation expense/benefit, future expansion into areas with varying country, state, and local income tax rates, and deductibility of certain costs and expenses by jurisdiction.

We have utilized our previous net operating loss carryforwards allowing us to benefit more from the available FDII deduction, which, combined with higher research and development tax credits, results in a lower worldwide effective tax rate for the three months ended April 1, 2023 when compared to the corresponding period in the prior year.

The Creating Helpful Incentives to Produce Semiconductors and Science Act of 2022 (“CHIPS Act”) was signed into law on August 9, 2022. The CHIPS Act provides for various incentives and tax credits among other items including the Advanced Manufacturing Investment Credit (“AMIC”) which equals 25% of qualified investments in an advanced manufacturing facility that is placed in service after December 31, 2022. At least a portion of our future capital expenditures and research and development costs will qualify for this credit, which benefits us by allowing us to net the credit received against our costs. The AMIC credit is accounted for outside of ASC 740 as a reduction to the depreciable basis of the assets used in operations and will not have an impact on our effective tax rate.

Beginning in 2022, the U.S. Tax Cuts and Jobs Act of 2017 (“TCJA”) eliminated the existing option to deduct research and development expenditures and requires taxpayers to amortize such expenditures attributable to domestic and foreign research over five and fifteen years, respectively, pursuant to IRC Section 174. While the capitalization requirement has a negative impact on our cash flows, there are offsetting benefits from the enactment of this provision that we have included in our estimated annual effective tax rate. While it is possible that Congress may defer, modify, or repeal this provision, potentially with retroactive effect, we have no assurance that this provision will be deferred, modified, or repealed. Changes in our tax provisions or an increase in our tax liabilities, whether due to changes in applicable laws and regulations, the interpretation or application thereof, or a final determination of tax audits or litigation or agreements, could have a material adverse effect on our financial position, results of operations and/or cash flows.


Liquidity and Capital Resources

Capital Resources
Our working capital was $352.8 million at April 1, 2023, compared to $324.9 million at December 31, 2022.

Cash and cash equivalents primarily consist of deposits held at banks, money market funds, and commercial paper. Marketable securities primarily consist of U.S. treasuries, U.S. agency securities, corporate bonds, and commercial paper. We typically invest in highly rated securities with low probabilities of default. Our investment policy requires investments to be rated single A or better, and limits the types of acceptable investments, issuer concentration and duration of the investment.

Our cash, cash equivalents and marketable securities totaled approximately $236.3 million at April 1, 2023, compared to $238.1 million at December 31, 2022. Based on our historical results of operations, we expect that our cash, cash equivalents, and marketable securities on hand, and the cash we expect to generate from operations, will be sufficient to fund our short-term and long-term liquidity requirements primarily arising from: research and development, capital expenditures, working capital, outstanding commitments, and other liquidity requirements associated with existing operations. However, we cannot be certain that our cash, cash equivalents, and marketable securities on hand, and cash generated from operations, will be available in the future to fund all of our capital and operating requirements. In addition, any future strategic investments and significant acquisitions may require additional cash and capital resources. To the extent necessary, we may consider entering into short and long-term debt obligations, raising cash through a stock issuance, or obtaining new financing facilities, which may not be available on terms favorable to us. If we are unable to obtain sufficient cash or capital to meet our needs on a timely basis and on favorable terms, our business and operations could be materially and adversely affected.

25


If we are unsuccessful in maintaining or growing our revenues, maintaining or reducing our cost structure, or increasing our available cash through debt or equity financings, our cash, cash equivalents and marketable securities may decline.

We utilize a variety of tax planning and financing strategies to manage our worldwide cash and deploy funds to locations where needed. As part of these strategies, we indefinitely reinvest a portion of our foreign earnings. Should we require additional capital in the United States, we may elect to repatriate indefinitely-reinvested foreign funds or raise capital in the United States.

Cash Flows
The following table sets forth our net cash flows from operating, investing and financing activities:
Three Months Ended
April 1,
2023
March 26,
2022
(In thousands)
Net cash provided by operating activities$12,309 $44,155 
Net cash used in investing activities$(13,539)$(21,078)
Net cash provided by (used) in financing activities$4,378 $(6,016)

Operating Activities 
Net cash provided by operating activities for the three months ended April 1, 2023 was attributable to net income of $1.3 million and net non-cash expenses of $26.0 million, which includes depreciation, amortization, stock-based compensation, and the provision for excess and obsolete inventories, partially offset by an increase in net working capital of $15.1 million. The increase in net working capital related to an increase in accounts receivable of $15.9 million and decreases in accrued liabilities and deferred revenues of $10.2 million and $6.0 million, respectively, partially offset by an increase in deferred grant of $18.0 million.

Investing Activities
Net cash used in investing activities for the three months ended April 1, 2023 primarily related to $19.7 million in property, plant and equipment purchases, partially offset by $6.2 million net cash received from the maturities and sales of marketable securities.

Financing Activities
Net cash provided by financing activities for the three months ended April 1, 2023 primarily related to $5.0 million received from issuances of common stock under our employee stock purchase plan, partially offset by $0.3 million principal payments made towards the repayment of our term loan and $0.4 million related to tax withholdings associated with the net share settlements of our equity awards.

Debt

Building Term Loan
On June 22, 2020, we entered into an $18.0 million 15-year credit facility loan agreement (the “Building Term Loan”). The proceeds of the Building Term Loan were used to finance the purchase of a building adjacent to our leased facilities in Livermore, California.

The Building Term Loan bears interest at a rate equal to the applicable LIBOR rate plus 1.75% per annum. Interest payments are payable in monthly installments over a fifteen-year period. The interest rate at April 1, 2023 was 4.66%. As of April 1, 2023, the balance outstanding pursuant to the Building Term Loan was $15.2 million.

On March 17, 2020, we entered into a forward starting interest rate swap agreement to hedge the interest payments on the Building Term Loan for the notional amount of $18.0 million, and an amortization period that matches the debt. As future levels of LIBOR over the life of the loan are uncertain, we entered into this interest-rate swap agreement to hedge the exposure in interest rate risks associated with movement in LIBOR rates. By entering into the agreement, we converted a floating interest rate of one-month LIBOR plus 1.75% into a fixed interest rate of 2.75%. As of April 1, 2023, the notional amount of the loan that is subject to this interest rate swap is $15.2 million.

26


Stock Repurchase Programs

On October 26, 2020, our Board of Directors authorized a two-year program to repurchase up to $50 million of outstanding common stock to offset potential dilution from issuances of common stock under our stock-based compensation programs. During the three months ended March 26, 2022, we repurchased 240,548 shares of common stock for $9.4 million. We utilized the remaining funds available for repurchase under this program during fiscal 2022.

On May 20, 2022, our Board of Directors authorized an additional program to repurchase up to $75 million of outstanding common stock, also with the primary purpose to offset potential dilution from issuances of common stock under our stock-based compensation programs. The share repurchase program will expire on May 20, 2024. During the three months ended April 1, 2023, we did not repurchase any shares of common stock. As of April 1, 2023, $18.6 million remained available for future repurchases.

Contractual Obligations and Commitments

The following table summarizes our significant contractual commitments to make future payments in cash under contractual obligations as of April 1, 2023:
Payments Due In Fiscal Year
Remainder
 2023
2024202520262027ThereafterTotal
Operating leases$6,190 $8,106 $8,018 $6,641 $5,756 $3,431 $38,142 
Term loans - principal payments791 1,080 1,111 1,142 1,175 9,940 15,239 
Term loans - interest payments (1)
729 912 834 763 688 2,538 6,464 
Total$7,710 $10,098 $9,963 $8,546 $7,619 $15,909 $59,845 

(1) Represents our minimum interest payment commitments at 4.66% per annum for the Building Term Loan. This excludes any amounts related to our interest rate swap.

Off-Balance Sheet Arrangements
 
Historically, we have not participated in transactions that have generated relationships with unconsolidated entities or financial partnerships, such as entities often referred to as structured finance or special purpose entities, which would have been established for the purpose of facilitating off-balance sheet arrangements or other contractually narrow or limited purposes. As of April 1, 2023, we were not involved in any such off-balance sheet arrangements.

Recent Accounting Standards

For a description of a recent change in accounting standards, including the expected dates of adoption and estimated effects, if any, in our condensed consolidated financial statements, see Note 1, Basis of Presentation and Significant Accounting Policies, in Part I, Item 1 of this Form 10-Q.

Item 3. Quantitative and Qualitative Disclosures about Market Risk
 
For financial market risks related to changes in interest rates and foreign currency exchange rates, reference is made to Item 7A “Quantitative and Qualitative Disclosures about Market Risk” contained in Part II of our Annual Report on Form 10-K for the fiscal year ended December 31, 2022. Our exposure to market risk has not changed materially since December 31, 2022.

Item 4. Controls and Procedures
 
Evaluation of Disclosure Controls and Procedures
 
Based on our management’s evaluation (with the participation of our principal executive officer and principal financial officer), as of the end of the period covered by this report, our principal executive officer and principal financial officer have concluded that our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended, (the “Exchange Act”)) are effective to ensure that information required to be disclosed by us in reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in
27


Securities and Exchange Commission rules and forms and is accumulated and communicated to our management, including our principal executive officer and principal financial officer, as appropriate to allow timely decisions regarding required disclosure.

Changes in Internal Control over Financial Reporting
 
There have been no changes in our internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) that occurred during the period covered by this Quarterly Report on Form 10-Q that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

Limitations on the Effectiveness of Controls
 
Control systems, no matter how well designed and operated, can provide only reasonable, not absolute, assurance that the control systems’ objectives are being met. Further, the design of any control systems must reflect the fact that there are resource constraints, and the benefits of all controls must be considered relative to their costs. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues and instances of fraud, if any, within our company have been detected. These inherent limitations include the realities that judgments in decision making can be faulty and that breakdowns can occur because of a simple error or mistake. Control systems can also be circumvented by the individual acts of some persons, by collusion of two or more people, or by management override of the controls. The design of any system of controls is based, in part, on certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated goals under all potential future conditions. Over time, controls may become inadequate because of changes in conditions or deterioration in the degree of compliance with policies or procedures.

CEO and CFO Certifications
 
We have attached as exhibits to this Quarterly Report on Form 10-Q the certifications of our Chief Executive Officer and Chief Financial Officer, which are required in accordance with the Exchange Act. We recommend that this Item 4 be read in conjunction with the certifications for a more complete understanding of the subject matter presented. 

PART II - OTHER INFORMATION
 
Item 1A. Risk Factors

There have been no material changes during the three months ended April 1, 2023 to the risk factors discussed in our Annual Report on Form 10-K for the year ended December 31, 2022. If any of the identified risks actually occur, our business, financial condition and results of operations could suffer. The trading price of our common stock could decline and you may lose all or part of your investment in our common stock. The risks and uncertainties described in our Annual Report on Form 10-K for the year ended December 31, 2022 are not the only ones we face. Additional risks that we currently do not know about or that we currently believe to be immaterial may also impair our business operations.

28


Item 6. Exhibits

The following exhibits are filed herewith and this list constitutes the exhibit index.
Exhibit Incorporated by Reference Filed
NumberExhibit DescriptionFormDate Number Herewith
31.01     X
31.02     X
32.01     *
101
The following financial statements from the Company’s Quarterly Report on Form 10-Q for the quarter ended April 1, 2023, formatted in Inline XBRL: (i) Condensed Consolidated Balance Sheets, (ii) Condensed Consolidated Statements of Income, (iii) Condensed Consolidated Statements of Comprehensive Income, (iv) Condensed Consolidated Statements of Stockholders’ Equity, (v) Condensed Consolidated Statements of Cash Flows, and (vi) Notes to Condensed Consolidated Financial Statements, tagged as blocks of text and including detailed tags
X
101.INSXBRL Instance Document     X
101.SCHXBRL Taxonomy Extension Schema Document     X
101.CALXBRL Taxonomy Extension Calculation Linkbase Document     X
101.DEFXBRL Taxonomy Extension Definition Linkbase Document     X
101.LABXBRL Taxonomy Extension Label Linkbase Document     X
101.PREXBRL Taxonomy Extension Presentation Linkbase Document     X
104
The cover page from the Company’s Quarterly Report on Form 10-Q for the quarter ended April 1, 2023, formatted in Inline XBRL (included as Exhibit 101)
X
 ______________________________________
*    This exhibit shall not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934 or otherwise subject to the liabilities of that section, nor shall it be deemed incorporated by reference in any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934, whether made before or after the date hereof and irrespective of any general incorporation language in any filings.

29


SIGNATURE
 
Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.
 
 FormFactor, Inc.
   
Date:May 9, 2023By:/s/ SHAI SHAHAR
   
  Shai Shahar
  Chief Financial Officer
  (Duly Authorized Officer, Principal Financial Officer, and Principal Accounting Officer)

30
EX-31.01 2 formq123exh3101.htm EX-31.01 Document

Exhibit 31.01

CERTIFICATION OF CHIEF EXECUTIVE OFFICER
PURSUANT TO 15 U.S.C. SECTION 7241, AS
ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002


I, Michael D. Slessor, certify that:
 
1.I have reviewed the quarterly report on Form 10-Q of FormFactor, 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 the quarterly report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting.
 
5.    The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
 
a.All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

b.Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
Date:May 9, 2023/s/ MICHAEL D. SLESSOR
Michael D. Slessor
Chief Executive Officer
(Principal Executive Officer and Director)


EX-31.02 3 formq123exh3102.htm EX-31.02 Document

Exhibit 31.02

CERTIFICATION OF CHIEF FINANCIAL OFFICER
PURSUANT TO 15 U.S.C. SECTION 7241,
AS ADOPTED PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Shai Shahar, certify that:
 
1.I have reviewed the quarterly report on Form 10-Q of FormFactor, 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 the quarterly report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting.
 
5.    The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):
 
a.All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

b.Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.
Date:May 9, 2023/s/ SHAI SHAHAR
Shai Shahar
Chief Financial Officer
(Principal Financial Officer and Principal Accounting Officer)


EX-32.01 4 formq123exh3201.htm EX-32.01 Document

Exhibit 32.01


CERTIFICATION OF
CHIEF EXECUTIVE OFFICER AND CHIEF FINANCIAL OFFICER
PURSUANT TO 18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Quarterly Report on Form 10-Q of FormFactor, Inc., a Delaware corporation, for the period ended April 1, 2023, as filed with the Securities and Exchange Commission, each of the undersigned officers of FormFactor, Inc. certifies pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to his respective knowledge:
 
1.The quarterly report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended; and

2.The information contained in the quarterly report fairly presents, in all material respects, the financial condition and results of operations of FormFactor, Inc. for the periods presented therein.
Date:May 9, 2023/s/ MICHAEL D. SLESSOR
Michael D. Slessor
Chief Executive Officer
(Principal Executive Officer and Director)
Date:May 9, 2023/s/ SHAI SHAHAR
Shai Shahar
Chief Financial Officer
(Principal Financial Officer and Principal Accounting Officer)


EX-101.SCH 5 form-20230401.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Basis of Presentation and Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Concentration of Credit and Other Risks link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Inventories, net link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Goodwill and Intangible Assets link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Accrued Liabilities link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Restructuring Charges link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Fair Value and Derivative Instruments link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Warranty link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Property, Plant, and Equipment, net link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Stockholders’ Equity and Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Net Income per Share link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 0000022 - Disclosure - Operating Segments and Enterprise-Wide Information link:presentationLink link:calculationLink link:definitionLink 0000023 - Disclosure - Basis of Presentation and Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 0000024 - Disclosure - Concentration of Credit and Other Risks (Tables) link:presentationLink link:calculationLink link:definitionLink 0000025 - Disclosure - Inventories, net (Tables) link:presentationLink link:calculationLink link:definitionLink 0000026 - Disclosure - Goodwill and Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 0000027 - Disclosure - Accrued Liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 0000028 - Disclosure - Restructuring Charges (Tables) link:presentationLink link:calculationLink link:definitionLink 0000029 - Disclosure - Fair Value and Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 0000030 - Disclosure - Warranty (Tables) link:presentationLink link:calculationLink link:definitionLink 0000031 - Disclosure - Property, Plant, and Equipment, net (Tables) link:presentationLink link:calculationLink link:definitionLink 0000032 - Disclosure - Stockholders’ Equity and Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 0000033 - Disclosure - Net Income per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 0000034 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 0000035 - Disclosure - Operating Segments and Enterprise-Wide Information (Tables) link:presentationLink link:calculationLink link:definitionLink 0000036 - Disclosure - Basis of Presentation and Significant Accounting Policies (Details) link:presentationLink link:calculationLink link:definitionLink 0000037 - Disclosure - Concentration of Credit and Other Risks (Details) link:presentationLink link:calculationLink link:definitionLink 0000038 - Disclosure - Inventories, net (Details) link:presentationLink link:calculationLink link:definitionLink 0000039 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 0000040 - Disclosure - Goodwill and Intangible Assets - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink 0000041 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 0000042 - Disclosure - Goodwill and Intangible Assets - Amortization Expense (Details) link:presentationLink link:calculationLink link:definitionLink 0000043 - Disclosure - Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 0000044 - Disclosure - Restructuring Charges - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 0000045 - Disclosure - Restructuring Charges - Restructuring Charges (Details) link:presentationLink link:calculationLink link:definitionLink 0000046 - Disclosure - Restructuring Charges - Changes to the Restructuring Accrual (Details) link:presentationLink link:calculationLink link:definitionLink 0000047 - Disclosure - Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 0000048 - Disclosure - Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details) link:presentationLink link:calculationLink link:definitionLink 0000049 - Disclosure - Fair Value and Derivative Instruments - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 0000050 - Disclosure - Warranty (Details) link:presentationLink link:calculationLink link:definitionLink 0000051 - Disclosure - Property, Plant, and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 0000052 - Disclosure - Stockholders’ Equity and Stock-Based Compensation - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 0000053 - Disclosure - Stockholders’ Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details) link:presentationLink link:calculationLink link:definitionLink 0000054 - Disclosure - Stockholders’ Equity and Stock-Based Compensation - ESPP Activity (Details) link:presentationLink link:calculationLink link:definitionLink 0000055 - Disclosure - Stockholders’ Equity and Stock-Based Compensation - Stock-Based Compensation (Details) link:presentationLink link:calculationLink link:definitionLink 0000056 - Disclosure - Stockholders’ Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details) link:presentationLink link:calculationLink link:definitionLink 0000057 - Disclosure - Net Income per Share (Details) link:presentationLink link:calculationLink link:definitionLink 0000058 - Disclosure - Leases - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 0000059 - Disclosure - Leases - Components of Lease Expense (Details) link:presentationLink link:calculationLink link:definitionLink 0000060 - Disclosure - Leases - Schedule of Future Minimum Payments Under Leases (Details) link:presentationLink link:calculationLink link:definitionLink 0000060 - Disclosure - Leases - Schedule of Future Minimum Payments Under Leases (Details) link:presentationLink link:calculationLink link:definitionLink 0000061 - Disclosure - Revenue - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 0000061 - Disclosure - Revenue - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 0000062 - Disclosure - Operating Segments and Enterprise-Wide Information - Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 0000063 - Disclosure - Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details) link:presentationLink link:calculationLink link:definitionLink 0000064 - Disclosure - Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 form-20230401_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 7 form-20230401_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 8 form-20230401_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Business Acquisition [Axis] Business Acquisition [Axis] Other liabilities Deferred Credits and Other Liabilities, Noncurrent Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Total minimum lease payments Lessee, Operating Lease, Liability, to be Paid Deferred tax assets Deferred Income Tax Assets, Net Entity Address, Postal Zip Code Entity Address, Postal Zip Code Property, Plant and Equipment [Abstract] Promissory note receivable Notes Receivable [Member] Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract] Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract] Sub-total Property, Plant and Equipment, Gross Accrued restructuring charges Accrual at beginning of period Accrual at end of period Restructuring Reserve Foreign exchange derivative contracts Foreign Exchange Contract [Member] Employee stock purchase plan contributions withheld Accrued Employee Benefits, Current Cash flows from investing activities: Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract] Statistical Measurement [Domain] Statistical Measurement [Domain] Depreciation Depreciation Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares) Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures Operating lease, weighted average discount rate Operating Lease, Weighted Average Discount Rate, Percent Additional paid-in capital Additional Paid in Capital, Common Stock Systems Systems Segment [Member] Systems Segment [Member] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Net income Net income Net Income (Loss) Attributable to Parent Lessee, Lease, Description [Table] Lessee, Lease, Description [Table] Securities not included as they would have been antidilutive (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Accrued income and other taxes Taxes Payable Share Repurchase Program [Domain] Share Repurchase Program [Domain] Equity Component [Domain] Equity Component [Domain] Nonrecurring Fair Value, Nonrecurring [Member] Total assets Assets measured at fair value on non-recurring basis Assets, Fair Value Disclosure Restructuring Plan [Axis] Restructuring Plan [Axis] Leases Lessee, Operating Leases [Text Block] Lessee, Lease, Description [Line Items] Lessee, Lease, Description [Line Items] Fair Value Fair Value Measurement, Policy [Policy Text Block] Plan Name [Axis] Plan Name [Axis] Contract assets Contract with Customer, Asset, after Allowance for Credit Loss Hedging Designation [Domain] Hedging Designation [Domain] Thereafter Finite-Lived Intangible Asset, Expected Amortization, after Year Four Finite-Lived Intangible Asset, Expected Amortization, after Year Four Supplemental disclosure of cash flow information: Supplemental Cash Flow Information [Abstract] Derivative Instrument [Axis] Derivative Instrument [Axis] Unrecognized Expense Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount Plan Name [Domain] Plan Name [Domain] Remainder of 2023 Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Goodwill [Line Items] Goodwill [Line Items] Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Entity Address, State or Province Entity Address, State or Province Level 1 Fair Value, Inputs, Level 1 [Member] Employee stock purchase plan Employee Stock [Member] Other comprehensive income (loss), net of tax: Other Comprehensive Income (Loss), Net of Tax [Abstract] Award Type [Axis] Award Type [Axis] Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Decrease in accounts payable and accrued liabilities related to property, plant and equipment purchases Change In Capital Expenditures Incurred But Not Yet Paid Change In Capital Expenditures Incurred But Not Yet Paid Operating lease liabilities Less: current portion Operating Lease, Liability, Current Derivative contracts Derivative Asset Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table] In-process research and development In Process Research and Development [Member] Adjustments to reconcile net income to net cash provided by operating activities: Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] All Currencies [Domain] All Currencies [Domain] Existing developed technologies Existing Developed Technologies [Member] Existing Developed Technologies [Member] Term loan, less current portion, net of unamortized issuance costs Long-Term Debt, Excluding Current Maturities Certificates of deposit Certificates of Deposit [Member] Total liabilities Liabilities 2021 Restructuring Plan 2021 Restructuring Plan [Member] 2021 Restructuring Plan Operating lease, weighted average remaining lease term Operating Lease, Weighted Average Remaining Lease Term Deferred grant Cash received from grant Deferred Government Grant Liability Deferred Government Grant Liability Geographical [Axis] Geographical [Axis] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Position [Axis] Position [Axis] Settlements Standard and Extended Product Warranty Accrual, Decrease for Payments Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Risks and Uncertainties [Abstract] Risks and Uncertainties [Abstract] Schedule of Property, Plant and Equipment Property, Plant and Equipment [Table Text Block] Document Type Document Type Products transferred at a point in time Transferred at Point in Time [Member] Units Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Restructuring Type [Axis] Restructuring Type [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Beginning balance (in dollars per share) Ending balance (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Segments [Axis] Segments [Axis] Product and Service [Domain] Product and Service [Domain] Cash flows from operating activities: Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract] Entity Shell Company Entity Shell Company Accrued liabilities Increase (Decrease) in Accrued Liabilities Deferred revenues Increase (Decrease) in Deferred Revenue Concentration Risk [Table] Concentration Risk [Table] 2024 Lessee, Operating Lease, Liability, to be Paid, Year One Consolidation Items [Domain] Consolidation Items [Domain] Revenue Benchmark Revenue Benchmark [Member] Document Period End Date Document Period End Date Other liabilities Increase (Decrease) in Other Deferred Liability Accrued warranty Product Warranty Accrual, Current Total assets Assets Net income per share: Earnings Per Share [Abstract] Income Statement Location [Axis] Income Statement Location [Axis] Interest rate swap derivative contracts Interest Rate Swap [Member] Accrued liabilities Accrued liabilities Accrued Liabilities, Current Schedule of Restructuring and Related Costs [Table] Schedule of Restructuring and Related Costs [Table] Contract Termination & Other Costs Contract Termination [Member] Current portion of term loan, net of unamortized issuance costs Long-Term Debt, Current Maturities Net cash provided by (used) in financing activities Net Cash Provided by (Used in) Financing Activities Stock repurchase program authorized amount Stock Repurchase Program, Authorized Amount Accrued compensation and benefits Employee-related Liabilities, Current Variable lease expense Variable Lease, Cost Income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Stockholders’ equity: Stockholders' Equity Attributable to Parent [Abstract] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Segments [Domain] Segments [Domain] Schedule of Goodwill [Table] Schedule of Goodwill [Table] Net Income per Share Earnings Per Share [Text Block] Major Customers [Axis] Customer [Axis] Japanese Yen Japan, Yen Operating lease liabilities Increase (Decrease) in Operating Lease Liability Award Type [Domain] Award Type [Domain] Average Expected Recognition Period in Years Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Restructuring Plan [Domain] Restructuring Plan [Domain] Schedule of Intangible Assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Non-cash settlement Restructuring Reserve, Settled without Cash Computer equipment and software Computer Equipment [Member] Equity Incentive Plan Equity Incentive Plan [Member] Equity Incentive Plan [Member] Derivative Contract [Domain] Derivative Contract [Domain] Gross profit Gross profit Gross Profit Entity Registrant Name Entity Registrant Name China CHINA Restructuring Reserve [Roll Forward] Restructuring Reserve [Roll Forward] Foreign currency translation Goodwill, Foreign Currency Translation Gain (Loss) Customer relationships Customer Relationships [Member] Entity Address, City or Town Entity Address, City or Town Probe Cards Probe Cards Segment [Member] Probe Cards Segment [Member] Leases [Abstract] Leases [Abstract] Operating expenses: Operating Expenses [Abstract] Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures Fair Value by Asset Class [Domain] Asset Class [Domain] Minimum Minimum [Member] Restricted cash Restricted Cash and Cash Equivalents, Current Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Entity Emerging Growth Company Entity Emerging Growth Company Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Raw materials Inventory, Raw Materials, Net of Reserves Provision for excess and obsolete inventories Inventory Write-down Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Fair Value and Derivative Instruments Fair Value Disclosures [Text Block] Major Customer 1 Major Customer 1 [Member] Customer 1 [Member] Trading Symbol Trading Symbol Entity File Number Entity File Number Goodwill and Intangible Assets Intangible Assets Disclosure [Text Block] 2027 Finite-Lived Intangible Asset, Expected Amortization, Year Four Research and development Research and Development Expense Deferred revenue Deferred Revenue, Current Machinery and equipment Equipment [Member] Awards granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Restricted Stock Units Restricted Stock Units (RSUs) [Member] Performance restricted stock units Performance Restricted Stock Units [Member] Performance Restricted Stock Units [Member] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Cash equivalents Cash and Cash Equivalents, Fair Value Disclosure Accounts payable Increase (Decrease) in Accounts Payable Basis of Presentation and Significant Accounting Policies Organization, Consolidation and Presentation of Financial Statements Disclosure and Significant Accounting Policies [Text Block] Concentration risk percentage Concentration Risk, Percentage Unrealized gains (losses) on derivative instruments Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax Balance at beginning of period Balance at end of period Standard and Extended Product Warranty Accrual Gross margin Gross Margin, Percent Gross Margin, Percent Finished goods Inventory, Finished Goods, Net of Reserves Amortization of intangible assets Amortization of Intangible Assets Schedule of Goodwill by Reportable Segments Schedule of Goodwill [Table Text Block] Cash paid for interest Interest Paid, Excluding Capitalized Interest, Operating Activities Basic (in dollars per share) Earnings Per Share, Basic 2026 Lessee, Operating Lease, Liability, to be Paid, Year Three Construction-in-process Construction in Progress, Gross Corporate, Non-Segment Corporate, Non-Segment [Member] Concentration Risk Type [Domain] Concentration Risk Type [Domain] Total stockholders’ equity Beginning balance Ending balance Stockholders' Equity Attributable to Parent Awards canceled (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value DRAM DRAM Product Group [Member] DRAM Product Group [Member] Entity Interactive Data Current Entity Interactive Data Current Fair Value, by Balance Sheet Grouping [Table] Fair Value, by Balance Sheet Grouping [Table] Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization Schedule of Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Changes in assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] 2026 Finite-Lived Intangible Asset, Expected Amortization, Year Three Money market funds Money Market Funds [Member] Major Customer 2 Major Customer 2 [Member] Major Customer 2 Accumulated Deficit Retained Earnings [Member] Segment Reporting Information [Line Items] Segment Reporting Information [Line Items] Net, property, plant and equipment Property Plant And Equipment Net, Excludes Construction in Progress Property Plant And Equipment Net, Excludes Construction in Progress Total lease expense Lease, Cost Common Stock Common Stock [Member] Schedule of Stock-based Compensation Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Number of reportable segments Number of Reportable Segments Schedule of Components of Lease Expense Lease, Cost [Table Text Block] Purchase of common stock through stock repurchase program Payments for Repurchase of Common Stock Class of Stock [Axis] Class of Stock [Axis] Statement [Table] Statement [Table] Awards vested (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Operating lease, renewal term Lessee, Operating Lease, Renewal Term Document Quarterly Report Document Quarterly Report Furniture and fixtures Furniture and Fixtures [Member] Current assets: Assets, Current [Abstract] Long-term operating lease liabilities Total long-term operating lease liabilities Operating Lease, Liability, Noncurrent Statistical Measurement [Axis] Statistical Measurement [Axis] Leasehold improvements Leasehold Improvements [Member] Accumulated deficit Retained Earnings (Accumulated Deficit) Other adjustments to reconcile net income to net cash provided by operating activities Other Operating Activities, Cash Flow Statement Accounts receivable, net of allowance for credit losses of $169 and $168 Accounts Receivable, after Allowance for Credit Loss, Current Schedule of Finite Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Purchases of marketable securities Payments to Acquire Marketable Securities Equity Components [Axis] Equity Components [Axis] Weighted average per share purchase price (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price Timing of Transfer of Good or Service [Axis] Timing of Transfer of Good or Service [Axis] Customers Representing 10% or More of Total Revenues Customers Representing 10% or More of Total Revenues [Member] Customers Representing 10% or More of Total Revenues Document Fiscal Year Focus Document Fiscal Year Focus Schedule of Amortization Expense Finite-Lived Intangible Assets Amortization Expense [Table Text Block] Statement [Line Items] Statement [Line Items] Beginning balance (in shares) Ending balance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Gross Finite-Lived Intangible Assets, Gross Selling, general and administrative Selling, General and Administrative Expense Operating lease, right-of-use-assets Operating Lease, Right-of-Use Asset U.S. treasuries US Treasury Bill Securities [Member] Accumulated Other Comprehensive Income (Loss) AOCI Attributable to Parent [Member] Weighted average per share discount from the fair value of our common stock on the date of issuance (in dollars per share) Weighted Average Per Share Discount From Fair Value From Date Of Issuance, Common Stock Weighted Average Per Share Discount From Fair Value From Date Of Issuance, Common Stock Operating lease expense Operating Lease, Expense Type of Restructuring [Domain] Type of Restructuring [Domain] Document Transition Report Document Transition Report Local Phone Number Local Phone Number Operating income Operating Income (Loss) Inventories Increase (Decrease) in Inventories Korean Won Korea (South), Won Prepaid expenses and other current assets Increase (Decrease) in Prepaid Expense and Other Assets Position [Domain] Position [Domain] Common stock, shares outstanding (in shares) Beginning balance (in shares) Ending balance (in shares) Common Stock, Shares, Outstanding Goodwill Goodwill, beginning balance Goodwill, ending balance Goodwill Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] Total liabilities Liabilities measured at fair value on non-recurring basis Liabilities, Fair Value Disclosure Provision for income taxes Income Tax Expense (Benefit) Geographical [Domain] Geographical [Domain] Deferred tax liabilities Deferred Income Tax Liabilities, Net Intel Corporation Intel [Member] Intel [Member] Schedule of Reconciliation of Changes in Warranty Liability Schedule of Product Warranty Liability [Table Text Block] 2027 Lessee, Operating Lease, Liability, to be Paid, Year Four Income Statement [Abstract] Income Statement [Abstract] Additional Paid-in Capital Additional Paid-in Capital [Member] Thereafter Lessee, Operating Lease, Liability, to be Paid, after Year Four Lessee, Operating Lease, Liability, to be Paid, after Year Four Document Fiscal Period Focus Document Fiscal Period Focus Restricted cash, non-current Restricted Cash, Noncurrent Cost of revenues Cost of Goods and Services Sold Derivative [Line Items] Derivative [Line Items] Diluted (in shares) Weighted-average shares used in computing diluted net income per share (in shares) Weighted Average Number of Shares Outstanding, Diluted Less: Accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Derivative liability Derivative Liability Concentration of Credit and Other Risks Concentration Risk Disclosure [Text Block] Schedule of Inventory Components Schedule of Inventory, Current [Table Text Block] Foundry & Logic Foundry & Logic Product Group [Member] Foundry & Logic Product Group [Member] Building and building improvements Building and Building Improvements [Member] Accounts Receivable Accounts Receivable [Member] Marketable securities Marketable Securities Common stock, $0.001 par value Common Stock, Value, Issued Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Accruals Standard and Extended Product Warranty Accrual, Increase for Warranties Issued Awards granted (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Schedule of Fair Value Assets Measured on Recurring Basis Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] Operating segments Operating Segments [Member] Short-term lease expense Short-Term Lease, Cost Warranty Product Warranty Disclosure [Text Block] Flash Flash Product Group [Member] Flash Product Group [Member] Cash, cash equivalents and restricted cash, beginning of period Cash, cash equivalents and restricted cash, end of period Total cash, cash equivalents and restricted cash Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Translation adjustments Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Current liabilities: Liabilities, Current [Abstract] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Foreign Exchange Forward Foreign Exchange Forward [Member] Common stock, shares issued (in shares) Common Stock, Shares, Issued Concentration Risk [Line Items] Concentration Risk [Line Items] Products and services transferred over time Transferred over Time [Member] Income Statement Location [Domain] Income Statement Location [Domain] 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] Amendment Flag Amendment Flag Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities South Korea KOREA, REPUBLIC OF Other comprehensive income (loss), net of tax: Other comprehensive income (loss) Other Comprehensive Income (Loss), Net of Tax Issuance of common stock under the Employee Stock Purchase Plan Stock Issued During Period, Value, Employee Stock Purchase Plan Corporate and Other Corporate and Other [Member] Comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Goodwill, acquired during period Goodwill, Acquired During Period Proceeds from issuances of common stock Proceeds, Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised Schedule of Operating Results by Segment Schedule of Segment Reporting Information, by Segment [Table Text Block] Entity Current Reporting Status Entity Current Reporting Status Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Other assets Other Assets, Noncurrent Cash payments Payments for Restructuring Systems Systems Product Group [Member] Systems Product Group [Member] Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Employee Severance and Benefits Employee Severance [Member] Japan JAPAN Operating lease, term of contract Lessee, Operating Lease, Term of Contract Issuance of common stock under the Employee Stock Purchase Plan (in shares) Shares issued (in shares) Stock Issued During Period, Shares, Employee Stock Purchase Plans Derivative [Table] Derivative [Table] October 2020 Stock Repurchase Program October 2020 Stock Repurchase Program [Member] October 2020 Stock Repurchase Program Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Effect of exchange rate changes on cash, cash equivalents and restricted cash Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations Property, plant and equipment, net of accumulated depreciation Total Property, Plant and Equipment, Net Currency [Axis] Currency [Axis] Operating cash outflows from operating leases Operating Lease, Payments Stock-based Compensation Stock-based Compensation [Member] Stock-based Compensation Principal repayments on term loans Repayments of Long-Term Debt Schedule of Estimated Amortization of Intangible Assets Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Allowance for doubtful accounts Accounts Receivable, Allowance for Credit Loss, Current Issuance of common stock pursuant to exercise of options Stock Issued During Period, Value, Stock Options Exercised Awards canceled (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Other income, net Other Nonoperating Income (Expense) Restructuring Charges Restructuring and Related Activities Disclosure [Text Block] Common stock, shares authorized (in shares) Common Stock, Shares Authorized Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Total operating expenses Operating Expenses Maximum Maximum [Member] Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Sell Short [Member] Issuance of common stock pursuant to exercise of options (in shares) Shares Issued, Shares, Share-Based Payment Arrangement, before Forfeiture Purchase and retirement of common stock through repurchase program Purchase of common stock value retired through repurchase program Stock Repurchased and Retired During Period, Value Restricted cash Restricted Cash and Cash Equivalents, Noncurrent Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Fiscal Year Fiscal Period, Policy [Policy Text Block] Total current assets Assets, Current Designated as hedging instrument Designated as Hedging Instrument [Member] Cash paid for income taxes, net Income Taxes Paid, Net Revenue recognized included in contracts Contract with Customer, Liability, Revenue Recognized Entity Small Business Entity Small Business Measurement Frequency [Domain] Measurement Frequency [Domain] Stockholders’ Equity and Stock-Based Compensation Stockholders' Equity Note Disclosure [Text Block] Reduction in the carrying amount of right-of-use assets Operating Lease, Right-of-Use Asset, Amortization Expense Net Finite-Lived Intangible Assets, Net Revenue, remaining performance obligation, expected timing of satisfaction, period Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Schedule of Customer Percentage of Revenue Schedules of Concentration of Risk, by Risk Factor [Table Text Block] Property, Plant and Equipment, net Property, Plant and Equipment Disclosure [Text Block] Purchase of common stock retired through repurchase program (in shares) Stock Repurchased and Retired During Period, Shares Property, Plant and Equipment, Type [Domain] Long-Lived Tangible Asset [Domain] Buy Long [Member] Accounts receivable Increase (Decrease) in Accounts Receivable Title of 12(b) Security Title of 12(b) Security Malaysia MALAYSIA Payables and Accruals [Abstract] Payables and Accruals [Abstract] Taiwan Semiconductor Manufacturing Co., LTD. Taiwan Semiconductor Manufacturing Co., LTD [Member] Taiwan Semiconductor Manufacturing Co., LTD Present value of net minimum lease payments Operating Lease, Liability U.S. agency securities US Government Agencies Debt Securities [Member] Operating Segments and Enterprise-Wide Information Segment Reporting Disclosure [Text Block] Selling, general and administrative Selling, General and Administrative Expenses [Member] Rest of the world Rest Of The World [Member] Rest Of The World [Member] 2025 Finite-Lived Intangible Asset, Expected Amortization, Year Two LIABILITIES AND STOCKHOLDERS’ EQUITY Liabilities and Equity [Abstract] Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Weighted-average number of shares used in per share calculations: Weighted Average Number of Shares Outstanding, Diluted [Abstract] Schedule of ESPP Activity Schedule of Share-Based Compensation, Employee Stock Purchase Plan, Activity [Table Text Block] Inventories, net Inventories Inventory, Net Accounts payable Accounts Payable, Current Restructuring charges Restructuring Charges Other assets Increase (Decrease) in Other Operating Assets Hedging Designation [Axis] Hedging Designation [Axis] Two Major Customers Two Major Customers [Member] Two Major Customers Entity Filer Category Entity Filer Category Basic (in shares) Weighted-average shares used in computing basic net income per share (in shares) Weighted Average Number of Shares Outstanding, Basic United States UNITED STATES Schedule of Unrecognized Stock-based Compensation Share-Based Payment Arrangement, Nonvested Award, Cost [Table Text Block] Schedule of Foreign Currency Forward Contracts Schedule of Foreign Exchange Contracts, Statement of Financial Position [Table Text Block] Total stock-based compensation Share-Based Payment Arrangement, Expense Non-cash investing and financing activities: Noncash Investing and Financing Items [Abstract] Security Exchange Name Security Exchange Name Derivative, notional amount Derivative, Notional Amount Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items] Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items] Restricted cash, current Restricted Cash, Current Restricted stock units Restricted Stock [Member] Deferred grant Increase (Decrease) in Deferred Government Grant Increase (Decrease) in Deferred Government Grant Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] May 2022 Stock Repurchase Program May 2022 Stock Repurchase Program [Member] May 2022 Stock Repurchase Program Revenues Revenue from Contract with Customer, Excluding Assessed Tax Corporate bonds Corporate Bond Securities [Member] Cover page. Cover [Abstract] Level 3 Fair Value, Inputs, Level 3 [Member] Goodwill, impairment loss Goodwill, Impairment Loss Restructuring and Related Activities [Abstract] Restructuring and Related Activities [Abstract] Taiwan TAIWAN Work-in-progress Inventory, Work in Process, Net of Reserves Revenue Revenue from Contract with Customer [Text Block] Segment Reporting [Abstract] Segment Reporting [Abstract] Interest income (expense), net Interest Income (Expense), Net Taiwan Dollar Taiwan, New Dollars Tax withholdings related to net share settlements of equity awards Payment, Tax Withholding, Share-Based Payment Arrangement Total liabilities and stockholders’ equity Liabilities and Equity Singapore SINGAPORE Goodwill [Roll Forward] Goodwill [Roll Forward] Timing of Transfer of Good or Service [Domain] Timing of Transfer of Good or Service [Domain] Amount remaining for future repurchases Stock Repurchase Program, Remaining Authorized Repurchase Amount Land Land [Member] Add potentially dilutive securities (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Level 2 Fair Value, Inputs, Level 2 [Member] Current Fiscal Year End Date Current Fiscal Year End Date Accrued Liabilities Accounts Payable and Accrued Liabilities Disclosure [Text Block] Less: interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Marketable securities Marketable Securities, Current Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Diluted (in dollars per share) Earnings Per Share, Diluted Intangibles, net Intangible Assets, Net (Excluding Goodwill) Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Consolidation Items [Axis] Consolidation Items [Axis] Concentration Risk Type [Axis] Concentration Risk Type [Axis] Total current liabilities Liabilities, Current Other Costs Other Restructuring [Member] Amortization Cost, Amortization 2025 Lessee, Operating Lease, Liability, to be Paid, Year Two Customer Concentration Risk Customer Concentration Risk [Member] Woburn Woburn [Member] Woburn Restructuring Cost and Reserve [Line Items] Restructuring Cost and Reserve [Line Items] Schedule of Restricted Stock Unit Activity Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block] Share Repurchase Program [Axis] Share Repurchase Program [Axis] Performance obligations Revenue, Remaining Performance Obligation, Amount Revenue from Contract with Customer Benchmark Revenue from Contract with Customer Benchmark [Member] Grant term Deferred Government Grant Liability, Term Deferred Government Grant Liability, Term Schedule of Future Minimum Payments Under Leases Lessee, Operating Lease, Liability, Maturity [Table Text Block] Entity Address, Address Line One Entity Address, Address Line One 2022 Restructuring Plan 2022 Restructuring Plan [Member] 2022 Restructuring Plan Contract with customer, liability Contract with Customer, Liability Product and Service [Axis] Product and Service [Axis] Europe Europe [Member] Class of Stock [Domain] Class of Stock [Domain] Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Trade name Trade Names [Member] Unrealized gains (losses) on available-for-sale marketable securities OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax Schedule of Accrued Liabilities Schedule of Accrued Liabilities [Table Text Block] Inventories, net Inventory Disclosure [Text Block] Reconciliation of cash, cash equivalents and restricted cash: Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents [Abstract] Equity [Abstract] Equity [Abstract] Awards vested (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Inventory Disclosure [Abstract] Inventory Disclosure [Abstract] Entity Tax Identification Number Entity Tax Identification Number Schedule of Disaggregation of Revenue by Segment Disaggregation of Revenue [Table Text Block] Inventory Impairments & Other Inventory Related Costs Inventory Impairments [Member] Inventory Impairments [Member] Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] Remainder of 2023 Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward] Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward] Product Warranties Disclosures [Abstract] Product Warranties Disclosures [Abstract] Net increase in cash, cash equivalents and restricted cash Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Schedule of Restructuring Accrual Activity Schedule of Restructuring Reserve by Type of Cost [Table Text Block] Restructuring Costs by Reportable Segment Restructuring and Related Costs [Table Text Block] Commercial paper Commercial Paper [Member] Entity Central Index Key Entity Central Index Key Measurement Frequency [Axis] Measurement Frequency [Axis] Weighted Average Grant Date Fair Value Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Net Finite Lived Intangible Assets Amortization Expense Total Finite Lived Intangible Assets Amortization Expense Total Other accrued expenses Other Accrued Liabilities, Current City Area Code City Area Code ASSETS Assets [Abstract] Euro Dollar Euro Member Countries, Euro Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Proceeds from maturities and sales of marketable securities Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale Revenue, remaining performance obligation, percentage Revenue, Remaining Performance Obligation, Percentage Cash flows from financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Asset Class [Axis] Asset Class [Axis] Stock-based compensation expense Share-Based Payment Arrangement, Noncash Expense Acquisition of property, plant and equipment Payments to Acquire Property, Plant, and Equipment Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Research and development Research and Development Expense [Member] 2024 Finite-Lived Intangible Asset, Expected Amortization, Year One Schedule of Calculation of Numerator and Denominator in Earnings Per Share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Operating lease, right-of-use assets obtained in exchange for lease obligations Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Automobiles Automobiles [Member] Cost of revenues Cost of Sales [Member] Percent of workforce eliminated Restructuring and Related Cost, Number of Positions Eliminated, Period Percent Name of Major Customer [Domain] Customer [Domain] EX-101.PRE 9 form-20230401_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 10 R1.htm IDEA: XBRL DOCUMENT v3.23.1
Cover Page - shares
3 Months Ended
Apr. 01, 2023
May 03, 2023
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Apr. 01, 2023  
Document Transition Report false  
Entity File Number 000-50307  
Entity Registrant Name FormFactor, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 13-3711155  
Entity Address, Address Line One 7005 Southfront Road  
Entity Address, City or Town Livermore  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 94551  
City Area Code 925  
Local Phone Number 290-4000  
Title of 12(b) Security Common stock, $0.001 par value  
Trading Symbol FORM  
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   77,144,094
Amendment Flag false  
Entity Central Index Key 0001039399  
Current Fiscal Year End Date --12-30  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q1  
XML 11 R2.htm IDEA: XBRL DOCUMENT v3.23.1
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Apr. 01, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 112,360 $ 109,130
Marketable securities 123,891 129,006
Accounts receivable, net of allowance for credit losses of $169 and $168 103,969 88,143
Inventories, net 116,553 123,157
Restricted cash 1,207 1,221
Prepaid expenses and other current assets 22,941 23,895
Total current assets 480,921 474,552
Restricted cash 2,287 2,631
Operating lease, right-of-use-assets 30,420 31,362
Property, plant and equipment, net of accumulated depreciation 198,232 189,848
Goodwill 211,773 211,444
Intangibles, net 24,486 26,751
Deferred tax assets 67,951 67,646
Other assets 3,686 3,994
Total assets 1,019,756 1,008,228
Current liabilities:    
Accounts payable 63,756 69,308
Accrued liabilities 31,981 42,115
Current portion of term loan, net of unamortized issuance costs 1,142 1,045
Deferred revenue 23,779 29,846
Operating lease liabilities 7,512 7,353
Total current liabilities 128,170 149,667
Term loan, less current portion, net of unamortized issuance costs 14,034 14,389
Deferred tax liabilities 2,905 2,732
Long-term operating lease liabilities 26,407 27,587
Deferred grant 18,000 0
Other liabilities 5,868 5,568
Total liabilities 195,384 199,943
Stockholders’ equity:    
Common stock, $0.001 par value 77 77
Additional paid-in capital 858,195 844,842
Accumulated other comprehensive loss (4,186) (5,578)
Accumulated deficit (29,714) (31,056)
Total stockholders’ equity 824,372 808,285
Total liabilities and stockholders’ equity $ 1,019,756 $ 1,008,228
XML 12 R3.htm IDEA: XBRL DOCUMENT v3.23.1
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Apr. 01, 2023
Dec. 31, 2022
Statement of Financial Position [Abstract]    
Allowance for doubtful accounts $ 169 $ 168
Common stock, par value (in dollars per share) $ 0.001 $ 0.001
Common stock, shares authorized (in shares) 250,000,000 250,000,000
Common stock, shares issued (in shares) 77,142,023 76,914,590
Common stock, shares outstanding (in shares) 77,142,023 76,914,590
XML 13 R4.htm IDEA: XBRL DOCUMENT v3.23.1
CONDENSED CONSOLIDATED STATEMENTS OF INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended
Apr. 01, 2023
Mar. 26, 2022
Income Statement [Abstract]    
Revenues $ 167,448 $ 197,174
Cost of revenues 106,370 102,950
Gross profit 61,078 94,224
Operating expenses:    
Research and development 28,245 27,134
Selling, general and administrative 32,742 32,906
Total operating expenses 60,987 60,040
Operating income 91 34,184
Interest income (expense), net 1,276 (54)
Other income, net 23 192
Income before income taxes 1,390 34,322
Provision for income taxes 48 4,450
Net income $ 1,342 $ 29,872
Net income per share:    
Basic (in dollars per share) $ 0.02 $ 0.38
Diluted (in dollars per share) $ 0.02 $ 0.38
Weighted-average number of shares used in per share calculations:    
Basic (in shares) 77,066 78,246
Diluted (in shares) 77,255 79,468
XML 14 R5.htm IDEA: XBRL DOCUMENT v3.23.1
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
$ in Thousands
3 Months Ended
Apr. 01, 2023
Mar. 26, 2022
Statement of Comprehensive Income [Abstract]    
Net income $ 1,342 $ 29,872
Other comprehensive income (loss), net of tax:    
Translation adjustments 832 (2,698)
Unrealized gains (losses) on available-for-sale marketable securities 603 (1,204)
Unrealized gains (losses) on derivative instruments (43) 874
Other comprehensive income (loss), net of tax: 1,392 (3,028)
Comprehensive income $ 2,734 $ 26,844
XML 15 R6.htm IDEA: XBRL DOCUMENT v3.23.1
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Total
Common Stock
Additional Paid-in Capital
Accumulated Other Comprehensive Income (Loss)
Accumulated Deficit
Beginning balance (in shares) at Dec. 25, 2021   78,240,506      
Beginning balance at Dec. 25, 2021 $ 815,780 $ 78 $ 898,945 $ (1,449) $ (81,794)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock under the Employee Stock Purchase Plan (in shares)   157,642      
Issuance of common stock under the Employee Stock Purchase Plan 5,645   5,645    
Issuance of common stock pursuant to exercise of options (in shares)   6,000      
Issuance of common stock pursuant to exercise of options 42   42    
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares)   2,612      
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (72)   (72)    
Purchase of common stock retired through repurchase program (in shares)   240,548      
Purchase and retirement of common stock through repurchase program (9,397)   (9,397)    
Stock-based compensation 7,831   7,831    
Other comprehensive income (loss) (3,028)     (3,028)  
Net income 29,872       29,872
Ending balance (in shares) at Mar. 26, 2022   78,166,212      
Ending balance at Mar. 26, 2022 $ 846,673 $ 78 902,994 (4,477) (51,922)
Beginning balance (in shares) at Dec. 31, 2022 76,914,590 76,914,590      
Beginning balance at Dec. 31, 2022 $ 808,285 $ 77 844,842 (5,578) (31,056)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock under the Employee Stock Purchase Plan (in shares)   210,055      
Issuance of common stock under the Employee Stock Purchase Plan 5,024   5,024    
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares)   17,378      
Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (387)   (387)    
Stock-based compensation 8,716   8,716    
Other comprehensive income (loss) 1,392     1,392  
Net income $ 1,342       1,342
Ending balance (in shares) at Apr. 01, 2023 77,142,023 77,142,023      
Ending balance at Apr. 01, 2023 $ 824,372 $ 77 $ 858,195 $ (4,186) $ (29,714)
XML 16 R7.htm IDEA: XBRL DOCUMENT v3.23.1
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Apr. 01, 2023
Mar. 26, 2022
Dec. 31, 2022
Cash flows from operating activities:      
Net income $ 1,342 $ 29,872  
Adjustments to reconcile net income to net cash provided by operating activities:      
Depreciation 7,576 6,960  
Amortization 2,378 2,369  
Reduction in the carrying amount of right-of-use assets 1,690 2,492  
Stock-based compensation expense 9,290 7,520  
Provision for excess and obsolete inventories 4,973 2,501  
Other adjustments to reconcile net income to net cash provided by operating activities 133 182  
Changes in assets and liabilities:      
Accounts receivable (15,926) 966  
Inventories 1,375 (17,080)  
Prepaid expenses and other current assets 1,009 (144)  
Other assets (55) (73)  
Accounts payable (1,819) 10,150  
Accrued liabilities (10,209) (3,120)  
Other liabilities 319 87  
Deferred revenues (6,046) 3,908  
Deferred grant 18,000   $ 0
Operating lease liabilities (1,721) (2,435)  
Net cash provided by operating activities 12,309 44,155  
Cash flows from investing activities:      
Acquisition of property, plant and equipment (19,701) (15,606)  
Purchases of marketable securities (27,311) (23,462)  
Proceeds from maturities and sales of marketable securities 33,473 17,990  
Net cash used in investing activities (13,539) (21,078)  
Cash flows from financing activities:      
Proceeds from issuances of common stock 5,024 5,687  
Purchase of common stock through stock repurchase program 0 (9,397)  
Tax withholdings related to net share settlements of equity awards (387) (72)  
Principal repayments on term loans (259) (2,234)  
Net cash provided by (used) in financing activities 4,378 (6,016)  
Effect of exchange rate changes on cash, cash equivalents and restricted cash (276) (1,142)  
Net increase in cash, cash equivalents and restricted cash 2,872 15,919  
Cash, cash equivalents and restricted cash, beginning of period 112,982 155,342 155,342
Cash, cash equivalents and restricted cash, end of period 115,854 171,261 112,982
Non-cash investing and financing activities:      
Decrease in accounts payable and accrued liabilities related to property, plant and equipment purchases 3,755 2,524  
Operating lease, right-of-use assets obtained in exchange for lease obligations 727 3,359  
Supplemental disclosure of cash flow information:      
Cash paid for income taxes, net 7,391 890  
Cash paid for interest 106 163  
Operating cash outflows from operating leases 2,191 2,094  
Reconciliation of cash, cash equivalents and restricted cash:      
Cash and cash equivalents 112,360 167,182 109,130
Restricted cash, current 1,207 2,026  
Restricted cash, non-current 2,287 2,053  
Total cash, cash equivalents and restricted cash $ 115,854 $ 171,261 $ 112,982
XML 17 R8.htm IDEA: XBRL DOCUMENT v3.23.1
Basis of Presentation and Significant Accounting Policies
3 Months Ended
Apr. 01, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Basis of Presentation and Significant Accounting Policies Basis of Presentation and Significant Accounting Policies
 
Basis of Presentation
The accompanying condensed consolidated financial information of FormFactor, Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year.
 
Fiscal Year 
We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the three months ended April 1, 2023 and March 26, 2022 each contained 13 weeks. Fiscal 2023 will end on December 30, 2023.

Significant Accounting Policies
Our significant accounting policies have not changed during the three months ended April 1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022, except for:

Government Assistance
In January 2023, we received $18.0 million in cash from a California Competes Grant (the “Grant”) awarded from the California Governor’s Office of Business and Economic Development. The Grant requires FormFactor to create and maintain full-time jobs and make significant infrastructure investments within California over a 5-year term. If we do not meet the requirements of the Grant, we will be required to repay all or a portion of the Grant.
The Grant is included in our Condensed Consolidated Balance Sheets within Deferred grant and we have elected to recognize when earned as an offset to Cost of revenues and Operating expenses within our Condensed Consolidated Statements of Income. We have elected to present the proceeds from the Grant as cash provided by operating activities within our Condensed Consolidated Statements of Cash Flows as the grant is to offset operations.
XML 18 R9.htm IDEA: XBRL DOCUMENT v3.23.1
Concentration of Credit and Other Risks
3 Months Ended
Apr. 01, 2023
Risks and Uncertainties [Abstract]  
Concentration of Credit and Other Risks Concentration of Credit and Other Risks
Each of the following customers accounted for 10% or more of our revenues for the periods indicated:
Three Months Ended
April 1,
2023
March 26,
2022
Intel Corporation20.0 %20.8 %
Taiwan Semiconductor Manufacturing Co., LTD.*10.7 %
20.0 %31.5 %
At April 1, 2023, two customers accounted for 17.9% and 15.9% of gross accounts receivable, respectively. At December 31, 2022, one customer accounted for 13.8% of gross accounts receivable.
XML 19 R10.htm IDEA: XBRL DOCUMENT v3.23.1
Inventories, net
3 Months Ended
Apr. 01, 2023
Inventory Disclosure [Abstract]  
Inventories, net Inventories, net
Inventories are stated at the lower of cost (principally standard cost, which approximates actual cost on a first in, first out basis) or net realizable value.
 
Inventories, net, consisted of the following (in thousands):
April 1,
2023
December 31,
2022
Raw materials$57,748 $55,726 
Work-in-progress39,376 46,067 
Finished goods19,429 21,364 
$116,553 $123,157 
XML 20 R11.htm IDEA: XBRL DOCUMENT v3.23.1
Goodwill and Intangible Assets
3 Months Ended
Apr. 01, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill and Intangible Assets Goodwill and Intangible Assets
Goodwill by reportable segment was as follows (in thousands):
Probe CardsSystemsTotal
Goodwill, as of December 25, 2021$178,424 $33,875 $212,299 
Addition - Woburn Acquisition— 550 550 
Foreign currency translation— (1,405)(1,405)
Goodwill, as of December 31, 2022178,424 33,020 211,444 
Foreign currency translation— 329 329 
Goodwill, as of April 1, 2023$178,424 $33,349 $211,773 

We have not recorded goodwill impairments for the three months ended April 1, 2023.

Intangible assets were as follows (in thousands):
April 1, 2023December 31, 2022
Intangible Assets GrossAccumulated
Amortization
NetGrossAccumulated
Amortization
Net
Existing developed technologies $171,750 $152,260 $19,490 $171,441 $151,212 $20,229 
Customer relationships50,996 46,559 4,437 50,912 45,003 5,909 
Trade name7,992 7,833 159 7,972 7,759 213 
In-process research and development400 — 400 400 — 400 
$231,138 $206,652 $24,486 $230,725 $203,974 $26,751 

Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):
 Three Months Ended
 April 1,
2023
March 26,
2022
Cost of revenues$831 $808 
Selling, general and administrative1,547 1,561 
$2,378 $2,369 

The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands):
Fiscal YearAmount
Remainder of 2023$4,813 
20244,611 
20254,268 
20263,175 
20272,832 
Thereafter4,387 
$24,086 
XML 21 R12.htm IDEA: XBRL DOCUMENT v3.23.1
Accrued Liabilities
3 Months Ended
Apr. 01, 2023
Payables and Accruals [Abstract]  
Accrued Liabilities Accrued Liabilities
Accrued liabilities consisted of the following (in thousands):
April 1,
2023
December 31,
2022
Accrued compensation and benefits$20,028 $15,864 
Accrued income and other taxes3,241 12,817 
Accrued warranty3,872 4,199 
Employee stock purchase plan contributions withheld1,533 4,585 
Accrued restructuring charges376 1,249 
Other accrued expenses2,931 3,401 
$31,981 $42,115 
XML 22 R13.htm IDEA: XBRL DOCUMENT v3.23.1
Restructuring Charges
3 Months Ended
Apr. 01, 2023
Restructuring and Related Activities [Abstract]  
Restructuring Charges Restructuring Charges
2022 Restructuring Plan
On October 25, 2022, we adopted a restructuring plan (“2022 restructuring plan”) to align our cost structure with reduced demand levels, by streamlining and improving the efficiency and business effectiveness of our operations. This plan included lowering headcount by approximately 13% of our workforce.

The Company has recognized 2022 restructuring plan charges of approximately $8.1 million for severance and employee-related costs, including $0.3 million for stock-based compensation, with $7.1 million within the Probe Cards segment, $0.5 million within the Systems segment, and $0.5 million within Corporate. We do not expect to incur additional material costs related to the 2022 restructuring plan.

2021 Restructuring Plan
On September 25, 2021, we adopted restructuring plans (“2021 restructuring plans”) to improve our business effectiveness and streamline our operations by consolidating certain manufacturing facilities for both the Probe Cards segment and the Systems segment. This included plans to consolidate or relocate certain leased locations in the United States to other locations in the United States, Germany and Asia. As a result of these changes to certain work locations, we have incurred personnel related costs to sever, relocate, or retain select employees. Additionally, as part of these plans we have undertaken actions to adjust capacity for certain product offerings, which included contract termination costs to satisfy contract obligations.

The Company has recognized 2021 restructuring plans charges of approximately $12.7 million, with $9.9 million within the Probe Cards segment and $2.8 million within the Systems segment, and were comprised of $1.3 million of severance and employee-related costs, $1.8 million in contract and lease termination costs, $9.1 million in inventory impairments and other inventory related costs, and $0.5 million of cost related to impairment of leasehold improvements, facility exits and fixed asset related costs. We do not expect additional material costs related to the 2021 restructuring plan.

Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Cost of revenues$70 $(45)$25 $39 $100 $139 
Research and development66 70 — 146 146 
Selling, general and administrative1,060 62 1,122 25 28 
$1,134 $83 $1,217 $42 $271 $313 
Changes to the restructuring accrual in the three months ended April 1, 2023 were as follows (in thousands):
Employee Severance
and Benefits
Stock-based CompensationInventory
Impairments &
Other Inventory
Related Costs
Total
December 31, 2022$1,249 $— $— $1,249 
Restructuring charges842 295 80 1,217 
Cash payments(1,715)— (63)(1,778)
Non-cash settlement— (295)(17)(312)
April 1, 2023$376 $— $— $376 
XML 23 R14.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value and Derivative Instruments
3 Months Ended
Apr. 01, 2023
Fair Value Disclosures [Abstract]  
Fair Value and Derivative Instruments Fair Value and Derivative Instruments
Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:
Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;
Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and
Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.

We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three months ended April 1, 2023 or the year ended December 31, 2022.

The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities.

No changes were made to our valuation techniques during the first three months of fiscal 2023.
Assets and Liabilities Measured at Fair Value on a Recurring Basis
Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands): 
April 1, 2023Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market funds$44,777 $— $— $44,777 
Commercial paper— 4,475 — 4,475 
44,777 4,475 — 49,252 
Marketable securities:
 U.S. treasuries25,144 — — 25,144 
 Certificates of deposit— 471 — 471 
 U.S. agency securities— 13,062 — 13,062 
 Corporate bonds— 53,899 — 53,899 
 Commercial paper— 31,315 — 31,315 
25,144 98,747 — 123,891 
Foreign exchange derivative contracts— 763 — 763 
Promissory note receivable— — 943 943 
Interest rate swap derivative contracts— 2,041 — 2,041 
Total assets$69,921 $106,026 $943 $176,890 
Liabilities:
Interest rate swap derivative contracts$— $(2)$— $(2)
Total liabilities$— $(2)$— $(2)

December 31, 2022Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market funds$21,279 $— $— $21,279 
Commercial paper— 4,969 — 4,969 
U.S. agency securities— 996 — 996 
21,279 5,965 — 27,244 
Marketable securities:
U.S. treasuries25,019 — — 25,019 
Certificates of deposit— 706 — 706 
U.S. agency securities— 11,045 — 11,045 
Corporate bonds— 67,396 — 67,396 
Commercial paper— 24,840 — 24,840 
25,019 103,987 — 129,006 
Foreign exchange derivative contracts— 664 — 664 
Promissory note receivable— — 943 943 
Interest rate swap derivative contracts— 2,374 — 2,374 
Total assets$46,298 $112,990 $943 $160,231 
Liabilities:
Foreign exchange derivative contracts$— $(193)$— $(193)
Total liabilities$— $(193)$— $(193)
 
Cash Equivalents
The fair value of our cash equivalents is determined based on quoted market prices for similar or identical securities.

Marketable Securities
We classify our marketable securities as available-for-sale and value them utilizing a market approach. Our investments are
priced by pricing vendors who provide observable inputs for their pricing without applying significant judgment. Broker pricing is used mainly when a quoted price is not available, the investment is not priced by our pricing vendors or when a broker price is more reflective of fair value. Our broker-priced investments are categorized as Level 2 investments because fair value is based on similar assets without applying significant judgments. In addition, all investments have a sufficient trading volume to demonstrate that the fair value is appropriate.

Unrealized gains and losses were immaterial and were recorded as a component of Accumulated other comprehensive loss in our Condensed Consolidated Balance Sheets. We did not have any other-than-temporary unrealized gains or losses at either period end included in these financial statements.

Interest Rate Swaps
The fair value of our interest rate swap contracts is determined at the end of each reporting period based on valuation models that use interest rate yield curves as inputs. For accounting purposes, our interest rate swap contracts qualify for, and are designated as, cash flow hedges. The cash flows associated with the interest rate swaps are reported in Net cash provided by operating activities in our Condensed Consolidated Statements of Cash Flows and the fair value of the interest rate swap contracts are recorded within Prepaid expenses and other current assets and Other assets in our Condensed Consolidated Balance Sheets.

Foreign Exchange Derivative Contracts
We operate and sell our products in various global markets. As a result, we are exposed to changes in foreign currency exchange rates. We utilize foreign currency forward contracts to hedge against future movements in foreign exchange rates that affect certain existing foreign currency denominated assets and liabilities and forecasted foreign currency revenue and expense transactions. Under this program, our strategy is to have increases or decreases in our foreign currency exposures mitigated by gains or losses on the foreign currency forward contracts in order to mitigate the risks and volatility associated with foreign currency transaction gains or losses.

We do not use derivative financial instruments for speculative or trading purposes. For accounting purposes, certain of our foreign currency forward contracts are not designated as hedging instruments and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded within Other income, net in our Condensed Consolidated Statement of Income for both realized and unrealized gains and losses. Certain of our foreign currency forward contracts are designated as cash flow hedges, and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded as a component of Accumulated other comprehensive loss and reclassified into earnings in the same period in which the hedged transaction affects earnings, and in the same line item on the Condensed Consolidated Statements of Income as the impact of the hedge transaction.

The fair value of our foreign exchange derivative contracts was determined based on current foreign currency exchange rates and forward points. All of our foreign exchange derivative contracts outstanding at April 1, 2023 will mature by the first quarter of fiscal 2024.

The following table provides information about our foreign currency forward contracts outstanding as of April 1, 2023 (in thousands):
CurrencyContract PositionContract Amount
(Local Currency)
Contract Amount
(U.S. Dollars)
Euro DollarBuy23,004 $24,250 
Euro DollarSell2,356 2,472 
Japanese YenSell3,227,282 24,377 
Korean WonBuy1,751,490 1,355 
Taiwan DollarSell43,413 1,435 

Our foreign currency contracts are classified within Level 2 of the fair value hierarchy as they are valued using pricing models that utilize observable market inputs.

Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis
We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business
acquisition. Other than as discussed in Note 6, Restructuring Charges, there were no assets or liabilities measured at fair value on a nonrecurring basis during the three months ended April 1, 2023 or March 26, 2022.
XML 24 R15.htm IDEA: XBRL DOCUMENT v3.23.1
Warranty
3 Months Ended
Apr. 01, 2023
Product Warranties Disclosures [Abstract]  
Warranty Warranty
We offer warranties on certain products and record a liability for the estimated future costs associated with warranty claims at the time revenue is recognized. The warranty liability is based upon historical experience and our estimate of the level of future costs. While we engage in product quality programs and processes, our warranty obligation is affected by product failure rates, material usage and service delivery costs. We regularly monitor product returns for warranty and maintain a reserve for the related expenses based upon our historical experience and any specifically identified failures. As we sell new products to our customers, we must exercise considerable judgment in estimating the expected failure rates. This estimating process is based on historical experience of similar products, as well as various other assumptions that we believe to be reasonable under the circumstances. We provide for the estimated cost of product warranties at the time revenue is recognized as a component of Cost of revenues in our Condensed Consolidated Statement of Income.

Changes in our warranty liability were as follows (in thousands):
Three Months Ended
April 1,
2023
March 26,
2022
Balance at beginning of period$4,199 $2,805 
Accruals1,390 1,214 
Settlements(1,717)(1,244)
Balance at end of period$3,872 $2,775 
XML 25 R16.htm IDEA: XBRL DOCUMENT v3.23.1
Property, Plant, and Equipment, net
3 Months Ended
Apr. 01, 2023
Property, Plant and Equipment [Abstract]  
Property, Plant and Equipment, net Property, Plant and Equipment, net
Property, plant and equipment, net consisted of the following (in thousands):
April 1,
2023
December 31,
2022
Land$17,136 $17,136 
Building and building improvements44,444 44,932 
Machinery and equipment 280,936 276,180 
Computer equipment and software46,568 45,813 
Furniture and fixtures 7,481 7,540 
Leasehold improvements 87,318 86,500 
Sub-total 483,883 478,101 
Less: Accumulated depreciation and amortization (342,763)(335,711)
Net, property, plant and equipment 141,120 142,390 
Construction-in-process57,112 47,458 
Total$198,232 $189,848 
XML 26 R17.htm IDEA: XBRL DOCUMENT v3.23.1
Stockholders’ Equity and Stock-Based Compensation
3 Months Ended
Apr. 01, 2023
Equity [Abstract]  
Stockholders’ Equity and Stock-Based Compensation Stockholders’ Equity and Stock-Based Compensation
Common Stock Repurchase Programs
On October 26, 2020, our Board of Directors authorized a two-year program to repurchase up to $50 million of outstanding common stock to offset potential dilution from issuances of common stock under our stock-based compensation programs. During the three months ended March 26, 2022, we repurchased 240,548 shares of common stock for $9.4 million. We utilized the remaining funds available for repurchase under this program during fiscal 2022.

On May 20, 2022, our Board of Directors authorized an additional program to repurchase up to $75 million of outstanding common stock, also with the primary purpose to offset potential dilution from issuances of common stock under our stock-based compensation programs. The share repurchase program will expire on May 20, 2024. During the three months ended April 1, 2023, we did not repurchase any common stock. As of April 1, 2023, $18.6 million remained available for future repurchases.
Our policy related to repurchases of our common stock is to charge the excess of cost over par value to additional paid-in capital once the shares are retired. All repurchases were made in compliance with Rule 10b-18 under the Securities Exchange Act of 1934, as amended.

Restricted Stock Units
Restricted stock unit (“RSU”) activity under our equity incentive plan was as follows:
UnitsWeighted Average Grant Date Fair Value
RSUs at December 31, 20222,227,081 $35.28 
Awards granted79,020 25.51 
Awards vested(30,751)34.87 
Awards forfeited(82,523)35.16 
RSUs at April 1, 20232,192,827 34.94 

Performance Restricted Stock Units
We may grant Performance RSUs (“PRSUs”) to certain executives, which vest based upon us achieving certain market performance criteria. There were no market based PRSUs granted during the three months ended April 1, 2023. PRSUs are included as part of the RSU activity above.

Employee Stock Purchase Plan
Information related to activity under our Employee Stock Purchase Plan (“ESPP”) was as follows:
 Three Months Ended
 April 1, 2023
Shares issued210,055 
Weighted average per share purchase price$23.92 
Weighted average per share discount from the fair value of our common stock on the date of issuance$(4.22)

Stock-Based Compensation
Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Cost of revenues$1,910 $1,078 
Research and development2,372 1,986 
Selling, general and administrative5,008 4,456 
Total stock-based compensation$9,290 $7,520 
 
Unrecognized Compensation Costs
At April 1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands): 
Unrecognized ExpenseAverage Expected
Recognition Period
in Years
Restricted stock units$39,761 1.98
Performance restricted stock units9,486 1.86
Employee stock purchase plan985 0.33
Total unrecognized stock-based compensation expense$50,232 1.93
XML 27 R18.htm IDEA: XBRL DOCUMENT v3.23.1
Net Income per Share
3 Months Ended
Apr. 01, 2023
Earnings Per Share [Abstract]  
Net Income per Share Net Income per Share
The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Weighted-average shares used in computing basic net income per share77,066 78,246 
Add potentially dilutive securities189 1,222 
Weighted-average shares used in computing diluted net income per share77,255 79,468 
Securities not included as they would have been antidilutive1,121 — 
XML 28 R19.htm IDEA: XBRL DOCUMENT v3.23.1
Commitments and Contingencies
3 Months Ended
Apr. 01, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Leases
See Note 13, Leases.

Contractual Obligations and Commitments
Our contractual obligations and commitments have not materially changed as of April 1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022.

Legal Matters
From time to time, we may be subject to legal proceedings and claims in the ordinary course of business. As of April 1, 2023, and as of the filing of this Quarterly Report on Form 10-Q, we were not involved in any material legal proceedings.
XML 29 R20.htm IDEA: XBRL DOCUMENT v3.23.1
Leases
3 Months Ended
Apr. 01, 2023
Leases [Abstract]  
Leases Leases
We lease real estate space under non-cancelable operating lease agreements for commercial and industrial space, as well as for a portion of our corporate headquarters located in Livermore, California. Our leases have remaining terms of 1 to 6 years, and some leases include options to extend up to 20 years. We also have operating leases for automobiles with remaining lease terms of 1 year. We did not include any of our renewal options in our lease terms for calculating our lease liability as the renewal options allow us to maintain operational flexibility and we are not reasonably certain we will exercise these options at this time. The weighted-average remaining lease term for our operating leases was 5 years as of April 1, 2023 and the weighted-average discount rate was 3.92%.

The components of lease expense were as follows (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Lease expense:
Operating lease expense$1,952 $2,221 
Short-term lease expense157 40 
Variable lease expense746 458 
$2,855 $2,719 
Future minimum payments under our non-cancelable operating leases were as follows as of April 1, 2023 (in thousands):
Fiscal YearAmount
Remainder of 2023$6,190 
20248,106 
20258,018 
20266,641 
20275,756 
Thereafter3,431 
  Total minimum lease payments38,142 
Less: interest(4,223)
  Present value of net minimum lease payments33,919 
Less: current portion(7,512)
  Total long-term operating lease liabilities$26,407 
XML 30 R21.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue
3 Months Ended
Apr. 01, 2023
Revenue from Contract with Customer [Abstract]  
Revenue Revenue
Transaction price allocated to the remaining performance obligations: On April 1, 2023, we had $9.8 million of remaining performance obligations, which were comprised of deferred service contracts and extended warranty contracts and contracts with overtime revenue recognition that are not yet delivered. We expect to recognize approximately 67.6% of our remaining performance obligations as revenue in the remainder of fiscal 2023, approximately 26.8% in fiscal 2024, and approximately 5.6% in fiscal 2025 and thereafter. The foregoing excludes the value of other remaining performance obligations as they have original durations of one year or less, and also excludes information about variable consideration allocated entirely to a wholly unsatisfied performance obligation.

Contract balances: The timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable is recorded at the invoiced amount, net of an allowance for credit losses. A receivable is recognized in the period we deliver goods or provide services or when our right to consideration is unconditional. A contract asset is recorded when we have performed under the contract but our right to consideration is conditional on something other than the passage of time. Contract assets as of April 1, 2023 and December 31, 2022 were $2.9 million and $1.9 million, respectively, and are reported on the Condensed Consolidated Balance Sheets as a component of Prepaid expenses and other current assets.

Contract liabilities include payments received and payments due in advance of performance under a contract and are satisfied as the associated revenue is recognized. Contract liabilities are reported on the Condensed Consolidated Balance Sheets at the end of each reporting period as a component of Deferred revenue and Other liabilities. Contract liabilities as of April 1, 2023 and December 31, 2022 were $24.9 million and $30.9 million, respectively. During the three months ended April 1, 2023, we recognized $14.0 million of revenue that was included in contract liabilities as of December 31, 2022.

Costs to obtain a contract: We generally expense sales commissions when incurred as a component of Selling, general and administrative expense, as the amortization period is typically less than one year.
Revenue by category: Refer to Note 15, Operating Segments and Enterprise-Wide Information, for further details.
XML 31 R22.htm IDEA: XBRL DOCUMENT v3.23.1
Operating Segments and Enterprise-Wide Information
3 Months Ended
Apr. 01, 2023
Segment Reporting [Abstract]  
Operating Segments and Enterprise-Wide Information Operating Segments and Enterprise-Wide InformationOur chief operating decision maker (“CODM”) is our Chief Executive Officer, who reviews operating results to make decisions about allocating resources and assessing performance for the entire company. We operate in two reportable segments consisting
of the Probe Cards segment and the Systems segment. The following table summarizes the operating results by reportable segment (dollars in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Probe CardsSystemsCorporate and OtherTotalProbe CardsSystemsCorporate and OtherTotal
Revenues$127,328 $40,120 $— $167,448 $159,983 $37,191 $— $197,174 
Gross profit 43,623 20,746 (3,291)61,078 77,202 19,407 (2,385)94,224 
Gross margin34.3 %51.7 %36.5 %48.3 %52.2 %47.8 %

Operating results provide useful information to our management for assessment of our performance and results of operations. Certain components of our operating results are utilized to determine executive compensation along with other measures.

Corporate and Other includes unallocated expenses relating to amortization of intangible assets, inventory and fixed asset fair value adjustments due to acquisitions, share-based compensation, and restructuring charges which are not used in evaluating the results of, or in allocating resources to, our reportable segments.

Certain revenue category information by reportable segment was as follows (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Market:
Foundry & Logic$101,562 $— $101,562 $114,121 $— $114,121 
DRAM19,890 — 19,890 34,437 — 34,437 
Flash5,876 — 5,876 11,425 — 11,425 
Systems— 40,120 40,120 — 37,191 37,191 
Total$127,328 $40,120 $167,448 $159,983 $37,191 $197,174 
Timing of revenue recognition:
Products transferred at a point in time$126,678 $36,710 $163,388 $158,836 $35,416 $194,252 
Products and services transferred over time650 3,410 4,060 1,147 1,775 2,922 
Total$127,328 $40,120 $167,448 $159,983 $37,191 $197,174 
Geographical region:
Taiwan$38,897 $1,432 $40,329 $42,522 $10,547 $53,069 
United States24,641 13,090 37,731 19,976 5,671 25,647 
China18,476 8,623 27,099 32,791 5,608 38,399 
South Korea19,572 1,203 20,775 24,881 2,620 27,501 
Malaysia10,324 946 11,270 21,517 682 22,199 
Japan7,136 3,841 10,977 4,785 4,597 9,382 
Europe3,426 6,000 9,426 2,382 6,013 8,395 
Singapore3,200 2,140 5,340 10,284 612 10,896 
Rest of the world1,656 2,845 4,501 845 841 1,686 
Total$127,328 $40,120 $167,448 $159,983 $37,191 $197,174 
XML 32 R23.htm IDEA: XBRL DOCUMENT v3.23.1
Basis of Presentation and Significant Accounting Policies (Policies)
3 Months Ended
Apr. 01, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Basis of Presentation Basis of PresentationThe accompanying condensed consolidated financial information of FormFactor, Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year.
Fiscal Year
Fiscal Year 
We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the three months ended April 1, 2023 and March 26, 2022 each contained 13 weeks. Fiscal 2023 will end on December 30, 2023.
Fair Value
Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:
Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;
Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and
Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.

We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three months ended April 1, 2023 or the year ended December 31, 2022.

The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities.

No changes were made to our valuation techniques during the first three months of fiscal 2023.
Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis
We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business
acquisition.
XML 33 R24.htm IDEA: XBRL DOCUMENT v3.23.1
Concentration of Credit and Other Risks (Tables)
3 Months Ended
Apr. 01, 2023
Risks and Uncertainties [Abstract]  
Schedule of Customer Percentage of Revenue
Each of the following customers accounted for 10% or more of our revenues for the periods indicated:
Three Months Ended
April 1,
2023
March 26,
2022
Intel Corporation20.0 %20.8 %
Taiwan Semiconductor Manufacturing Co., LTD.*10.7 %
20.0 %31.5 %
XML 34 R25.htm IDEA: XBRL DOCUMENT v3.23.1
Inventories, net (Tables)
3 Months Ended
Apr. 01, 2023
Inventory Disclosure [Abstract]  
Schedule of Inventory Components
Inventories, net, consisted of the following (in thousands):
April 1,
2023
December 31,
2022
Raw materials$57,748 $55,726 
Work-in-progress39,376 46,067 
Finished goods19,429 21,364 
$116,553 $123,157 
XML 35 R26.htm IDEA: XBRL DOCUMENT v3.23.1
Goodwill and Intangible Assets (Tables)
3 Months Ended
Apr. 01, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill by Reportable Segments
Goodwill by reportable segment was as follows (in thousands):
Probe CardsSystemsTotal
Goodwill, as of December 25, 2021$178,424 $33,875 $212,299 
Addition - Woburn Acquisition— 550 550 
Foreign currency translation— (1,405)(1,405)
Goodwill, as of December 31, 2022178,424 33,020 211,444 
Foreign currency translation— 329 329 
Goodwill, as of April 1, 2023$178,424 $33,349 $211,773 
Schedule of Intangible Assets
Intangible assets were as follows (in thousands):
April 1, 2023December 31, 2022
Intangible Assets GrossAccumulated
Amortization
NetGrossAccumulated
Amortization
Net
Existing developed technologies $171,750 $152,260 $19,490 $171,441 $151,212 $20,229 
Customer relationships50,996 46,559 4,437 50,912 45,003 5,909 
Trade name7,992 7,833 159 7,972 7,759 213 
In-process research and development400 — 400 400 — 400 
$231,138 $206,652 $24,486 $230,725 $203,974 $26,751 
Schedule of Amortization Expense
Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):
 Three Months Ended
 April 1,
2023
March 26,
2022
Cost of revenues$831 $808 
Selling, general and administrative1,547 1,561 
$2,378 $2,369 
Schedule of Estimated Amortization of Intangible Assets
The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands):
Fiscal YearAmount
Remainder of 2023$4,813 
20244,611 
20254,268 
20263,175 
20272,832 
Thereafter4,387 
$24,086 
XML 36 R27.htm IDEA: XBRL DOCUMENT v3.23.1
Accrued Liabilities (Tables)
3 Months Ended
Apr. 01, 2023
Payables and Accruals [Abstract]  
Schedule of Accrued Liabilities
Accrued liabilities consisted of the following (in thousands):
April 1,
2023
December 31,
2022
Accrued compensation and benefits$20,028 $15,864 
Accrued income and other taxes3,241 12,817 
Accrued warranty3,872 4,199 
Employee stock purchase plan contributions withheld1,533 4,585 
Accrued restructuring charges376 1,249 
Other accrued expenses2,931 3,401 
$31,981 $42,115 
XML 37 R28.htm IDEA: XBRL DOCUMENT v3.23.1
Restructuring Charges (Tables)
3 Months Ended
Apr. 01, 2023
Restructuring and Related Activities [Abstract]  
Restructuring Costs by Reportable Segment
Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Cost of revenues$70 $(45)$25 $39 $100 $139 
Research and development66 70 — 146 146 
Selling, general and administrative1,060 62 1,122 25 28 
$1,134 $83 $1,217 $42 $271 $313 
Schedule of Restructuring Accrual Activity
Changes to the restructuring accrual in the three months ended April 1, 2023 were as follows (in thousands):
Employee Severance
and Benefits
Stock-based CompensationInventory
Impairments &
Other Inventory
Related Costs
Total
December 31, 2022$1,249 $— $— $1,249 
Restructuring charges842 295 80 1,217 
Cash payments(1,715)— (63)(1,778)
Non-cash settlement— (295)(17)(312)
April 1, 2023$376 $— $— $376 
XML 38 R29.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value and Derivative Instruments (Tables)
3 Months Ended
Apr. 01, 2023
Fair Value Disclosures [Abstract]  
Schedule of Fair Value Assets Measured on Recurring Basis
Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands): 
April 1, 2023Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market funds$44,777 $— $— $44,777 
Commercial paper— 4,475 — 4,475 
44,777 4,475 — 49,252 
Marketable securities:
 U.S. treasuries25,144 — — 25,144 
 Certificates of deposit— 471 — 471 
 U.S. agency securities— 13,062 — 13,062 
 Corporate bonds— 53,899 — 53,899 
 Commercial paper— 31,315 — 31,315 
25,144 98,747 — 123,891 
Foreign exchange derivative contracts— 763 — 763 
Promissory note receivable— — 943 943 
Interest rate swap derivative contracts— 2,041 — 2,041 
Total assets$69,921 $106,026 $943 $176,890 
Liabilities:
Interest rate swap derivative contracts$— $(2)$— $(2)
Total liabilities$— $(2)$— $(2)

December 31, 2022Level 1Level 2Level 3Total
Assets:
Cash equivalents:
Money market funds$21,279 $— $— $21,279 
Commercial paper— 4,969 — 4,969 
U.S. agency securities— 996 — 996 
21,279 5,965 — 27,244 
Marketable securities:
U.S. treasuries25,019 — — 25,019 
Certificates of deposit— 706 — 706 
U.S. agency securities— 11,045 — 11,045 
Corporate bonds— 67,396 — 67,396 
Commercial paper— 24,840 — 24,840 
25,019 103,987 — 129,006 
Foreign exchange derivative contracts— 664 — 664 
Promissory note receivable— — 943 943 
Interest rate swap derivative contracts— 2,374 — 2,374 
Total assets$46,298 $112,990 $943 $160,231 
Liabilities:
Foreign exchange derivative contracts$— $(193)$— $(193)
Total liabilities$— $(193)$— $(193)
Schedule of Foreign Currency Forward Contracts
The following table provides information about our foreign currency forward contracts outstanding as of April 1, 2023 (in thousands):
CurrencyContract PositionContract Amount
(Local Currency)
Contract Amount
(U.S. Dollars)
Euro DollarBuy23,004 $24,250 
Euro DollarSell2,356 2,472 
Japanese YenSell3,227,282 24,377 
Korean WonBuy1,751,490 1,355 
Taiwan DollarSell43,413 1,435 
XML 39 R30.htm IDEA: XBRL DOCUMENT v3.23.1
Warranty (Tables)
3 Months Ended
Apr. 01, 2023
Product Warranties Disclosures [Abstract]  
Schedule of Reconciliation of Changes in Warranty Liability
Changes in our warranty liability were as follows (in thousands):
Three Months Ended
April 1,
2023
March 26,
2022
Balance at beginning of period$4,199 $2,805 
Accruals1,390 1,214 
Settlements(1,717)(1,244)
Balance at end of period$3,872 $2,775 
XML 40 R31.htm IDEA: XBRL DOCUMENT v3.23.1
Property, Plant, and Equipment, net (Tables)
3 Months Ended
Apr. 01, 2023
Property, Plant and Equipment [Abstract]  
Schedule of Property, Plant and Equipment
Property, plant and equipment, net consisted of the following (in thousands):
April 1,
2023
December 31,
2022
Land$17,136 $17,136 
Building and building improvements44,444 44,932 
Machinery and equipment 280,936 276,180 
Computer equipment and software46,568 45,813 
Furniture and fixtures 7,481 7,540 
Leasehold improvements 87,318 86,500 
Sub-total 483,883 478,101 
Less: Accumulated depreciation and amortization (342,763)(335,711)
Net, property, plant and equipment 141,120 142,390 
Construction-in-process57,112 47,458 
Total$198,232 $189,848 
XML 41 R32.htm IDEA: XBRL DOCUMENT v3.23.1
Stockholders’ Equity and Stock-Based Compensation (Tables)
3 Months Ended
Apr. 01, 2023
Equity [Abstract]  
Schedule of Restricted Stock Unit Activity
Restricted stock unit (“RSU”) activity under our equity incentive plan was as follows:
UnitsWeighted Average Grant Date Fair Value
RSUs at December 31, 20222,227,081 $35.28 
Awards granted79,020 25.51 
Awards vested(30,751)34.87 
Awards forfeited(82,523)35.16 
RSUs at April 1, 20232,192,827 34.94 
Schedule of ESPP Activity
Information related to activity under our Employee Stock Purchase Plan (“ESPP”) was as follows:
 Three Months Ended
 April 1, 2023
Shares issued210,055 
Weighted average per share purchase price$23.92 
Weighted average per share discount from the fair value of our common stock on the date of issuance$(4.22)
Schedule of Stock-based Compensation
Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Cost of revenues$1,910 $1,078 
Research and development2,372 1,986 
Selling, general and administrative5,008 4,456 
Total stock-based compensation$9,290 $7,520 
Schedule of Unrecognized Stock-based Compensation
At April 1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands): 
Unrecognized ExpenseAverage Expected
Recognition Period
in Years
Restricted stock units$39,761 1.98
Performance restricted stock units9,486 1.86
Employee stock purchase plan985 0.33
Total unrecognized stock-based compensation expense$50,232 1.93
XML 42 R33.htm IDEA: XBRL DOCUMENT v3.23.1
Net Income per Share (Tables)
3 Months Ended
Apr. 01, 2023
Earnings Per Share [Abstract]  
Schedule of Calculation of Numerator and Denominator in Earnings Per Share
The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Weighted-average shares used in computing basic net income per share77,066 78,246 
Add potentially dilutive securities189 1,222 
Weighted-average shares used in computing diluted net income per share77,255 79,468 
Securities not included as they would have been antidilutive1,121 — 
XML 43 R34.htm IDEA: XBRL DOCUMENT v3.23.1
Leases (Tables)
3 Months Ended
Apr. 01, 2023
Leases [Abstract]  
Schedule of Components of Lease Expense The components of lease expense were as follows (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Lease expense:
Operating lease expense$1,952 $2,221 
Short-term lease expense157 40 
Variable lease expense746 458 
$2,855 $2,719 
Schedule of Future Minimum Payments Under Leases
Future minimum payments under our non-cancelable operating leases were as follows as of April 1, 2023 (in thousands):
Fiscal YearAmount
Remainder of 2023$6,190 
20248,106 
20258,018 
20266,641 
20275,756 
Thereafter3,431 
  Total minimum lease payments38,142 
Less: interest(4,223)
  Present value of net minimum lease payments33,919 
Less: current portion(7,512)
  Total long-term operating lease liabilities$26,407 
XML 44 R35.htm IDEA: XBRL DOCUMENT v3.23.1
Operating Segments and Enterprise-Wide Information (Tables)
3 Months Ended
Apr. 01, 2023
Segment Reporting [Abstract]  
Schedule of Operating Results by Segment The following table summarizes the operating results by reportable segment (dollars in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Probe CardsSystemsCorporate and OtherTotalProbe CardsSystemsCorporate and OtherTotal
Revenues$127,328 $40,120 $— $167,448 $159,983 $37,191 $— $197,174 
Gross profit 43,623 20,746 (3,291)61,078 77,202 19,407 (2,385)94,224 
Gross margin34.3 %51.7 %36.5 %48.3 %52.2 %47.8 %
Schedule of Disaggregation of Revenue by Segment Certain revenue category information by reportable segment was as follows (in thousands):
Three Months Ended
April 1, 2023March 26, 2022
Probe CardsSystemsTotalProbe CardsSystemsTotal
Market:
Foundry & Logic$101,562 $— $101,562 $114,121 $— $114,121 
DRAM19,890 — 19,890 34,437 — 34,437 
Flash5,876 — 5,876 11,425 — 11,425 
Systems— 40,120 40,120 — 37,191 37,191 
Total$127,328 $40,120 $167,448 $159,983 $37,191 $197,174 
Timing of revenue recognition:
Products transferred at a point in time$126,678 $36,710 $163,388 $158,836 $35,416 $194,252 
Products and services transferred over time650 3,410 4,060 1,147 1,775 2,922 
Total$127,328 $40,120 $167,448 $159,983 $37,191 $197,174 
Geographical region:
Taiwan$38,897 $1,432 $40,329 $42,522 $10,547 $53,069 
United States24,641 13,090 37,731 19,976 5,671 25,647 
China18,476 8,623 27,099 32,791 5,608 38,399 
South Korea19,572 1,203 20,775 24,881 2,620 27,501 
Malaysia10,324 946 11,270 21,517 682 22,199 
Japan7,136 3,841 10,977 4,785 4,597 9,382 
Europe3,426 6,000 9,426 2,382 6,013 8,395 
Singapore3,200 2,140 5,340 10,284 612 10,896 
Rest of the world1,656 2,845 4,501 845 841 1,686 
Total$127,328 $40,120 $167,448 $159,983 $37,191 $197,174 
XML 45 R36.htm IDEA: XBRL DOCUMENT v3.23.1
Basis of Presentation and Significant Accounting Policies (Details) - USD ($)
$ in Thousands
1 Months Ended
Jan. 31, 2023
Apr. 01, 2023
Dec. 31, 2022
Organization, Consolidation and Presentation of Financial Statements [Abstract]      
Cash received from grant $ 18,000 $ 18,000 $ 0
Grant term 5 years    
XML 46 R37.htm IDEA: XBRL DOCUMENT v3.23.1
Concentration of Credit and Other Risks (Details) - Customer Concentration Risk
3 Months Ended 12 Months Ended
Apr. 01, 2023
Mar. 26, 2022
Dec. 31, 2022
Revenue Benchmark | Two Major Customers      
Concentration Risk [Line Items]      
Concentration risk percentage 10.00% 10.00%  
Revenue from Contract with Customer Benchmark | Intel Corporation      
Concentration Risk [Line Items]      
Concentration risk percentage 20.00% 20.80%  
Revenue from Contract with Customer Benchmark | Taiwan Semiconductor Manufacturing Co., LTD.      
Concentration Risk [Line Items]      
Concentration risk percentage   10.70%  
Revenue from Contract with Customer Benchmark | Customers Representing 10% or More of Total Revenues      
Concentration Risk [Line Items]      
Concentration risk percentage 20.00% 31.50%  
Accounts Receivable | Major Customer 1      
Concentration Risk [Line Items]      
Concentration risk percentage 17.90%   13.80%
Accounts Receivable | Major Customer 2      
Concentration Risk [Line Items]      
Concentration risk percentage 15.90%    
XML 47 R38.htm IDEA: XBRL DOCUMENT v3.23.1
Inventories, net (Details) - USD ($)
$ in Thousands
Apr. 01, 2023
Dec. 31, 2022
Inventory Disclosure [Abstract]    
Raw materials $ 57,748 $ 55,726
Work-in-progress 39,376 46,067
Finished goods 19,429 21,364
Inventories $ 116,553 $ 123,157
XML 48 R39.htm IDEA: XBRL DOCUMENT v3.23.1
Goodwill and Intangible Assets - Goodwill (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Apr. 01, 2023
Jun. 25, 2022
Goodwill [Roll Forward]    
Goodwill, beginning balance $ 211,444 $ 212,299
Foreign currency translation 329 (1,405)
Goodwill, ending balance 211,773  
Woburn    
Goodwill [Roll Forward]    
Goodwill, acquired during period   550
Probe Cards    
Goodwill [Roll Forward]    
Goodwill, beginning balance 178,424 178,424
Foreign currency translation 0 0
Goodwill, ending balance 178,424  
Probe Cards | Woburn    
Goodwill [Roll Forward]    
Goodwill, acquired during period   0
Systems    
Goodwill [Roll Forward]    
Goodwill, beginning balance 33,020 33,875
Foreign currency translation 329 (1,405)
Goodwill, ending balance $ 33,349  
Systems | Woburn    
Goodwill [Roll Forward]    
Goodwill, acquired during period   $ 550
XML 49 R40.htm IDEA: XBRL DOCUMENT v3.23.1
Goodwill and Intangible Assets - Additional information (Details)
3 Months Ended
Apr. 01, 2023
USD ($)
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill, impairment loss $ 0
XML 50 R41.htm IDEA: XBRL DOCUMENT v3.23.1
Goodwill and Intangible Assets - Intangible Assets (Details) - USD ($)
$ in Thousands
Apr. 01, 2023
Dec. 31, 2022
Finite-Lived Intangible Assets [Line Items]    
Gross $ 231,138 $ 230,725
Accumulated Amortization 206,652 203,974
Net 24,486 26,751
Existing developed technologies    
Finite-Lived Intangible Assets [Line Items]    
Gross 171,750 171,441
Accumulated Amortization 152,260 151,212
Net 19,490 20,229
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Gross 50,996 50,912
Accumulated Amortization 46,559 45,003
Net 4,437 5,909
Trade name    
Finite-Lived Intangible Assets [Line Items]    
Gross 7,992 7,972
Accumulated Amortization 7,833 7,759
Net 159 213
In-process research and development    
Finite-Lived Intangible Assets [Line Items]    
Gross 400 400
Accumulated Amortization 0 0
Net $ 400 $ 400
XML 51 R42.htm IDEA: XBRL DOCUMENT v3.23.1
Goodwill and Intangible Assets - Amortization Expense (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 01, 2023
Mar. 26, 2022
Property, Plant and Equipment [Line Items]    
Amortization of intangible assets $ 2,378 $ 2,369
Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract]    
Remainder of 2023 4,813  
2024 4,611  
2025 4,268  
2026 3,175  
2027 2,832  
Thereafter 4,387  
Net 24,086  
Cost of revenues    
Property, Plant and Equipment [Line Items]    
Amortization of intangible assets 831 808
Selling, general and administrative    
Property, Plant and Equipment [Line Items]    
Amortization of intangible assets $ 1,547 $ 1,561
XML 52 R43.htm IDEA: XBRL DOCUMENT v3.23.1
Accrued Liabilities (Details) - USD ($)
$ in Thousands
Apr. 01, 2023
Dec. 31, 2022
Payables and Accruals [Abstract]    
Accrued compensation and benefits $ 20,028 $ 15,864
Accrued income and other taxes 3,241 12,817
Accrued warranty 3,872 4,199
Employee stock purchase plan contributions withheld 1,533 4,585
Accrued restructuring charges 376 1,249
Other accrued expenses 2,931 3,401
Accrued liabilities $ 31,981 $ 42,115
XML 53 R44.htm IDEA: XBRL DOCUMENT v3.23.1
Restructuring Charges - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 5 Months Ended 18 Months Ended
Oct. 25, 2022
Apr. 01, 2023
Mar. 26, 2022
Apr. 01, 2023
Apr. 01, 2023
Restructuring Cost and Reserve [Line Items]          
Restructuring charges   $ 1,217 $ 313    
Stock-based Compensation          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges   295      
Employee Severance and Benefits          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges   842      
Inventory Impairments & Other Inventory Related Costs          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges   80      
Probe Cards          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges   1,134 42    
Systems          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges   $ 83 $ 271    
2022 Restructuring Plan          
Restructuring Cost and Reserve [Line Items]          
Percent of workforce eliminated 13.00%        
Restructuring charges       $ 8,100  
2022 Restructuring Plan | Stock-based Compensation          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges       300  
2022 Restructuring Plan | Corporate, Non-Segment          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges       500  
2022 Restructuring Plan | Probe Cards          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges       7,100  
2022 Restructuring Plan | Systems          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges       $ 500  
2021 Restructuring Plan          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges         $ 12,700
2021 Restructuring Plan | Employee Severance and Benefits          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges         1,300
2021 Restructuring Plan | Contract Termination & Other Costs          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges         1,800
2021 Restructuring Plan | Inventory Impairments & Other Inventory Related Costs          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges         9,100
2021 Restructuring Plan | Other Costs          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges         500
2021 Restructuring Plan | Probe Cards          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges         9,900
2021 Restructuring Plan | Systems          
Restructuring Cost and Reserve [Line Items]          
Restructuring charges         $ 2,800
XML 54 R45.htm IDEA: XBRL DOCUMENT v3.23.1
Restructuring Charges - Restructuring Charges (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 01, 2023
Mar. 26, 2022
Restructuring Cost and Reserve [Line Items]    
Restructuring charges $ 1,217 $ 313
Cost of revenues    
Restructuring Cost and Reserve [Line Items]    
Restructuring charges 25 139
Research and development    
Restructuring Cost and Reserve [Line Items]    
Restructuring charges 70 146
Selling, general and administrative    
Restructuring Cost and Reserve [Line Items]    
Restructuring charges 1,122 28
Probe Cards    
Restructuring Cost and Reserve [Line Items]    
Restructuring charges 1,134 42
Probe Cards | Cost of revenues    
Restructuring Cost and Reserve [Line Items]    
Restructuring charges 70 39
Probe Cards | Research and development    
Restructuring Cost and Reserve [Line Items]    
Restructuring charges 4 0
Probe Cards | Selling, general and administrative    
Restructuring Cost and Reserve [Line Items]    
Restructuring charges 1,060 3
Systems    
Restructuring Cost and Reserve [Line Items]    
Restructuring charges 83 271
Systems | Cost of revenues    
Restructuring Cost and Reserve [Line Items]    
Restructuring charges (45) 100
Systems | Research and development    
Restructuring Cost and Reserve [Line Items]    
Restructuring charges 66 146
Systems | Selling, general and administrative    
Restructuring Cost and Reserve [Line Items]    
Restructuring charges $ 62 $ 25
XML 55 R46.htm IDEA: XBRL DOCUMENT v3.23.1
Restructuring Charges - Changes to the Restructuring Accrual (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 01, 2023
Mar. 26, 2022
Restructuring Reserve [Roll Forward]    
Accrual at beginning of period $ 1,249  
Restructuring charges 1,217 $ 313
Cash payments (1,778)  
Non-cash settlement (312)  
Accrual at end of period 376  
Employee Severance and Benefits    
Restructuring Reserve [Roll Forward]    
Accrual at beginning of period 1,249  
Restructuring charges 842  
Cash payments (1,715)  
Non-cash settlement 0  
Accrual at end of period 376  
Stock-based Compensation    
Restructuring Reserve [Roll Forward]    
Accrual at beginning of period 0  
Restructuring charges 295  
Cash payments 0  
Non-cash settlement (295)  
Accrual at end of period 0  
Inventory Impairments & Other Inventory Related Costs    
Restructuring Reserve [Roll Forward]    
Accrual at beginning of period 0  
Restructuring charges 80  
Cash payments (63)  
Non-cash settlement (17)  
Accrual at end of period $ 0  
XML 56 R47.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details) - USD ($)
$ in Thousands
Apr. 01, 2023
Dec. 31, 2022
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents $ 49,252 $ 27,244
Marketable securities 123,891 129,006
Total assets 176,890 160,231
Total liabilities (2) (193)
Foreign exchange derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 763 664
Derivative liability   (193)
Promissory note receivable | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 943 943
Interest rate swap derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 2,041 2,374
Derivative liability (2)  
Money market funds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 44,777 21,279
Commercial paper    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 4,475 4,969
Marketable securities 31,315  
Commercial paper | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities   24,840
Corporate bonds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 53,899 67,396
U.S. treasuries    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 25,144 25,019
Certificates of deposit    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 471 706
U.S. agency securities    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents   996
Marketable securities 13,062 11,045
Level 1    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 44,777 21,279
Marketable securities 25,144 25,019
Total assets 69,921 46,298
Total liabilities 0 0
Level 1 | Foreign exchange derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 0 0
Derivative liability   0
Level 1 | Promissory note receivable | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 0 0
Level 1 | Interest rate swap derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 0 0
Derivative liability 0  
Level 1 | Money market funds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 44,777 21,279
Level 1 | Commercial paper    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 0 0
Marketable securities 0  
Level 1 | Commercial paper | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities   0
Level 1 | Corporate bonds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 0 0
Level 1 | U.S. treasuries    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 25,144 25,019
Level 1 | Certificates of deposit    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 0 0
Level 1 | U.S. agency securities    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents   0
Marketable securities 0 0
Level 2    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 4,475 5,965
Marketable securities 98,747 103,987
Total assets 106,026 112,990
Total liabilities (2) (193)
Level 2 | Foreign exchange derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 763 664
Derivative liability   (193)
Level 2 | Promissory note receivable | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 0 0
Level 2 | Interest rate swap derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 2,041 2,374
Derivative liability (2)  
Level 2 | Money market funds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 0 0
Level 2 | Commercial paper    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 4,475 4,969
Marketable securities 31,315  
Level 2 | Commercial paper | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities   24,840
Level 2 | Corporate bonds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 53,899 67,396
Level 2 | U.S. treasuries    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 0 0
Level 2 | Certificates of deposit    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 471 706
Level 2 | U.S. agency securities    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents   996
Marketable securities 13,062 11,045
Level 3    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 0 0
Marketable securities 0 0
Total assets 943 943
Total liabilities 0 0
Level 3 | Foreign exchange derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 0 0
Derivative liability   0
Level 3 | Promissory note receivable | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 943 943
Level 3 | Interest rate swap derivative contracts | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Derivative contracts 0 0
Derivative liability 0  
Level 3 | Money market funds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 0 0
Level 3 | Commercial paper    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents 0 0
Marketable securities 0  
Level 3 | Commercial paper | Designated as hedging instrument    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities   0
Level 3 | Corporate bonds    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 0 0
Level 3 | U.S. treasuries    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 0 0
Level 3 | Certificates of deposit    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Marketable securities 0 0
Level 3 | U.S. agency securities    
Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]    
Cash equivalents   0
Marketable securities $ 0 $ 0
XML 57 R48.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details) - Apr. 01, 2023 - Foreign Exchange Forward
€ in Thousands, ₩ in Thousands, ¥ in Thousands, $ in Thousands, $ in Thousands
EUR (€)
USD ($)
JPY (¥)
KRW (₩)
TWD ($)
Buy | Euro Dollar          
Derivative [Line Items]          
Derivative, notional amount € 23,004 $ 24,250      
Buy | Korean Won          
Derivative [Line Items]          
Derivative, notional amount   1,355   ₩ 1,751,490  
Sell | Euro Dollar          
Derivative [Line Items]          
Derivative, notional amount € 2,356 2,472      
Sell | Japanese Yen          
Derivative [Line Items]          
Derivative, notional amount   24,377 ¥ 3,227,282    
Sell | Taiwan Dollar          
Derivative [Line Items]          
Derivative, notional amount   $ 1,435     $ 43,413
XML 58 R49.htm IDEA: XBRL DOCUMENT v3.23.1
Fair Value and Derivative Instruments - Additional Information (Details) - USD ($)
Apr. 01, 2023
Dec. 31, 2022
Mar. 26, 2022
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Assets measured at fair value on non-recurring basis $ 176,890,000 $ 160,231,000  
Liabilities measured at fair value on non-recurring basis 2,000 $ 193,000  
Nonrecurring      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Assets measured at fair value on non-recurring basis 0   $ 0
Liabilities measured at fair value on non-recurring basis $ 0   $ 0
XML 59 R50.htm IDEA: XBRL DOCUMENT v3.23.1
Warranty (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 01, 2023
Mar. 26, 2022
Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]    
Balance at beginning of period $ 4,199 $ 2,805
Accruals 1,390 1,214
Settlements (1,717) (1,244)
Balance at end of period $ 3,872 $ 2,775
XML 60 R51.htm IDEA: XBRL DOCUMENT v3.23.1
Property, Plant, and Equipment, net (Details) - USD ($)
$ in Thousands
Apr. 01, 2023
Dec. 31, 2022
Property, Plant and Equipment [Line Items]    
Sub-total $ 483,883 $ 478,101
Less: Accumulated depreciation and amortization (342,763) (335,711)
Net, property, plant and equipment 141,120 142,390
Construction-in-process 57,112 47,458
Total 198,232 189,848
Land    
Property, Plant and Equipment [Line Items]    
Sub-total 17,136 17,136
Building and building improvements    
Property, Plant and Equipment [Line Items]    
Sub-total 44,444 44,932
Machinery and equipment    
Property, Plant and Equipment [Line Items]    
Sub-total 280,936 276,180
Computer equipment and software    
Property, Plant and Equipment [Line Items]    
Sub-total 46,568 45,813
Furniture and fixtures    
Property, Plant and Equipment [Line Items]    
Sub-total 7,481 7,540
Leasehold improvements    
Property, Plant and Equipment [Line Items]    
Sub-total $ 87,318 $ 86,500
XML 61 R52.htm IDEA: XBRL DOCUMENT v3.23.1
Stockholders’ Equity and Stock-Based Compensation - Additional Information (Details) - USD ($)
3 Months Ended
Apr. 01, 2023
Mar. 26, 2022
May 20, 2022
Oct. 26, 2020
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Purchase of common stock value retired through repurchase program   $ 9,397,000    
Common Stock | October 2020 Stock Repurchase Program        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock repurchase program authorized amount       $ 50,000,000
Purchase of common stock retired through repurchase program (in shares)   240,548    
Purchase of common stock value retired through repurchase program   $ 9,400,000    
Common Stock | May 2022 Stock Repurchase Program        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Stock repurchase program authorized amount     $ 75,000,000  
Purchase of common stock retired through repurchase program (in shares) 0      
Amount remaining for future repurchases $ 18,600,000      
XML 62 R53.htm IDEA: XBRL DOCUMENT v3.23.1
Stockholders’ Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details) - Equity Incentive Plan - Restricted Stock Units
3 Months Ended
Apr. 01, 2023
$ / shares
shares
Units  
Beginning balance (in shares) | shares 2,227,081
Awards granted (in shares) | shares 79,020
Awards vested (in shares) | shares (30,751)
Awards canceled (in shares) | shares (82,523)
Ending balance (in shares) | shares 2,192,827
Weighted Average Grant Date Fair Value  
Beginning balance (in dollars per share) | $ / shares $ 35.28
Awards granted (in dollars per share) | $ / shares 25.51
Awards vested (in dollars per share) | $ / shares 34.87
Awards canceled (in dollars per share) | $ / shares 35.16
Ending balance (in dollars per share) | $ / shares $ 34.94
XML 63 R54.htm IDEA: XBRL DOCUMENT v3.23.1
Stockholders’ Equity and Stock-Based Compensation - ESPP Activity (Details) - Employee stock purchase plan
3 Months Ended
Apr. 01, 2023
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Shares issued (in shares) | shares 210,055
Weighted average per share purchase price (in dollars per share) $ 23.92
Weighted average per share discount from the fair value of our common stock on the date of issuance (in dollars per share) $ (4.22)
XML 64 R55.htm IDEA: XBRL DOCUMENT v3.23.1
Stockholders’ Equity and Stock-Based Compensation - Stock-Based Compensation (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 01, 2023
Mar. 26, 2022
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Total stock-based compensation $ 9,290 $ 7,520
Cost of revenues    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Total stock-based compensation 1,910 1,078
Research and development    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Total stock-based compensation 2,372 1,986
Selling, general and administrative    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Total stock-based compensation $ 5,008 $ 4,456
XML 65 R56.htm IDEA: XBRL DOCUMENT v3.23.1
Stockholders’ Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details)
$ in Thousands
3 Months Ended
Apr. 01, 2023
USD ($)
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Unrecognized Expense $ 50,232
Average Expected Recognition Period in Years 1 year 11 months 4 days
Restricted stock units  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Unrecognized Expense $ 39,761
Average Expected Recognition Period in Years 1 year 11 months 23 days
Performance restricted stock units  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Unrecognized Expense $ 9,486
Average Expected Recognition Period in Years 1 year 10 months 9 days
Employee stock purchase plan  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Unrecognized Expense $ 985
Average Expected Recognition Period in Years 3 months 29 days
XML 66 R57.htm IDEA: XBRL DOCUMENT v3.23.1
Net Income per Share (Details) - shares
shares in Thousands
3 Months Ended
Apr. 01, 2023
Mar. 26, 2022
Earnings Per Share [Abstract]    
Weighted-average shares used in computing basic net income per share (in shares) 77,066 78,246
Add potentially dilutive securities (in shares) 189 1,222
Weighted-average shares used in computing diluted net income per share (in shares) 77,255 79,468
Securities not included as they would have been antidilutive (in shares) 1,121 0
XML 67 R58.htm IDEA: XBRL DOCUMENT v3.23.1
Leases - Narrative (Details)
Apr. 01, 2023
Lessee, Lease, Description [Line Items]  
Operating lease, renewal term 20 years
Operating lease, weighted average remaining lease term 5 years
Operating lease, weighted average discount rate 3.92%
Minimum  
Lessee, Lease, Description [Line Items]  
Operating lease, term of contract 1 year
Maximum  
Lessee, Lease, Description [Line Items]  
Operating lease, term of contract 6 years
Automobiles  
Lessee, Lease, Description [Line Items]  
Operating lease, term of contract 1 year
XML 68 R59.htm IDEA: XBRL DOCUMENT v3.23.1
Leases - Components of Lease Expense (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 01, 2023
Mar. 26, 2022
Leases [Abstract]    
Operating lease expense $ 1,952 $ 2,221
Short-term lease expense 157 40
Variable lease expense 746 458
Total lease expense $ 2,855 $ 2,719
XML 69 R60.htm IDEA: XBRL DOCUMENT v3.23.1
Leases - Schedule of Future Minimum Payments Under Leases (Details) - USD ($)
$ in Thousands
Apr. 01, 2023
Dec. 31, 2022
Leases [Abstract]    
Remainder of 2023 $ 6,190  
2024 8,106  
2025 8,018  
2026 6,641  
2027 5,756  
Thereafter 3,431  
Total minimum lease payments 38,142  
Less: interest (4,223)  
Present value of net minimum lease payments 33,919  
Less: current portion (7,512) $ (7,353)
Total long-term operating lease liabilities $ 26,407 $ 27,587
XML 70 R61.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue - Additional Information (Details) - USD ($)
$ in Millions
3 Months Ended
Apr. 01, 2023
Dec. 31, 2022
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Performance obligations $ 9.8  
Contract assets 2.9 $ 1.9
Contract with customer, liability 24.9 $ 30.9
Revenue recognized included in contracts $ 14.0  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-04-02    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenue, remaining performance obligation, percentage 67.60%  
Revenue, remaining performance obligation, expected timing of satisfaction, period 9 years  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-12-31    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenue, remaining performance obligation, percentage 26.80%  
Revenue, remaining performance obligation, expected timing of satisfaction, period 1 year  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-12-29    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenue, remaining performance obligation, percentage 5.60%  
Revenue, remaining performance obligation, expected timing of satisfaction, period  
XML 71 R62.htm IDEA: XBRL DOCUMENT v3.23.1
Operating Segments and Enterprise-Wide Information - Additional Information (Details)
3 Months Ended
Apr. 01, 2023
segment
Segment Reporting [Abstract]  
Number of reportable segments 2
XML 72 R63.htm IDEA: XBRL DOCUMENT v3.23.1
Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 01, 2023
Mar. 26, 2022
Segment Reporting Information [Line Items]    
Revenues $ 167,448 $ 197,174
Gross profit $ 61,078 $ 94,224
Gross margin 36.50% 47.80%
Probe Cards    
Segment Reporting Information [Line Items]    
Revenues $ 127,328 $ 159,983
Systems    
Segment Reporting Information [Line Items]    
Revenues 40,120 37,191
Operating segments | Probe Cards    
Segment Reporting Information [Line Items]    
Revenues 127,328 159,983
Gross profit $ 43,623 $ 77,202
Gross margin 34.30% 48.30%
Operating segments | Systems    
Segment Reporting Information [Line Items]    
Revenues $ 40,120 $ 37,191
Gross profit $ 20,746 $ 19,407
Gross margin 51.70% 52.20%
Operating segments | Corporate and Other    
Segment Reporting Information [Line Items]    
Revenues $ 0 $ 0
Gross profit $ (3,291) $ (2,385)
Gross margin
XML 73 R64.htm IDEA: XBRL DOCUMENT v3.23.1
Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details) - USD ($)
$ in Thousands
3 Months Ended
Apr. 01, 2023
Mar. 26, 2022
Disaggregation of Revenue [Line Items]    
Revenues $ 167,448 $ 197,174
Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 127,328 159,983
Systems    
Disaggregation of Revenue [Line Items]    
Revenues 40,120 37,191
Taiwan    
Disaggregation of Revenue [Line Items]    
Revenues 40,329 53,069
Taiwan | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 38,897 42,522
Taiwan | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 1,432 10,547
United States    
Disaggregation of Revenue [Line Items]    
Revenues 37,731 25,647
United States | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 24,641 19,976
United States | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 13,090 5,671
China    
Disaggregation of Revenue [Line Items]    
Revenues 27,099 38,399
China | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 18,476 32,791
China | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 8,623 5,608
South Korea    
Disaggregation of Revenue [Line Items]    
Revenues 20,775 27,501
South Korea | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 19,572 24,881
South Korea | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 1,203 2,620
Malaysia    
Disaggregation of Revenue [Line Items]    
Revenues 11,270 22,199
Malaysia | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 10,324 21,517
Malaysia | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 946 682
Japan    
Disaggregation of Revenue [Line Items]    
Revenues 10,977 9,382
Japan | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 7,136 4,785
Japan | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 3,841 4,597
Europe    
Disaggregation of Revenue [Line Items]    
Revenues 9,426 8,395
Europe | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 3,426 2,382
Europe | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 6,000 6,013
Singapore    
Disaggregation of Revenue [Line Items]    
Revenues 5,340 10,896
Singapore | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 3,200 10,284
Singapore | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 2,140 612
Rest of the world    
Disaggregation of Revenue [Line Items]    
Revenues 4,501 1,686
Rest of the world | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 1,656 845
Rest of the world | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 2,845 841
Products transferred at a point in time    
Disaggregation of Revenue [Line Items]    
Revenues 163,388 194,252
Products transferred at a point in time | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 126,678 158,836
Products transferred at a point in time | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 36,710 35,416
Products and services transferred over time    
Disaggregation of Revenue [Line Items]    
Revenues 4,060 2,922
Products and services transferred over time | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 650 1,147
Products and services transferred over time | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 3,410 1,775
Foundry & Logic    
Disaggregation of Revenue [Line Items]    
Revenues 101,562 114,121
Foundry & Logic | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 101,562 114,121
Foundry & Logic | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 0 0
DRAM    
Disaggregation of Revenue [Line Items]    
Revenues 19,890 34,437
DRAM | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 19,890 34,437
DRAM | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 0 0
Flash    
Disaggregation of Revenue [Line Items]    
Revenues 5,876 11,425
Flash | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 5,876 11,425
Flash | Systems    
Disaggregation of Revenue [Line Items]    
Revenues 0 0
Systems    
Disaggregation of Revenue [Line Items]    
Revenues 40,120 37,191
Systems | Probe Cards    
Disaggregation of Revenue [Line Items]    
Revenues 0 0
Systems | Systems    
Disaggregation of Revenue [Line Items]    
Revenues $ 40,120 $ 37,191
XML 74 form-20230401_htm.xml IDEA: XBRL DOCUMENT 0001039399 2023-01-01 2023-04-01 0001039399 2023-05-03 0001039399 2023-04-01 0001039399 2022-12-31 0001039399 2021-12-26 2022-03-26 0001039399 us-gaap:CommonStockMember 2022-12-31 0001039399 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001039399 us-gaap:RetainedEarningsMember 2022-12-31 0001039399 us-gaap:CommonStockMember 2023-01-01 2023-04-01 0001039399 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-04-01 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-04-01 0001039399 us-gaap:RetainedEarningsMember 2023-01-01 2023-04-01 0001039399 us-gaap:CommonStockMember 2023-04-01 0001039399 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-04-01 0001039399 us-gaap:RetainedEarningsMember 2023-04-01 0001039399 us-gaap:CommonStockMember 2021-12-25 0001039399 us-gaap:AdditionalPaidInCapitalMember 2021-12-25 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-25 0001039399 us-gaap:RetainedEarningsMember 2021-12-25 0001039399 2021-12-25 0001039399 us-gaap:CommonStockMember 2021-12-26 2022-03-26 0001039399 us-gaap:AdditionalPaidInCapitalMember 2021-12-26 2022-03-26 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-26 2022-03-26 0001039399 us-gaap:RetainedEarningsMember 2021-12-26 2022-03-26 0001039399 us-gaap:CommonStockMember 2022-03-26 0001039399 us-gaap:AdditionalPaidInCapitalMember 2022-03-26 0001039399 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-03-26 0001039399 us-gaap:RetainedEarningsMember 2022-03-26 0001039399 2022-03-26 0001039399 2021-12-26 2022-12-31 0001039399 2023-01-31 0001039399 2023-01-01 2023-01-31 0001039399 form:TwoMajorCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2021-12-26 2022-03-26 0001039399 form:TwoMajorCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-04-01 0001039399 form:IntelMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-04-01 0001039399 form:IntelMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-12-26 2022-03-26 0001039399 form:TaiwanSemiconductorManufacturingCoLTDMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-12-26 2022-03-26 0001039399 form:CustomersRepresenting10OrMoreOfTotalRevenuesMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-04-01 0001039399 form:CustomersRepresenting10OrMoreOfTotalRevenuesMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-12-26 2022-03-26 0001039399 form:MajorCustomer1Member us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-04-01 0001039399 form:MajorCustomer2Member us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-04-01 0001039399 form:MajorCustomer1Member us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-12-26 2022-12-31 0001039399 form:ProbeCardsSegmentMember 2021-12-25 0001039399 form:SystemsSegmentMember 2021-12-25 0001039399 form:WoburnMember form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 form:WoburnMember form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 form:WoburnMember 2021-12-26 2022-06-25 0001039399 form:ProbeCardsSegmentMember 2021-12-26 2022-06-25 0001039399 form:SystemsSegmentMember 2021-12-26 2022-06-25 0001039399 2021-12-26 2022-06-25 0001039399 form:ProbeCardsSegmentMember 2022-12-31 0001039399 form:SystemsSegmentMember 2022-12-31 0001039399 form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 form:ProbeCardsSegmentMember 2023-04-01 0001039399 form:SystemsSegmentMember 2023-04-01 0001039399 form:ExistingDevelopedTechnologiesMember 2023-04-01 0001039399 form:ExistingDevelopedTechnologiesMember 2022-12-31 0001039399 us-gaap:CustomerRelationshipsMember 2023-04-01 0001039399 us-gaap:CustomerRelationshipsMember 2022-12-31 0001039399 us-gaap:TradeNamesMember 2023-04-01 0001039399 us-gaap:TradeNamesMember 2022-12-31 0001039399 us-gaap:InProcessResearchAndDevelopmentMember 2023-04-01 0001039399 us-gaap:InProcessResearchAndDevelopmentMember 2022-12-31 0001039399 us-gaap:CostOfSalesMember 2023-01-01 2023-04-01 0001039399 us-gaap:CostOfSalesMember 2021-12-26 2022-03-26 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2023-01-01 2023-04-01 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-12-26 2022-03-26 0001039399 form:A2022RestructuringPlanMember 2022-10-25 2022-10-25 0001039399 form:A2022RestructuringPlanMember 2022-10-25 2023-04-01 0001039399 form:StockBasedCompensationMember form:A2022RestructuringPlanMember 2022-10-25 2023-04-01 0001039399 form:A2022RestructuringPlanMember form:ProbeCardsSegmentMember 2022-10-25 2023-04-01 0001039399 form:A2022RestructuringPlanMember form:SystemsSegmentMember 2022-10-25 2023-04-01 0001039399 us-gaap:CorporateNonSegmentMember form:A2022RestructuringPlanMember 2022-10-25 2023-04-01 0001039399 form:A2021RestructuringPlanMember 2021-09-25 2023-04-01 0001039399 form:A2021RestructuringPlanMember form:ProbeCardsSegmentMember 2021-09-25 2023-04-01 0001039399 form:A2021RestructuringPlanMember form:SystemsSegmentMember 2021-09-25 2023-04-01 0001039399 us-gaap:EmployeeSeveranceMember form:A2021RestructuringPlanMember 2021-09-25 2023-04-01 0001039399 us-gaap:ContractTerminationMember form:A2021RestructuringPlanMember 2021-09-25 2023-04-01 0001039399 form:InventoryImpairmentsMember form:A2021RestructuringPlanMember 2021-09-25 2023-04-01 0001039399 us-gaap:OtherRestructuringMember form:A2021RestructuringPlanMember 2021-09-25 2023-04-01 0001039399 us-gaap:CostOfSalesMember form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 us-gaap:CostOfSalesMember form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 us-gaap:CostOfSalesMember form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 us-gaap:CostOfSalesMember form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-04-01 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 us-gaap:ResearchAndDevelopmentExpenseMember 2021-12-26 2022-03-26 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 us-gaap:SellingGeneralAndAdministrativeExpensesMember form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 us-gaap:EmployeeSeveranceMember 2022-12-31 0001039399 form:StockBasedCompensationMember 2022-12-31 0001039399 form:InventoryImpairmentsMember 2022-12-31 0001039399 us-gaap:EmployeeSeveranceMember 2023-01-01 2023-04-01 0001039399 form:StockBasedCompensationMember 2023-01-01 2023-04-01 0001039399 form:InventoryImpairmentsMember 2023-01-01 2023-04-01 0001039399 us-gaap:EmployeeSeveranceMember 2023-04-01 0001039399 form:StockBasedCompensationMember 2023-04-01 0001039399 form:InventoryImpairmentsMember 2023-04-01 0001039399 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2023-04-01 0001039399 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member 2023-04-01 0001039399 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member 2023-04-01 0001039399 us-gaap:MoneyMarketFundsMember 2023-04-01 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel1Member 2023-04-01 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel2Member 2023-04-01 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel3Member 2023-04-01 0001039399 us-gaap:CommercialPaperMember 2023-04-01 0001039399 us-gaap:FairValueInputsLevel1Member 2023-04-01 0001039399 us-gaap:FairValueInputsLevel2Member 2023-04-01 0001039399 us-gaap:FairValueInputsLevel3Member 2023-04-01 0001039399 us-gaap:USTreasuryBillSecuritiesMember us-gaap:FairValueInputsLevel1Member 2023-04-01 0001039399 us-gaap:USTreasuryBillSecuritiesMember us-gaap:FairValueInputsLevel2Member 2023-04-01 0001039399 us-gaap:USTreasuryBillSecuritiesMember us-gaap:FairValueInputsLevel3Member 2023-04-01 0001039399 us-gaap:USTreasuryBillSecuritiesMember 2023-04-01 0001039399 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel1Member 2023-04-01 0001039399 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel2Member 2023-04-01 0001039399 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel3Member 2023-04-01 0001039399 us-gaap:CertificatesOfDepositMember 2023-04-01 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember us-gaap:FairValueInputsLevel1Member 2023-04-01 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember us-gaap:FairValueInputsLevel2Member 2023-04-01 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember us-gaap:FairValueInputsLevel3Member 2023-04-01 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-04-01 0001039399 us-gaap:CorporateBondSecuritiesMember us-gaap:FairValueInputsLevel1Member 2023-04-01 0001039399 us-gaap:CorporateBondSecuritiesMember us-gaap:FairValueInputsLevel2Member 2023-04-01 0001039399 us-gaap:CorporateBondSecuritiesMember us-gaap:FairValueInputsLevel3Member 2023-04-01 0001039399 us-gaap:CorporateBondSecuritiesMember 2023-04-01 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-04-01 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-04-01 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-04-01 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:DesignatedAsHedgingInstrumentMember 2023-04-01 0001039399 us-gaap:NotesReceivableMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-04-01 0001039399 us-gaap:NotesReceivableMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-04-01 0001039399 us-gaap:NotesReceivableMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-04-01 0001039399 us-gaap:NotesReceivableMember us-gaap:DesignatedAsHedgingInstrumentMember 2023-04-01 0001039399 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-04-01 0001039399 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-04-01 0001039399 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2023-04-01 0001039399 us-gaap:InterestRateSwapMember us-gaap:DesignatedAsHedgingInstrumentMember 2023-04-01 0001039399 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:MoneyMarketFundsMember 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:CommercialPaperMember 2022-12-31 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2022-12-31 0001039399 us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:USTreasuryBillSecuritiesMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:USTreasuryBillSecuritiesMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:USTreasuryBillSecuritiesMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:USTreasuryBillSecuritiesMember 2022-12-31 0001039399 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:CertificatesOfDepositMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:CertificatesOfDepositMember 2022-12-31 0001039399 us-gaap:CorporateBondSecuritiesMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001039399 us-gaap:CorporateBondSecuritiesMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001039399 us-gaap:CorporateBondSecuritiesMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001039399 us-gaap:CorporateBondSecuritiesMember 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:CommercialPaperMember us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:ForeignExchangeContractMember us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:NotesReceivableMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:NotesReceivableMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:NotesReceivableMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:NotesReceivableMember us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel1Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel3Member us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 us-gaap:InterestRateSwapMember us-gaap:DesignatedAsHedgingInstrumentMember 2022-12-31 0001039399 currency:EUR us-gaap:ForeignExchangeForwardMember us-gaap:LongMember 2023-04-01 0001039399 currency:EUR us-gaap:ForeignExchangeForwardMember us-gaap:ShortMember 2023-04-01 0001039399 currency:JPY us-gaap:ForeignExchangeForwardMember us-gaap:ShortMember 2023-04-01 0001039399 currency:KRW us-gaap:ForeignExchangeForwardMember us-gaap:LongMember 2023-04-01 0001039399 currency:TWD us-gaap:ForeignExchangeForwardMember us-gaap:ShortMember 2023-04-01 0001039399 us-gaap:FairValueMeasurementsNonrecurringMember 2022-03-26 0001039399 us-gaap:FairValueMeasurementsNonrecurringMember 2023-04-01 0001039399 us-gaap:LandMember 2023-04-01 0001039399 us-gaap:LandMember 2022-12-31 0001039399 us-gaap:BuildingAndBuildingImprovementsMember 2023-04-01 0001039399 us-gaap:BuildingAndBuildingImprovementsMember 2022-12-31 0001039399 us-gaap:EquipmentMember 2023-04-01 0001039399 us-gaap:EquipmentMember 2022-12-31 0001039399 us-gaap:ComputerEquipmentMember 2023-04-01 0001039399 us-gaap:ComputerEquipmentMember 2022-12-31 0001039399 us-gaap:FurnitureAndFixturesMember 2023-04-01 0001039399 us-gaap:FurnitureAndFixturesMember 2022-12-31 0001039399 us-gaap:LeaseholdImprovementsMember 2023-04-01 0001039399 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001039399 form:October2020StockRepurchaseProgramMember us-gaap:CommonStockMember 2020-10-26 0001039399 form:October2020StockRepurchaseProgramMember us-gaap:CommonStockMember 2021-12-26 2022-03-26 0001039399 form:May2022StockRepurchaseProgramMember us-gaap:CommonStockMember 2022-05-20 0001039399 form:May2022StockRepurchaseProgramMember us-gaap:CommonStockMember 2023-01-01 2023-04-01 0001039399 form:May2022StockRepurchaseProgramMember us-gaap:CommonStockMember 2023-04-01 0001039399 us-gaap:RestrictedStockUnitsRSUMember form:EquityIncentivePlanMember 2022-12-31 0001039399 us-gaap:RestrictedStockUnitsRSUMember form:EquityIncentivePlanMember 2023-01-01 2023-04-01 0001039399 us-gaap:RestrictedStockUnitsRSUMember form:EquityIncentivePlanMember 2023-04-01 0001039399 us-gaap:EmployeeStockMember 2023-01-01 2023-04-01 0001039399 us-gaap:EmployeeStockMember 2023-04-01 0001039399 us-gaap:RestrictedStockMember 2023-04-01 0001039399 us-gaap:RestrictedStockMember 2023-01-01 2023-04-01 0001039399 form:PerformanceRestrictedStockUnitsMember 2023-04-01 0001039399 form:PerformanceRestrictedStockUnitsMember 2023-01-01 2023-04-01 0001039399 srt:MinimumMember 2023-04-01 0001039399 srt:MaximumMember 2023-04-01 0001039399 us-gaap:AutomobilesMember 2023-04-01 0001039399 2023-04-02 2023-04-01 0001039399 2023-12-31 2023-04-01 0001039399 2024-12-29 2023-04-01 0001039399 us-gaap:OperatingSegmentsMember form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 us-gaap:OperatingSegmentsMember form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 us-gaap:OperatingSegmentsMember us-gaap:CorporateAndOtherMember 2023-01-01 2023-04-01 0001039399 us-gaap:OperatingSegmentsMember form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 us-gaap:OperatingSegmentsMember form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 us-gaap:OperatingSegmentsMember us-gaap:CorporateAndOtherMember 2021-12-26 2022-03-26 0001039399 form:FoundryLogicProductGroupMember form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 form:FoundryLogicProductGroupMember form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 form:FoundryLogicProductGroupMember 2023-01-01 2023-04-01 0001039399 form:FoundryLogicProductGroupMember form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 form:FoundryLogicProductGroupMember form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 form:FoundryLogicProductGroupMember 2021-12-26 2022-03-26 0001039399 form:DRAMProductGroupMember form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 form:DRAMProductGroupMember form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 form:DRAMProductGroupMember 2023-01-01 2023-04-01 0001039399 form:DRAMProductGroupMember form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 form:DRAMProductGroupMember form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 form:DRAMProductGroupMember 2021-12-26 2022-03-26 0001039399 form:FlashProductGroupMember form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 form:FlashProductGroupMember form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 form:FlashProductGroupMember 2023-01-01 2023-04-01 0001039399 form:FlashProductGroupMember form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 form:FlashProductGroupMember form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 form:FlashProductGroupMember 2021-12-26 2022-03-26 0001039399 form:SystemsProductGroupMember form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 form:SystemsProductGroupMember form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 form:SystemsProductGroupMember 2023-01-01 2023-04-01 0001039399 form:SystemsProductGroupMember form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 form:SystemsProductGroupMember form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 form:SystemsProductGroupMember 2021-12-26 2022-03-26 0001039399 form:ProbeCardsSegmentMember us-gaap:TransferredAtPointInTimeMember 2023-01-01 2023-04-01 0001039399 form:SystemsSegmentMember us-gaap:TransferredAtPointInTimeMember 2023-01-01 2023-04-01 0001039399 us-gaap:TransferredAtPointInTimeMember 2023-01-01 2023-04-01 0001039399 form:ProbeCardsSegmentMember us-gaap:TransferredAtPointInTimeMember 2021-12-26 2022-03-26 0001039399 form:SystemsSegmentMember us-gaap:TransferredAtPointInTimeMember 2021-12-26 2022-03-26 0001039399 us-gaap:TransferredAtPointInTimeMember 2021-12-26 2022-03-26 0001039399 form:ProbeCardsSegmentMember us-gaap:TransferredOverTimeMember 2023-01-01 2023-04-01 0001039399 form:SystemsSegmentMember us-gaap:TransferredOverTimeMember 2023-01-01 2023-04-01 0001039399 us-gaap:TransferredOverTimeMember 2023-01-01 2023-04-01 0001039399 form:ProbeCardsSegmentMember us-gaap:TransferredOverTimeMember 2021-12-26 2022-03-26 0001039399 form:SystemsSegmentMember us-gaap:TransferredOverTimeMember 2021-12-26 2022-03-26 0001039399 us-gaap:TransferredOverTimeMember 2021-12-26 2022-03-26 0001039399 country:TW form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 country:TW form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 country:TW 2023-01-01 2023-04-01 0001039399 country:TW form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 country:TW form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 country:TW 2021-12-26 2022-03-26 0001039399 country:US form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 country:US form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 country:US 2023-01-01 2023-04-01 0001039399 country:US form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 country:US form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 country:US 2021-12-26 2022-03-26 0001039399 country:CN form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 country:CN form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 country:CN 2023-01-01 2023-04-01 0001039399 country:CN form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 country:CN form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 country:CN 2021-12-26 2022-03-26 0001039399 country:KR form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 country:KR form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 country:KR 2023-01-01 2023-04-01 0001039399 country:KR form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 country:KR form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 country:KR 2021-12-26 2022-03-26 0001039399 country:MY form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 country:MY form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 country:MY 2023-01-01 2023-04-01 0001039399 country:MY form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 country:MY form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 country:MY 2021-12-26 2022-03-26 0001039399 country:JP form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 country:JP form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 country:JP 2023-01-01 2023-04-01 0001039399 country:JP form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 country:JP form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 country:JP 2021-12-26 2022-03-26 0001039399 srt:EuropeMember form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 srt:EuropeMember form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 srt:EuropeMember 2023-01-01 2023-04-01 0001039399 srt:EuropeMember form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 srt:EuropeMember form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 srt:EuropeMember 2021-12-26 2022-03-26 0001039399 country:SG form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 country:SG form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 country:SG 2023-01-01 2023-04-01 0001039399 country:SG form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 country:SG form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 country:SG 2021-12-26 2022-03-26 0001039399 form:RestOfTheWorldMember form:ProbeCardsSegmentMember 2023-01-01 2023-04-01 0001039399 form:RestOfTheWorldMember form:SystemsSegmentMember 2023-01-01 2023-04-01 0001039399 form:RestOfTheWorldMember 2023-01-01 2023-04-01 0001039399 form:RestOfTheWorldMember form:ProbeCardsSegmentMember 2021-12-26 2022-03-26 0001039399 form:RestOfTheWorldMember form:SystemsSegmentMember 2021-12-26 2022-03-26 0001039399 form:RestOfTheWorldMember 2021-12-26 2022-03-26 shares iso4217:USD iso4217:USD shares pure iso4217:EUR iso4217:JPY iso4217:KRW iso4217:TWD form:segment false 0001039399 --12-30 2023 Q1 P9Y P1Y 10-Q true 2023-04-01 false 000-50307 FormFactor, Inc. DE 13-3711155 7005 Southfront Road Livermore CA 94551 925 290-4000 Common stock, $0.001 par value FORM NASDAQ Yes Yes Large Accelerated Filer false false false 77144094 112360000 109130000 123891000 129006000 169000 168000 103969000 88143000 116553000 123157000 1207000 1221000 22941000 23895000 480921000 474552000 2287000 2631000 30420000 31362000 198232000 189848000 211773000 211444000 24486000 26751000 67951000 67646000 3686000 3994000 1019756000 1008228000 63756000 69308000 31981000 42115000 1142000 1045000 23779000 29846000 7512000 7353000 128170000 149667000 14034000 14389000 2905000 2732000 26407000 27587000 18000000 0 5868000 5568000 195384000 199943000 0.001 0.001 250000000 250000000 77142023 77142023 76914590 76914590 77000 77000 858195000 844842000 -4186000 -5578000 -29714000 -31056000 824372000 808285000 1019756000 1008228000 167448000 197174000 106370000 102950000 61078000 94224000 28245000 27134000 32742000 32906000 60987000 60040000 91000 34184000 1276000 -54000 23000 192000 1390000 34322000 48000 4450000 1342000 29872000 0.02 0.38 0.02 0.38 77066000 78246000 77255000 79468000 1342000 29872000 832000 -2698000 603000 -1204000 -43000 874000 1392000 -3028000 2734000 26844000 76914590 77000 844842000 -5578000 -31056000 808285000 210055 5024000 5024000 17378 -387000 -387000 8716000 8716000 1392000 1392000 1342000 1342000 77142023 77000 858195000 -4186000 -29714000 824372000 78240506 78000 898945000 -1449000 -81794000 815780000 157642 5645000 5645000 6000 42000 42000 2612 -72000 -72000 240548 9397000 9397000 7831000 7831000 -3028000 -3028000 29872000 29872000 78166212 78000 902994000 -4477000 -51922000 846673000 1342000 29872000 7576000 6960000 2378000 2369000 1690000 2492000 9290000 7520000 4973000 2501000 133000 182000 15926000 -966000 -1375000 17080000 -1009000 144000 55000 73000 -1819000 10150000 -10209000 -3120000 319000 87000 -6046000 3908000 18000000 0 -1721000 -2435000 12309000 44155000 19701000 15606000 27311000 23462000 33473000 17990000 -13539000 -21078000 5024000 5687000 0 9397000 387000 72000 259000 2234000 4378000 -6016000 -276000 -1142000 2872000 15919000 112982000 155342000 115854000 171261000 3755000 2524000 727000 3359000 7391000 890000 106000 163000 2191000 2094000 112360000 167182000 1207000 2026000 2287000 2053000 115854000 171261000 Basis of Presentation and Significant Accounting Policies<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of Presentation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying condensed consolidated financial information of FormFactor, Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year. </span></div><div style="text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fiscal Year</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the three months ended April 1, 2023 and March 26, 2022 each contained 13 weeks. Fiscal 2023 will end on December 30, 2023.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Significant Accounting Policies</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our significant accounting policies have not changed during the three months ended April 1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022, except for:</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Government Assistance</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2023, we received $18.0 million in cash from a California Competes Grant (the “Grant”) awarded from the California Governor’s Office of Business and Economic Development. The Grant requires FormFactor to create and maintain full-time jobs and make significant infrastructure investments within California over a 5-year term. If we do not meet the requirements of the Grant, we will be required to repay all or a portion of the Grant.</span></div>The Grant is included in our Condensed Consolidated Balance Sheets within Deferred grant and we have elected to recognize when earned as an offset to Cost of revenues and Operating expenses within our Condensed Consolidated Statements of Income. We have elected to present the proceeds from the Grant as cash provided by operating activities within our Condensed Consolidated Statements of Cash Flows as the grant is to offset operations. Basis of PresentationThe accompanying condensed consolidated financial information of FormFactor, Inc. is unaudited and has been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) and pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”). However, such information reflects all adjustments, consisting only of normal recurring adjustments, which are, in the opinion of management, necessary for a fair presentation of the financial position, results of operations and cash flows for the interim periods. The condensed consolidated financial statements included herein should be read in conjunction with the consolidated financial statements and the notes thereto included in our 2022 Annual Report on Form 10-K filed with the SEC on February 24, 2023. The results of operations for the interim periods presented are not necessarily indicative of the results to be expected for the full year. <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Fiscal Year</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate on a 52/53 week fiscal year, whereby the fiscal year ends on the last Saturday of December. Fiscal 2023 and 2022 contain 52 weeks and 53 weeks, respectively, and the three months ended April 1, 2023 and March 26, 2022 each contained 13 weeks. Fiscal 2023 will end on December 30, 2023.</span></div> 18000000 P5Y Concentration of Credit and Other Risks<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Each of the following customers accounted for 10% or more of our revenues for the periods indicated: </span></div><div style="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 style="width:72.291%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intel Corporation</span></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.8 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan Semiconductor Manufacturing Co., LTD.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10.7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.0 </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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31.5 </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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div>At April 1, 2023, two customers accounted for 17.9% and 15.9% of gross accounts receivable, respectively. At December 31, 2022, one customer accounted for 13.8% of gross accounts receivable. <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Each of the following customers accounted for 10% or more of our revenues for the periods indicated: </span></div><div style="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 style="width:72.291%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Intel Corporation</span></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.8 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan Semiconductor Manufacturing Co., LTD.</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10.7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20.0 </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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31.5 </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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 0.10 0.10 0.200 0.208 0.107 0.200 0.315 0.179 0.159 0.138 Inventories, net <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are stated at the lower of cost (principally standard cost, which approximates actual cost on a first in, first out basis) or net realizable value.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories, net, consisted of the following (in thousands):</span></div><div style="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 style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">57,748 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,726 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Work-in-progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,376 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,067 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,429 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,364 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">116,553 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">123,157 </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"/></tr></table></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories, net, consisted of the following (in thousands):</span></div><div style="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 style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">57,748 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">55,726 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Work-in-progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,376 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,067 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,429 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,364 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">116,553 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">123,157 </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"/></tr></table></div> 57748000 55726000 39376000 46067000 19429000 21364000 116553000 123157000 Goodwill and Intangible Assets <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill by reportable segment was as follows (in thousands):</span></div><div style="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 style="width:59.572%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 25, 2021</span></td><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,875 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">212,299 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Addition - Woburn Acquisition</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 31, 2022</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,020 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,444 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">329 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">329 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of April 1, 2023</span></td><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,349 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,773 </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"/></tr></table></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have not recorded goodwill impairments for the three months ended April 1, 2023.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets were as follows (in thousands): </span></div><div style="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 style="width:26.239%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.014%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><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',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Intangible Assets </span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Existing developed technologies </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,750 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">152,260 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,490 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,441 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">151,212 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,229 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,996 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,559 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,437 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,912 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,003 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,909 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,992 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,833 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,972 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,759 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">213 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">In-process research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">231,138 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">206,652 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,486 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">230,725 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,974 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,751 </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"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="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 style="width:73.169%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">831 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">808 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,547 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,561 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,378 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,369 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands): </span></div><div style="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 style="width:85.449%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,813 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,611 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,268 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,175 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,832 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,387 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,086 </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"/></tr></table></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill by reportable segment was as follows (in thousands):</span></div><div style="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 style="width:59.572%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.330%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 25, 2021</span></td><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,875 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">212,299 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Addition - Woburn Acquisition</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">550 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,405)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of December 31, 2022</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,020 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,444 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign currency translation</span></td><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">329 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">329 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Goodwill, as of April 1, 2023</span></td><td colspan="3" style="display:none"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">178,424 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,349 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">211,773 </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"/></tr></table></div> 178424000 33875000 212299000 0 550000 550000 0 -1405000 -1405000 178424000 33020000 211444000 0 329000 329000 178424000 33349000 211773000 0 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets were as follows (in thousands): </span></div><div style="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 style="width:26.239%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.014%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td></tr><tr><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',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Intangible Assets </span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated<br/>Amortization</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net</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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Existing developed technologies </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,750 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">152,260 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,490 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">171,441 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">151,212 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,229 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,996 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,559 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,437 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,912 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,003 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,909 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,992 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,833 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,972 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,759 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">213 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">In-process research and development</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">400 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">231,138 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">206,652 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,486 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">230,725 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">203,974 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,751 </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"/></tr></table></div> 171750000 152260000 19490000 171441000 151212000 20229000 50996000 46559000 4437000 50912000 45003000 5909000 7992000 7833000 159000 7972000 7759000 213000 400000 0 400000 400000 0 400000 231138000 206652000 24486000 230725000 203974000 26751000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Amortization expense was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="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 style="width:73.169%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">831 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">808 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,547 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,561 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,378 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,369 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 831000 808000 1547000 1561000 2378000 2369000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The estimated future amortization of definite-lived intangible assets, excluding in-process research and development, is as follows (in thousands): </span></div><div style="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 style="width:85.449%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,813 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,611 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,268 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,175 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,832 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,387 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,086 </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"/></tr></table></div> 4813000 4611000 4268000 3175000 2832000 4387000 24086000 Accrued Liabilities<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities consisted of the following (in thousands):</span></div><div style="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 style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued compensation and benefits</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,028 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,864 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued income and other taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,241 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,817 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued warranty</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,872 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,199 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan contributions withheld</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,533 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,585 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued restructuring charges</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other accrued expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,931 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,981 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,115 </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"/></tr></table></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accrued liabilities consisted of the following (in thousands):</span></div><div style="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 style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued compensation and benefits</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,028 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">15,864 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued income and other taxes</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,241 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">12,817 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued warranty</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,872 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,199 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan contributions withheld</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,533 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,585 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accrued restructuring charges</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Other accrued expenses</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,931 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,981 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,115 </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"/></tr></table></div> 20028000 15864000 3241000 12817000 3872000 4199000 1533000 4585000 376000 1249000 2931000 3401000 31981000 42115000 Restructuring Charges<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">2022 Restructuring Plan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 25, 2022, we adopted a restructuring plan (“2022 restructuring plan”) to align our cost structure with reduced demand levels, by streamlining and improving the efficiency and business effectiveness of our operations. This plan included lowering headcount by approximately 13% of our workforce. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has recognized 2022 restructuring plan charges of approximately $8.1 million for severance and employee-related costs, including $0.3 million for stock-based compensation, with $7.1 million within the Probe Cards segment, $0.5 million within the Systems segment, and $0.5 million within Corporate. We do not expect to incur additional material costs related to the 2022 restructuring plan.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">2021 Restructuring Plan</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On September 25, 2021, we adopted restructuring plans (“2021 restructuring plans”) to improve our business effectiveness and streamline our operations by consolidating certain manufacturing facilities for both the Probe Cards segment and the Systems segment. This included plans to consolidate or relocate certain leased locations in the United States to other locations in the United States, Germany and Asia. As a result of these changes to certain work locations, we have incurred personnel related costs to sever, relocate, or retain select employees. Additionally, as part of these plans we have undertaken actions to adjust capacity for certain product offerings, which included contract termination costs to satisfy contract obligations. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has recognized 2021 restructuring plans charges of approximately $12.7 million, with $9.9 million within the Probe Cards segment and $2.8 million within the Systems segment, and were comprised of $1.3 million of severance and employee-related costs, $1.8 million in contract and lease termination costs, $9.1 million in inventory impairments and other inventory related costs, and $0.5 million of cost related to impairment of leasehold improvements, facility exits and fixed asset related costs. We do not expect additional material costs related to the 2021 restructuring plan.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):</span></div><div style="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 style="width:31.063%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.581%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70 </span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(45)</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25 </span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39 </span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">139 </span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">146 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">146 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,060 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,122 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,134 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">83 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,217 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">271 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">313 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes to the restructuring accrual in the three months ended April 1, 2023 were as follows (in thousands):</span></div><div style="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 style="width:37.350%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:13.524%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Employee Severance<br/>and Benefits</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Stock-based Compensation</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Inventory<br/>Impairments &amp;<br/>Other Inventory<br/>Related Costs</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restructuring charges</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">842 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">295 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,217 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,715)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(63)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,778)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-cash settlement</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(295)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(17)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(312)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376 </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"/></tr></table></div> 0.13 8100000 300000 7100000 500000 500000 12700000 9900000 2800000 1300000 1800000 9100000 500000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total restructuring charges for both the 2022 and 2021 restructuring plans included in our Condensed Consolidated Statements of Income were as follows (in thousands):</span></div><div style="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 style="width:31.063%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.864%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.572%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.581%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70 </span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(45)</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25 </span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39 </span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">100 </span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">139 </span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">70 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">146 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">146 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,060 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">62 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,122 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">28 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,134 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">83 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,217 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">271 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">313 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 70000 -45000 25000 39000 100000 139000 4000 66000 70000 0 146000 146000 1060000 62000 1122000 3000 25000 28000 1134000 83000 1217000 42000 271000 313000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes to the restructuring accrual in the three months ended April 1, 2023 were as follows (in thousands):</span></div><div style="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 style="width:37.350%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.519%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:13.524%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Employee Severance<br/>and Benefits</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Stock-based Compensation</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Inventory<br/>Impairments &amp;<br/>Other Inventory<br/>Related Costs</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restructuring charges</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">842 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">295 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">80 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,217 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash payments</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,715)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(63)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,778)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Non-cash settlement</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(295)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(17)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(312)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">376 </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"/></tr></table></div> 1249000 0 0 1249000 842000 295000 80000 1217000 1715000 0 63000 1778000 0 295000 17000 312000 376000 0 0 376000 Fair Value and Derivative Instruments<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three months ended April 1, 2023 or the year ended December 31, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No changes were made to our valuation techniques during the first three months of fiscal 2023.</span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assets and Liabilities Measured at Fair Value on a Recurring Basis</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands): </span></div><div style="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 style="width:45.391%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,777 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,777 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,475 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,475 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25.75pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,777 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,475 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">49,252 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> U.S. treasuries</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Certificates of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,062 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,062 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,315 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,315 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7.75pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,144 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">98,747 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">123,891 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">763 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">763 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,041 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,041 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,921 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106,026 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">176,890 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</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"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="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 style="width:45.391%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,969 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,969 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,965 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,244 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. treasuries</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificates of deposit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">706 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">706 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,045 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,045 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,840 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,840 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">103,987 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">129,006 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">664 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">664 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,374 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,374 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,298 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,990 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">160,231 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</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"/></tr></table></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Equivalents </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our cash equivalents is determined based on quoted market prices for similar or identical securities. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Marketable Securities </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We classify our marketable securities as available-for-sale and value them utilizing a market approach. Our investments are </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">priced by pricing vendors who provide observable inputs for their pricing without applying significant judgment. Broker pricing is used mainly when a quoted price is not available, the investment is not priced by our pricing vendors or when a broker price is more reflective of fair value. Our broker-priced investments are categorized as Level 2 investments because fair value is based on similar assets without applying significant judgments. In addition, all investments have a sufficient trading volume to demonstrate that the fair value is appropriate.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unrealized gains and losses were immaterial and were recorded as a component of Accumulated other comprehensive loss in our Condensed Consolidated Balance Sheets. We did not have any other-than-temporary unrealized gains or losses at either period end included in these financial statements.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Interest Rate Swaps </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our interest rate swap contracts is determined at the end of each reporting period based on valuation models that use interest rate yield curves as inputs. For accounting purposes, our interest rate swap contracts qualify for, and are designated as, cash flow hedges. The cash flows associated with the interest rate swaps are reported in Net cash provided by operating activities in our Condensed Consolidated Statements of Cash Flows and the fair value of the interest rate swap contracts are recorded within Prepaid expenses and other current assets and Other assets in our Condensed Consolidated Balance Sheets. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Foreign Exchange Derivative Contracts</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We operate and sell our products in various global markets. As a result, we are exposed to changes in foreign currency exchange rates. We utilize foreign currency forward contracts to hedge against future movements in foreign exchange rates that affect certain existing foreign currency denominated assets and liabilities and forecasted foreign currency revenue and expense transactions. Under this program, our strategy is to have increases or decreases in our foreign currency exposures mitigated by gains or losses on the foreign currency forward contracts in order to mitigate the risks and volatility associated with foreign currency transaction gains or losses. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not use derivative financial instruments for speculative or trading purposes. For accounting purposes, certain of our foreign currency forward contracts are not designated as hedging instruments and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded within Other income, net in our Condensed Consolidated Statement of Income for both realized and unrealized gains and losses. Certain of our foreign currency forward contracts are designated as cash flow hedges, and, accordingly, we record the fair value of these contracts as of the end of our reporting period in our Condensed Consolidated Balance Sheets with changes in fair value recorded as a component of Accumulated other comprehensive loss and reclassified into earnings in the same period in which the hedged transaction affects earnings, and in the same line item on the Condensed Consolidated Statements of Income as the impact of the hedge transaction. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our foreign exchange derivative contracts was determined based on current foreign currency exchange rates and forward points. All of our foreign exchange derivative contracts outstanding at April 1, 2023 will mature by the first quarter of fiscal 2024.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides information about our foreign currency forward contracts outstanding as of April 1, 2023 (in thousands):</span></div><div style="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 style="width:54.601%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.373%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.231%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Position</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(Local Currency)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(U.S. Dollars)</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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,004 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,250 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,356 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,472 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japanese Yen</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,227,282 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,377 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Korean Won</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,751,490 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,355 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,413 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,435 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our foreign currency contracts are classified within Level 2 of the fair value hierarchy as they are valued using pricing models that utilize observable market inputs.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business </span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">acquisition. Other than as discussed in Note 6,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Restructuring Charges, </span>there were no assets or liabilities measured at fair value on a nonrecurring basis during the three months ended April 1, 2023 or March 26, 2022. <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Whenever possible, the fair values of our financial assets and liabilities are determined using quoted market prices of identical securities or quoted market prices of similar securities from active markets. The three levels of inputs that may be used to measure fair value are as follows:</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 1 valuations are obtained from real-time quotes for transactions in active exchange markets involving identical securities;</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 2 valuations utilize significant observable inputs, such as quoted prices for similar assets or liabilities, quoted prices near the reporting date in markets that are less active, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities; and</span></div><div style="padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Level 3 valuations utilize unobservable inputs to the valuation methodology and include our own data about assumptions market participants would use in pricing the asset or liability based on the best information available under the circumstances.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We did not have any transfers of assets or liabilities measured at fair value on a recurring basis to or from Level 1, Level 2 or Level 3 during the three months ended April 1, 2023 or the year ended December 31, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying values of Cash, Accounts receivable, net, Restricted cash, Prepaid expenses and other current assets, Accounts payable, and Accrued liabilities approximate fair value due to their short maturities. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No changes were made to our valuation techniques during the first three months of fiscal 2023.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Assets and Liabilities Measured at Fair Value on a Non-Recurring Basis</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We measure and report our non-financial assets such as Property, plant and equipment, Goodwill and Intangible assets at fair value on a non-recurring basis if we determine these assets to be impaired or in the period when we make a business </span></div>acquisition. <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets and liabilities measured at fair value on a recurring basis were as follows (in thousands): </span></div><div style="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 style="width:45.391%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,777 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,777 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,475 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,475 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 25.75pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,777 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,475 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">49,252 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> U.S. treasuries</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Certificates of deposit</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,062 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,062 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Corporate bonds</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"> Commercial paper</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,315 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">31,315 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7.75pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,144 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">98,747 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">123,891 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">763 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">763 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,041 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,041 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">69,921 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">106,026 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">176,890 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2)</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"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="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 style="width:45.391%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.332%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Assets:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,969 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,969 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">996 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,279 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,965 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,244 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. treasuries</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,019 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Certificates of deposit</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">706 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">706 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">U.S. agency securities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,045 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,045 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate bonds</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">67,396 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Commercial paper</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,840 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,840 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">103,987 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">129,006 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">664 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">664 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Promissory note receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Interest rate swap derivative contracts</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,374 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,374 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,298 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">112,990 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">943 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">160,231 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foreign exchange derivative contracts</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(193)</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"/></tr></table></div> 44777000 0 0 44777000 0 4475000 0 4475000 44777000 4475000 0 49252000 25144000 0 0 25144000 0 471000 0 471000 0 13062000 0 13062000 0 53899000 0 53899000 0 31315000 0 31315000 25144000 98747000 0 123891000 0 763000 0 763000 0 0 943000 943000 0 2041000 0 2041000 69921000 106026000 943000 176890000 0 2000 0 2000 0 2000 0 2000 21279000 0 0 21279000 0 4969000 0 4969000 0 996000 0 996000 21279000 5965000 0 27244000 25019000 0 0 25019000 0 706000 0 706000 0 11045000 0 11045000 0 67396000 0 67396000 0 24840000 0 24840000 25019000 103987000 0 129006000 0 664000 0 664000 0 0 943000 943000 0 2374000 0 2374000 46298000 112990000 943000 160231000 0 193000 0 193000 0 193000 0 193000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides information about our foreign currency forward contracts outstanding as of April 1, 2023 (in thousands):</span></div><div style="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 style="width:54.601%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.373%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.231%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Currency</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Position</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(Local Currency)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Contract Amount<br/>(U.S. Dollars)</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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23,004 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,250 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Euro Dollar</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,356 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,472 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japanese Yen</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,227,282 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,377 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Korean Won</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Buy</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,751,490 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,355 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan Dollar</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sell</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,413 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,435 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 23004000 24250000 2356000 2472000 3227282000 24377000 1751490000 1355000 43413000 1435000 0 0 0 0 Warranty<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We offer warranties on certain products and record a liability for the estimated future costs associated with warranty claims at the time revenue is recognized. The warranty liability is based upon historical experience and our estimate of the level of future costs. While we engage in product quality programs and processes, our warranty obligation is affected by product failure rates, material usage and service delivery costs. We regularly monitor product returns for warranty and maintain a reserve for the related expenses based upon our historical experience and any specifically identified failures. As we sell new products to our customers, we must exercise considerable judgment in estimating the expected failure rates. This estimating process is based on historical experience of similar products, as well as various other assumptions that we believe to be reasonable under the circumstances. We provide for the estimated cost of product warranties at the time revenue is recognized as a component of Cost of revenues in our Condensed Consolidated Statement of Income.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in our warranty liability were as follows (in thousands):</span></div><div style="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 style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,199 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,805 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accruals</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,390 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,214 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Settlements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,717)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,244)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at end of period</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,872 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,775 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in our warranty liability were as follows (in thousands):</span></div><div style="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 style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at beginning of period</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,199 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,805 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Accruals</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,390 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,214 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Settlements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,717)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,244)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at end of period</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,872 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,775 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 4199000 2805000 1390000 1214000 1717000 1244000 3872000 2775000 Property, Plant and Equipment, net<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, plant and equipment, net consisted of the following (in thousands):</span></div><div style="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 style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Land</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Building and building improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,444 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,932 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Machinery and equipment </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">280,936 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">276,180 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer equipment and software</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,568 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,813 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,481 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,540 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">87,318 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">86,500 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sub-total </span></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">483,883 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">478,101 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: Accumulated depreciation and amortization </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(342,763)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(335,711)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net, property, plant and equipment </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">141,120 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">142,390 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Construction-in-process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">57,112 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47,458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">198,232 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">189,848 </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"/></tr></table></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property, plant and equipment, net consisted of the following (in thousands):</span></div><div style="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 style="width:73.022%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.326%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.329%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Land</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">17,136 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Building and building improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,444 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">44,932 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Machinery and equipment </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">280,936 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">276,180 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Computer equipment and software</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">46,568 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">45,813 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Furniture and fixtures </span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,481 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,540 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Leasehold improvements </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">87,318 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">86,500 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Sub-total </span></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">483,883 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">478,101 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: Accumulated depreciation and amortization </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(342,763)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(335,711)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Net, property, plant and equipment </span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">141,120 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">142,390 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Construction-in-process</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">57,112 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47,458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">198,232 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">189,848 </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"/></tr></table></div> 17136000 17136000 44444000 44932000 280936000 276180000 46568000 45813000 7481000 7540000 87318000 86500000 483883000 478101000 342763000 335711000 141120000 142390000 57112000 47458000 198232000 189848000 Stockholders’ Equity and Stock-Based Compensation<div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Common Stock Repurchase Programs</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On October 26, 2020, our Board of Directors authorized a two-year program to repurchase up to $50 million of outstanding common stock to offset potential dilution from issuances of common stock under our stock-based compensation programs. During the three months ended March 26, 2022, we repurchased 240,548 shares of common stock for $9.4 million. We utilized the remaining funds available for repurchase under this program during fiscal 2022. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On May 20, 2022, our Board of Directors authorized an additional program to repurchase up to $75 million of outstanding common stock, also with the primary purpose to offset potential dilution from issuances of common stock under our stock-based compensation programs. The share repurchase program will expire on May 20, 2024. During the three months ended April 1, 2023, we did not repurchase any common stock. As of April 1, 2023, $18.6 million remained available for future repurchases.</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our policy related to repurchases of our common stock is to charge the excess of cost over par value to additional paid-in capital once the shares are retired. All repurchases were made in compliance with Rule 10b-18 under the Securities Exchange Act of 1934, as amended.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock unit (“RSU”) activity under our equity incentive plan was as follows:</span></div><div style="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 style="width:64.835%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Units</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,227,081 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.28 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,020 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25.51 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(30,751)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.87 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards forfeited</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(82,523)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.16 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at April 1, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,192,827 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.94 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance Restricted Stock Units</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may grant Performance RSUs (“PRSUs”) to certain executives, which vest based upon us achieving certain market performance criteria. There were no market based PRSUs granted during the three months ended April 1, 2023. PRSUs are included as part of the RSU activity above. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Employee Stock Purchase Plan </span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information related to activity under our Employee Stock Purchase Plan (“ESPP”) was as follows: </span></div><div style="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 style="width:81.209%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.007%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three 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',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Shares issued</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">210,055 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share purchase price</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23.92 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share discount from the fair value of our common stock on the date of issuance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4.22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="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 style="width:66.590%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.544%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,910 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,078 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,372 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,986 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,008 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,456 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,290 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,520 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Unrecognized Compensation Costs</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At April 1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands): </span></div><div style="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 style="width:66.590%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.544%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrecognized Expense</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Average Expected<br/>Recognition Period<br/>in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,761 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.98</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Performance restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,486 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.86</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">985 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.33</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total unrecognized stock-based compensation expense</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,232 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.93</span></td></tr></table></div> 50000000 240548 9400000 75000000 0 18600000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Restricted stock unit (“RSU”) activity under our equity incentive plan was as follows:</span></div><div style="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 style="width:64.835%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:15.422%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Units</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at December 31, 2022</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,227,081 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.28 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards granted</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,020 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25.51 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards vested</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(30,751)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.87 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Awards forfeited</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(82,523)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35.16 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">RSUs at April 1, 2023</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,192,827 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.94 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 2227081 35.28 79020 25.51 30751 34.87 82523 35.16 2192827 34.94 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Information related to activity under our Employee Stock Purchase Plan (“ESPP”) was as follows: </span></div><div style="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 style="width:81.209%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.007%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three 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',sans-serif;font-size:9pt;font-weight:700;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Shares issued</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">210,055 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share purchase price</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">23.92 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted average per share discount from the fair value of our common stock on the date of issuance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4.22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 210055 23.92 -4.22 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation was included in our Condensed Consolidated Statements of Income as follows (in thousands):</span></div><div style="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 style="width:66.590%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.544%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Cost of revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,910 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,078 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,372 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,986 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,008 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,456 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,290 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,520 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 1910000 1078000 2372000 1986000 5008000 4456000 9290000 7520000 <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At April 1, 2023, the unrecognized stock-based compensation was as follows (dollars in thousands): </span></div><div style="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 style="width:66.590%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.544%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Unrecognized Expense</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Average Expected<br/>Recognition Period<br/>in Years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">39,761 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.98</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Performance restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,486 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.86</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Employee stock purchase plan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">985 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">0.33</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total unrecognized stock-based compensation expense</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">50,232 </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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1.93</span></td></tr></table></div> 39761000 P1Y11M23D 9486000 P1Y10M9D 985000 P0Y3M29D 50232000 P1Y11M4D Net Income per Share<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):</span></div><div style="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 style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing basic net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,066 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">78,246 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Add potentially dilutive securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">189 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,222 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing diluted net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,255 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,468 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Securities not included as they would have been antidilutive</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,121 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table reconciles the shares used in calculating basic net income per share and diluted net income per share (in thousands):</span></div><div style="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 style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing basic net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,066 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">78,246 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Add potentially dilutive securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">189 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,222 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Weighted-average shares used in computing diluted net income per share</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,255 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">79,468 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Securities not included as they would have been antidilutive</span></td><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,121 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 77066000 78246000 189000 1222000 77255000 79468000 1121000 0 Commitments and Contingencies<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Leases</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See Note 13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Leases</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Contractual Obligations and Commitments</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our contractual obligations and commitments have not materially changed as of April 1, 2023 from those disclosed in our Annual Report on Form 10-K for the year ended December 31, 2022. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Matters</span></div>From time to time, we may be subject to legal proceedings and claims in the ordinary course of business. As of April 1, 2023, and as of the filing of this Quarterly Report on Form 10-Q, we were not involved in any material legal proceedings. Leases<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We lease real estate space under non-cancelable operating lease agreements for commercial and industrial space, as well as for a portion of our corporate headquarters located in Livermore, California. Our leases have remaining terms of 1 to 6 years, and some leases include options to extend up to 20 years. We also have operating leases for automobiles with remaining lease terms of 1 year. We did not include any of our renewal options in our lease terms for calculating our lease liability as the renewal options allow us to maintain operational flexibility and we are not reasonably certain we will exercise these options at this time. The weighted-average remaining lease term for our operating leases was 5 years as of April 1, 2023 and the weighted-average discount rate was 3.92%. </span></div><div style="text-align:justify"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease expense were as follows (in thousands): </span><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 style="width:67.174%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.399%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Lease expense:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease expense</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,952 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,221 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Short-term lease expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">157 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Variable lease expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">746 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,855 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,719 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum payments under our non-cancelable operating leases were as follows as of April 1, 2023 (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:85.449%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,190 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,106 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,018 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,641 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,756 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,431 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">  Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,142 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: interest</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4,223)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">  Present value of net minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,919 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: current portion</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(7,512)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">  Total long-term operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,407 </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"/></tr></table></div> P1Y P6Y P20Y P1Y P5Y 0.0392 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of lease expense were as follows (in thousands): </span><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 style="width:67.174%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.399%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Lease expense:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Operating lease expense</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,952 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,221 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Short-term lease expense</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">157 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Variable lease expense</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">746 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,855 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,719 </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 colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table> 1952000 2221000 157000 40000 746000 458000 2855000 2719000 <div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Future minimum payments under our non-cancelable operating leases were as follows as of April 1, 2023 (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:85.449%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.328%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fiscal Year</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Amount</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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,190 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,106 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,018 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,641 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,756 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,431 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">  Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,142 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: interest</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(4,223)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">  Present value of net minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">33,919 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Less: current portion</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(7,512)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">  Total long-term operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">26,407 </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"/></tr></table></div> 6190000 8106000 8018000 6641000 5756000 3431000 38142000 4223000 33919000 7512000 26407000 Revenue<div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Transaction price allocated to the remaining performance obligations:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> On April 1, 2023, we had $9.8 million of remaining performance obligations, which were comprised of deferred service contracts and extended warranty contracts and contracts with overtime revenue recognition that are not yet delivered. We expect to recognize approximately 67.6% of our remaining performance obligations as revenue in the remainder of fiscal 2023, approximately 26.8% in fiscal 2024, and approximately 5.6% in fiscal 2025 and thereafter. The foregoing excludes the value of other remaining performance obligations as they have original durations of one year or less, and also excludes information about variable consideration allocated entirely to a wholly unsatisfied performance obligation. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Contract balances:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The timing of revenue recognition may differ from the timing of invoicing to customers. Accounts receivable is recorded at the invoiced amount, net of an allowance for credit losses. A receivable is recognized in the period we deliver goods or provide services or when our right to consideration is unconditional. A contract asset is recorded when we have performed under the contract but our right to consideration is conditional on something other than the passage of time. Contract assets as of April 1, 2023 and December 31, 2022 were $2.9 million and $1.9 million, respectively, and are reported on the Condensed Consolidated Balance Sheets as a component of Prepaid expenses and other current assets.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract liabilities include payments received and payments due in advance of performance under a contract and are satisfied as the associated revenue is recognized. Contract liabilities are reported on the Condensed Consolidated Balance Sheets at the end of each reporting period as a component of Deferred revenue and Other liabilities. Contract liabilities as of April 1, 2023 and December 31, 2022 were $24.9 million and $30.9 million, respectively. During the three months ended April 1, 2023, we recognized $14.0 million of revenue that was included in contract liabilities as of December 31, 2022.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Costs to obtain a contract:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We generally expense sales commissions when incurred as a component of Selling, general and administrative expense, as the amortization period is typically less than one year. </span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revenue by category: </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Refer to Note 15, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Operating Segments and Enterprise-Wide Information</span>, for further details. 9800000 0.676 0.268 0.056 2900000 1900000 24900000 30900000 14000000 Operating Segments and Enterprise-Wide InformationOur chief operating decision maker (“CODM”) is our Chief Executive Officer, who reviews operating results to make decisions about allocating resources and assessing performance for the entire company. We operate in two reportable segments consisting <div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of the Probe Cards segment and the Systems segment. The following table summarizes the operating results by reportable segment (dollars in thousands):</span></div><div style="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 style="width:10.888%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.142%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="45" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,746 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(3,291)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">61,078 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,202 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,407 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,385)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,224 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross margin</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51.7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36.5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48.3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">52.2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47.8 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating results provide useful information to our management for assessment of our performance and results of operations. Certain components of our operating results are utilized to determine executive compensation along with other measures. </span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Corporate and Other includes unallocated expenses relating to amortization of intangible assets, inventory and fixed asset fair value adjustments due to acquisitions, share-based compensation, and restructuring charges which are not used in evaluating the results of, or in allocating resources to, our reportable segments.</span></div><div style="text-align:justify"><span><br/></span></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain revenue category information by reportable segment was as follows (in thousands):</span><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 style="width:40.712%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.113%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Market:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foundry &amp; Logic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101,562 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101,562 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,121 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,121 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">DRAM</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,890 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,890 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,437 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,437 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Flash</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,876 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,876 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,425 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,425 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Systems</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Timing of revenue recognition:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products transferred at a point in time</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">126,678 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,710 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">163,388 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">158,836 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,416 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">194,252 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products and services transferred over time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">650 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,410 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,060 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,147 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,775 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,922 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Geographical region:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,897 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,432 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,329 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,522 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,547 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,069 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,641 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,090 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,731 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,976 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,671 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,647 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">China</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,476 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,099 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">32,791 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,608 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,399 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">South Korea</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,572 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,203 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,775 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,881 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,620 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,501 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Malaysia</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,324 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">946 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,270 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,517 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">682 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">22,199 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,136 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,841 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,977 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,785 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,597 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,382 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,426 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,426 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,382 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,013 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,395 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Singapore</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,200 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,140 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,340 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,284 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">612 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,896 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Rest of the world</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,656 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,845 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,501 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">845 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">841 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,686 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174 </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"/></tr></table></div> 2 The following table summarizes the operating results by reportable segment (dollars in thousands):<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 style="width:10.888%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.133%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.142%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="45" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Corporate and Other</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross profit </span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">43,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,746 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(3,291)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">61,078 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">77,202 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,407 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(2,385)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">94,224 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Gross margin</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34.3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">51.7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36.5 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">48.3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">52.2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">47.8 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table> 127328000 40120000 0 167448000 159983000 37191000 0 197174000 43623000 20746000 -3291000 61078000 77202000 19407000 -2385000 94224000 0.343 0.517 0.365 0.483 0.522 0.478 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain revenue category information by reportable segment was as follows (in thousands):</span><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 style="width:40.712%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.818%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.677%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.113%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">April 1, 2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">March 26, 2022</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Probe Cards</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Systems</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Market:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Foundry &amp; Logic</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101,562 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">101,562 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,121 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">114,121 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">DRAM</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,890 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,890 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,437 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">34,437 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Flash</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,876 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,876 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,425 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,425 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Systems</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Timing of revenue recognition:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products transferred at a point in time</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">126,678 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">36,710 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">163,388 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">158,836 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">35,416 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">194,252 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Products and services transferred over time</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">650 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,410 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,060 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,147 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,775 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,922 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><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',sans-serif;font-size:9pt;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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Geographical region:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Taiwan</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,897 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,432 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,329 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">42,522 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,547 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">53,069 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">United States</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,641 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">13,090 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,731 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,976 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,671 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">25,647 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">China</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,476 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,099 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">32,791 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,608 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">38,399 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">South Korea</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">19,572 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,203 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">20,775 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">24,881 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,620 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">27,501 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Malaysia</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,324 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">946 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,270 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">21,517 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">682 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">22,199 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Japan</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,136 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,841 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,977 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,785 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,597 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,382 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Europe</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,426 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,426 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,382 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,013 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">8,395 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Singapore</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,200 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,140 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,340 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,284 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">612 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">10,896 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Rest of the world</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,656 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">2,845 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,501 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">845 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">841 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,686 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">127,328 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">40,120 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">167,448 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">159,983 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">37,191 </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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">197,174 </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"/></tr></table> 101562000 0 101562000 114121000 0 114121000 19890000 0 19890000 34437000 0 34437000 5876000 0 5876000 11425000 0 11425000 0 40120000 40120000 0 37191000 37191000 127328000 40120000 167448000 159983000 37191000 197174000 126678000 36710000 163388000 158836000 35416000 194252000 650000 3410000 4060000 1147000 1775000 2922000 127328000 40120000 167448000 159983000 37191000 197174000 38897000 1432000 40329000 42522000 10547000 53069000 24641000 13090000 37731000 19976000 5671000 25647000 18476000 8623000 27099000 32791000 5608000 38399000 19572000 1203000 20775000 24881000 2620000 27501000 10324000 946000 11270000 21517000 682000 22199000 7136000 3841000 10977000 4785000 4597000 9382000 3426000 6000000 9426000 2382000 6013000 8395000 3200000 2140000 5340000 10284000 612000 10896000 1656000 2845000 4501000 845000 841000 1686000 127328000 40120000 167448000 159983000 37191000 197174000 EXCEL 75 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( ,V J58'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " #-@*E6WN3F^>X K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>R$EH82;U9:6G#08K;.QF;+4UBQUC:R1]^SE9FS*V!]C1TN]/ MGT"M#D+W$9]C'S"2Q70WNLXGH<.&G8B" $CZA$ZE,B=\;A[ZZ!3E9SQ"4/I# M'1%JSM?@D)11I& "%F$A,MD:+71$17V\X(U>\.$S=C/,:, .'7I*4)45,#E- M#.>Q:^$&F&"$T:7O IJ%.%?_Q,X=8)?DF.R2&H:A')HYEW>HX.WI\65>M[ ^ MD?(:\Z]D!9T#;MAU\FOSL-WOF*QYW11\5?#[?I]621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M ,V J5;G;U!/S@4 ,8> 8 >&PO=V]R:W-H965T&UL MM9EK<^(V%(;_BH9V.NU,B"T9PK(ES!"2;#--LFQ(V]EV^D'8 CQK6U26(?S[ M'ME@9U/Y0#W+E^#;>:-'1Y=7TF CU9=T*80F+W&4I)>MI=:K]XZ3^DL1\_1< MKD0";^92Q5S#K5HXZ4H)'N1!<>0PU[UP8AXFK>$@?S91PX',=!0F8J)(FL4Q M5]LK$PL52FP?.<+#B"S$5^K?51,&=4ZH$82R2-)0)46)^V1K1 M]V./F8#\B]]#L4E?71.#,I/RB[FY"RY;KBF1B(2OC02'G[48BR@R2E".?W:B MK?)_FL#7UWOUVQP>8&8\%6,9_1$&>GG9>M^):YGB_ZJ-%Y91UXNYZ%U]-=HEFH%S>YO6P45"AV[@NF+[],5 M]\5E"SI;*M1:M(8_?$HMN0TC01ZS>":4#0S7<%VWW74]MV>#0T,;PO5+N/XQ M<$]B$9IQ%-+XR&-K(\5US.Q]"\.P5&=%V>X2_]P&B\HTA*5N-:^ZQ^!"X:2" M)LI-:STC4PT=DTA%QC)+M-K";V"M@P/JUS5G%RX[A'04!J*=G^PMR#]^1CXD]K[AD MSW6[9 IV>SE78*G(D^2!E1R5:4I>&2**6I#_D(_-';3J9[E)K-2XW#TX>15+ M91V0\=BFJ)4=HKBA>8M:]N")DNLP\>U9QC7'(ROH*3P2K4P2Q:W-6]")3#6/ MR)_AJGZ0PA7[G6Z76DE/89=HY9S@@POINNP,>PLIW"F]$*W-$<6?S'&KP17).*/MQ]A.9"C]3 MD$DK)*XTEG$,LQ(LKOTO9^1[]]QU*5EQ1=8\LOM[7+ I>F6=*.YYP/ &8;(@ MTVT\DY&5^(!I^OCT8.4ZA4EBE4EBN(W9YY#6)V%&>:)PI958NQ7(E3R7,(YEUK^6 XF?K#LT8CVK*67DA=I07NDM@ M?5ULS9DU*-^#6SEQQ3K.4S@?5CD?=I3S,4LT,/%@!19268>@ SKW7$%K'_F^ M "&0"0I)*_$I#!"K#! [R@!-8QY%Y"I+X75J;[>X3NV*&X]KRE?Y'G:4[[F) MA5J8COD!%/02K$&\XHD]M;A@/>@I; ^K; _#7\W(="Q4 M$EV*=I)]^AUE5[+%$]-N?9-(UO'T/S[<[TB=WBO]M5E*:V :MQ5^%O&_VKHD-Y5:IK_;F[?QL$EA%LI2YL2X$ M_-O("UF6UA/H^+9S.NG>:1ON7W_W_D<;/ 1S*QIYHV"9^0?-T85>T:@X*JJ+?_Q<.N(_8:T'"D =LU M8#_:@.\:\#;0K;(VK$MAQ.Q4JWNBK35XLQ=MW[2M(9JBML-X;30\+:"=F5U\ M_'!Y]>'ZZI+ U?7'=V\OSV_@YO7YN_,/%U?D^LW5U'S:<0>1<^Z\)GK3\^%OY::UD;(II&FN8E%L_608@[L*OL9;,2N3R;P#)J MI-[(R>S%,QH'K[#H?I&S@UAY%ROW>9]=B&9)8-1(;B_DMW6Q$24$CX[BUE7< MNK*I8#.CE/$X.)UN]N-!S(*,\M[L0&G8*0V]2M\+_54:<5M*TLA\K0M32%3E MUDVT_WK&TXP.5&)F&>0Y7&74J8R\*L_S7*VA^R";Y1+Z$N0>D1HRKUH044)^ M%'4N"61:DFLY+PPI%5]S% M%7OC>EMO8%8H#7W>QH/IBUU]-(XB/M"'F#%.HP07F'0"$Z_ S[(QNLB-W$YE M3%^"O#A(!NHP(T9Q;6FG+?5J^Z3E2A1S(A\ M':T[2@KLY0P"PYR#:8Z=00Q MEH7#V8Q8P9R/<-U9ISOSZKY11I0_(#%S7AZF0<:&&A&S)(PBAHND04^KX/\. M_<[#82^FP[''K&(^,OATCZ;4J^_C2FIABOJ.E!**BR.B;1EQK!;'ZT8>CW?K MSNV^'!Z$;)AN,3/*X[%N[2E(O>"!60MUH3:/1V15"CO^,&DM(%90L)D^J>7Y MNEJ7PO;^7 *A\D+86@P-B+F+*TL99\.($+LT2\-T)*0>=M1/NS^5FM\798F* MX^[@4YHDP_2%VX5A."*NYQOU ^YM;41]5P QQE,L=:G%PC"-AQH1LSB)QF9R M#S?JI]NE7$A(!G-BQ(,G'U 707&21<-\@)K%X0B!:8\JZF?5QS:S>N2Y!.*Q MVX>(59:-C7*/*>KGU#:G>L0A IHED2./LPP2"&MC4CL:473'ZI_RT+<%F5; M9Z%%,/52[V>KX%_E[3#H'G74S[JN<%N)1UNUH0&[!(LY,C*(6<:#D7%A/>>8 MGW,@4:]A\>V-"[HW<2G&(YM!/P:[G*0,=]G(XM#9ZV%F292.S9H>H,R_W^LZ^$Y#X8P*=/=K- T"9UZ[9B.G M**P''?.#;EL=/=6!+L*B-$Z'\A"K*![A'.\YQ_VF4>T6.)>:OYLL?2KO!W& MWC.1^YEXH:H*T-[8+C@BSX.3(*!0.&FR$25.2.ZB+QDN1[_-H=2]\TT_&\_G M\\*F:IA1]@SFN*A)+E8%S#!4I@N]-$II-DQXF!WLP\*1E,=[/'(_'L_WMM.[ M$R)5P1@N[4>2C6R/"U'A+@&/0^IL:C"S*$K&EFS/2?[DL>?>*<"BR LT[7&7 M:,52"I!O#>#Y0BGS_<9^Q>J^6L[^!5!+ P04 M" #-@*E6^DSL)?$" H" & 'AL+W=OS,=J#;K]^U M0R/H0C^D\4!LYY[CE.2FPZHB2<'BS M$++ &KIRZ:I2$IQ94,'

>!N[H,M=FP(T')5Z2A.BOY4Q"SVU8,EH0KJC@2)+%T!GY9^/(Q-N ;Y2L MU58;&2=S(1Y,YRH;.IX11!A)M6' \%B1,6',$(&,7QM.IYG2 +?;3^P7UCMX MF6-%QH)]IYG.A\Z)@S*RP!73=V)]239^^H8O%4S9?[2N8Z-3!Z65TJ+8@$%! M07G]Q(^;/&P!_-X>0+ !!&\%=#> KC5:*[.V)ECC>"#%&DD3#6RF87-CT>"& M@>.N>CZ]'->(J2R^GT/D&',RP) MUSG1-,7L"'U"7Y,).CPX0@>(P@ MSS]&@1=T6^#CE^$3DG90MX8'NW 7,M&D(VC2$5B^[AZ^1&--8)-J)!;H@G+, M4XH9F@E%[:[[,9HK+6'O_6RS6G/WVKG->3Q3)4[)T($#IXA<$2?^^,$/O<]M MQO\3V4X:NDT:NB^QQR,&IQN\$P1U F6BFNM%Q>#,I:+BNG69:\+0$IK2L8K] M\'3@KK8MM<6<-#$[2GN-TMZ+2L>B*&!=X)RD#\>HQ!*M,*L(.H1MF0G&L%2H M)%"V(MQ(5PI7.A:1_2&9-U*.M MRFOR_I:FH._5OV?JWQ*YXR!L'(3O=T"5JEY7'_ZC*8K\7ET&=L2W!(:G?J]_ MND=[U&B/WJ\=+CJEH911OGS-0/16 RV![0;$JE-NG>5KDW5=&]?G.Z% Y,$+>"L[22];W_F MH9" 86^EO F8S R_LL\1B.#2LC@A@"F86@ZK*'*<1Q%DEQ?"^#&M4[,\?C M^X_HG_/D53)+*F#*XJ]1*#=C8VB@$%9T%\M7=O@#RH0&6;R Q2+_18?2UC)0 ML!.2):6S(DBBM+C2][(CCAQ4'+T#*1U(T\'I<+!+!SM/M"#+TYI1227IX?EN@^6?T^#R=/SV@:_1E,4,7GRZ1V% . D4I>MNPG:!I**[0IY/VR)0* M+WN)&90H]P4*Z4"QT1-+Y4:@AS2$\-3?5&E5N9&/W.Y);\"[+;]!%KY"Q"*V MAF?:[_Y$E3MQR.>(]IP!) "TDEJ(D@T=]W2R&Y*N1_=)U5 M!'/TP;+9?2NV-("QH::O +X'8_+K+]BU?M-E>J9@)WD[5=Y.7_3)*^PAW8&V M(@I/-_?,5IS]!+N>XPQ'YOX87V/F>]AS*K,3L$$%-N@%FS(A$5NIU:@;L(@P M.'ZSY=J>U0#4F1%_8.D!W0K0[07\G3,AT):S521U<&[KK2ZVO&;GM:U\AY". MOO,J-*^WF.=;X%1&Z1K!NY(4 >)61^B=LXC/%.PDWV&5[_ '12R \F"#U-JF M9&*O]&^;36)=TL-6AY,A<0:-8=%8>=CN&!:_PO1[,1=*#]6@7*$UI&J XAR7 MADHXHFRIR2131^RW6&SB.:1!K+/R+5=/C*U:@:Q>YCH12TM5H&/%FYB.=M6UX,NVEH/<:_L3.9R [Q$[0:TV_/$ M;N*U;;!/.O!JV<+]NE7J]1+49AD^>E32]X[*=-H,MM_4"8V5[=BDB[56,MPO M92^<[:-\:ZU@?\S:EJN6Y.ILG"Y!P[6BX7Y)>P;9-W?K:OBLLG:N:*=9U\*&^Y7MGHHH0!=J[QZR.*9M^ZL5ICI+.RAQU#5,L;[M>W613O)(0_@^O_+UR=51RK2*Z<_ M6WWGBG;:0[6BDGY%K:NOZ!#M&)*V7'J>Y3952F>F-EX=&Q12JRKI5]7CHNNC M;(NDYY%!<]^G,_,=MUEKYM$W?0)\G1]U"!2P72J+3^#J:76<W^/; M:7$H4H>8N+%L4?1D&R;GQPLF90LR6\W0$/@F8'Z M?\68_&AD+Z@.GR;_ 5!+ P04 " #-@*E6'[S^^G$# !F"@ & 'AL M+W=OK#8%^P-[:'G1D@N[^^=\;$ 6S\T,T+]HSO.9QS[WS<_I[Q9Q$# M2/*2I;D8&+&4FQO3%&$,&177; ,Y?EDQGE&)0[XVQ88#C30H2TW;LCPSHTEN M!'T]]\"#/MO*-,GA@1.QS3+*_[V%E.T'1MMXG7A,UK%4$V;0W] US$$^;1XX MCLR2)4HRR$7"B?*RI*Q9S681@/#4HH@A5 J M"HJ/'8P@3143ZOCG0&J4_ZF Q^^O[%^U>32SI )&+/TKB60\,'R#1+"BVU0^ MLOTW.!CJ*+Z0I4+_DOTAUC)(N!6290 M #@'@*.-%LJTK3&5-.ASMB=<12.;>M&YT6ATD^2JC'/)\6N".!F,[F?CR6P^ M&1-\F]__.1T/%SB8+_!Q-YDMYN3^*WZZ>WB011*=X$_V4INQ7 M4[=V(^%PPZ^)U?Y,;,MV:O2,FN%W%.&VI^%V@QRGS+&C^9P+?'-))>#2EX2M MR(AEN-]BM1%V0*9YR#(@/X9+(3DNZ9]UV2O8W7IVM<]OQ(:&,#"06 #?@1%\ M_*/M65_JK+\3V4DBW#(1;A-[,,-C*=&.ZVP66$]CU>FS"]J.B_G?'06KBUF[H@ZAR5PG?.RU6-:=E>SZ\O5[?4V&W4 M^)3CA94F_T%$UGA1B:)((*Z($KVC24J7*;3PCFL)F@(>E_P9I)HC L(M3V0" MM8ZZ%;6>Y9PYJL:TVK;EUCOR2T?^[SN*@"<[*HM%BZZ<+9NEH6X1SN9O51.E.X$WFJ(# MPUMLK992"BNDM*Z[F#E>-#7%0+*-[@N63&*7H5]C; 2!JP#\OF),O@[4'Y2M M9? +4$L#!!0 ( ,V J590[E\B7 < %PT 8 >&PO=V]R:W-H965T M&ULS5MM4ULSB8")IXGM6DX[G4X_ M$'2VF "GP,E._GT/) L=A\XBW33](H'8?7:Y9_> Y\3I RL_5DM*.?J<9T5U M-EIROGHYF53)DN9Q=<)6M!!';EF9QUSLEG>3:E72>-$XY=F$&(8SR>.T&$U/ MF]^NRNDI6_,L+>A5B:IUGL?EE]]7 M5Z78F^Q0%FE.BRIE!2KI[=GH%7X9$;]V:"Q^3^E#M;>-ZE/YP-C'>N=\<38R MZHQH1A->0\3BZY[.:);52"*/3UO0T2YF[;B__8@>-24%E;"[1ZHZ&K\18#G!9U9+ZG3"15XU^B39YO!ZDP,YD,,-XW'6XS;3N\U8GHO:G'.6 M?.SQ#O3>KQ:+M*[M.$-7<;H8BU.8Q:NT/Y/P":PD6>?K+.9T@2[YDI9(Y"8: M?5EWX#U%YT7"*$GHW$ M4%2TO*>CZ8\_8,?XI8_K#9C=@-73X?W4]8AEV(9S.KG?IQ4R:@@)%@&!26R: M.S;-@6P>P^ &T]D;= _;KF?(0SY3S5ROPTH/DN_YEBV;A:K9&%N6+UM%/58> M=GUK9R8-D;4;(JOQ,P\,D>A"<>VM1)V+<6FVGM<35S-_+%FVH&4E)K=/ZY1_ M07]=LRQ#XMKU$)>+O_N&SH(L?DBP !(LA 2+@, D]NT=^[:V0;*4=7,HW4AF$=BUD9AOLK8%THW)8&NUF6RK.OE2C34_N385P[:X$/+P5;F M0M&5CD4Z/0<9,X0$BX# )**='='.MR2ZCUQ'X<-VNE/;3)O5T!X^)F((&3$" M I,H4N5]'V6I=UDO[3&$C,N!EFM3/)8]3;,JK%ZB@O#Z\^>TAYG&G>4P9UP+ZHN9K18LJKF^0>DDQ M>X0T$W8DJU M:QK$ZY(#*@>!HH7'G4($%51FI]5ZL%[LN1!W'!LV>FE0]17B>^H-!J0D$H"B MA:!HT9,#(M/0*C%8+\6$Q4*SOO N+D\0<1IUFO3R!"EPS+"JJ;@>=ARB/ ^ MQ@U!T2(H-)G15JC!>J6FP^A1++KJTH#E.*[9;3?53EEEP*H(XQO$WUL9V(ZY M:C>V+-?MSE(]9C;VR:'";_4.K!<\CEM;,[%FU%3=P75\;-E^=W'F:,M G_3@ MN@:5/:#09,):X0/KE8_#RV=:DGRUM V/>%UIN,>N6XL!5J4*S[(\16SJL1O; M=K=3HCXS$QNVTU_:I!4%B/$?KJ(1R"?J&2A: (H6@J)%4&AR$;3: =%K!]]X M,4T??7!5].@'V##L3I<&H%%#4+0("DWF>^^O(GK]X!NLJ1'U.=XV2.="/M/G M-;BCCXD9@L:,H-!DYEKI@.BE@_^%I*_/<7 _JVH#=DWE7A$T: B*%D&AR471 MBA=$+UY\-V&?]*D'7EBGDJ_1"HDH6V/2[.I4^\F!N0,6/H\X@@HHI M<].*&D0O:NC50J+J$MA4_G.@#S&8!-#_D8"B14053:3QD$EH)1.BETST6N&K M57F"C,VCN-G+4H\*XF)K8RXS=:QEH,]X, N@>@D4FLQ6JY<0O5ZBZH!/,]0C MEA#+5&3W'CM%+.G#LCWL=_\AUV,WMK#G=.>?'C/BBZ+H%/5D[SV+^KV;=W%Y MEQ85RNBM<#1.7%%4Y>95ELT.9ZOFU8L/C'.6-YM+&HM'IMI '+]EC#_NU&]S M[%XHFOX#4$L#!!0 ( ,V J5:*T KH\PD !LX 8 >&PO=V]R:W-H M965T&ULM9MM<^(X$L>_BHK;NMJM"H,EV8!S"549/%,[53M) M:LC>OE:,"+ZQ+=86>=A/?Y)M,$@=D?$X;Q(,K;;Z;ZGUTX,OGD3QO5QS+M%S MEN;EY6 MY>9\-"KC-<]8^4%L>*Y^68DB8U)=%@^CF(>-YXE+$D M'\PNJN]NB]F%V,HTR?EM@?FME!7H[V799+QO$Q$C@J^NAQ(ICZ5VP=2_1S[G::H]J7K\W3@=[.^I"QY^WGG_7 6O@KEG)9^+]*]D M*=>7@^D +?F*;5/Y33S]SIN NTO%FE9_45/C:TW0/&VE")K"JL:9$E>_V?/ MC1 '!90?N !I"A"S@/]* =H4H&:!\2L%_*: 7RE3AU+I$#')9A>%>$*%ME;> M](=*S*JT"C_)]7-?R$+]FJAR+W]'G/V[^6J A^G,1H5]_^0W]@I(H4"%YN[B7YDJ3L95<0+%XRX>\?@#HA@J?A0-W3]96OFCKSU95J[12O7K M$JT*D2&5*@HFD_RA[FN)3'AY#CVVVJT/N]5YZ+SS?_\+ MC[W_0)+UZ2SJR=F1G/Y>3M_E?7:M;N5K^3Z43T6>9RD'.7[Z/7W^BK6 MS6M3B,=$=3YT__+V]A7TV;[Z=!;UY.Q(^O%>^K&S?45<.8T3ID=#2+6Z='#0 M>";!9&RT,-MH'(X]HX$YZ]$QRLD^RHDSRJM,%#+YY]4H)U8 A$ZF1I20T3@T MHG36HV.4TWV44V>4W_AR6V.-&B+EFJO.4A0O5=?(Q#:72*Q0H8%D*%;#;V$?%#,Z\XJ]Q1D' O2.@49"%%_'VH^6R)5!)1T%I6 M30#Q9_T93*FA%51(K,AMHTE S ;OK%O'R+'7 I;GC/U6Y\@*DQ6EJX!C7I9( M(1,2]Z5(N>2JD3RJC"L*E3!!C/*L(/UP0@TE "L2>-B0PEW7KEHMC;..TIT&V5V]17]Z.!6VQ&#LQ<785QSH'E[K=\>21W:=@^FF\'+:-(0Y" M8@ZY@%TX'IMMZ#W(%;?HBMWL^N5$@O&!OC()S$!MJR&>>%,SV[KKTC76EF"Q MD])4NN4;EBQW(TN3:JN\$V^+0NG@&&T;WT=*>%YH*F%;#;'OFSJ\!TWB%B>Q MFR>;5/MZJ#8K#@/KF0-&YL@3N2O2-="6*/$)I-SUYPU[>;4SV\@XQ%-L/5C; M#'LXL%KX>[ E;N$2N^E2!5QL^=$8 ,9L4^$0>\1NS8 =Q19$N2O5->@6(+&; M(.OF?"ID&P>I_9!MH^G$#/8]D)&TR$CI:JF&*)6XMW"PQ :^X=CS MS?$),*.A9TRI(G>%N@;<"Y1*,%D(USS/G ^[[_"BI--X.5VS: M&QZ'VO(<<>+-[&8/L"E7\Z%33;KQ9HRZ!)MQ V;$IX'YF-\#O4B+7L2-7M<_ M0_3$!BU,J)7. #/?Q^;(%KEKVE6)ELB(_T.+LWH*6+YE\8ST1%>-6'UZB_KR M=JQI2W[$37Y7\=];-=&NUA7$2KN()2@MA73@Q MY]!ST"X8>R;TNZO;58X6 (D; &^W1;QFFH"5&!DKOG.I\0B57''PZ[T,(#XR MH=@2 ;*C_MBRJ0XN6)/RA7+Q*A[TNZ0LMTK2 MNK/%(LM4AB[UDC"X_6@#:^ 18W8]AZS&%L>[:]E5A19KJ1MK=RG8#!O)=2&V M#^OFJN";G:$:M!0"9Z N-@&;] N8#$,:6JJ\QXHF;0F8N@GXCCVCIT2NUR)= MJEZF%^)2)E4*:M9\RS4K="*6,N7U(K&23X_<\@6Q)U; APTH0,#4;!!SR,K: M@777OZL^!_OV;DJ^+1*5?C8LU0V#O302Y$CR(D.I8#D20(S)8-6:MPV M%7@/.J8M'=/3>^W6/.%7/4S]IL6NDK1P M2]UP^VFUXG&U<61T4W>;-=H&HDBR36 MG4S_#HH%4"VQ-I@A*XS-DPZ1.YBN8K7H2]WHVYS5**H)=O+3RMBH2ZQC&W/ M"@>AN?H4N6O>59F6AZF;A^=O5N(,W?.'),]U-].S*5XD CJE]9$"L(M):.ZC MS2&[(+!.R42G[8YC;WF7NGGW1V+G>M/ &36P,8^#:6!Q"F WP61L;LR"_HY4 M/(ZZI5OJIMMKD0^KF _H7@7W9LBEO4)NK]ZBOKP='PAK(=<_M4S;IAAF[$)4 M(C-[I?X0=IPK%&C'A.#0Y@.KNA-K^P:P(H&)TI$[RJXJMI#LGS@3<+P@>@:= MC$'B7C)5KIJF[@= ?9ZB7D05]VGR4)TH@=6RN7A"3#0$C"@U 2IR!]-5K):= M??=I@,5VLZFI6.'A,BGC5)3;HIY@[*:Q2J/Z/+B2 ^S2?J^' WKU%O7E[5C? MEKU]-WM7:P'5_K%N7+NS*.R9EV=Z;@*J:2/UA(;F>AE@-;46A-R5ZQK\P0E7 M-W:;P:L)AQHQP)B!$P/F^N<<,AJ;F\?N*G4-N<5JWXW5;?*INH_82O#$=)5E MX-1B S'!]M,'K+S02L3O0;!W#MF-)_:)-LC."S%]96_3;PG;/W7N MU<#HYL0-&!0 O,2S!F7@:*MGGL&*W-7J^C!;Q/;=9Q.LL'/-W([0[1,(A%A+ M59"5%UCY\ST0.&@1.' C\)W0(/)S\^OF%DKZKTNX_N/^'Q>OZ?6NJE?F_O*"C6'+M7XL5(N MO0\3]32+^DVT^D**3?5NUKV04F35QS5G2UYH _7[2@BYN] WV+\/./L_4$L# M!!0 ( ,V J58#AH&$J@4 #X- 8 >&PO=V]R:W-H965T&ULM5=M;]LV$/XKA#L4'>#Z14G:(B\&G+1ILZ%H4*\KAF$?:.ELL:%( ME:3B>+]^SY&2[ QIV@_;%UL4[^6YN^>.U.G&NAM?$@5Q5VGCSP9E"/7Q>.SS MDBKI1[8F@YV5=94,6+KUV->.9!&5*CW.)I,7XTHJ,YB=QG?7;G9JFZ"5H6LG M?%-5TFW/2=O-V6 ZZ%Y\5.LR\(OQ[+26:UI0^%1?.ZS&O95"562\LD8X6IT- MYM/C\T.6CP*_*]KXO6?!D2RMO>'%57$VF# @TI0'MB#Q=TL7I#4; HROK#5X-1$$KV>CPT6[>41O/$=O+K?;Q5VQ: MVV,4&9M;BV M6N6*_.DXP#T;&>>MJ_/D*ON&JP/QWII0>O'&%%3P??L/?!K:51?\<4#,6%-1ZQ%KN,W$L14G:IC#2Y MDEHL\)) U>#%G_.E#PYD^^NA#"4 AP\#X 8\]K7,Z6Q0LR]W2X/9TR?3%Y.3 M1\([[,,[?,SZ?UOJ_\F5>%CSMY+0O[FM:FFV+)];<,AX*OBI+1,6J[XBRJ2! MU94*BTL4Q;JAN#+Y2,!)8V13*%9C8*7T8DED!#)?2X>WRD2?KH!)0EN&,JY; MQ+53\%1K8%Z3(2>UWO(^U2'I!F#^9*+]2(\8U;PBA^#%LZ=/7F79Y.3M?'X= M'Z-\P\D)-EIP#7O@'4?K1L> HB7>7%#>.!54*_'F+B^E61.H6U7* MQ[G9.5J\N>C\C,0[NZ%;0BI\DY?W4H61R/,2]K06LOB" 11I/8QY5CZ&;@U" M!03#:AHZ0.%XXY["IE0PCDP.NVS86IFV'I4T&/DL.12&)X( #B'%2BHG MZG_U&NOOJEM;KU*70@SS-V8$!Y5K\\/9R*4OQ0J'CH]VV8 R >FO! 25+?PH M\NJ[5/*[YD;)=8/A)4IRA*A\:1M=@#>"#T2.$S:^-":=.)$R(;GXCF$&S)+& M,E$"FPG#51Q\:W[5 M@%];DAC@E\KGB.S/[@ZF5+>IDJFJ5&(HHE=_$-QK9RM(&4]B0*P MM?4[FC[&T+;^7;6@M(LNV^^"\\:BP;X4,C6 M'%%JQ.3=T==&@61[1Q4W3X[!@FY@"WS%C@SEYGD><#467^S2MWLW=*_@&.H. M#>":' W [7Q+[62.\P%6]F+@$+C;GL>RH/&KD;A:<4X+&QE2\>=!:NN(,AEJ M6SWBCQ6(I%WV4@4'P*?I-AXG<;@S)?9&>M0=/72Y&>_=:7%HKN/-W8M(XW2] M[=_V'P?S="?>B:300+MW6TR+8.MZ0ES;@OAT?2\QS M
'TF3LU;3HRD0 M+3Q7I3+SH+"VGD:120NLA EUC8HMN:9*6#[2-C(UH<@\J"JC)(Y/HTI(%2QF M_NZ&%C/=V%(JO"$P354)^KW"4K?S8!3L+F[EMK#N(EK,:K'%.[0/]0WQ*1I8 M,EFA,E(K(,SGP7(T74W<>__@F\36[.W!1;+1^M$=+K-Y$#M!6&)J'8/@Y0G7 M6):.B&7\ZCF#P:4#[N]W[)]][!S+1AAC2+D\H5Y32SR+(S!XG2GGC5$2=O$(_A6BM;&+A0&68O\1&+')0F.Z6KY"#ALJ80XM$Q M)'$R/L W'B(?>[[Q&WP^+A_G Z> +/_ 5J*!'\N-X7RD]N=K07>CT_C3 <630?'D$/N_U.J_$,.%2 MGYBO(=A NB'NXB=4#2?9V1U+C21U9D"J3*:"D5.X M+PCQQ<\#7'I9 I?^6A K2$Z/X9+=E+#65.M>=A*',1RYY8R7>R%;H> .*YEJ ME36I98_70C4Y5[8AIWNMPV.XNC\/X0-K#3]V8, M&/!A=TTWW XC:]EUZM_GW;SC6+92&2@Q9RC[/PF NAG2':RN?=]NM.7\^FW! M8Q?)/6![KK7='9R#89 O_@!02P,$% @ S8"I5B>2:;+: @ %@8 !D M !X;"]W;W)K&ULC55-;]LP#/TKA#<,'>#67XG3 M9DF I%VQ'@H4+;8>AAT4FXZ%RI(GR7&[7S_*3K*L2+-=;)+B>WJ417K2*OUD M2D0+SY609NJ5UM;C(#!9B14S9ZI&22N%TA6SY.I58&J-+.] E0CB,$R#BG'I MS29=[$[/)JJQ@DN\TV":JF+Z98%"M5,O\K:!>[XJK0L$LTG-5OB ]FM]I\D+ M=BPYKU :KB1H+*;>/!HO!BZ_2_C&L35[-KA*EDH].>(E"."*2\7/#Z>VV=,!]>\M^W=5.M2R9P4LE'GENRZEW[D&.!6N$O5?M%]S4 M,W1\F1*F>T+;YR:Q!UECK*HV8%)0<=F_V?/F'/8 Y^$;@'@#B#O=_4:=RBMF MV6RB50O:91.;,[I2.S2)X])]E >K:943SLYNY!JE59JC\4&BG0266-U:D&T8 M%CU#_ 9# K=*VM+ 9YEC_C<^(#4[2?%6TB(^2CBO]1F$D0]Q&"='^))=B4G' ME_RCQ!>XXB83RC0:X?M\::RF._'C4,4]X> PH>N3L:E9AE./&L&@7J,W^_ N M2L-/1^0.=G('Q]C_ZXL<93BL[S4M[ 6 T8D8RRSFP"S8$H&:%36H C)E+)S4 MFLN,UTR(%Y54KF!Z,(?Q!<01WZ2#H@DBE)_.$R< M%2=^-!S!H=L0[/5JA7K5321#M372]FV[B^Z&WKSO]3_I_<2\97K%I0&!!4'# ML]'0 ]U/H=ZQJNXZ?ZDLS9'.+&EPHW8)M%XH9;>.VV#W*YC]!E!+ P04 M" #-@*E6J$&@(+8$ "M"@ &0 'AL+W=O4. M.RNE6V$QU>NIV6H6M6=JFVDGZG>-K+C*TVF;UNA[RZX M4;OS232Y7_@@UQOK%J;SLZU8\S7;W[=7&K/I**66+7=&JHXTK\XGB^CT(G7G M_8$_)._, 4W.DZ52G]WD77T^"9U!W'!EG02!X88ON6F<()CQ92]S,JITC(?T MO?2WWG?XLA2&+U7S2=9VG\S)JU1C_#_MAK-9,J&J M-U:U>V98T,IN&,7M/@X'#&7X#89XSQ![NP=%WLK7PHKYF58[TNXTI#G"N^JY M89SL7%*NK<:N!)^=_Z)4O9--0Z*KZ5UG1;>6RX9I80Q;0F]5YW=&'K3U5P_Y)_"MM' ^-[ B_BHP,56GU 8!12'<7)$7C(ZG'AY MR0\Y3*^EJ1IE>LWTUV)IK 9L_GXJ#(.6]&DMKI1.S594?#Y!K1C6-SR9/_LI MRL-71WQ(1Q_28])_(&E'Y3UM[7<"-6XO[U"<6Z6M<+N&URA92SMA"+^5:E#V MAI[+CNQ&]0;"S(M3NM)JR70I=&WH^LY8;@U]5%8TH]S L:L5O>:*VR5KBC./ M@8A^IJ@H@S1.025)4!89B#B*@W@VHT5=2U_N+^F36O:ZHT7UI9=F6'SV4XF# MKRC+0O^AL%&V'0I-:^ZJ.T*^.].(!X>?1T$:9B_&\9L6)@-*X]$^6!?&(6P# M9YK^/VU)///?8RVH ]G0O@X>QR!)9SX&45 4"7UBVH@;IDY9I*92&I5(Z_M\ MR78KI'9)2UD4(/ N?&$0(_"7_M*%I9J'U)B-W!K*PF VRRG-@RR;41JD M2>'7P)IF01@FE 6S<$8?M:@1>M$R%>"(\5\F"=3,W+QP\P)T'"6(P,NM5A7# M/5=U0E<;7VQ[EWP=I6$X0L/1C^[KD+0CN'AH\?8X>OP%2+OO>\P#"J,=?(T8M#U/I%EXO)4AB5=X_%& MS@-:<\=:#%>3J/$L2G=3N_<=TK*T&ULC55=C],P$/PKJX 02-7ELVU:VDKM'0@D3E1W AX0#TZR;:QS[& [U_;? MLT[:4*1>Q4MBKW?&,W9V,]LI_61*1 O[2D@S]TIKZZGOF[S$BID;5:.DE8W2 M%;,TU5O?U!I9T8(JX4=!,/(KQJ6WF+6QM5[,5&,%E[C68)JJ8OJP0J%VX,V=C M<$XRI9[CWC+0KAB$C&[R.GUV_I@.?C$_O'UCMYR9C! M6R5^\,*6/0S='RY$J9]PJ[+C6,/\L9851W!I*#BLGNS M_?$W4:ORCEFVF&FU ^VRBZP8+^,)9Q@6W',W,MT3LEOW\2++J2*(72&*X5]*6!C[( HM_\3X)ZE5% M)U6KZ"KALM8W$(0#B((HOL(7]R[CEB]^@6_-#BP3:(#) EK+3!CXN#=)3T&"X)A6VVHKTU6+8G M3?$@2D((HT$:COO<'=.:27N@U70<03(()Q/X4-5"'1"!ZB=_@KK1>4FE"[5@ MTEFSFF>-4V2HW&Q9HBC(P#"."3],ASTY'9O536X;[8P3A]XZ'>,194?)!+ZV MZM@Q&_?.*25$@TD)FZ#_@>Q^ -02P,$% @ S8"I5GGK]9-G!@ &ULE5A=;]LV%/TKA)L5#>#:ENS8;IL$ M2-UNZT.W(%G7AV$/C'1M<95(C:2;>+]^YY*2+;=VE@&M18F7]_/<0S+G]\9^ M<061%P]5J=U%K_"^?CT[6KH:DLR#XNJ8ME>;^HI?TV@\W:E5X_C"\/*_EBF[) M?ZJO+=Z&6RVYJD@[9;2PM+SH726OWTY8/@C\KNC>=<:"([DSY@N_?,@O>B-V MB$K*/&N0>'RE!94E*X(;?SUN3O+ [;K7_&&)'+'?2T<*4GU7NBXO>O"=R M6LIUZ6_,_<_4Q'/&^C)3NO K[J/L!,+9VGE3-8OA0:5T?,J')@^=!?/1D05I MLR -?D=#P4/.VW7FUU;I ME5@4TJ[(G0\]5+/ ,&O4O(UJTB-JQN*CT;YPXKW.*=]?/X1+6[_2UJ^WZ:,* MKVH[$*.D+])1.GY$WW@;YSCH&S\I3JES<4.E])2+*\:%\HJ<^./J#E( RI^' M,A -3 X;X.9Y[6J9T44/W>'(?J7>Y?-GR73TYA'W)UOW)X]I?WJ9'E5SV,F# MNCGOJ=B?NBZE%K_B7^;-'5F1GH7RI'UQ3T+FIN9T2K1J=U'-BUX\?S9/T]&; MH/3[^3";O#D5W@A9JI469FU%9IP7K2BA+WR!M?DZ@Y4%(B"RHU(QC^TVIB6P)X9L3(2 M"U/54F]$(1W"RVP3FG$ZF*4;#ZD]%@O*_ F^S+2^8XEJ[ ^RYDH1]S?S+K&.0O2H?4 M7EN@02RDS1U\6(&Q?9^5GQT2OMTX3U5'D'T])+PPMC:H K+VF41NA#9>T$.- M:C%,$ 92*_-R%)P5JS (<8HV:HBRV2/9'?!$<@3FMP1 5QV@)WM _UZ; MZ^(\.230!7K$)P6('($CYV:+:_H&FHRY#$]3JAQ?8"(CZ[$-(Q5ZO92M88Q4 M&?F-BWQG4,HC90L&#U2IZ8)M \1@$W"G M/M2QD$A^@)'ED,@ZHS658J]?6$?HJ_XVN'Z,-*B-IXMMKX$NKK:(+#< -ZA# MVHYK,7.M]34V2_CWA>+IQ,2DROPO[/LBDR!JY3>A:FT<@ P(D!4N P5Q*(7* MBEUM4)*PA0FT \X+(>!.+'AWR\U.RMR!;W=<]Q@]'43T(_R4I(-9V]4MA;P: MO'HBA41B2 ?S)[,(2)D";UG%H(-#)TF'X?#^-(;$JIU1I7>YBCL.$/U];OL< M6M)=I32:V!N[X4:7RK*?L:,CUG?SWYC_CA#A>-@*.Y2V4\FSP:?"E.V>1\%6 MO^W\#6A3-;:7ZH'W:.?([]L]P++_AUP/80-X,EZ6W\RT>-GCHD#/[-]1F&WQ MK>+A8&'0.YKKO-AQ4,,4,=5(S <-.% $AF23);9NL'1 D5D[6'2GKP%[2[1W M@!4X?JI2-,=/\5%:M%@ZC<>=/;2V2(RA'I]9< 7AD@4$]1KQGXC9"#\O)F>G M>*1G^!F_PD\RXL\)QMB5*!CFQ.1\TC%U*/E$3*>\FG>3)'TCDLDT_+_%W089 MZXL5M@\+H[Q0YD"JXF,M;RL(:30=B6F*08)0QFPYG;/%?C*>X#D?AY$Y M2=FW6<+.)6,^&[;$RE7;KY/,,KN&T:9%?4AJ%9-*!Y+Z7U5YW[0GPFJ[]K9S M0%ET#B@H=-M,,=OO*(L[]SAI:A9BFG""VZQU1W'NYB!0YTA"^NI,S$=-6A;2 M%:#U3839BZ0_2U##5MF+Z?@T?)S-3\4O1K_,6!S]YLL S)T@E++D##_C)#W] M)CW(^&QZQ%V>.72I&';N@17!>[[M@J+YB!JOA-NOVPOU5;Q'[L3C;1R07RGT M74E++!T-9F<]8>,--[YX4X=;)7H8=]0PY.,P61; _-(8W[ZP@>V?&2[_!5!+ M P04 " #-@*E6HD 7R8\, ")0 &0 'AL+W=O)(8B\5^:)$M MJ=V2J:\*<\NXGY_?2[FY49K:OS@9G]8,/>KDJZ<'%ZY=KN53WJOQ]?6=Q M=]%0276N"J=-(:Q:O#J['ES=C&@]+_A#JZUK70O29&[,)[IYE[XZZY- *E-) M210D_FS4K:9PU+VMB^KJG_R+I#E[ETZM9D'W5:KEZ=79Z)5"UD ME94?S/8O*N@S)GJ)R1S_+[9^[1"+D\J5)@^;(4&N"_]7?@EV:&VX[#^P(0X; M8I;;,V(IW\A2OGYIS5986@UJ=,&J\FX(IPLZE/O2XJW&OO+UCU);\8?,*B5D MD8HWRNJ-)$.)=X4K;07[E^[E10E6M.$B"61O/-GX ;)#\=X4Y;[1+,N,JJYSXQ_4< M6L-5_GE*9T]R=)HDA<^56\M$O3I#?#AE-^KL]7??#";]%X\(/&H$'CU&_<\? MU*-D3PO]+%[BXTH5:J.L6!OG]#Q3D2A72BQH\X8V.V$6PE16+'0ABT3+3$CG M%+82U4S+N2 M]65Q *G9>0G \XH0&2O@BX63B=^C:Q 3ZDNRDL6R$1ZO-B;;D-5.6>=%1Y*X M+4E5XA3^K6"F9:$7V%F4D(P\0>),@P4BH':R(N6"E8-Y2<;:ON%L\:1UM%%G M0Z&PDMS$JK6Q)4FX2B]^A9"'TG#/;.<]N,HR0^(C U:DH3"E6K@204.L15 Q!.> ;^U M)#2DTVPK[.88"8$4-7Z,%[7ET\K6BOHHSGT&4I2!!/*'YIV4/V@;K=N1,_KW M;U2B\CET'/HUL<>#1%J[([)[0+N5;A6)ZR0Q%5D;TBK-9QO!NH_N/[=D?=\Z[%9JXD$\37^PIKM M85A\K\F]3>5 U/UPU7&%&IMKCZK=Z3=30B\OSA4?NE"?*YQT1LGOBNH;M:OC M;X'X<.);,1I%T^D4%P0+@_C%P55X>6OR7%G.AFNYAA/4*T;1:#KNW(4]G5>S M*!['XCWSYO#<0_V5^+UWWT,(LL'(=/$X&HQ&S>;Z;WA\JX LE@&/4G]@)S?BLDLFL4# M7 SZDZ@?3W!%G' _G4#)?CO8KIXM0-LUOX]_.+KW0K2#\*D=1QCZWPVN>!#% MT]D#P15>/A)$+\]FDX/KP&*,O7LGC*=1#.][?BSV![-3L4B/GXK% M:7]R\:CZ'+4[]X&10;]832[; ?C+.I# MX*\+QLED='#]/PG&X734N>L$XV@2Q;-+"KY!',T0?$TP3OI1/!P[D.+BYIV O4-6M*)0($TVNK'FBKQ9(O5[@%P>:H! MZ;4#Y'[OJJ@>DPRFU8L=RY&?"B/*Y4TE>@YNYPY2X%M7ZAM8>FX.ZAIY@U+0H&K=K@R>F8U.U7$GY-LRKJ_J M?5M-Y07SR[A8;+=2_ZK2)3'MB1MK/JG]+IB86TF:G*'QV**;ANCM;HF64&'= M*.\;[+TB]8*]*F3$KCJ0-Q"?[R5@XCF\DR9K/"+;L#?L?<-;S6\Y#QRZ-B2H M6AJ++B>E4ZIAOKULKA))O4C+Z<"Y\:A.\_@L4\*=WD&=--54KJ)&1KO69ND; M$31V"VS49"?$6=B,S:L+$/0W_'FC%F/0Y%"S.2Y43 M\ ,]JZXNU)QY56 (I5D<@+TV*75'=2]*%V0F.LQFH(-&$(3K0PEH^X&L>@^T M?0AO]#$N[]'P$'O"T9 P;60O@=C\A5RI:,AQI-"?ZY@4: 8T,$W;7ZD1>[+AR5!A%%V@9Y$ MK%2Z5*YN,<-3DL291/-Z"H00[5VN/O2\$?RA_ *P8S(!M3P4P#B2U> 1BH?2 MQSWJOCG,NM$5/WK!H%!Y=)*GQ6L91;9C@#0"^V=WP_SB5WX1'GQ=.-2I]VV= M>EMCS-M&1 2--Y1/*$X!2SR(FK1*/-.-A)=53BPS,X?+-P/#:\?=IZLRM/U; M/_Z#6B8,".M.&Q0601:O(,#2*KMJ%3\]N<4_[X("T MZHB$15(HPB0Y'/K!6).PU0^7$/@P^]+*W >GGF=I]\L9 DI&E'Z]U _J( M0I8NAIL0A(@^8YRP-> @S^, M=GSN!>CBU:]AZ(ST["=\S\50DO0=;^.3F0/C1)-WR4^.TO"^I.AQ+_CUQW%X M%-U\$_U_'L2?+)[(FJ#AVPO-B1(QJZ0M(*P+M8QP$N>SEWR[THG/NVRR]"! M/6JZAD84)O5[0O1U36B@^45$=P?[+3 MW,K3C5V=>I](5#78L^NMC>:R[YI2YM<(@0*?OA\P,B$9']/*GF5BW40>[P:P9_/7EF-!W(R*=T*&9WJ'Q;DZI+ M"W%'LQOBVSRYS@EVC^[?5M:(-] ;=!-M1/Q,.KW1S33&D7QN'_P_I[JDS@: MCB?X?S2-Q5_E6A84IG]'A\=OAU%,0ZG+F/8/IU/Q-V@K"_$1HA#Y030=#Z+1 MK(^KX7@L?I-ZB]=M!J-A-!H,\7XT'',7>&2P0]AI!5E S>;[S**+*RN-:LLF MJUWP]QU3X'?UA]^Z@3VHX4-U=/PAKZ[=_\3'AU],<=[] (&D6W_9]0A"\,9> M4V#UT9?L^K/HG:4RL@2BKC/J5;G:^5SI-45Y)'XR)F7/IN?HDQ <],6\J:F. MOVH0M^Z7#;T@O&[B-P!TH %PFWOTT*0N36(\!@5TXQG ELSVB;KC.=G:?V"% MF-Y5>R';4;](2J6(L\JYT&30S&T2OF^A-/9?AFY7TG)J.?43AXO6[U)RA77T MZQOD)7)[_Q.5YFGS Y]K_[N6_7+_ZZ#W8$,Y,E,+;.WWIN,SE%S\BQM_4YHU M_\H%>;8T.5^NE 3^T *\7QC('VZ(0?.SI]?_ 5!+ P04 " #-@*E6X/%J M]&@$ #/"0 &0 'AL+W=ON98LO&^<;%;'TU32T MGE69C!HSS6>SDVFCM,U6E^G=G5]=NBX:;?G.4^B:1OG=#1NWOMJOB>XQ_MG<=J.J*4NF$;M+/D>7.57<\O;I:R/VWX4_,V'#R3*%D[ M]TT6G\NK;":$V' 1!4'A]LBW;(P @<;W 3,;78KAX?,>_;>D'5K6*O"M,P^Z MC/55=I91R1O5F?C5;3_QH.=8\ IG0KK2MM^[S#,JNA!=,QB#0:-M?U=/0QP. M#,YF;QCD@T&>>/>.$LN/*JK5I7=;\K(;:/*0I"9KD--6DG(?/;YJV,75@_)> MV;B[G$:@R;MI,5C>]);Y&Y8+^N)LK /]:DLN7]I/P6*DDN^IW.3O EZW_HAF M\PGELWSQ#MYBE+9(>(LW\.Z\*[LBTB!15?'W:]I[ MZ.7KT-(I%Z%5!5]E:(7 _I&SU4\_S$]FO[Q#?#D27[Z'_FY.WK5\G=<>CAZ8 MW&;#GK;/$4%C%.PCNI?:/EZ!E"W1;X7S)2DR6JVUT3#'!*!8,W&(&NW )6VZ MB%!2X8)8A> *G=YO=:SW3G94&*4;?(_)&K8,]$>V'9,.R5%E];]<'M'O^#Z: M/3O&+FF\DKH6=&N-IO"Z4(;XJ66OV1:<.+O.C^2@-+DS\&1D< + M8FR%V4//\NE[IY)7K"NOFCX<6!0< H=)\C*2=&NC*Y7F"U@J1+>0 *QW(]Q& M:2../4C!6KAY#>Y=$+^"+6G2D%"RP8#RNY&CQ*GJC/)F1XVS&K)'6,^08T-* MRLA&T&00IW0J&BI@3)QGD](C8;/0HDOP_31CCRA@6X,5W+ O=)"T8,R7[-4::?FG*RO, M_2A9&?*I;=77'GBE"+\(JU0.PG^P=\C7<^F\63@HC: ;C2B/A">H95"$#-P? ME=>N0Z/ O9H3@5YI*LB^L]ID^:-;_;2$AK(#0(*420,#<#G##_B!!E6S<.K"S$AH\ M!6=TF;S?1]R:P?:S!10?T6VM;/5L^DJ+;AFY4%*.!K_Y0#]C:ZP1-U1/^'"! M_'CF%S\,PKC7AC#NORA?U)2?3.A&&95*+B*2E;964BFA0+)<23_2(:)("L)A/3N>G'^2>+YEQ1KX_/O2+Z-KTRUZ[B)9)CS5.7.QE [YOG(O[A3@8SW"K_P!02P,$ M% @ S8"I5ALO%ITX P #@< !D !X;"]W;W)K&ULC55M;]LX#/XKA.]P6 &U?E,2M4L"--V@/P7J[^W#8!\5F8F&V MY$ERT^[7'V4G:0.TV7VQ2(I\^%"TJ.G6V.^N0O3PT-3:S:+*^_8JCEU182/= MA6E1T\[:V$9Z4NTF=JU%6?9!31UG23*.&ZET-)_VMJ6=3TWG:Z5Q:<%U32/M MXP)KLYU%:;0W?%&;R@=#/)^VX>_%6[=,QE")2MCO@?E4SF+DD (:RQ\0)"TW.,-UG4 (AH_=IC1(64(?"[O MT3_TM5,M*^GPQM3_J-)7LTA$4.):=K7_8K8?<5?/*. 5IG;]%[:#+Z>,1>>\ M:7;!I#=*#ZM\V)W#LP"1O!*0[0*RGO>0J&?Y3GHYGUJS!1N\"2T(?:E]-)%3 M.C3ESEO:513GYTM+_;7^D<&REMHSD+J$]S\ZU=+)DZK13V-/B8)[7.Q %P-H M]@IH#K=&^\K!>UUB>1P?$\$#RVS//FAZKS'R_]? MU<=%P[_7*^ LHDOBT-YC-/_CMW2')I#RYX[%(8NKS.8PEF#;Y"6)N:IH#2&WBC-%E, MYRC,G5T!=5C50!U^AP4V*[20D_(Y@/X.Z82E^?A)6'2J+@-*V%[M%=6TUMQC M2.^ <\8Y#\MEGL&M+"HJVSX>LX1,)+0_AFPR9JE(X,8T;>G-;J(<@.)HR+E+XCGL!GI(E1F;H\9B>%D#%SD3(@<^$2Q-4@IWCLZF*+JFJV4XR!*I2862PTBCM+(Q MUJN?@^%-SC,V&>=G).4C-DG3,_@3J1OMJ69!RE.69@FM&,C 7_UE*DIEX)E=,@DB4LFN("7_O3XV8QJT&[Z2>SH M%^FT'\;5P7H8]M?#C'MR'UZ*6VDW2CNH<4VAR<5D%($=IN^@>-/V$V]E/,W/ M7JSHP4(;'&A_;8S?*R'!X0F<_P=02P,$% @ S8"I5IF"/2.J!@ E1 M !D !X;"]W;W)K&ULO5A=4^,Z$OTK7;G4+:@R MCNW$))D!JF"&NSL/4Y."F3L/6_N@V$JB&MORE60"^^OWM.P8AP*6A]U](+8L M]=?ITRV)\YTVO^Q62D&RSK2R%#74M*\RLM2F%P]!LQK8V M4N1>J"S&212=C4NAJM'EN?^V-)?GNG&%JN32D&W*4IC':UGHW<4H'NT_W*K- MUO&'\>5Y+3;R3KH?]=)@-.ZUY*J4E56Z(B/7%Z.K^,/UE-?[!7\JN;.#=^)( M5EK_XL&7_&(4L4.RD)EC#0*/>_E)%@4K@AM_=3I'O4D6'+[OM?_A8TE*IJ MG^*APV$@,']-(.D$$N]W:\A[^5DX<7EN](X,KX8V?O&A>FDXIRI.RITSF%60 M_MKK(I;&__S9/XME'NOFK4>Z11)63GSZ]1M@Y?=(EJ& %HWD^=C#. M*L999^BZ-92\8FA"7W7EMI9NJESFA_)C.-U[GNP]OT[>5'A5FY"B.* D2B9O MZ)OT2$R\OLDK^KJH_W&ULLZ +/]\*<96Q?1E%5Q 'VPM,GDQ0H58:>[EZ/+W MW^*SZ.,;#DY[!Z=O:?]OINI_8H@')1Y^GFYEW9ALBU6T-'IC1&GI6T7?,J=7 MTE!RYA,7!:0;0]=:F)STFCXK@W+5QI)HW%8;]2\8$>1V^O11"D-UJXJ<1D?H M#30U?SA*(U1(4; K4(4.9!W\5=6&LM8SZSW#4KU>6S2\6CM9.24*RE71^!C6 M1I>DK&U$E4G+>@YD&Y#7>)?]^'3E4Z$*L2JDEQVBYV-R6V5[>//6\[6R&29\%,_#LQ[5 ME@ZK!O7'$2!X+X!@UH7*GO$]T(X)M0P9[9-D3G$#_3!*BPP&^G#DP^ MN>KS+&S\6(R M!<]@L_0Y"='*L".HC'%H>]N/2CD[_+QGD')TS!TSB3[>WOWP;_''D_;HP>WS MB6.R[:<*?E9\+J&Z0+7LV*Q%8@HD1A$=+X+C-9 M3$D:IO%^[A[A8>IX$@6S-#ZAR32SA3W*2Q[U.#/_I''@.BT' ^U1=W48&T#/[.MDO>^R71BZ":_N'L,[&7@B31*^*('T3S;*KU? MVFKT?O1PYN^O\; 398*##$7#*T !%(IG(^O @B<*B14**:0;L%P_0G6+V;+? M:YE&7ZKVM-[6?5_!+]#P335[D&_NELL>X^<4_>X#')[MGN7^KJU@;KR\K<51 M$*7I$Z=%QVE WG7403]5P/^(@-(B>4LBQSZE&_#$MWB&;,UET3::EWH57GA5 MSA6$^?VF %O'TS!)3EX_X]R]MC/#]#B\3&46T"VL@*@!=^LT7?-C?O5O?.(%D&R8!]FZ!<1JAP'!KVI_$'AV3'2 IDK]WP_XXPU0ZE7 M;1URE(YSO C#^3G ]<"%FP>6EWV/Y;%O2B^V><9TL@AF9S'%X6)^T*#,RP*+ M8 I4XQ _?=6U\T^$YZI;S%.*PLFD _1]$B\>"J6$IL MU7PAMN3+I[TU]E_[._=5>]5\6MY>V,&ZC:HL%7(-T2B&ULE57+;MLP$/R5 MA0($+>!&#S_CV ;L-$5S2&$D;7,H>J"EM46$(E62BI._[Y*2%0=UW/9B<\G9 MX2S)'4VV2C^8'-'"4R&DF0:YM>4X#$V:8\',F2I1TLI:Z8)9"O4F-*5&EOFD M0H1)% W"@G$9S"9^;JEG$U59P24N-9BJ*)A^7J!0VVD0![N)6[[)K9L(9Y.2 M;? .[;=RJ2D*6Y:,%R@-5Q(TKJ?!/!XO>@[O =\Y;LW>&%PE*Z4>7'"=38/( M"4*!J74,C/X>\1*%<$0DXU?#&;1;NL3]\8[]DZ^=:EDQ@Y=*W//,YM-@%$"& M:U8)>ZNVG[&II^_X4B6,_X5MC>U& :25L:IHDDE!P67]SYZ:<]A+&+V5D#0) MB===;^15?F26S29:;4$[-+&Y@2_59Y,X+MVEW%E-JYSR[.P+W?NU3%6!4**& MNYQIG(26F-UZF#8LBYHE>8.E"S=*VMS EYT?DJ)65K*3M4B.$LY+?091 MW($D2KI'^+IMF5W/UWV#[XIIR>7&P')7)/R8KXS5]"I^'JJWINL=IG.=,C8E M2W$:4"L8U(\8S$Y/XD%T<41LKQ7;.\;^SW=RE.6PQD/4\#5'6"M!_4E'!):M M!%*_I4JF7* !2\O& 0U4!C/@$E(FTDHPZ_#4$SP%2<3\A=CC@^(R^:J,H0T[\>D1".^>DM +X$+:%X"W#"=YI ,?)C O6\ZS#ZP1]3D(7_H M5$59_4WE<-B)!@,8CCI);P#S+(-26926,R&>:_UD'& PK32WG.CCT3DI2OY+ MP-%S( E)OP_#\TYO,(*[EYVD\FA1N:-@_BZ>R>4 M&IT-^P'HV@?KP*K2>\]*67(R/\SITX': 6A]K>BHF\!MT'Z,9K\!4$L#!!0 M ( ,V J59(PT_ND ( .0% 9 >&PO=V]R:W-H965T'"32V+-/X+MK-M_ MS]E)LX*V2L!+XK._[[L[^^[F6VUN;8/HX%X*91=1XUQ[%L>V:% R.]$M*CJI MM)',D6GJV+8&61E(4L1IDIS$DG$5Y?.P=V7RN>Z5BCT=A%- MH]W&-:\;YS?B?-ZR&F_0?6FO#%GQJ%)RBH84-7]CVV.,T@J*S3LN!3!%(KOH_ MNQ_N88]PFCQ#2 ="&N+N'84HSYEC^=SH+1B/)C6_"*D&-@7'E7^4&V?HE!// MY6LM)7=TR\X"4R6LM7).W+A@7$QR*UZN?09N0PN2*"Q\%:56/[. MCRFT,;YT%]\J/2BX;,T$DND1I$F:'=#+QGRSH)?]2[YPSFTAM.T,PO?EQCI# M1?/CJ5OHG=N(;Z@3D"C3Y7"KE MW5UCJXT#F@&^D6&:O/H(-,Z(A?" S #Z8H5S+%!NT$#6:Z<3RK0F_@5S%(I] MZNGBOL/I-O3Q1CN:"F'9T!A&XP%T7FEZH,'P#L;!GO\"4$L#!!0 ( ,V J58" MT&PO=V]R:W-H965T=P*IM$F:ML!!)> 6W4FL%L'>KDZG^^ FT\9:Q^[:#H%_?S-V4PJ4 M?DEL9^;YO?',Q.>ML3]CAJ5;:7?0J[U=GPZ$K*JR%&Y@5:OJR,+86GJ9V M.70KBZ(,3K4:9DDR&=9"ZM[L/*S=V=FY:;R2&N\LN*:NA7V^0F7:BU[:ZQ;N MY;+RO#"(51+CRAC;8I&1>-\Z9>.Q.#6NKX%D_K M.&PYG"0?.&1KARSPCAL%EG\(+V;GUK1@V9K0>!"D!F\B)S4?RH.W]%62GY_= M(DERYT-/6+PR+-9^5]$O^\!O!)^-]I6#3[K$\K7_D#ALB&0=D:ML+^#ER@X@ M2?N0)=EH#]YH(VP4\$9[A<&_EW/G+9W]?[LT1HA\-P37PYE;B0(O>I3P#NTC M]F:__9).DM_W$,PW!/-]Z'LBO]=O-ZNUVN\(BD=4+D(!.B\\0C"&AL[)@C;Z MN!"Z0"7F"H%JVPHO]7+M)I86D4K..Z!ZA\+4-=I"$I;0)4A=4D):G@;,/@@' M+144O]E>P,K84&QF :9A $LK3**BAO&S$=:C=:!,06L,"+=4D[8VEL"NA9*$ MHJ48P!=R5E%3)1Y9#S<8)DH M6/\%+R!"3RCL*X?^#E38^V M^.21K)H53[(D>@XX9D(Y$_=Y$Y"UK(:JT,REHGDK?;7%)H9MBQ.#!LQ2EA1M MOR$B]',7%8L:6PIBQXW"8#J]:ZP0?:&*1D4V+]^5%,1$^F<.NJ_P'9I0U&BA M"9*9IA>,'W49388+A4^RPZ" M$3.8B!+:>/(9JZ>H4 ;/.EK*^F(\8DS@0E6 ME'0ONWE:D+09=>H!?"4^;6B$6!Y3/"WU]9W1"@)9U+N MR1K',^&%5+(J#-( M!>O.$!C[7=N4TA6FT22"\XUA1H/3[-=(BC)Y971(;$*,//")_FR.D4A]R&". MG(-#4NTKTSC:RAV=D3\5Q:MV]X;29V&+"K))F&9PNXU^!E_>U%BW[0'YGXXS M>F?]+$OAH:+:.0[!>6V8CJ>0)_!-4.5QT;[^.LTGD(]/ LS)>!S>T_04;AK? MD"[Z9QNJ%#H!3[AXX/+NMP'/?A^,.F MB^AT )-^>IKP)(>3?II,>#BF89*>\'!"!I,\Y>$4QOWI>,*'2,FYH/# J)^/ M4OAJ/&W4R8LQV8@<$6K.)^'<&947>5$OA,.< CTZ@CMNF\3L4:@&F96FR\]' M2*/^*44S(A6-M>S8=;G#:7^<9D=K+LKH93R_MVVUJUE)43W@1,F3*>SZA0RW M?N34>9?ANN(@Y'7\IV]6-S>BRW@1>#&/URE*RJ6D E6X(-=D,!WWP,8K2IQX MLPK7@KGQU-["D)LT6C:@[PMC?#?A#3;WQ-G_4$L#!!0 ( ,V J5;ARS\J MI 4 /0- 9 >&PO=V]R:W-H965T; M!+&+]W;?[D*7&^L^^X(HB,=2&W_5*T*H+H9#GQ542C^P%1E\65I7RH!7MQKZ MRI',HU&IAY/1Z&Q82F5Z\\NX=N_FE[8.6AFZ=\+792G=]H:TW5SUQKUVX8-: M%8$7AO/+2J[H@<(?U;W#V[#SDJN2C%?6"$?+J][U^.)FQOOCAC\5;?S>LV F M"VL_\\O;_*HW8D"D*0OL0>+?FFY):W8$&/\T/GO=D6RX_]QZ_S5R!Y>%]'1K M]2>5A^*J=]X3.2UEK<,'N_F-&CZG["^SVL>_8I/VSE[W1%;[8,O&& A*9=)_ M^=C$8<_@?/2"P:0QF$30@.7Q7L MPOP#K34WYH/P2(#LFD17(S.>KP MNG(#,1KWQ60TF1[Q-^V83:._Z7%F8NEL*6Z!U4$!B&XHQ&V,*SGQU_7"Q_6_ MGPM \C][WC]7RX6O9$97/92#)[>FWOS''\9GHY^/H)]UZ&?'O!_+RW<9BH]. M&B^3]"NG,A)2:YO)0+D(5H2"4%-.88,M"L M2987TN2"'@.QQ,1&.G *VZ^^[]YB;NV:7$#; *(4"$>971D5 Q$*&80$ &.# MV*+EY:31%'#X0'PB'%6A67!X&J,OB%I5.?NH4/^DM^+L]>#L%8.VM?LV9R%] M!T.9O9CGT!Z<+)7/I&X">WC0Y&QP_HJ-=GMF_?D(YRUU,#&?-C@^QAAYQ8:6..#4RME<&Q>N^8[NS*$ MV$HP=$*3]PUL[>WN;&72/(F->8%A 21.R86.V?<* 6H^=J(E$Y1CRDB/A)BL MQG,-C0?EEPH;GH<\V-7^0FK^"%ES1" 2)AJU^U0II=R*7"VAS-1 PH&%,FNK M,GX!F*SI)GX@KK/,UB9PUC-2Z\A'Q3?K6,)0'SM*YOQ>\O:^,) BW,K$=Q,I M@(O(H$P5A+;>$[M_QF]4:=[*"S%0-NM%=;!!K:M.!Y3KJG>%UM@MD_/BY M>Z="4<(CPJ&(X8]*124WC $#MP<.'Y?]7KHCOJA8?#OH8E&0=PAEN8"K:5J= MI-9T,AF\Z1H;[SL9[Q;ZX.JY1R"T>ML(V[%R*NM8I#:! H8<%Q"LL7%J=,A*PV.NM4\]2.9KU.Q+ ]J)Z5+[B6Z8;DKM=0%&(O-5*36M;E] M5;Z \G]$+-4/F3@X2&*>)$=-RV+M/XWJ73M@6I!,Z'V,ZAZLE\#^5_G,OM;/ M=/22@ ;BKG:QBW!W*1R1*-.E*DV\IZ-WK^)/QK/!Z' $)W9QR&UDIX;8'+*7 MN3UAPI'PB#;*TBZ"9*5T]A<\)U=D4*GXGS76ZR>^VI]]#[Z3#1X [XO+;@U+WQ ]T-O_B]02P,$ M% @ S8"I5KDY>CFC!@ 4@\ !D !X;"]W;W)K&ULM5=K;^.X%?TK%]YVD &XMD0]G1>0R (LMOUB\7'ON>>^2/-T:^P7M]+:T\.Z[=S99.7]YG@V M<]5*KY6;FHWNL+,P=JT\IG8YG&[74M]K_O/ED,9OM4>IFK3O7 MF(ZL7IQ-+N+C=RG+!X%_-GKKGHV)/;DSY@M/?JS/)A$3TJVN/",H?.[UI6Y; M!@*-7T?,R=XD*SX?[] _!M_ARYUR^M*TOS2U7YU-R@G5>J'ZUM^8[=_TZ$_& M>)5I7?BE[2";P6+5.V_6HS+FZZ8;ONIAC,,SA3+ZAH(<%63@/1@*+-\KK\Y/ MK=F296F@\2"X&K1!KNDX*;?>8K>!GC^_WFBK?-,MZ58O$6SO2'4U?>B\MAO; M./T]S&OZL1ORCT">SCSLLO:L&FV\&VS(;]A(Z,IT?N6 6NOZI?X,?/>DY8[T M._DJX,7&3BF*!Z#K=Z(VQ(1C_NKASWJ)D_GW(W0$M M/8S&;73L-JK29Q/TB=/V7D_.WWP7Y]')*US3/=?T-?3_4<)>M7'8@S]N^+JW M5*T:O2"SUZUUU82&7JLOVM+1F^]**:.3R^OW5V$8G[REQI&!ZF50_?"@JYX[ MEZX7BZ;25M!V97 >W'.#/D,&472B(V\"]MX2:-[A-"+5MJ;:B\) I09"G8; M%XR91<#Y9,V=IDME:[<3"]9Y[_;1>;W>KT_I\XH)@/"6$4;L<&PVOX$UZWSM M^-WC 2IT5 -'61?8KDSO8-2]/88)J_6+QB2T5=/2V%9TI6RU(IF'J7S!?\?W MTEC8XU"P)]>@9>FS\:K]@](W^EYW/1S["\6R$(DL,4HC$9E@E!0BGL98*U+ZP1KG:&/-HO&4)B*'5S(219K342+D/'Y+ M>2RBHJ2B$' 2BB*-"CJ2(BFSMS1/A90[&,1^B1 FZ32AOU(63PM\DGR:X9.6 MPZ*<2IX5TQ*?ZZ\2!";WW"*]TXN^14+VG<)%RR6/TL--&/+&]3=49IBBBEC@ M>85R%'?09M]C*+PI76I4 =ARU9HN5.0(\'79*%0W&JQ%9=7,H]9H:-PT*/U] MZS$.+N*!JVH-U+>-7Y$)25QKY7K 30^FN.FJMJ^1W+X;6Q!V] /C8='J=J # MRVK-I^]O@Q7P;3JONF7#U\M\ZH@NP31[:I!.W"P M.N,YA35WE&:+HP-HRJ=T"#+L^N%3QQL1DG'@Y'C*G1V:@CA@2_;X>;T<[O6M M0CK=>'(X.OH_M/RWVWO8 <07[8_IH^F[&J3?J/7FA/YAEDW%G8E+.\OERV[= MK\5QBI;_KUX>U][?7%QQ?Y;S:+\[3I-4I$FQ7QVG'UOE5I2)LLCW6\,LCD4J MLR>48;IS8[<\'C_C9P\^G#;C9W#YX*'UZE&U.Z ^-^OQAM@EV^K*++M0I\<< MY1IUB'JQJG,+;2U7.ZX-VACT1CC1\0QA1CCZNF$$423Q ?Z^./1*8I+ MD6*G'*Z- DIS2J0H0!EB4!(Q6E;@'L%M,EPU')M4E"6P M@1,Q3A;%Z))6/;I&,>,$5\P\#64I"TB@&^*"\E*2E C0G/ZN\,^#$"+D,!$E MNQ"!=($\%&6&WPQAF2/9DC[T%@<\ITGFE(LHBK#!8QFVL1(GQ+11[Z@\A1.$ MI?&"@T2<1O LP2_P99GB//O5_8/Q8G@G/8D/K\VK<)T[:O4" MJM&TR"9DAQ?<,/%F$UY-=\;C#1:&*SQZM64!["^,\;L)&]@_H\]_!U!+ P04 M " #-@*E66.'J](T' !]$@ &0 'AL+W=O]P74[>-T1!/+;:^(M1$T+W9CKU M54.M]!/;D<&;E76M#+AUZZGO',DZ'6KU=#Z;G4Y;JCHU'_X%:MF\ /II?GG5S3'87?NQN'N^F@I58M&:^L$8Y6 M%Z/%T9NK4Y9/ G\HVOB]:\&1+*V]YYOW]<5HQ@Z1IBJP!HD_#W1-6K,BN/&I MZ!P-)OG@_G6O_5V*';$LI:=KJS^J.C07HQ]&HJ:5C#K>[L1CB6AC:^ M2*&FTW!.&4[*77!XJW N7%Y)K[RP*W'CR),),F-E:G&GUD:M5"5-$(NJLM$$ M9=;BQFI5*?+BN_[J^_-I@">L;UH5JU?9ZOP+5H_%!VM"X\5;4U/]]/P4$0QA MS/LPKN8O*EQT;B)F1V,QG\V/7]!W/,!RG/0=?T'?/]U:&O570F,LKJWQ"+;> M@?,$+:#W3AEI*B6UN,-#0M4&+_ZS6/K@4'?_/810=N#U80>X%]_X3E9T,>K8 MEGN@T>6WWQR=SLY>"._U$-[KE[0?SOHA)_\/-?]J"+U6V;:39LL54UDDV7BJ M^:K@B)O5 )DRF5QZ+''S#JA9-\X!OS?51,!0-#+6BL]R"AKIQ9+(".#328>G MRB3#KH9>0A^%)MV7PNV<@KE.HW379,A)K;?\GKJ0SP8X_KM)^E,24V2+EAQZ M0'SW[3<_S.>SLY\6BYMT>73V?7*CB\Y'[I%@DP87V0*_<;2..D65-/'+.ZJB M4T$5B;>/52/-FE!@;:M\(KK>T-W;Z][.1/QL-_1 ;@SNK)HG>('#F."@3VLA MZS_!&*GXQ@ELY5/HUB!4N,89>.'XQ9,#FT9!.9 <]VC83IF2E%8:<#1+ MCH6ABKP'A0OX(:182>5$]ZPC^/PNQ9WU*O<2Q$"8"1%,%E?P830JZ1NQPI3P M22\K4"8 _E9 4-G:3P07UU?KR>]:$"G7$10C&G*$J'QCHZY1-X(G&,<)'7]& MDT=$*IF037Q%,3O,DL9RH016CP(8S$&QC8[9:"X6QD0'M"D4@S(UJIH'8I^K M7CNB #KTV*&J./BB?A517UN2;O("_9P,]'/R(F^\4[X"(O^&ND.D\["B7T#@BT>;A1SS\ M!$:7TJ*,KB3X03HTXOQTG V1Q%VQ!OFC8N*I6QN%_$ A1],[+HYGI7Y>R-GI MD+/3EV'G)O]#ZDB'4O;BVMO/ =G*EHXMV#2B] MI])\6LFETH5+4>$UH?[;A%#TS&V?HN4"QJIYC]T6(%=9HP)Y!,7 ^1T;H\J_ M).]5JS1J94]ZY6Q;]LDB7Z@IIU.DE3/EQ"URU(1R1WPF7X5L"_G0 HQ.&F\K/(9 MU>_ Z.XR=XKS>/5@]0.C=@B=LV>>S/<]B0%9^(L TVY=M$O.L41."P)E<"&X M@G*!EWWL\2VYQ9.]U(Z?'3#&-/J-0'K,KL?L22AZ!5VB<&JN1B[*GU8&1G MJ8J? GM\"-AH/H.SWS4&:513:&QMM5UOD]XRB%+[V(W)[LHE?I6Q-['MLHV^ MV"6@Q&XD>;)MTH1$F3*H##N#/(2Q'\4V_1ZJ>P)=$@AT?S>1#Q*99;F:Z<;Q*! SK3C.)\5GZ%%67E]Z?K*W3 MD.7G[S&,S9J'UC"2/B]$MO:\&-4*R.UF%2/C!QUY]5+XX:0X7.OZ/3SO=+S% M&#[>RGN<$4N><\QQAZ;[=.^3 '["K-.'#R]2?>2O \/3X=O*(G]2V(GG#S-8 M1]8*9*%IA:.SR3^PG[G\L2/?!-NE#PQ+&X)MTV6#[9H<"^#]RH+"RPT;&+XX M7?X/4$L#!!0 ( ,V J5:B1?2)N ( +@% 9 >&PO=V]R:W-H965T M%@R;>%=0=A,J[8%E=H'ZN%IEW8L62\1&FXDJ QGP33_F@V M=/;>X ?'O3GZ!Q?)1JDGM[G/)D'D!*' U#H&1LL.YRB$(R(9?UK.H'/I@,?_ M!_8O/G:*9<,,SI7XR3-;3(*; #+,62WL4NV_8AO/E>-+E3#^"_O&=O@I@+0V M5I4MF!247#8K>V[S< 2XB5X!Q"T@]KH;1U[E+;,L&6NU!^VLB%L,EQ6<)IY7N0=2_A#B*!V?X M!ET*!IYO\ I?$Z +^)%RH2V]9,O1P*_IQE!B4OO[5- -Y_ TIVNED:E8BI. M>L6@WF&0O'W3OXX^GU$\[!0/S[$G*VK-K!;HZ^7?"-5I@=I5DCK)'2]QA[+& M4\K/<]^QM' $5'O(E:"FY7+;OD34E*.I4+-56: RXRGC) C6!<:\<6[ *HJ%T!5?6":%,37EW!/;@3,E:Y4^S[C MJ!?!A5MN:%DSOF<25ECR5,FL3BUY?&"RSJEHM7:ZYZIW"=_6MSWX0%I['QNP MXQCT>U=P<:H8X5$W4AF3C0;JRK?FQME*;_^MZ#1BMH9T'VNE#ULG(-N6"?_ %!+ P04 " #- M@*E6[4V:Q98" !^!0 &0 'AL+W=O&F$-#.OMK:=!($I:FR8.54M2MI9*MTP2ZZN M M-J9&5?U(@@#L,L:!B77C[M8W,V$&B.IX$E>)<4%&NHBP$J?@ZE,((Q_B,$X.X"7;7I,>+_E/KZ]PQ4TAE.DTPL_YPEA-P_%K M7\<#8+H?T EF8EI6X,PC11C4S^CEGSY$6?CY -UT2S<]A)X_D #+3B"H);Q1 MOU1-JR0Y9A_?@XC[^?X[ 3X4BC1G+);N9%LC+)4@\7)9P1&7%%&=8;(TQQ.@ M*^("Z(JNL,!F@1H2QHHD%=]4HR:I MJP4#;.M(\=Z?.YZ/=U)]U3618;=MT^F366W,]F@^UV5-+==OY98ZO%E+U7*# MI=K,]581KQQ3V\Q#WT_G+1?=;''L]B[4XECVIA$=72BF^[;EZNZ4&KD[F06S M^XU+L:F-W9@OCK=\0U=D?M]>**SFHY1*M-1I(3NF:'TR6P9'IYD][P[\(6BG M']#,>K*2\JM=?*I.9KXUB!HJC97 \;BA,VH:*PAF?-O+G(TJ+>-#^E[Z!^<[ M?%EQ36>R^2(J4Y_,\AFK:,W[QES*W:^T]R>Q\DK9:/?+=L/9))VQLM=&MGMF M6-"*;GCRVWT<'C#D_D\8PCU#Z.P>%#DKWW/#%\=*[IBRIR'-$LY5QPWC1&>3 M&Z@S++,R[W@ MTT%P^!/!$?LL.U-K=MY55#WFG\/(T=+PWM+3<%+@,C_P6.B'T82\:/0\ MZ'+1NI>$?MKN=)& 3]_'PK#H"4^K,76U)'>\I).9B@:3>J&9HN7 M+X+4?S?A0SSZ$$])7URA1JL>1LLU&_U9W;%+VDIE;.K8%6U00T8?,GU2^&'3 M'VI1W[7H00O;<3E60(B#$(O+ JVK"KAJOP- M^R)7O>K8LOS6"SULOGR1X^ [EB2^^Z*>4:T=ZDLIZLH[ANQVNN&/#K\*O-A/ M7H_/GUH8#9@,1_M@G1_ZL V<]4]C$,6%BT'@95G$ M)O"4C'A*GHVG'TKB$((FQ1U&T .Y?"BU'2F:0LWC&/P8]Q^+]Z.26@,"9=_V M"#15[#?<;X=WSV^%-J+;H)??X([:8MM067>RD1M!VL4< 09L0"6 6^JHPHL+ M?_\RCAT\D\!#+FU&?"]$+L]<^X:EBH9LZUIL-4M\KRA2%J=>DA0L]N(H(5?L&O%*V(=;XEEX CQFT<1U!1VG=EU!CH,(D3@S5;)DN">C3-7 M9>W:VMXE5YJQ[X]HL_33-%KN;\".HM!,,4 M%@13P$M'X*7/!MZR15<1_PSU<7Z+\4/3(>Q-2CR,O4>B:1#M>I;HRJ;'/06" MR5ZQ,XE;"R\K2VG9B,KAY0K9ZGH'N3RRB,K]'/V[@6L;CVVH(\6'ZXI7& 6$O93L3 -I29S9W]1RA5Z4 MY<,S+::2DXW)R9Z=G'/42NMB\2B6S^T7DXH.Y^RZ)D:CUG5O[)7,GRC''(: M&'K3(!XVBT]ZC(=LVPS;.A?_72P>$Y/WV <,!TC%GV"V<>A17I=D1^ *U0YS M]LTZ]G(4)Q8QR#0(+)F #-/7AZH/3C(0:QT[M9T%_K[C!%(J ML;P07^:<./"(]^4 MUBWXBUG--OB$]GN]TC3S>Y:"5R@-5Q(TKN?>,IS>)"Z^#?C!<6M.QN"<9$H] MN\GG8NX%3A *S*UC8/1YP5L4PA&1C#\'3J]/Z8"GXR/[Q]8[>DNY3?11<)EK:\A" <0!5%\@2_N[<8M7_P*WXKM6V_ 9 &M=R8,_%IFQFIZ M(+_/6>X8D_.,KFBFIF8YSCVJ"H/Z!;W%NS?A*/AP06_2ZTTNL2^>J B+1B"H M-9RYJG-R+Q*>EWMD%B>/(%=4>,;2*J6V)<):":I@+C=PQ26MJ,;0(9KW4Z!+ MX@+HDNXPQRI##3%-CJ2YJJB#&-85(1U[AA+7W!IX2[<./3& MZ1B/*#I*)O"U5<<.T;AS3BD@&DSBD 0E04CFZ#0FJ1LDT2 ,AW#N7?@G)5PA M97&-RMU"(VU7S?UJWPN770OX%]XUT@<2R&ULC5;;;MLX$/V5@;HH M8L"-;KXUM0TX:8O-0Q>!G>X^+/:!EL:6$(K4DE1<__W.4++K!(Z[#Q:'Y%S. MD&;(%HH,?E51V%A3.U3=A:+,"*V&O=8V*=C;:5,+1U&Q#6QL4N3>J M9)A$T2BL1*F"^=2O/9CY5#=.E@H?#-BFJH39WZ+4NUD0!X>%9;DM'"^$\VDM MMKA"][U^,#0+CU[RLD)E2ZW X&86+.*;VR'K>X4_2]S9$QDXD[763SRYSV=! MQ(!08N;8@Z#A&>]02G9$,/[M? ;'D&QX*A^\?_6Y4RYK8?%.R[_*W!6S8!) MCAO12+?4N]^QR\<#S+2T_@N[5G= REECG:XZ8T)0E:H=Q8_N'$X,)M$;!DEG MD'C<;2"/\K-P8CXU>@>&M:S#6F5%NX M*X39HH6K1[&6:'O3T%$,U@RSSM]MZR]YPU\*W[1RA84O*L?\I7U(V(X DP/ MV^2BPT5MKB&*^Y!$27K!7WI,./7^TO^5L% Y+%$*ASDLF""E*RG_OQ=KTB+& M_'/N!-H @_,!N(IN;"TRG 54)A;-,P;S]^_B4?3I OS!$?[@DO?7]Z6ML[#> M4PZU-HXO#5:XI:)QYX!?='T>^*-V0E+UG4;-.I;0DP!K[0IP!?+U)/XX28A? M&=12* NERF1#I" !=&,(/%%$65H@R6I9YOX:5HX&SL""WL"]RG2%L$.#(#BD MI&>$"$H^7*$;2Q%M[P8>"X/X@GI Q"DE=,2!;\)D!22C?@OTP>@UPITPN875 MWE) "VVJ;^_P83,D@\^H&LK_-QA']+D:#'LT)$/ZI!_I$T>\')-,MX4^,!], M3G92UYP:#& T8NOW[R9)G'R">##ROQ4]3W1B?=BB0D-!V5#D5/@E$Y)?,$HI M&D4P2DB(*964(R<3CMB/TP&-D]1/DGA,XR!A;..8P<4I7*#@\$C!X44*KJ@Q MY TQC<[B)1T7668: MU5TOXI44\\UIS[27W!)=3$\(I!\3H6J) M@&>(\"LF?:EJJ??(=?1,-Z RDIS.GC[PV\]4K:@?6N%;RKTB)CAM]AU#/F.& MU1H-G73',W\/ R;%X:9/I79O>;:X)G1QR< M'9Q=C=*>7QQ/>O"'5A\R5K?HG/3%]%.1G++FF#YIG/1>'0^Q9#QZ R[OG.-/ M>-)^*B3TW&0M9+I1KNU$Q]5C'U^T[>NG>OLG@,IT6]);(7%#IM'UF.ABVL;: M3IRN?3.C=X=:HQ<+^B^"AA5H?Z.U.TPXP/'?S?P_4$L#!!0 ( ,V J59_ MYF$R& 4 #P. 9 >&PO=V]R:W-H965TW*!J B"7JS7(3 XG38MD:($C2%L.P#[1$VT0D424I._GW.TJR;*N. MDP'#/MBZ(^^=]_#E;"W5HUYR;N ISPI]/E@:4XZ'0YTL><[TJ2QY@3-SJ7)F MD%6+H2X59VFME&=#ZCCA,&>B&$S.ZK%;-3F3E#QP;$,]X8JP%AI\5G_(LLX8PC)^MS4'GTBKNTAOK7^K< M,9<9TWPJLQ\B-R 0HGE38R;Y4Q M@EP4S9<]M77841@Y+RC05H'6<3>.ZBBOF&&3,R77H*PT6K-$G6JMC<&)PB[* MO5$X*U#/3+XPH> [RRH.K$CABBNQ8K90<%UHHRJLO]'P\8'-,JY/SH8&?5K- M8=+:OVSLTQ?L>W C"[/4\+E(>;JO/\18NX#I)N!+>M3@1:E.P7$)4(=Z1^QY M70&\VI[W>@&NA$XRJ2O%-?QU,8]MC_!EAH1YQ&YM7:!K>@^^3*(J0^/!N1%WZ:8]J)ZMLTB>=[QV(JY'G)#VV:E4I53H M F;2%FHS'7AD%,=]]L4">2[QW*#/MHG$(Q+YT=8SM<9KV?L>_7ONC#8?]I MG:]>L_*X2TH^Q!@KO(8Q)3%TD7"_\$T0NR!\3>,*JY//<,&\!ESTOP47=0F-XA? U4X> 5<3 M<,N^6$_JDY'O]-DV$=?Q2#S:!6-,\,;V+\$8AOX>_;^ T8O\'M<#HQ\2&H\L M^%Q*8@1?!\;0(=1S]\'XMHSW@.3&WLF!D5?@>%CKR-D?=&=_\/:SO\UFBN=M MW74XL&8JQ39I4SETX!^U?_CF\K#D[?%MC_4&5Z62*Y%BWJ)H'@;U#7N&MWZ0 ME4+Q)K9D$]N\C6U;9A35!B\!UB:K$;9_%>A?%+HT-^G!K<6C]=N-7.2R*LPO M_.=*2;C"#)B"R^H9\#1R'-_N4SZ>W<[>_#V^#VRO!;C%X#E/X7=6L@)+ 7_R MHIGU"+4;S8A:?0\O!']@MJR 'QB*->^2*'")C]V(9V(0P ,3:YS>=>![Q'<] MG/>] [UQ7#G1H^87]3O%HWEPWR:RWTWVCV-+IH7P5:\>5?A;K@0A8:,SU'5 M.8VP!53S5FD8(\OZ?3"3!E\;-;G$YQU75@#GYQ(!WC+60?=@G/P#4$L#!!0 M ( ,V J5;\'*3*K@( ,D% 9 >&PO=V]R:W-H965T"J1YL2B)/#S'%+EHE'XR!:*%EU)(L_0*:ZNY[YNLP)*92U6AI)NM MTB6SM-4[WU0:6=X&E<*/@F#BEXQ++UFT9QN=+%1M!9>XT6#JLF3Z=8U"-4LO M] X'=WQ76'?@)XN*[? >[<]JHVGG]R@Y+U$:KB1HW"Z]53A?Q\Z_=?C%L3%' M-C@EJ5)/;O,]7WJ!(X0",^L0&"W/>(U".""B\7>/Z?4I7>"Q?4#_VFHG+2DS M>*W$(\]ML?1F'N2X9;6P=ZKYAGL]8X>7*6':+S2=[R3P(*N-5>4^F!B47'8K M>]G_AZ. V7L!T3X@:GEWB5J6-\RR9*%5 ]IY$YHS6JEM-)'CTA7EWFJZY11G MDT>F-9/V%2X>6"K0#!:^)5AWZ6=[B'4'$;T#,8);)6UAX(O,,7\;[Q.=GE-T MX+2.S@*N*GT)03B$*(A&9_!&O<91BS=Z!V^C55YG%O9:.1JXX283RM2:[-^K MU%A-S^//*>T=='P:VK7,W%0LPZ5'/6%0/Z.7?/H03H+/9XC'/?'X''IR3RV8 MUP)!;>$.,R4S+CAK7S.=7!=,[H@_E]!7\0=G*?G8UU-2SB8[+>4HAZHU-(<\ MXI '&M0(S,!6"6IP Q?D:@M5&R9S,YC#0Z$1W[P0H/IR 53?6Z:S J+)$-9, M,)D1D(44=UQ*+G=.8X6:JQP^0CP,KZYHC8:S8 RK+-,U$X9 1E32<3:,6>3H=PZFJ^4?M5:+>M4/$0*9J M:;M.ZT_[.;7JVO._>S?D2#&I,R!P2Z'!Y73L@>X&1[>QJFJ;-5666K\U"YJU MJ)T#W6^5LH>-2]!/[^0?4$L#!!0 ( ,V J59E?0*X1@, /L& 9 M>&PO=V]R:W-H965TM&!) B=YHF\EL M W':H@.:P6C:[<.P#[1TMHA2I$I2<;)?OZ-D.S'@&OLBWAWOGGN.1YZF6V._ MNQK1PW.CM)M%M??M;9*XLL9&N&O3HJ:=M;&-\*3:3>):BZ+J@QJ5Y&DZ3AHA M=32?]K:EG4]-YY74N+3@NJ81]F6!RFQG41;M#5_DIO;!D,RGK=C@(_IO[=*2 MEAQ0*MF@=M)HL+B>17?9[8(%_][A3XE;]T:&4,G*F.]!^;V:16D@A I+'Q $ M+4]XCTH%(*+Q8X<9'5*&P+?R'OUC7SO5LA(.[XWZ2U:^GD4\@@K7HE/^B]E^ MPET]HX!7&N7Z+VP'7S:*H.R<-\TNF!@T4@^K>-Z=PYL GOXD(-\%Y#WO(5'/ M\KWP8CZU9@LV>!-:$/I2^V@B)W5HRJ.WM"LISL^7EOIK_4L,2R6TCT'H"C[\ MZ&1+)T^JIGMQ\56L%+K+:>(I8XA+RAWZ8D#/?X)>P(/1OG;P05=8'<1G >]:>PUI%D.>YL49O.)0?M'C%?^O_./JX>^[E?.6+LX_ITH?D-EI MY/"8;ETK2IQ%]%H,YK_^DHW3W\[P9@?>[!SZ_)$>9]4I!+.&LS6<(GX6 M^C3QUQSM(0<>WY+2T$MU'JO R=<(:Z/HR4N]@0NIR6(Z1V'N\A:HBU(!=?$] MEMBLT$)!RN< ^@ZR29P5XU=AT4E5!92PO=HKLFFM><*0W@%C,6,L+#=%#@^B MK*DF^W+,$G*>TOX8\LDXSG@*]Z9I.T_)7UU"@#-KOQ46@8WCT9@#&\4\*^!C M9[7T'=F#TUH^!]G!)&8\H^^(I? 9:3S41E7'[/@D+C(.G.#2%!Z[U94W7BA@ MO(@Y+X!->)RE&84[1V=3EEW3*1$.LD+J0"G%,+\HK6B,]?+?P7!1L#R>C(M+ MDHI1/,FR2_@#J1OMN69!QK(XRU-:\[BX"<>@Z9)W_9"\DOJ*HDMB B,Z_BPG M=C$;^& M@?;J/OP6'H3=2.U X9I"T^L)#5([C-I!\:;MQ]O*>!J6O5C3WPEM<*#]M3%^ MKX0$A__=_#]02P,$% @ S8"I5D1@G4BS! R L !D !X;"]W;W)K M&ULC5;;;MLX$/V5@1L4":"U)F2&O]TI_-UM$"\]5 M*29M9*5]S2J]Z,S$XC+[Q158Y8&$Y&%1=R,+OV MWQ9Z=JUJ6PJ)"PVFKBJN?]YBJ?8W@VAP^/ @-EOK/HQFUSN^P27:Q]U"T]NH M0RE$A=(()4'C^F8PCRYO4[?>+_@J<&^.QN B62GUW;U\*FX&H2.$)>;6(7!Z M/.$=EJ4#(AH_6LQ!Y](9'H\/Z!]\[!3+BAN\4^4W4=CMS2 ;0(%K7I?V0>W_ MPC:>Q.'EJC3^'_;-VF0Z@+PV5E6M,3&HA&R>_+G=AR.#+'S%@+4&S/-N''F6 M?W++9]=:[4&[U83F!CY4;TWDA'2B+*VF64%V=K:T*O^^566!VKQ_E[$HO8+[ M'[6P/X'+ OST'[<4=@%WJJ)4,-SOYOD7OBK17%R/++%P6*.\]7C;>&2O>(SA MLY)V:^!>%EB\M!\1^RX$=@CAEO4"SG=Z"&$4 M9W(,7=UL2>[SX%;PV_+_G M*V,U9EH]^ M%%U=-$7F=J\F<36H6@,VVREDCM)5(.Q*+F'/#=!OK4IJ"^;2TS;PS1<1N9D_ MH::> !\UEQ8HLQ$^<*'A*R]K!/)(UO0=Z)PJ.I\S@,TB2Z@'@\S-+#)/6]-0H_G[$@ M8?&% XXF'0E*/U%"FWY$()JR(&.I0YF.H4?NI),[>;/<]\O%HE?=?JA/LFGC M34[4OU$;+-J4>M\2UT %DZ\@_*.32?][XI^V6HR/Z[UW[9J MN>6482",J6F.16$0)LFO%.!M"NR(D7%+87<@03 YDL(L'DY9GT4A3*YJRJ"U M5A78+<+:9=&3SR+:3A=IKJJ*MJ-);!JX585+.)IWW+CTOL['0\8N>N2<='). MWBQGTUY7_VNOIY3M13U=M\?P^7'W=EI109:U4T5(OP]WBC22#1-I5"D*WG05 M>M I3-5)A#])PL$CG>%N6;MW M?TBK"O7&WR$-^,;27+2ZK]TU==[GFYX=;NFJC=@MH?JV4/;PX M!]WE??8?4$L#!!0 ( ,V J59G\#\_]P( ,(& 9 >&PO=V]R:W-H M965TW; M[P:05L:J8AM,# HNZW_VO+V'-P&#Z). 9!N0>-YU(L_RDEDV&6FU >V\"Q\?$K6&7[+C-TL. DY+?0I1W((D2MH'\-I-O6V/ MU_X$[XIIR>7:P+RI]M=T::RF]OB]K]X:KK,?SHW,T)0LQ7% ,V%0/V$P.?H2 M]Z+S V0[#=G.(?3)@D8PJP2"6L$%$VDEF&]E,F^K C6S2@.3&5RB5-0UU."8LFZO*D*-Q-X\..)V5?V1/>V_LA3%67U+Y;]?BOJ]: _:"6='DRS#$IE45K.A'BI M^9/$@,&TTMQR@H\'9\0H^2\"!^^!*"3=+O3/6IW> !:OF:3RWJ)R5\'\6[R0 M(E8B@YQ2PA*1-)"X-C3C5IS$QKU_"-KE"[K;UZ&J):25M+3+/; M"/2TUJ57]UK=Z3G67!H0N*+0Z-3IH:X5LS:L*KU*+94ES?/+G#XRJ)T#G:\4 M7?76< F:S];D+U!+ P04 " #-@*E62PZV?VL# #[!P &0 'AL+W=O M6\12I$I2QUC+Y(,R3GS)D+.;.=TE]-B6CAM1+2 MS(/2VGH:AJ8HL6+F6M4H:6>C=,4LJ7H;FEHC6WNC2H1)% W#BG$9+&9^;:D7 M,]58P24N-9BFJIC^=HM"[>9!'.P7'OFVM&XA7,QJML4GM)_KI28M[%'6O$)I MN)*@<3,/;N+I;>[.^P-?..[,&QE<)"NEOCKEM_4\B!PA%%A8A\#H]X)W*(0# M(AK_=IA![](9OI7WZ/<^=HIEQ0S>*?$G7]MR'HP#6..&-<(^JMTG[.+Q! LE MC/_"KCV;30(H&F-5U1D3@XK+]L]>NSR\,1A'[Q@DG4'B>;>./,M?F66+F58[ MT.XTH3G!A^JMB1R7KBA/5M,N)SN[^!TI) .7SVPET%S-0DN@;BLL.H#;%B!Y M!R"%!R5M:>"C7./ZT#XD,CVC9,_H-CD+>%/K:XCB 211DI[!2_L(4X^7GH_P M[YN5L9J:X)]3,;80V6D(=S&FIF8%S@/J?(/Z!8/%SS_%P^B7,P2SGF!V#GWQ M1!=MW0@$M8$[5=5*HK3&:9XZ?'RE&VCP%.VSP*=I/Y<(Q8$7X;U@ZP5VJ!&8 M@8T2=&&I,[@$6ZK&,+DV5U-X+C7B001?"%:>Y:]FAWE TAR\<> M9ISG_C^*)W"F3'E?IOQ_E^F^L0VEZ8%+7C45+-FWRF?S,^5#MR&;4_4ZZ^%T MO3I75>>JWKMJO"O5:)!*?BB8+%#XA*C##)L?*LI\U0^+=ESE>VX*)N O9!IN M*M5("X_HWGCO=-,:7C?$CM M0VS8A@H+Z2!+8WA6EASMPVNKV0>9$FKF>LB8*7!)5F@L7&;4(ND5+%V2B-D+ M$XTOBZ0A]AY2.IA0'[1(1:.U,ZRIQ]QHN!P-\CBYZK@();=MYQVE$@2U'!?< MY7^TGVTW[H'\_WHY%NDY;+@TQ MV)!I=#VB'M+MJ&D5JVK_O*^4I6'AQ9*F,VIW@/8W2MF]XAST\W[Q'U!+ P04 M " #-@*E6YG:EFE,% !1# &0 'AL+W=O+U(52FAA(T\NZ+6B0I-O#L ?&IFVALJB1 M=-SLU^^C)"O)D'@;BKV8MW,_WSDZ/MX:^\6MM/;T=5W5[F2T\KXYFDS<;*77 MRHU-HVN\+(Q=*X^C74Y<8[6:MTSK:B*B*)NL55F/IL?MW86='IN-K\I:7UAR MF_5:V;LWNC+;DQ$?[2XNR^7*AXO)]+A12WVE_>?FPN(T&:3,R[6N76EJLGIQ M,CKE1V_20-\2_%+JK7NPI^#)C3%?PN'C_&04!8-TI6<^2%!8;O69KJH@"&;\ MTJ$VE;\TVQ]T[T]KX,Q4 MKOVE;4>;12.:;9PWZYX9%JS+NEO5USX.#QCRYQA$SR!:NSM%K95OE5?38VNV M9 ,UI(5-ZVK+#>/*.B3EREN\EN#STT^-MLJ7]9*N]!+!]HY4/:=WM=>VL:73 MWT.]IH]UE_\0R(-K=5-I=W@\\3 @B)G,>F5O.F7B&64QG9O:KQS$S_7\,?\$ MA@_6BYWU;\1>@:>-'5/$&8E(Q'ODQ4,TXE9>_(R\/@9TJ1MCVZC\=GKCO 5V M?G_*W4Y:\K2T4$]'KE$S?3)"P3AM;_5H^NH%SZ+7>VQ-!EN3?=*G5ZC/^:;2 M9!9TG\5+[8!'1S=WNX0^9?=^R=,BPN;5BUQP\3H\9I(E27CD:<&*/,8NEHP7_#%9@3N9T =KG*/&FD7I*8E9 M!J]$Q&22T4',1,$/*>,LDCE)R> D&%D223H0+,[30RH2)L1.#&*_1 CC9!S3 M2TKY6&*)LW&*)< M[=7P='V<:4"H# V_4S!#RI;&W@%!]RWH:;!M%9J7ZZ'KZ.!_P-SS^.I>(.*+ M]D?TWFSJ.8Q^I=;-:_K9+,M9@ 9:59J)QW 9[CA/@+F_@:F_>WMY>AX DA?1 M\-H?XX0EL1QN^^/[2KD5I2R7V?#4G3AGB4COI73'G1N[ZQ[__3(([^#>+YW+ M3U;-WEK95J#N3PHI"!'/D5G?!8%&$C6"I: $4L30))&L/$@CXCDO#ARJ.$'(F$90DG MCK> &LEDS .&"F B1?@X"2S@/UN5M2*>LP0O>=>W))@*B@63,!ED41X,BG%W MA4EO13\93(1!6BK1R-#.NEX78I.P/(=LR(F"G#3BJ))*W;E2!8MC]+@B:6$I M)"A0#5Q2E@L2 @$JZ$?5( ($7(8LSRX$,%HB3S(/,5OBK 42+:@=QN+#U-( MD\@H8U$4X2'L1?N,&QY3,!MX!_(4.DB@Q@ +"IY$\"S&+^2+/$%W%F&;%UGX MJOJ T_#IPY19S>%CE@:Y>=*: *?"KK6.97GVS6!XJH%/'HQY:VV7[3#K:(9> MX[N);[@=YN73;DR\)^^&[?/V>^*HT@NP1F.)3FV[ ;8[>-.T0^.-\1A!V^T* M,[^V@0#O"V/\[A 4#/\BIG\!4$L#!!0 ( ,V J59%_RIIPP( .<' 9 M >&PO=V]R:W-H965TLFEJI"X0D M7=4E2$E8]R%5BYIU>YCVX, %K(+-;"=I]^MG&T*3C:!.Z@OXXY[C<^Z5K\=; M+NYEAJC@HW<$O33)D%-QB7),4EJKMR M(?3,;5AB6B"3E#,0F$R<:?\J')EX&_"-XE;NC<$X67%^;R:?XHGC&4&88Z0, M ]&_#M9<5D3CG^7<:JVSB7#H08T+6N;KE MVX]8^[$"(YY+^X5M'>LY$*VEXD4-U@H*RJH_>:CSL ?0/.T OP;X?P.&1P"# M&C!X+F!8 X8V,Y45FX>0*!*,!=^",-&:S0QL,BU:VZ?,E'VIA-ZE&J>"&9%4 M D]@(5 B4Z2J!HMA25-&$QH1IF :17S-%&4I+'A.(XH23D-4A.;R#-[ W3*$ MTY,S. '*X&O&UU(SR+&KM$)SCAO5:F:5&O^(FC[<<*8R">]9C/$AWM7.&GO^ MSM[,[R3\3%@/!OUS\#U_T*)GW@V?EJ('WG%XV T/,6I.]SO<#)IB#2S?X C? M%Y$21G_;&IW#G#.IBQ$_E>R@AKJFUY01%E&2PU(OHKZM2L*/Z4HJH>_;S[;Z M5 *&[0),#[J2)8EPXI3F++%!)WC]JG_AO6M+[DN2A2]$=I#X89/X81=[,"$0BVF[UO!/XOX5^(;(J/^Y>:RQ0I/:)D6#;6=4E MF]7F%9O:YNT^A5=/X T1*6429?HE1 MF "]GW"N=A-S0/.V!W\ 4$L#!!0 ( ,V J5;_ND@X8P0 %$; 9 M>&PO=V]R:W-H965T:E7;;1^F?7#A)F$%.[.=Y)FT'S_;4 B(HJ:Z^Y+PXG.X]YAC^^+9 M4<@7M070Y$N18N:NW1-,L],P4KDOV>IWLZ] M2X^DL&;[7#^(X\]0)71A^1*1*_=+CE7;P"/)7FE15& 309'Q\I]]J80X 1B> M?D!8 <(N8/P&(*H 41

0,PK@!CITR9BM,A9IHM9E(^-D%9:C^I EB6 81O!!"1.\'U5I$?>0II#SX>QM-P@, W M:M22A*^2+,-!QIN=')& ?B)A$$8] :V&X7?,P,.)@X=]^0S#8TA&)*)]\%8V M4=W!D>,;O\'W ?@>R!+X,G66/N%_$N>CH+P%M\\Q6=!#_TB89)%B.1M00=UX*.'7OT+L?8EY[\\=FT(;<:"O5G MGY!C3"$QR6(DLI:0%[60%X-O9EM(:87<@;27S(33)V-)=^7H['QV6 0C.O,/ MI^J\HTT\&-8'DY[424_>9<>U%(4=/TWZB39COMXVP^JI56^YAMPTE#M1"M4G MS. CSWV_,,EB)+*6U--:ZBFV4:>80F*2Q4AD+2$O:R$O<8UZV6/"L&/4L@T- MVHV"RXY7!R/[8-Y7==Y7J%Y]8MF1;)@I_BNGF8 M[VPM:9_Q:3#M&!_KJ6V5PD:E$-7[]4*:/( +B&OK=QI\3>P@("38XNI):):3 MBKMWS3TM6HX^Z(7G3=_7\4'K2I/.APZ7&3)&+/M35K MF!/>=@/-PNB0GM50&I>*CD MPF2+L=C:HC:5#9V@^Q.UM6U*&I=\L93 MHV8=W\Z_J3GH<-'Q+HOV?5];#A.?_5)ALL58;&U1FX*&7J%;%+4J066+L=C: MGXF;NB0<7*F?;]&*KVN6BZY%AY][KDI8;*5*_LE>@['@QNW9*.+,6GYCKZ_6 M^T(W;C>DC\2RT M&0?A=M\1]02P,$% @ SH"I5FLB!5B. @ MT 8 !D !X;"]W;W)K&ULK55=3]LP%/TK5H8F MD*!)G(\"2R-!*S0>)B$8XV':@YO<-A:.G=EN _]^=A*BT(9N#WM)_''/N>?8 MN3=)+>2S*@ T>BD95S.GT+JZ=%V5%5 2-1$5<+.S$K(DVDSEVE65!)(WH)*Y MV/-BMR24.VG2K-W)-!$;S2B'.XG4IBR)?+T&)NJ9XSMO"_=T76B[X*9)1=;P M /JQNI-FYO8L.2V!*RHXDK":.5?^Y3RV\4W #PJU&HR1=;(4XME.;O.9XUE! MP"#3EH&8UQ;FP)@E,C)^=YQ.G]("A^,W]IO&N_&R) KF@CW17!NG,8 /SP P#N /A? M 4$'"!JCK;+&UH)HDB92U$C::,-F!\W9-&CCAG)[BP]:FEUJ<#J]Y5O@6D@* MZA1Q\]4<+T 3RM0).D./#PMT?'2"CA#EZ'LA-HKP7"6N-HDMW,VZ)-=M$OQ! MDJM*3I#GGR+LX6 $/C\,7T V04$+Q^_AKK';>\:]9]SP!7_Q_(H65&5,J(T$ M]/-JJ;0T7]6O,7\M83A.:"OM4E4D@YEC2DF!W(*3?O[DQ]Z7,;?_B>R=]Z#W M'AQB3^]);3X?#9(2-GJ3+3QNX+8%;--H.@W/$W<[M# 2%4UQW$>]TQ;VVL*# MVIY,P9]1?E9)L3;.1^6U#-$@<7 13.,=>?M18>S%TW%Y42\O.BCOAG)J"BU' M:R'&JR#:2^M?A/AB1]Q^%/:#.!P7%_?BXH/B!G4\IBS>NR_?CZ,HV)$V$H8# M/]H].'?0;VRO_T;DFG*%&*P,T)M,C3G9]L]VHD75M*"ET*:A-&PO M=V]R:W-H965TV+<(MI$1$JD:O*-+78<2%0XI8F-'6=L MIR2FUF)6]-WSQ8QE,HDIW',DLC0E_/D6$K:?6Z[UTO$0;[8R[[ 7LQW9P"/( MS[M[KEIVC1+%*5 1,XHXK.?6C7N]Q*/,W=L/[^@_U:05V161,"2)5_B2&[GUL1" M$:Q)EL@'MO\#*D)%@"%+1/&+]J5M$%@HS(1D:>6L(DAC6OZ3[U4B6@X*I]\! M5P[X7 >O\=Q:H>4/16X*;\4FIOEG?)1]4Y^?'._3VS3OT!L44 M_;5EF5#N8F9+%5&.:X?5Z+?EZ/B5T3WTB5&Y%>A7&D'4X[_4^X\U_K;*1)T. M_)*.6ZP%O-GQ*^2X[Q%VL-<7C][]SXQ>(3PJW+$F'*_^.EZ!YYWZ.O\\,/6K M)NZ>\.C?OD270'X_4+X97(L="6%NJ=4N@#^!M?CY)W?L_-+'TA!8A[-?<_9U MZ#7G]V@%FYC2F&[40DT(#:&/=PDV+L#R/>MI@5W7]_V9_=1FU&>&\71:FW5B M'=6QCK2QJ@^B]@FJ%BKG0,-G)#FA(B'Y#M47;(DV:D7AX>E!I,FEO[$)&=#8!W.TYKS],Q92L)O6>.&-S99M"JT]D1S@XF/#ZO6:;MNO(VN<+4E?'#AJN#:@3B'L>I,NF$V4L ] M5PN<+EL5U.F<:H>\=*8TBL'52X;6;H#^0Z\7,CW,X.5A"*U+NE$?[MC8MF!( M5U2\?X1*<1N9XNIURB4%30\Y. '!V:NR42:N5@0L'I^%A+2_F!G5(J;0NCP; M->).CHPTIS#\?(5QP(URP7KA<4LOTD(,3,#I:$,?',[MU M%YH"WQ17Q *%+*.RO!:M>^MKZ)OB\M5NS,L[[$^$J^U/H 36RM6Y"M3XO+P6 M+AN2[8J;U163DJ7%XQ9(!#PW4._7C,F71CY ?3F_^!]02P,$% @ SH"I M5MAB+T0Y @ U 0 !D !X;"]W;W)K&ULG51- M;]LP#/TKA#8,+=#%CI-F0^<82)JMZZ% T*#;8=A!L9E8J"QY$A-W_WZ2['@9 MD.:PBZT/OL?W:-)IH\VS+1$)7BJI[)251/5-%-F\Q(K;@:Y1N9N--A4GMS7; MR-8&>1% E8R2.)Y$%1>*96DX6YHLU3N20N'2@-U5%3>_YRAU,V5#=CAX%-N2 M_$&4I37?X@KIJ5X:MXMZED)4J*S0"@QNIFPVO)F/?7P(^":PL4=K\$[66C_[ MS7TQ9;$7A!)S\@S>+P^L'\)WIV7-;=XJ^5W45 Y M91\9%+CA.TF/NOF*G9]KSY=K:<,3FC9V,F&0[RSIJ@,[!950[9N_='4X B3) M*X"D R1!=YLHJ%QPXEEJ= /&1SLVOPA6 ]J)$\I_E!49=RL0Q,D(GE8+N'A[>89W MU-=F%'A'_U>;A;"YU'9G$'[,UI:,Z["?I\K19AF?SN*G[L;6/,R1 M9>_>#"?QIS,>QKV'\3GVWL,5B*KFPKAY(G"J[2FA+=4D4/EIWF=Q&NV/LT=' MG5:AV89YLI#KG:*VZ?K3?F1G;:?^#6_G_8&;K5 6)&X<-!Y\N&9@VAEJ-Z3K MT+=K36X*PK)TOQTT/L#=;[2FP\8GZ']DV1]02P,$% @ SH"I5L8#D0@L M! L!4 !D !X;"]W;W)K&ULM9A=DYLV%(;_ MBH9F.LE,=T'BRVQMSSB[3;HS268JEV M^=86.2=X722EB8T<)[!33#-K.2^./?#EG.UE0C/RP('8IRGF_[PE"3LN+&B] M'/A$MSNI#]C+>8ZWY)'(+_D#5WMVK;*F*7[QE;'VF2 )RMP7TF<;:E3PD!*R&(%.#*<.SU'9&8 M)N*-.OOE\0Z\?O4&O (T Y]W;"^4CIC;4EG3%[#CRL;;T@8:L+'*^35PX$\ M.<@UI-^.I]^1^!JX93IJI]NJ(7574-T55.BY WKO:$8EN?J@1IBI*W]^4/'@ M7I)4_&6JM13WS.)Z8MZ(',=D8:F9)P@_$&OYXP\P<'XV53Z16*L/;MT'=TQ] M^9XS8;R;95I0I.F5XK!$+H3N;&X?3KV;PIP0^758RY57N_)&7:WB>)_N$RS5 MS5FEC$OZ+]9K@LEHJ>2?.G""P$<=HZ8P-PH]LU&_-NJ/&OV-2),GOW\QSYL% M'4N&J"#TH=E14#L*1AW]\DR%I-E6K70'M83GJH.2Q+N,)6Q+B?%6CPI^[V"> M2*Q5>UC7'EYR4H=3]F$BL58?9G4?9N=-ZEEOQ,$0AK[3&9C&,,\;&)E1[2J: M;%)'?0<^0D'7J"D,(HC,1J'3(-,Y9UI76:WK15[4=64(T]2*!ER=@!R.NKHM M'A8(5P]72=$YL:.Y&<6C0M\[E*=2:Y?=D!I>%-5P4E9/I=;N14-K>":NJ[S3 M,><[4=1%CCEL<,(TO(;3 1OV4>P%OA]UK1K"?,=Q!ZPVQ(9G(1OV:>QY;M@U MU8_R(V=H9C?,AN/0_LSQFH ,I\1H;5) 3Z76+K5!-+PHH^&DD)Y*K=V+!M/P M3$[#/H'#*.H^TAJCPJ&YW& :3L=IV"=P.'/=KE%#5.@/S!K44!J=16EDH'1O M=3$$(3BPMJ"&T&BKQ@'N^*U^[J63PEF=GQI+B>2JW=@Y,7 MZ\N^64_[:GT)7*,&U^A,7*,^ASVG^QSY'T%M3PVJT72H1GT&]TR.A;0M-HA& M9R&ZR@K&FS8>5#JR3SZGZ6^9'S'?TDR A&Q4EG,=*A%>?AXL=R3+BR]L3TRJ M1_!B&PO=V]R:W-H965T]W;,OY3+ $D>LRS0O2]I92K*]\7LR7D1%RP%13JRYSQG$C5Y M? MK#B0U!CEF1\&0>SGA!;>H&?>3?B@Q]8RHP5,.!+K/"?\:009V_8][#V_N*>+ MI=0O_$%O11;P /+;:L)5RZ]14II#(2@K$(=YWQOBJS%.M('I\9W"5NP](RUE MRMA/W;A-^UZ@&4$&,ZDAB/K;P!BR3",I'K\J4*\>4QON/S^C?S+BE9@I$3!F MV=\TE;?^"2E!'X\U8)LPOVE9] P_-UD*RO#)6#'):E/_D ML7+$GH'"L1N$E4'8-&B_8!!5!I$16C(SLJZ))(,>9UO$=6^%IA^,;XRU4D,+ M/8T/DJNO5-G)P9^,I5N:98@4*;HM)"D6=)H!&@H!4J"/:)@S+NF_Q#C]YE$M M'P'H_35(0C/Q077X]G"-WK_[@-XA6J"O2[86"DKT?*G8Z3'\6<5D5#()7V 2 MH3M6R*5 -T4*Z:&]KU35TL)G::/0"3A<\0L4X!8*@S"R\!F[S>^(,@]C8QXZ MZ$2UIR.#%[V -^%J[W'YU$*3C!32./SFUYJNU*:0Z,=GU1W=2LC%/S;?E=AM M.[;>ZU=B16;0]]1F%L WX U^_PW'P1\VX6<".W!#NW9#VX4^.%A/;*X63;WF MB%ES-O4E9&P@]<&T&811-^GYFWU5MD[Q9=WI@&VG9MMQ3MHG6E )'S^KH\:R M/5KH"\B6=8NTT#W+%-H"W1&YYE0^H1_#J9!Z<R< MX'O0T2,%KF?WA:TW*B$Z>W/53G#4F%#G.">JZ-8JNDX5BGC;1KQ[3#S&N$'< M"7TB\:0FGKQ&O&,CGAP3#^/F%G)"GTC\LB9^^1KQV$;\\HAXA+N=!G$G](G$ M<;"+H<%KU+O6@!<<<0^3*&QP=X.?2GXO 'KN_'21QD[P3_%3RN[0 .\/M8,R$U$*3>H7/$6F0;>I1K8G6NSO%;XY\(6Y M#Q!HQM:%+ O%^FU]YS TE7;C_4C?19B">@=37F2H,G!!"X$RF"O(X**KMA0O M[P;*AF0K4UY/F53%NGE< E'YK^Z@OL\9D\\-/4!]0S/X#U!+ P04 " #. M@*E6O**GS1D# '"0 &0 'AL+W=O?V6T$?))I0":;#.>J[&5:EW4Y=9D5#V;R\E(E)JS'.:2J#++J-S= 1>;L>58 MSP_NV2K5YH$]&15T!0^@'XNYQ)[=J"Q8!KEB(B<2EF/KUKF91B:^"OC!8*,. MVL0XB85X,IW/B['5-T# (=%&@>+?&J; N1%"C#][3:L9TB0>MI_5/U;>T4M, M%4P%_\D6.AU;H446L*0EU_=B\PGV?@*CEPBNJE^RJ6.#P"))J;3(]LE(D+&\ M_J?;?1T.$AS_1(*[3W O3?#V"5YEM":K;,VHII.1%!LB332JF495FRH;W;#< MS.*#EOB689Z>W":)+&%!OC :,\XT T6N9Z IX^H->4<>'V;D^NH-N2(L)]]3 M42J:+]3(UCBV4;"3_3AW]3CNJ7$*V2-]YRUQ^Z[7D3X]GSZ#I$>\.MU]F6ZC MX\:VV]AV*SWOA-Z<[FC,T2NZ(54-*%?DUVVLM,25];O+8*WH=RN:W7:C"IK MV,+MI$"NP9J\?N4,^N^[[/XGL1?FO<:\=TZ]F?-$9'@8*%KO)RQ$##DLF>Z< MWEIR4$F:HV$]P8/"#4?V^M!6.\H)PH'?1+W@]1M>_R)>EB,Q5*1"IR")IEOH MA*WU@@,,S_6=(]9VD..&SK";-6A8@XM8-U1*FNM=%UW0I@N'[A%=.\AWHJ@; M;M# #<["?<@*+G8 !(^5Y(D4I4Q2/ ))P6F.JR'7DL6E60T*3R&=IL 77?R# M=N$"SSOB;P?Y01AT\P\;_N%%Q<4MH669Z%*R?$70@UQUKX-AN]+#P1%H.\9Q M_1.%#AO0\"SHMVIYTCTN;,TVZR8,6Z.[D7>\4MM!GM]WNA&C!C&ZJ);\W\'? MQ1>U-K3G1.$Q8#O*=QWG>+;M@VO*?")\Q7ECN-8X+#&OWQNB0UE?NW5'BZ*Z MN6*A\1ZLFBE^J8 T ?A^*81^[IC+L/GVF?P%4$L#!!0 ( ,Z J5;+FSE6 MIP@ #EJ 9 >&PO=V]R:W-H965T/:?8]7P@AR8]XF>27O864J_-^/Y\N1!SF)^E*).J5 M>9K%H51/L_M^OLI$."L;QX7LEC0'U^LPGMQ)^37U4VFGO6WE%D4BR2/TH1D8G[9 M^^"<\V!8-"C7^",2CWGM,2G>RK3BLG?6(S,Q#]=+>9L^_B:J M-Q04O&FZS,M_R6.U[J!'INMDU[)\XX[ M)M-<$G68$;589.J _.MWM3ZYEB+._SZPL5<;N'\87E3J\WP53L5E3Y7BDM@; MO_[%&0[>'XH-":-(&$/". AFQ.UOX_9M])VXIYL2="A8*Z9ML!O8L(057[\/ M8\=U3B_Z#_7 ]E?R',]I:3UV&\>D\^RX7(B%[C5BQ#6?Y:S@\7:7M?K:-%TBB4QJ TCJ*9 MQX"KCP&WRUI=T5&I(VD42F-0&D?1S-2U=7*LEJ-%P88:IHIF%.S!;KV&FB,H MC:-H9FI:'CEV>W23I=\$F83900]]96_=.BLDC4)I#$KC*)J9JE913M!I!8;Z M*2B-0FD,2N,HFIFZEE2.58JTJ,!0(571ZA78<3Q_MP;OK[7[NYI!MXNC:&8: MVB$Y=HET]Y07'["#^Q_JC: T"J4Q*(VC:&:BVC(Y9YU65:AS@M(HE,:@-(ZB MF:EK\>1814>+J@J53!6M?O+LS-NMJ?OKN*?.;E&%2B$4S;Q*0%LAUVZ%BA/T MQ$SD9AD>/,=F)[6- TJC4!J#TCB*9B:L!9+K=%ED7:@R@M(HE,:@-(ZBF:EK M9>1:Y<3X1F13D4B2SLM+Z>:I>DK$,HJCI%"$!Y/>$$>UXC8)2J-0&H/2.(IFIJ[-DPLR M3W9.ZWRAUS=!::RBU>MTL%^GNW!4GG94WD\Y*E6G7SC9:N>V'GH!-590&H/2 M.(IFYJV-E=>IL?*@Q@I*HU :@](XBF:FKHV59S=61Q=G.Z=UOE"?!:6QBE8O MSJ?[O@/5IYE;;7""DIC4!I'T:ZK8OG92OMU)-5?L29K(+)Q*\D5DY355Q;1D]5&9C6,P M[5VVCABJKZ T!J5Q%,T\%+3F\CN=!,J'"B\HC4)I#$KC*)J9>FTJ*/O%7,<7 M;JC:@M(HE,:@-%[1C,)]UEBXM;+R[>TS1=*HU :@])XL#\15]!4G -MM@*[V6HNSB]Z=## M #N%.G8.=>PDZMA9U+M068%660%HZ*&=TSI?J+2"TAB4QBN:,27,OJ#NU^YX M$PN507%OHIQ,TW4B-S=MV2[=WO_H0WG7GYWE$^><;NYBI#&;FRI]5-%&24Z6 M8JZ0@Y-3=>!EF_L4;9[(=%7>5^=;*F4:EP\7(IR)K%A!O3Y/4_G\I.A@>[>H M\7]02P,$% @ SH"I5I/&T64!!0 (", !D !X;"]W;W)K&ULM5I=;]LV%/TKA%8,+=!&(FG+3F8;2)P5*[ 0;)N#\,> M&)NVA4JB1])V"^S'C_J(*,H2:Q74BRW)]Q[=CV/IX)*S$^-?Q(Y2";XF<2KF MWD[*_8WOB]6.)D18Y=<> M^6+&#C*.4OK(@3@D">'?[FC,3G,/>J\7GJ+M3F87_,5L3[;TFNSOP* M91TE-!412P&GF[EW"V^6>)(YY!9_1O0D:L<@2^6%L2_9R:?UW NRB&A,5S*# M(.KK2)_):A7W3-SK!^_HG_,DU?)O!!!ERS^*UK+W=R;>F!--^00 MRR=V^HV6"8TSO!6+1?X)3J5MX('504B6E,XJ@B1*BV_RM2Q$S4'AM#N@T@$U M'48=#KATP'FB161Y6O=$DL6,LQ/@F;5"RP[RVN3>*ILHS=KX++GZ-5)^2'E3SP*-V"Y8[P+17@ VB__O:>2A+%XIVR^/Q\#]Z^>0?>@"@%?^S809!T M+6:^5%%EV/ZJC."NB !U1(#! TOE3H!?TS5=F_Z^RJ9*";VF=(>L@+=[?@4" M^!Z@ .&6>)9V]P>BW%&8NR-+.+BJ,,[Q\&459D("5:BLP)0?*?C[=V4//DF: MB'_:BE> C]K!LS_YC=B3%9U[ZE^<(WJ+GW^"8?!+6^:.P(PZC*HZC&SHC3JL M"D:U95S A#E,]A0Z+B""DYE_K&=R;H0AKFR, ,=5@&-K@'EKV$8]G(XT/;3' M9D7HVPU'8$:R895L."0K0Y=U< 1FU&%2U6'BAI4%S+A&.#1NHK(M0BM2WYXX C.2OJZ2OAZ2F]W\A#7] *TA/BL%IH)[#[8TI9S$>:O(6DF5 M2,5.,I'6&K 5M6^77*&9-4"Z!FA(PI;HKFKA",VLA58[T"HB>E 6G],19HK+ M).VY%9IV<%8K$6B7(H^_?#$9J9JQ8U<#PH-YTJ'E=H9BVT MYH%6*=&#FV$+-_&HREKO0.G M@]+5J0ARA6;60LL@:%47/>AZ?<';_]RF2YPBK4^079^89.TC5NW ?1OE"LTL M@]9 " Y)6N14"[E",VNAM1"RZHO+25OB&$_/!F=;3((.RFI]@NSZQ*3L#ZI7 M^SUZ=VR(L0S2:@B-!F6O4[7D"LVLA59+R#X#NIR]XW.%$(3-AVZ+5<>0"FD1 M@^PBYOF;R'K1&I33L8PK-#-/+8309%!:.E5%KM#,6FA5A+X[!KJ0EM,SPDUQ MDY3G-F@".VBIQ0JRBY62EA=J5CM8[^X,,:7!6@7A8- )OU,IY K-K(660M@^ M#KJ8J25.G84?1LV):HL1##HD -82!=LEBJ9J'\5J!^W=IB&F-+BV)C7LHI3; M5:DA] _6^@<[6I@J<>IL#,,F8\]M.H>L6,L2;)&PO=V]R:W-H965TF FB0&26Q2_K]D9O0B#F+6?;L7BQF?*/BB,&]0'*3)%2\7$/, M=W,'.Z\/'J)UJ,P#=S%+Z1H>07U/[X6^O MZ-\R\IK,$Y6PY/'?4:#"N3-Q4 KNHG5 ]_]!@6AH<'S>2RS3[0KQO8=Y&^D MXDEAK"-((I9_TQ]%(O8,-$ZS 2D,R+'!X"<&7F'@943SR#):-U31Q4SP'1)F MM$8S%UEN,FO-)F)F&A^5T+]&VDXM'D JL?'51D1LC98A%6N0J&>NF+E2'*D0 MT.&P*]\7&QJC3S>@:!3+S]K@^^,-^O3A,_J (H;^#/E&4A;(F:MTD,:5ZQ_ MH]J20G7=R"V@/YYX'&,],+<41'\VY2U''70C&I>]DN9 M4A_FCGZ;,TQG\?$7/.I_::+<$MA! @9E @8V],7KXJ$*/<$Z8LSD@:]0"B+B M01/U'&^4X9FRM%U@,IC.W.T^):O3,RD-2TI#*Z7#.?7SEZB)20XS/&""QT=, MAC6Z'O;*,0#R>'$5F=7)FCL)D<\K)[.Y#$I>4Q.7?[ OO"G]3(>./1$1>K MMS.Y3$LN4RN7KTD:\Q< ] A;$)3Y@'311]? 8!4U+S0KX'O+6$M@!]QQO^J< M_4XJ>0';4@[:0CM,PIY\P"U7\P)P:"_G=K?GTB(5+=).12]P]ME,!L?UQN[L M7#*5XL#6?OYV]2_LC\H_'A[3Z$(VX$HW8+MP.+$#%"C[9/K'1+H0"[A2"]@N M%][3 G!=,M1[@-W?N7PJ<8'MZN)1 MA2+!E23!XVXZ0$L"I$A"%W(&5WH&GRQH3NT =5U3>T.[D#6XTC78+FQ.+__3 M&A4RK=7-+G0*J70*L4J M\M_86^;#[N+(!8JJR'B%_LA!;W>1H"^TP,Y5<(8-.F@-I29P42>A"ZI!*ZI"3IT/#ALK(.R;1 MA0(AE0(A=@5R:G>HRXY>;?/-[NI<*I7P(';A\:[F,*UM%-965ZO*P]T[9DA MKWIS^B*1SS=,Y?OQY=/RA.GZ-+Y?Y.4T%DQ\;W>F7*6(2Q;#2D/V+ ML9XMD9_$Y#>*I]EAQA-7BB?990@T &$&Z-]7G*O7&^.@/ ];_ ]02P,$% M @ SH"I5M'$LD>M#0 U)4 !D !X;"]W;W)K&ULQ9UO;]LX$H>_BN!;'':!;BQ2_WM)@#9!]PIL@:+9[KTXW O59A*AMN65 MY*0!]L,?Y=@F*5%#,AE!;]K8&8V&(U)^/)S\=/Y85M_K>\8:[\=ZM:DO9O=- MLWT[G]>+>[;.Z[-RRS;\-[=EM[II5L6&?*Z_>K==Y]?2>KD;=7)/;;(_8F?Q;LL99^]MJQ?"O+[^V+ MC\N+F=^&Q%9LT;0^._V6%$4>MO4:[J_;_>X\'6GWF+7=V4Z\/! M/()UL7G^/_]QR(1T D'#J"' ZCM <'A@& _T.?(]L.ZSIO\\KPJ'[VJM>;> MVA_VN=D?S4=3;-KK>--4_+<%/ZZY_) 7E?=GOMHQ+]\LO6M6%0]YFUGOXZ9N MJAV_9$WM_>I)=N_JFO'W/K&\WE5LZ?&+\84M=E55;.Z\]WE=U-[/UZS)BU7] M"S_RZ\VU]_-/OW@_><7&^^.^W-7\1/7YO.'1MS',%X=(WS]'2@MSCR? MO/&H3P/-X5?PX==L<>8%SX=3]? YS]DII5O%LR[V:^\ MWZIRM^6Y>.-]*#;\_2)?>3=-WK VE]Y5OFWG;^W]]W?NT?O(WZ[_I\O&\^E# M_>G;Y?VVWN8+=C'CZ[=FU0.;7?[S'WQ!_4N7&R1G2J:"4Z8"R/OE55[?>^RO M'9]8JW8VZ0;[["'>>VAO/0^7848C?IT>Y%'TK6A"P_!DI807GL(+P? ^Y=5W M/EN_K9A7M].X: JFC?'9322=G= @S4@G2)U9QN^J^BBC4Y01&.4?9<.G4;Y? M>KK@HOY9DSC-_$YP&K.8+R>B#RX^!1=;!+_4OW:OK\:$9($^ MMN046P+&QF_V_%:^\=B/Q7V^N6/\'G^ZQ2W*35/Q#Y+:^YO?^6INQE?IDF?9 MNV?+N_9V5IQN@KHA@6=V7:)(SI0DI:S%+,3"$Y4S*5G3*5@=/I6C-[ M= /.>E,YB8/.=._;Q/' S8SXXO/IFP8!\<%XZ-K[]4O6['P^9Q'C>1-S8X@$#(Q@A!4!L'RIF9+ M4 B!,<1VY1[HP"GZ^JH.[5,2G\%1=P)K MK+)X:/X*F*)(=1W:K]@$)""],,< 'BJ A\(%H.YR?"$$PF=QGH-C8 T56$/C MB5"L@*8LKZ>W9QY3;7?2QN*$!6RL+RIXQ60%4P,60$J9&%Y4[,E[9S! MD&4_B_L,12,B;8T=AJ,S\\D :P6"M0*8M:Y8U12WQ8)?K=HK;[TEVY9UH040 MV)/S]1D#R@(!9<'$5:@ %=>PO*G9$K@6P%4H^]G<+S"%2;<*I3%*AG99 P%) M 0Q)^_MQ?L$H1(4C+&]JM@0>&. 1NA@(UP8M@(46$#RYN:+0$;(4['4=A'A-[\ MATS4MD3!$!%.OQ'LQO6:1'W2&!J)H(S(BC+X"D5O.X+/[#SX,2@E$I0234PI M$2JE8'E3LR4H)<)I.XKZ"-)KWH5,U/ $H40PH8A)/V[S$1R&\S4=H^P32;W8 M$Y=](M2R#Y8W-5N"WB* +@(I^THZN]C]<(;@ZLBP541O",F MUK)=_Q'LSGF6C8%)D<"D:.+ML0BUH(/E3?U[#4%M\>O[CV*[_B.-&?#=.18X M%MOBF$TG$NS,]>I@>5.'+@@KGIBP8E3"PO*F9DL05OSZ.E!LIBO01 U-T%6, M5/^)^X6=7GQC,$\LF">&2T3#R_&%1 B?SWD.CL$XL?0'2*D3J18#_.HX8(3AV*8*[8EKDL^I%@7\[#&0.X8@%<\<3 %:,"%Y8W]8]0 M!7 E2%MM"539>AX*:*+&)V@KL:4MBXXDV)?S'[Z. 5N)@*UD8MA*4&$+RYN: M+0%;"5)'4F+7D:0U&]S12@1Y);9U+8?>)-BG\Y4: ]@2 6S)Q$6J!!7@L+RI MV1( ER#U)B7F*A5HHL8GJ1C8;C/:=RC!+ITOT!C%K42 5C+QIF&""F=8WM1L M"3A+7M^A!+MP'K#UWF(JH"E%@J;4#$V@B1J?@*;4!IJH-B)41,+RIHY3(%(Z M,2*EJ(B$Y4W-ED"D]/7UJ-3J+^,T5E$6#[33I8*-4J2J5-JO2F5I$G8KP!HS MX@?<D<10I*4D*:60L+50AJ#,U+!&2E.D,1H41,H$ M1&0X#4JP&]?KDKD((F6".#(KXABC1PD^L_/XQR"63!!+-C&Q9*C$@N5-S98@ ME@RG1RDS[Z*!)FIX@E@K,QFVXQ:MRK![IPGVR@* MDI*$Y,0[9QEJ90?+6T?04E:T?'VSTM$']-D$VW3"DS0J?5LFLVE4,GAS%]X< M18/2I]+PIU:A]'%E*+'<=3(F"5'ZKR\0'7T8*D1:LT'Q).)+4I0^4I'HZ,BD MGV0XX8OS+DE&^C8M3+J%^E)%3?B$[C-S%)5(7Y*)]"=N8SH&@):Q,1J9B"]I M5OI(K4P&1^XC=Y)5(KZD7>G;LIE%2Y/!F?NP1E&Q]"492W]J'4L?5\@2RUU' MHEO",X/BN/T2T*B$Z[26=': V!)1],1M6;GJGM#VWG"H<[I'$0PGDF(XF5HRG.!JAJ.YZV1, BH$V7"B403O ML11HTPE/8BDLT7"B40WOQPC9=&*42,>@!&[JBCH>;WB"C<&J$YZ$%;",M5U/ MU-$)G#[K/FHBJ6 3@PSVX?XTI=;@)KA WFKM.QN3'QV$]/\[N 7(N3Y"3E+B)08I;+(*1GR:' M*^2-YJZ3. FKIM;R)KABWFCN.AF32,^@YVV_(BQ@#[3IA"C!GD'.V_X#SJSN M9#C7BQ,N,1BL:RVM;=!XI*A&>0^+;Z MOJW1[>Y-?M"F$YZ$;%;*WH%M[Q2NVC>:N\[P)0J;6O";X"I^H[GK9$RB, 31 M;Z*1\^[/9_OZ42@_P!>K?J21\N['. H32;+@Q* +/KP\7_P,8EP&PG+7R9#$ M0.'4'5.P-KI[QD;IF)+TTHE!,-UAB>"6T$)K^2\9& 3))+IT8]-+MIS^H<7X8CKT..I&$T(F5$GI@V26% M*VZ.YJXS>@G*IM8W)[@"YVCN.AF3H,R@<>XPIRW(S%[FG$@ZY\1*Z#QP[)+" ME2U'<]?)@@1T4RN7$USI8VQ95+GL!MD3((W6&3<[KLTKNSYT9W- I#4S(E! MSMQ^D1X8YS7[MFEU5W-V? M7C3EE@]IQK\:-$VYWO]XS_(EJUH#_OO;LFR.+^;<_V-9?=^?X_+_4$L#!!0 M ( ,Z J5:PGEY4900 ,\? 9 >&PO=V]R:W-H965T@U2YF<6"NEUE>V+64Z2L++C*B]*E8VG(M*)D7HBRU7<<9V!E)F#4=%V5W8CKFN4H31N\$ MDGF6$?%V35.^G5C8>B^X3Y8K90KLZ7A-EO2!JJ?UG=!G=DV9)QEE,N$,";J8 M6)_Q58P'1E#4^);0K6P<(S.4%\Y_F)/;^<1R3(]H2F?*((C^V] ;FJ:&I/OQ MLX):=9M&V#Q^I\?%X/5@7HBD-SQ]3N9J-;%&%IK3!HZ%IKE4O&L$NL>9 DK_\EK-1$- ?8."-Q*X!XK\"J!=ZS KP3^L8*@ M$@3'"@:5H##3+B>KF.F0*#(="[Y%PM36-'-0V%6H]00GS*RL!R7TU43KU#0F MB4#?2)I31-@S,%6R+FZ(8S M)?3ZD.@LI(HDJ?RHJW]>BPODX'/D.J[7D$>OLQ5A2UK+?_UEY W\3RAAZ''% MW16]>ICA_RF M7_[T$**S#UW"L%_XY>Z[:=>,L$L=]:N_WC]7O<:=\KA?_OCG(+DG^ =)V_H7]0E N.0IZF1'0YT(LPL?1*KLF,3BP=+"45&VI-SK6I7D'W#IC:B I__:&OH5M%,_EWE[4>I+60L! 2%D'" M8B!8RUJ_MM;OO5]WUIXCQLW#GJ2(9#QGJLO>$H;+IXEY:]E,7<]Q_+&]:1I7 M5ALT:_ENX+1KA;T].]412%@,!&LY$M2.!$=$T*_Z@4D8>N:LRX9>PJEW&20L MA(1%D+ 8"-;R=%![.H *H -(:R%A(20L@H3%0+"6MCK#8?[X;>LAKU&/<]UA^YH+U!'H-V+H6AM:W9Y%]R?>*E"ZR-) MMOH[__!K:C_F9$\@:2$H+0*EQ5"TMKV[) X.P&(K:#8'E!:"TB)06@Q%:SN\ M2^G@WK3"R;$5-+%3T9H95NQ[^Y_^H&U&H+2X8P2^YV.O'D)IB]W8VC1;W7\2 ML4R81"E=:)US,=2+0)2[Q^6)XNMBM_.%*\6SXG!%R9P*4T%?7W"NWD_,!FJ] MAS_]%U!+ P04 " #.@*E6;^A7L04# !S# &0 'AL+W=O&-\K%KX8UX MIB*6P+4@,HMC*GZ=0<378Z-K; 9NV&*I](#IC5*Z@%M0=^FUP)Y9>0E9#(ED M/"$"YF-CTCWUA]H^-[AGL):U-M$SF7'^H#O3<&Q8.B&((%#: \7'"LXABK0C M3.-GZ=.H0FIAO;WQ?I'/'>?2-A6HY-H8&"6%.LTC=\/47*.?3U_X" M'LG\GZQ+6\L@0285CTLQ9A"SI'C2QY)#3=#M/2.P2X']4H%3"IR7"GJEH)>3 M*::2<_"IHMY(\#41VAJ]Z48.,U?C]%FBRWZK!+YEJ%/>!66"W-,H T*3D/@@ MV(KJ4I!I(I7(L,)*DF,R"4.F"T4C?%&L-EVV Q\499$\1).[6Y\$=NRG0;Y>;OBVVR0W M$69%U*Z(VKD_YZ]$C\A$2D!\FNPEHS,6(4.0Y JHS 2$! G>0) )P9)%;O65 M)Z(:.*.22?+]$@.0J8)8_FAB6V33:\Y&GQJG,J4!C T\%B2(%1C>IP]=U_K< M1'J?SOP].=NJ@E-5P6GS[I7DXPUIJLA<%V:5+W7DGO#D^ GU3*-NHEM$=V!.SRQ\#FW0JGONJ9YMJI?N\7VZL#$T@ M ?G5-L#:2"TPC0>DBH[Q,.W!3:Y-A&-GMM/"?[^SDV:E3:L]["7^D?L^?W<^ MWPW70KZJ#$"3MX)Q-7(RKU,9#T6E6,J7F38;;CPLZ1)F MH)_+J<25V[*D>0%C_2MB<,6 'FZ 4$#"'8! MO0. L &$UM%:F77KCFH:#Z58$VFLD*"!N4E#/JG)@P/D(7D4 M7&>*W/,4TH]X%X6V:H.-VDEPE'!MP[STF]421,8.?B4%<@5./'G3_[ ^](5I/]$ M]B%DO39DO6/L\80RRA,@5),Y+'/.<[XD8D%*D+E(NURO^0:6S]2D5=SSKZ^' M[FK;I7VCX,KKMT8?I/9;J?VC4L=)(BO*.O.^1O:WSO/#:V]'5(=1X/>Z10U: M48.CHK"L:F:3KE/78._("S_RHQUA759![X"RJ%46_>O-8NX?O]-H[[K"JRC8 M4;EO%$31[IVZ6Z6O +FT'4&11%1&ULM5A;;]LV%/XKA%8,+9!$(G5U9AM(G!4KD Y!T\O#L =&IF.B MDJB2E)WLUX^4',FR::;>9#_8HG3.Q^]<=,XQQVO&OXLE(1(\Y5DA)LY2RO+2 M=46Z)#D6%ZPDA7JR8#S'4BWYHRM*3O"\5LHS%WE>Y.:8%LYT7-^[X],QJV1& M"W+'@:CR'//G:Y*Q]<2!SLN-3_1Q*?4-=SHN\2.Y)_)+>6#LNUY\F$\<3S,B&4FEAL#J9T5F),LT MDN+Q8P/JM'MJQ>WK%_3WM?'*F JDY_8^@^R,:@F MF+),U-]@WT$I+E&V6USFG1_.*GC2.V%&!P0 %M%-#/*O@;!;\VM&%6 MFW6#)9Z..5L#KJ45FKZH?5-K*VMHH<-X+[EZ2I6>G-YQE1%OGD'W@!:@,]+5@FE(,:N5%PT MHIMN]KUN]D4']KTJ^07PX!E 'O(-ZC.[^@U)+X#?J*.^NJL\T+H!M6Y -9[_ MP'\=:O$P0=)JMM_@:Q.($>;,5Z MS(*666!E=DN$N 17:5KE588EF:MW53D@I;BI!BI>.&=>F7+44HZLE&>L$))7=<$]I\6Y8I^J.)AX1GL$M,?0#LU]J2 .PL3,,FY9 MQE:6GP\E;+SOE%&"_%U2!K%DE 0'6"4MJ\2>L"JT)E)6K6-KQ4!@/0-'K8&C M$Y;,T9!N& BLYP;H=1W4^^]%VU=VAE=MU1;,Y+1[K MZ#R\+&BNWN05T8$RMVXKZ+'1&0JM[X*NL\-3MG8X:&\?"JWOBJZ[P__1WC>Z MO>*L/[N9:A(;;175/K>NOT-[@_^(TZ6ZQ9]?[XEVI*-C,A!:W^YN*H#A*=/3 M.G,<[8J!T/JNZ*8-:!\W[.FY/SN@Q!OM5U*#7!S!Y, H!+LI ]K'C!G+RTH2 MWN5F'2O!%G*-.3%RMB(>'9V!T/KV=_,,3$Z9J(/./4.A]5W133[0.E&\DJBC M_0(9A5&RFZ<&L3"!OCE-43>-(/LT\K[B!945)W6 %O1)7QN[O!WHZ+^M Z'U MS>X&'01/^0=^T(%G*+2^*[:.,JQ3A#T[-[K;:1<'"=Q)3I-4&!PHH:B;/Y!] M_K@E6) ER^:O3J!VH*,#,A!:W^QNM$'!*7-ST&EG*+2^*[II!]D/0>RY&>X= M'26Q#W9N%9&5]3OK MI&1Y?;DD>$ZX%E#/%XS)EX4^>FV/VJ?_ E!+ P04 " #.@*E6\1QVJ4D$ M "9& &0 'AL+W=O3/-4-XA&+D,4$!^<\>K5$<"R;NQ^>25*ML"F#]^L3^DYP\G\P6 M4K3&\>^1S\*Y-M& CW8PC]D+/OR,R@D-!9^'8RJ_P:$<:VC RRG#20GF'B11 M6OS"+V4@:@#.TPZP2H!U";!O 8E8' )&-P V"7 _K<6AB5 3ETOYBX#YT & M%S."#X"(T9Q-7,CH2S2/5Y2*A?+*"+\;<1Q;O#+LO84X]A&A[]]-+'/\$;B? M\X@= 4Q](&_?K[@2/ECCA"]/"J7 ]V#I^Y&XA#%X2HL5*V[<.8C!**8?^)!/ MKPZX^^'#3&?<4V%/]TJO5H57U@VO!N 9IRRDP$U]Y#?Q.I]A-4WK-,V5U4FX MS,@#,,P?@658@Q9_UMWP9\CAUDC"K1:X\S7XD2-OHMUN]*\>JXP;';$85)(/ M)-_@EN0A).A^>ZWIDA"8!HBG 0:V1U ?MX%'V;T\0.*#/W[AE.")H83^V29N M8=]NMR]2WR/-H(?F&L]M%)$]TA;OWYDCXV.;,BK)')5DKB*RAHAV):+=Q;[8 MY,0+N30 [X"'DX3+1\5>!7L8YXBGS$R C." P:=.MTV1? MW0JRD203CZO]8CJ8C@V#+^%]71*51EU%9 U)AI4DPTY)UH4,,F6"OP'?MGB+ MB-RU9>?+687-;14ZK?150269HY+,5436D&I4237ZSBEPI%)$E62.2C)7$5E# MQ'$EXKASOQ5[ZCJS 9BS$)/H+RX:3'">LC:!.KG["J22S%%)YHZOLO#0*#Y5 M&FX$?U(%?_+?GC]??_* NX@/%CN+MAX-.PWW5:8@&];F;]G&T)Y MIX)N$WU%4,KF*&5S5;$UQ:J]$)O?^6Q0.J!*2I5LCE(V5Q5;4TKK+*7U#4\( MW>2]95+)YI1L]2PZ'AHM:=159;G(Q:%M^Z MVX?>\5=:*E#%5L1?KY5@$T0"6?NF?,GS(!=ERJJWJJ\O957YHG]E/JZ+*OF9 MIBC:/T,21"D%,=IQ2N-AS%<^*>K@18/A3!9ZMY@QG,C+$$$?$3& W]]AS$X- M8:#Z-V+Q#U!+ P04 " #.@*E6RY]*(%8# ;"P &0 'AL+W=OY,*WC\_:C]8VV\,>:.*+@2[ ?-=;%P$@?EL"9;IF_$_C.T!D567R:8 MJI]HW^[U')1ME19E*VP(2LJ;-WEH'7$D$. ! =P*X)J[.:BF?$\T2>=2[)&T MNXTV^U&;6DL;.,KMK=QJ:5:ID=/IK1;9?2%8#E*]>I%@/WZ'/OS<4OT+$9ZC M>OEB9@"67JC=G:*OS" M,^#V$M U(X,JU-S5QC"+YV:M$:O&"#Q@1("^"JX+A3[P'/*_Y5WCD,XK^-$K M*SRJ<%G)"?+\MPA[.$ OD8M4022H]C5R0M#Y/:A/" 9.&+2T$0O[Q6R.7JJ* M9+!P3!(JD#MPTEWI"C:4<\HW)M#-#66 7E/>VOP&_>ZU MOJ%N]$:U7EL(=BG&./82?^[N>H"B#B@:!5KNB' WX)>Y8XJ>P9/:.V#-HXE.:!$ Y=^S\*C^\]F@QEA(\/>/B9^7D.'3ZE"\)),A"3_J'<^Z.%NS=C MS^$+>OBBB3\=X#M4?G^\]/?D\#EXX6GHA9-9^ ^=>]2OE" W=5=FG".V7#>M M2S?;=7[+IM\Y;&_:QJ]$FK11B,':B'J3V-03V71BS4"+JNY^[H0VO53]69CN M%:3=8-;70NC'@3V@ZX?3/U!+ P04 " #.@*E6GU7RB^," #!!@ &0 M 'AL+W=O.%,Z$E0&%->A*%."^1$=V6)PEIRJ3@Q=JF6H2X5DLP'<1;&430*.:$B M2,9^;ZZ2L:P,HP+G"G3%.5&;&3*YG@2]8+MQ3Y>%<1MA,B[)$A_0?"OGRJ[" M%B6C'(6F4H#"?!),>Q>SD?/W#M\IKO7.')R2A91/;G&;38+($4*&J7$(Q XK MO$+&')"E\=Q@!FU*%[@[WZ)_]MJME@71>"79(\U,,0G. \@P)Q4S]W+]!1L] M0X>72J;]%]:-;Q1 6FDC>1-L&7 JZI&\-'78">C'[P3$34#L>=>)/,MK8D@R M5G(-RGE;-#?Q4GVT)4>%.Y0'HZR5VCB3/!B9/A629:CT\=%YW#N[A)OGBIH- M$)&!-W=F5G8&5Y+;JZ")KV8';A[F M*+H\H&[0JAL<0J_5::!:5Y;W"15-X4[AU]X2UHQKS*''=)UBE<2]*!H.Q^%J M#Y=ARV5XD,NC?W66!EFALDT$2E0UB9UKIVB*GFG?E!VXKPR M8KS='001_R1Q]$9B9]"-_Y88[K05CFKIFZ<&3[;N,.UNVY^G=5MZ=:^;^QU1 M2RHT,,QM:-0]LT56=<.L%T:6ODDMI+$MST\+^X]!Y1RL/9?2;!&PO=V]R:W-H965T".;6.E#^Q@EM,MK$']RF\%[NP*)6(I9)+QC C8 MS*V%>[ER?>U@+/YD<)"U-=&AW'/^H#?PN M0:WJF=JQOGY&_V:"QV#NJ8053_YBD8KGUL0B$6SH+E%W_/ =RH"&&B_DB32_ MY%#:.A8)=U+QM'1&!BG+BG_Z6 I1O=/!.'0:O./BE@U'.+IB9L*ZH MHL%,\ ,1VAK1],)H8[PQ&I;I-*Z5P%N&?BI8*QX^Q#R)0,A/'R:>._Y*KG_O MF'HB-(N(N3Y?HDX16?$4BT=2(__YZU>?KT!1EL@O:/1K?44^?_Q"/A*6D9\Q MWTE$E3-;(75-P Y+FLN"IO<*39_\X)F*);G.(HB:_C:&7,7M/<>]]#H!%[FX M((Y[1CS'\UOXK+K=?U!T]T;&W>N@XU=I\ V>_UH:8BK@_-Z(>4N?\#U19"$$ MS;:@UV?D^E$+C+/JSM@^FWM29V?MZ2"^-QD/O:-2@.JRH#CNIKKA4A&_P<[>'; >M M==^)\-:\] 36"'94!3MZYQ(>]2E53V -J<:55..>2[C &]:JTYVZIR7<8N2, M)^TE/*FH3CJIWF'P5(2Q25J$=9SP7*>SC60GTEOSTQ-8(^AI%?3TG4MYVJ=4 M/8$UI'*=8P/A]%S,)6"]4#U_[)U4D2UD M()"Y3B&-L+5B4@FJF\I6SIVH;\U87VA-#;RC!MX[UW=)H"^Y>D)KRG7LS=S. M?N;_5+C_HIL8.L[DM,)?6@T&P],*MVO-?0IB:V8>B10P#T6_6YU6<]7"3!,G MYTL];YFAX0A3#&O8S6Y9)DD"&X1T+L;XTHEB_BDVBN=FA+CG"@<2LXQQ9@2A M#?!^P[EZWN@'5%-H\!]02P,$% @ SH"I5D# GV^" P (PX !D !X M;"]W;W)K&ULQ5=M;]LV$/XK![4H6F")1/D]M0W8 M28H56 $C638,PS[0TMD2(I$J2=GQ?OU(2I;=16:*-$6^V.++/??<\1%/-]YR M<2\31 4/><;DQ$N4*BY\7T8)YE2>\P*97EEQD5.EAV+MRT(@C:U1GOEA$/3] MG*;,FX[MW$),Q[Q464[%;HX9WTX\XNTG;M)UHLR$/QT7=(VWJ.Z* MA= COT&)TQR93#D#@:N)-R,7=XX@6&$688 M*0-!]=\&+S'+#)+F\;4&]1J?QO#X>8_^R0:O@UE2B9<\^S.-53+QAA[$N*)E MIF[X]E>L ^H9O(AGTO["MMX;>!"54O&\-M8,\I15__2A3L210=@[81#6!J'E M73FR+*^HHM.QX%L09K=&,P\V5&NMR:7,G,JM$GHUU79J>JMX=)_P+$8AW[T9 MAF3P$:Z_EJG: 64QV.6SN0X[ADN>:RU(:K-Y!G=,8,37+/WW_VN77"H)[Z]0 MT323'^ MI Q^3W@I-:0<^TKS-M[]J.8XKSB&)SAVX MG*I%PS6*,O[7W=;Q- MT.$^Z'GH!)P5XAP"\@N$0=B!N]LK>/_V@P.WTR2S8W$[IY*94(%GR\?9F@E! MV1JUFA4L=W"\;T%W=GJVI2*&OW_3D/!982[_:4M4Y;_;[M^\P1>RH!%.//V* M2A0;]*;OWI!^\-$17;>)KNM"GWYSX-XWSGM/Y;(-"WQ+6;Z0T@9N*BTWO D7*8Z.ROY"*5H6YT0GLM"$0 GFEM"[$ M="<=2>LWO/M.Y!N42J26L33O$I2:=%QG>(M8*+4D2)/G\H,LI:J3KAGGO0AXI'>J^M9&=5 M?&Z A])(W+7QNY7^$D \ECSAKSH\+V0W?:6[DTPKVC[[;'T/U!+ P04 " #.@*E6I!9P"&/.9M" 4T=*.=^ M& 21GU,FO'CDYF8J'LG2<"9@IH@N\YRJIREPN1E['6\[<<=6F;$3?CPJZ KF M8'X6,X4COV%)60Y",RF(@N78FW0N+@^_$.EE(^6 '-^G8"ZP@ MX) 8RT#QL89+X-P2H8R_-:?7+&F!^^];]J_..WI94 V7DM^SU&1C;^B1%):T MY.9.;KY![:=O^1+)M?LEFSHV\$A2:B/S&HP**,^W*J?AD<))X4Z(T'G,PF#L-NBY_(X_)8B/(P< M/#PBI]LDL^OXNJ_P75,EF%AI,FM2^7NRT$9AL?YI2U=%UVNGLP?X0AR9\U[CO'>,/;YWQP724[H&A:=_6R^EAM06#198 M41K,C3US+"$"RX[MRDY798>!%>ZD+5F5@KY38"^G=3P8!%$T\M?[66B)&H:] M7=0S>_W&7O^HO4F:DD(:$(91SI](RGAIKQ^B(2D5,PRMOJ&^_T)79WA^H+TE M)K2%V28]:J1'[[0SSA1._L_>1"U[$_;[!_Y:HLY[T;#=X* Q.#AJ<+[; B&= MN(1S,3[%C5@UN1U.U6[S*5DQHPF&)E,'9 /6H MJH55 R,+UP46TF!/<:\9=GU0-@"_+R76=SVP"S3_(^)_4$L#!!0 ( ,Z MJ5;J9E]\SP( $D+ 9 >&PO=V]R:W-H965TJ)FWTKH\]GV5KB"G:B!**'!D(61. M-7;ETE>E!)I9IYS[41!,_)RRPDMB^^U:)K&H-&<%7$NBJCRG\N$4N*AG7N@] M?KAARY4V'_PD+ND2;D%_*Z\E]OQ.)6,Y%(J)@DA8S+R3\/@T'!D':_&=0:VV MVL0L92[$G>E<9#,O,$3 (=5&@N)K#6? N5%"CM^MJ-?-:1RWVX_JG^SB<3%S MJN!,\!\LTZN9=^B1#!:TXOI&U)^A7=#8Z*6"*_LD=6,['GLDK906>>N,!#DK MFC>];S=BRP$7VN\0M0Z1Y6XFLI3G5-,DEJ(FTEBCFFG8I5IOA&.%BE') @/"!1 M$ W_=O<1K*.+.KK(Z@UWTBD%<$ LY0$Y!Y5*5MIP_KQ$6W*A(5>_^D ;X5&_ ML#GKQZJD* ,NH8":033JRB9/L"K@DW^24<[BWNSESS4O)-_@F?F8#^*>YNS=W_N;]5&)DB\XK*)2L4 MSKU I6 PQ=0@F[JMZ6A1VEII+C3&WS976.N"- 8XOA!"/W9,^=55S\D?4$L# M!!0 ( ,Z J58,I; #MP( (T' 9 >&PO=V]R:W-H965T2J&594OEG M#(58#QW?V4[%OA?K+[#Q$QJ^5!3*?LFZCHT#AZ1+I46Y M :."DO&ZI2^;/.P D*<=$&P P3Z@_P:@MP'TK-%:F;5U135-!E*LB331R&8Z M-C<6C6X8-W]QJB6N,L3IY!M@#A0Y)1-15H(#UXJ(.;'3Y/H%#PNVQU>@*2O4 M"<8]3J_(\=$).2*,DX=<+!7EF1JX&L482C?=;#RN-P[>V+A';@77N2+7/(/L M-=Y%$XV38.MD''02CBIY1CS_$PF\H->B9](-OZ4(#R(+#SKD])K$]BQ?KSNQ M/TUE]M*:HI^NT4Y@)?JHJF,'3PABJ0*W"2CQ_\R/O^T*HT9AU*GPB4I&9P6\KR\ZV#ON M1WOZ#F/ZX7F[P+@1&'<*?!":%N^KBP__WGD8[LEK"8K]BSU][DYE*T$N;,%7 M)!5+KNO2T,PV;\K(EM*]^3&^-?73\(^F?JCPXB\85^AJCI3>68P9DW7QKP=: M5+9^SH3&:FR[.;Z7($T KL^%T-N!V:!Y@9._4$L#!!0 ( ,Z J59D#V/S M&PO=V]R:W-H965T2 H@NT@)$TNQ>+7M#VV"9*D5J2LMNW7U)2%%M6F$+H MC:T#Y^?WE!+*N@PKFAT&0^@6AW,MG];6%S&>BTHQR6$BDJJ(@\N<-,'&8>]A[NG!/ MMSMM+_CYK"1;> #]6"ZD.?,[E34M@"LJ.)*PF7O7^.H61S:@'O$WA8,Z.D;6 MRE*([_;DK_7<"RP1,%AI*T',WQYN@3&K9#C^:T6];DX;>'S\I/ZQ-F_,+(F" M6\'^H6N]FWL3#ZUA0RJF[\7A$[2&$JNW$DS5O^C0C@T\M*J4%D4;; @*RIM_ M\J-=B*, '+\0$+8!X:\&1&U O7)^0U;;NB.:Y#,I#DC:T4;-'M1K4T<;-Y3; M-#YH:>Y2$Z?SSV#60*$+]& VR+IB@,0&?:QT)0%]H9P658$6Y*=)G%;HD:]! MHC;DW1UH0IEZ;X(?'^[0NS?OT1M$.?JZ$Y4B?*UFOC:$=AY_U=+<-#3A"S37 MI;Q$ ?X3A4$8#83?NL/O8'6)HB8\/ WWS;ITBQ-VBQ/6>I%[Q3>*5*LH*Y9QXS!7(/7O[V#YP&'X;\_2:Q$[=1YS9RJ>?W8!][ MFV&S!5Y(P$TCD=82]A6QSU,\#6;^_MB%QT8<#C(? F*CD"G^ @ M[8$[I4>")QUX\AIX,@2>G(,'>-(#=TJ/!$\[\/0U\'0(/#T#3],8]\"=TB/! MLPX\>PT\&P+/SL"3+.EO%:?T2/!)!SYQ@G_=@2G9&PUR"']RAA_%47_=G1., MQ)]V^%,WOM"$V6)65Q=F7[*H;&O,D*'IN:$)CL.>(^><(QWAX+F,!DY/GT&I M*U/]3$Y Z<'*%YS9N(A#^Y8]L>&>9ZR/HW8 .WTLK"C7:$]85?<"W+22OYZJ M5OTD5]$43_LFG1!C33Z7=>RLHVVR5I64UFHII.TH!^V$YSG+$MS?>NVP]&18 ME#RG]I3SN2!C=T5N'A0F^/;"[*L"F>9=$DWYMLT$HV1)&=44AI-Q7JS#- ZR M/OW L"R99#UZ_ZC)M!W^%R*WE"N#LC%QP65F5DDV37-SHD59]YU+H4T76Q_N MS(<&2#O W-\(H9].;"O;?;KD_P-02P,$% @ SH"I5B;&,U\I! ZA4 M !D !X;"]W;W)K&ULS5A=;^(X%/TK5G:TFI$H MB0,$Z )22V>TE;::JLSL/HSFP207L":)L[:!=G_]VDD(@;I6RZ:SY8%\^1Z? M>[B^G'BT9?R'6 %(=)_$J1@[*RFS<]<5X0H2(MHL@U0]63">$*DN^=(5&0<2 MY4%)[/J>%[@)H:DS&>7W;OEDQ-8RIBG<7*ZEO MN)-11I8P _DUN^7JRJU0(II *BA+$8?%V+G YU,\U 'YB#\I;$7M'.E4YHS] MT!?7T=CQ-".((90:@JC#!J80QQI)\?B[!'6J.75@_7R'_BE/7B4S)P*F+/Z+ M1G(U=@8.BF!!UK&\8]O?H4RHI_%"%HO\&VW+L9Z#PK60+"F#%8.$IL61W)=" MU (4CCG +P/\XX#N$P&=,J"3)UHPR].Z(I),1IQM$=>C%9H^R;7)HU4V--4_ MXTQR]92J.#FY@PVD:T!GZ"**J%:6Q.@Z+>I#Z_S^"B2AL?B@AGR=7:'W[SZ@ M=XBFZ(;&L1H@1JY4/#2:&Y9S7A9S^D_,V4$W+)4K@3ZF$42'\:[B7R7A[Y*X M]*V %QEO(P^WD._Y'0.?J3W\"L(VZA3AOH5.I]*TD^-U[)JVT!WHA433);H% MGDN:AH ^SV.ZS,5MH8_WF:IGB- 7FNAQ;(%FZI%8D*+*O_VAL-&UA$1\-PE= M$.F:B>@6<"XR$L+846M< -^ ,_GU%QQXOYE4:@CL0+-NI5G7ACZI"\0J@8S% M50#I!:60=)O:3(;M@5?_X)&[J6=FG?O$S'I59CUK9E-5ZUS]G(@( =*840& M@UI&?GMXE$/O<=JX-NB 6U!Q"Y[';4OEJFPWP%LHIF1.8RH?3&P# ]ON([K! M8[H=[RF^_8IOW\IWUZTXA&R9TG_4PJ%I&*^C_ 2%93I&D0OD.FO)LG?S$ M,AE4J0V>DUH#3:.%9I)PB=3_ :!O%_=4?#_/.^.9USWS?),V5FHO;2,-@1VH M.*Q4'+Z5UCML4K.&P XTP][> WC/JSU>J989^W%+WP\AE\2/N/^F^E'#9GI4K?7L.9X[\WQ,\WY?^Y' U,_\GJ/ M#-)KF&B\=]'8:CA_5C\ZP?4B8W4T:I_=VFZ:>AM>YIN,0KU^>D*2 1< M#U#/%XS)W86>H-K>G?P+4$L#!!0 ( ,Z J5;WTULY.P( -0$ 9 M>&PO=V]R:W-H965T(;EV M3S*,L5% BEZC;,=DPZ!EPK_IT]B'DX0X?B$A'A-BQ]L7 M^.]O&WE%UF7)K$GYLXLW=X"47YH)$VZXJ.N37P1<-VI&8GF[T@O; MKW6N49GI^GU.MD=;GD>S&[?2'2T@#V_J*K]#WD'9N;G-)9HM<&9C?CN@;("Y MKZ3$HV,+3#^R[!]02P,$% @ SH"I5E$W3;*)! *1@ !D !X;"]W M;W)K&ULM5EM;]LV$/XKA%8,+;!$(B5+=F8;2)QU M"]"@@;UN'X9]4.RS+502-9*.&V _OM2+]6:*;A+Y2RS)]SQ\[G3'.S/C/65? M^19 H&]1&/.)L14BN3)-OMQ"Y/-+FD LOUE3%OE"WK*-R1,&_BH#1:%)+,LU M(S^(C>DX>_; IF.Z$V$0PP-#?!=%/GN^@9#N)P8V#@_FP68KT@?F=)SX&UB M^)(\,'EGEBRK((*8!S1&#-83XQI?S8B7 C*+OP+8\]HU2EUYI/1K>G.WFAA6 MJ@A"6(J4PIQV'*I:P6K)MZ4'I=NDX/;-T1+>)VP2V3A7Q"QB*W0,]/#[WT))VX& M)QHY=OD6[(S/[N [Q&X."6598.L!_^>3-$=W B+^KRIV.;>CYD[W@2N>^$N8 M&++0.; G,*8__X1=ZU>5XSV1-<+@E&%P=.S3.3Q!O -E@N1(-T.F>]/3%+N> MXPS'YE-=OL)LY&'/*!4(D;'*WJ8LMK:SNV&CF$ M=$AS2VGN#TB36_ FB%72R1AA&91A&KZ[?T7%A$L\F[1I1F U& MHZ&MSD-L56W.TDI;//,T_LK6HT6^-/Y]L37]K+5S?,9,+,C["D5/;,U0D"H4 MY-796$ 'M3QS+$RL5C8JS&P/CW!'-E;M'FO;:&WJXH>IZW]T8K/44[[XW9RC MS^.JT6/GG&FJ'2->'(J>V)JAJ$8+K)\MM&DZ.,H_Y:ZILM-MF]5P@7]DNN@> M? IX?;]V;)?8;7W'9IXG9^<.>=5X@?7SQ:GAIX"WIQ_G2)_2SNF,7S478&V_ M51>ZKA?U.@OTQ=9TOIH&\.B<1:Z=-5XA[RJBQ-]%S]5X@6\5;H#[+7U MJ>U(QQY$JEY.7M'+9Y3)G/<%9*3L[9TTFO/;TO MMF8HJIY.7M_3R?$QP%&IZTR:DJI.3M[6R5LGU\/5+Q0I,^/M1+F+9NW0-0*VR?9V=\K:>W^"K M67YJ7='DA^CW63@X"F$M*:U+3^8%R\^E\QM!D^QH]Y$*0:/L<@O^"EAJ(+]? M4RH.-^D"Y7\'IM\!4$L#!!0 ( ,Z J59Q2>5-)PT #F 9 >&PO M=V]R:W-H965T[5?-[^T6<]I'(OYIBBWL\N+_6N?ZLN+ZJY=EUOYJ8Z:N\VFJ!_?RG7U\'I& M9D\O?"Z7J[9_87YYL2N6\EJV7W:?ZNZW^0EE46[DMBFK;53+V]>S-^35%>%) MWV/?Y%^E?&BTGZ-^+E^KZO?^EP^+U[.X'Y)ZAN('\< M46>G-^T[ZC\_H;_?S[Z;S=>BD5?5^M_EHEV]GF6S:"%OB[MU^[EZ^)L\SF@_ MP)MJW>S_C1Z.;>-9='/7M-7FV+D;P:;<'OXO_CQ60NO0X?@[T&,':G?@ QW8 ML0/;3_0PLOVTWA5M<7E15P]1W;?NT/H?]K79]^YF4V[[=;QNZ^ZO9=>OO?SG M3M9%6VZ7T;5<=NO3-E&Q742_;%M9[^JRD3]U;R^C#]L#9?K*_Q1]EO=R>R>C MKX]/O5YTK]U4RVVY;_';XTZ^V./\55;+NMBMRIOH34>SZ(=WLBW*=?-CA_+E M^EWTPW<_1M]%9==E5=TU78_F8MYVT^H'-[\Y3N'M80IT8 HL^EAMVU73#7HA M%V;_>5>.4TWH4TW>4A#PS:Y^&<7D141CRCSCN8*[?RRZ[E3LNU-@..RT1&R/ MQP;PWI5-L5S6"G$G (_?(X82\Y#CW%OF=_U;J_)"+E/+N8 MW^O#]S3+4Y+R4S-C8,EI8 DXL$]U]55&5T7M)R[8>>H"(($9\Q2G>8I '!28 M)4 ",TJ0GDJ0GLW!0\]$)Q=-&;4YZ&F6Y'G&_!S,3@/+P(%=/S9]]7WC CM. M+3X2F#''_#3'/!#_$QA8#/L M- G)0E$25;1@H9EE4+*%@)( IF3NRD'.J,U(3ZLXX:F?D52)"0J+B2_=9W6Y MB*[;HO4/#^X_=1VPT,S9*GU"22 Z4E3]@H5FED'I%PH* Y".QZZF-$P9L?CH M:483,9Z* 78J:4%A:6&S$]C&8:3)2Q+BR(,JW4+34,Q$53-8:&89 ME)JA\!$+R,S,I1R+<_N3MZ=9(M*!#]Y4"0P*"XRK5;DMO,-"/?C 0C,/P)58 M87&H(W!4%8.%9I9!J1@&G[) -#QV-2Z0:9S;G[L]S5C&\H'/W4PI"P8KBST/ MQ[=M&&7R59-L1-[0L?L*@PN0GLWS#. MY 4)<0+"E5[AH8P=O (A#CRX$BH\E'W#434,%II9!J5A^/GV#?<8,Z3[R&TS MT6U&*1GZP)TH79' NN*)BN,[-PPT^5MH(8Y $J59DE!&3H(J8+#0S#(H 9.< M;^0DKD-#8D:Y14Q/,TH2,F#D)$I4)+"HT(@);-LPR.35"'$"DBBQDH3R;Q)4 M]8*%9I9!^R[L^?Y-XAHS.;>/@3R-1#;PW8M$J8D$5A-_+W;^KZ;!_287/\29 M1Z*D21+*J4E0A0L6FED&)5R2\YV:Q./4Q'EJ?P?(TRQG@S146B*!M<2>AL_8 MK5$//[#0S"^-*Y$B0ODV E6T8*&995"B19SOVPC7D$D)LZ^,GE8\S1(_)X62 M$0*6$4^)(/:$>A%(2 %<0O=W6UD]YAH9YO8*&9T]1NI@EV-PWN[30A)(M0DD6<;],( MUX#).74NBQXSA^5#ET4E(@0L(@XT'-^K89C)JQ'BK$,H?2)"^34"5;)@H9DW M>2G)DI[OUZ2>NV=<4GI:T4']F"H1D<(BXD1*8+.&(::N!!::.6$E3M)0)DV* MJEFPT,PR*,V2GF_2I*[[(N+8/H+TMB(#=QVF2D6D(Q9-N5T6NZKV[M=PW\E+ M$.)@(U6R) UERZ2HL@4+S2R#DBWI^;9,ZAHN">,.$SWF39SE U_/3;5;D1"G':D2*FDHFR9%E2Y8:&89E'1)S[=I4M=_8=2]1/KNLJ'9 M0#I IM1$!JL)G9C0?=JHIQU8:.:> >(>MR!A6;.6 F5+)0]DZ&J&"PT MLPQ*Q63GVS.9Z[QP_1MFQPEX[JX1V<#NG2E=D8WI"HN1X[LXC#AY84*<@V1* MO62AK)L,5G5<8'3H,RI2ZR,77ATA/:RU%/ M0[#0S-05I5_R4 9.CBIIL-#,,BA)DY]OX.2>&V]TUATGX+;23]7-<2F-D<,: MH[M*+NYNVB9JZV+;W,JZEHNH:*,BVE7EMNV#U=IRX_V #B-/7I\09R2YTC1Y M*%\G1Q4Z6&AF&930R<_W=7+7L2&"LKXWL_ M_#Z3ERS$F4JNM$\>R@K*4240%II9!B6!\O.MH-R7KB9$ZC#7%Z^696Q G^9* MF.2P,'D^$MB+94MAG7+B;E]%FL___)&FC2N[F4]J!%&X"=G\6#!6?6@6CV"Y;?% MN %N6'!6*;0(M_@;,MQB7XB;<(GKN?DG'PS+BK40MQ@6,A-X^XRH-_C-IB]= MB&,<$FMI;W&PN+<8-^\-"\XJA9;X%G]#Y%OLNDTB<4GL\:3(4)X1B;7(MQC6 M---(# 7#P6\T?=6"1,/%6C9<'"P<+L9-A\."LTJAY[GZ-=J6=YXQPG#3%X4+#AKWGJ8;2@' MBV#'W0913'K@+1PE"_.3^.XT(HEP,@Q]#0DG=#!W6-,Q(UFT'HX^0Q+ H-.7 M*<2Y#]%3;TDHBXL@)^&&B<+5LW#AE-D1QGH<+#]C/0U!QFJ:922FUL]8:/^' M :M?D3QS4@Y][1CG M;.CCE!9=2T:R:WM*/F-GAU&FKTJ0"0IMY##"]!4)(2&LJ](K@QN6AP5BDT30-' MT(Z0T[6F7&)";:QA:?IB)+GV_;IH5OXQX9ZD8,%9,]4D"PWE21'8D4?,9.#L-,7A4L.&O> MFH!AP1P/Y".H)J(,(JNF,D4#;)X)".SD,,7U% M@IR::$&YA 7SE' 3=-'@K%)HH@9.IQTAI^L6.3LYV,8:EB8P1D)M03;BGHI@ MP5ESU50+"V80X6;HHL%9I=!D#9Q/.\)&U_GQ/O7/TPYZ[)^6;DM&XFV/K'S. M ]=PCTNPX*R9:S*&!S.)<+-TT>"L4FC*!LZIA3G*7>_'X2?8QAJ6IC)&XFT5 M-Z%K)PPR?3&"G))P_0&(P:P@W"Q=-#BK%)JH@7-J1WAYZ"O&KIV>=KYKYUQ[ M!OM&ULO]H^F;Z*:ZV[:'1X^?7HV.3ZI_]6;_T'?K];?DU=7A(?8*YO)B5RSE MQZ)>EMLF6LO;#C)^V=\.7A\>4W_XI:UV^R>]?ZW:MMKL?US)8B'KOD'W]]NJ M:I]^Z=_@H:I_WP_[\O]02P,$% @ SH"I5O"W;V-] P PQ< T !X M;"]S='EL97,N>&ULW5C=;MHP%'Z5*%VG5IH:0M9 5D#:D"I-VJ9*[<7N*D,< ML.0XF6,ZZ.7>91>5]A1[E#W)?.*0 /5!M!?UMEJF+5XXY M'[TY.FK=GEYLVD]*X-3UK*3G.Y">M5HX,8 8>;@;^39NC+JS3ET./]9$QO$8 M<^M:W'24QA,ZF'-DG\Z?'[^0%#3(UB1T6ACQ TK\L!.Q;R?^_1/AK8'MM.V= M\KHEK1AQ8$W/2G)*1Z_:,(->DHEFWP2N,6AFDE+GCO"^.R2.>)RLY*TM7 MU$TMJ&H:&M,!_E4VP[U*VWD6KY.SNTQ]F.GIB+(/14:O)$W8O.S/DUH QN[C M["3/^>(]9Q.14C/YG0,.>F3IYTPSR>YU-"B5L390Z3IW5"HV7K5\ER2_H7.U M+*=Y@FMN'Z#F?[O.$RJH)'Q5M*[]?5[E9RL..B\EN;RJ; JV:JP>7O9=Y/DA MB P/0>1!U&3W$$1&!R"R\V)7S:>(]/=?9' 0V6X?@LA@+T5ZU8/ORM/UVK-U M;77@':;O?H&W(=X$=48SQA4356_*XIB*1X_8FEZ1$:?K_'I\3!,RX^JF!OMN MT_Y,8S9+HWK4%2Q$-:II?X+I^6'] J5C,1'3.8V'55=.1F73T0T=M3K 81.Y M+ \[@OD8S(X AL7!%& ^Q@N+\S_-IXO.QV"8MJX5Z:(^7=3'>-F08?G!XMA] M(GW89QI%01"&V(H.AU8%0VS=PA"^=C9,&WA@<2#2T]8:SS9>(=OK ,OIM@K! M9HI7(C93?*T!L:\;>$21/=M8'/# LH#5#L2WQX&:LOL$ 605TX;M8!R)(@R! M6K37:!@BJQ/"QYX?;)<$0139$<#L"H( 0V WX@BF #1@2!"4]\&-^Y&WO$]Y MS=_V@[]02P,$% @ SH"I5I>*NQS $P( L !?3T\ M$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5* M(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'<$ !S*@ #P 'AL M+W=O;9M.W.R-X8;="N*KL1X-!UJ^X5+VKR^.Q MEJ;O;V@GU@L:FX4&*9_MS?[/)]M+*1UE*]S+JM=]+T6.55+*2WT0QZ@UZ MS&[U\]_:R&]:.5ZN" M:VFL:WNTQ^? N!?0^;!5.WTM2R?,E#OQR>AZ)]6F.0S\BK[W,]IQ.'X>!O'" M_)]AU.NUS,54YW4EE#N,HQ%E ZCL5NYLCRE>B5%OHO?"L"7?B.9'P7^9%X9 1 AF= M$/)+Y$'&"&1\$LC5/7Q\GBT\R 2!3$X(&8QDBD"FIX2,/<@,@8,OW@);KD];%LRS+=K3F,,-JTQ"P ML;5@,I\2E0RQ9<9Y;FI1L!O)VV H^BC86H9$KOE3EAGZMS5!B(!FVRYV81P MF%*&Q$ZYYM*P!U[6HIW?J3!RSYMD U,-V#XF)I4AL57^X<9PY5Y\'LP?0V*! M0$K=089\.6/+$KC.VL&;_5O+7?.'9SXF9I AL4)63N=/6UT6PM@O+9][.2S. MS8YW/B;FD"&Q1!9PW+G*=248C"I;P242A%=,'4-R=U25=$TGVXXJX*R&#-(1&R0CES5.928/B)B?70&K$Y*3"01L4C0I!5>.)A*(F*5 M')-6U_C%F%5B8JN@D2N\18/9)B:V#1JY0DS,-C&Q;;HB5^>4H_>[B%USB#6= M6)A;8F*WH($BG&+,,#&Q8?! X=_DBC'#Q-2WN=! $6!BDHF))?-[H)@*QV49 MGI:88&)BP:")(CPM,<'$Q(+!,?WY3C#=)*>\[17*"?J A5@_KV%^;_VS6SVU_0=02P,$% @ SH"I5M))O&T1 @ %R8 !H !X;"]?!-T#( MHPS=1Y +Z1 ITA@\%3$D>/D7Q =B^/2K'-IQWYWJ;M_7Q._8^4ZGI7CFV]Z_IR.E_9=,.Q'<_+89OZ=OW>;DO2Y3*GX79&\_QT.W/Q M^MF7_YG8;3;[=?G9K7\?RVG\Q^#TIQO>ZZZ4L5F\ML.VC*LF?1RNIVNZ'.3N M/+E9O+RMFN'E39HT=Y!"D,X?9!!D\PBGHK@=Z*>BN! MWHIZ*X'>BGHK@=Z*>BN!WHIZ*X'>AGH;@=Z&>AN!WH9Z&X'>-MDL(=#;4&\C MT-M0;R/0VU!O(]#;4&\CT-M0;R/0VU!O(]#;46\GT-M1;R?0VU%O)]#;46\G MT-LGF]T$>COJ[01Z.^KM!'H[ZNT$>COJ[01Z.^KM!'H'ZAT$>@?J'01Z!^H= M!'H'ZAT$>@?J'01ZQ^1G)8'>@7H'@=Z!>@>!WH%Z!X'>@7H'@=X9]F?4 M.Q/HG5'O3*!W1KTS@=X9]<[?J7<=/P^E7GN^UOC\[Z1Z/-];KH^_++].3M[> M"\[IMJ(^_P502P,$% @ SH"I5L"(;73I 0 ?B4 !, !;0V]N=&5N M=%]4>7!E&ULS=I=3\(P% ;@OT)V:UCIU_R(<*/>JA?^@;H=9&%;F[8@ M_'N[ 28:)1I,?&]8H.UYSWJ2YXKKIZVC,-JT31>FV2)&=\58*!?4FI!;1UU: MF5O?FIB^^A?F3+DT+\3$9%*PTG:1NCB.?8UL=GU+<[-JXNANDWX.M>VFF:X M K @ $0 @ &O 9&]C4')O<',O8V]R92YX;6Q02P$" M% ,4 " #-@*E6F5R<(Q & "<)P $P @ ', 0 >&PO M=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( ,V J5;G;U!/S@4 ,8> 8 M " @0T( !X;"]W;W)K&PO M=V]R:W-H965T&UL4$L! A0#% @ S8"I5OI,["7Q @ M* @ !@ ("!$!4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ S8"I5E#N7R)&PO=V]R:W-H965T&UL4$L! A0#% M @ S8"I5LE9#R"; @ U 4 !@ ("!?3@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ S8"I M5J) %\F/# B4 !D ("!_$P 'AL+W=O&PO=V]R:W-H965T !X;"]W;W)K M&UL4$L! A0#% @ S8"I5IF"/2.J!@ E1 M !D ("!T&$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ S8"I5@+1RRV%! ,PH !D M ("!@FX 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ S8"I5ECAZO2-!P ?1( !D ("!\W\ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ S8"I5N>" M MSE! 8@P !D ("!&PO=V]R:W-H965T&UL4$L! A0#% @ S8"I5G_F83(8!0 / X !D M ("!P)D 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ S8"I5D1@G4BS! R L !D ("! M<:4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ S8"I5N9VI9I3!0 40P !D ("!*[$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ SH"I5L8#D0@L! L!4 !D M ("!]\< 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ SH"I5LN;.5:G" .6H !D ("![-, M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MSH"I5M'$LD>M#0 U)4 !D ("!\^8 'AL+W=O&PO=V]R:W-H965TQ!0, ',, 9 " @7/Y !X;"]W M;W)K&UL4$L! A0#% @ SH"I5FL,_LC< @ MK@< !D ("!K_P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ SH"I5LN?2B!6 P &PL !D M ("![@@! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ SH"I5D# GV^" P (PX !D ("!5!,! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ SH"I M5@REL .W @ C0< !D ("!2!T! 'AL+W=O&PO=V]R:W-H965T C 0!X;"]W;W)K M&UL4$L! A0#% @ SH"I5O?36SD[ @ U 0 M !D ("!0"@! 'AL+W=O&PO=V]R:W-H965T5- M)PT #F 9 " @7(O 0!X;"]W;W)K&UL4$L! A0#% @ SH"I5O"W;V-] P PQ< T M ( !T#P! 'AL+W-T>6QE<$ !S*@ #P @ %A00$ >&PO=V]R:V)O;VLN M>&UL4$L! A0#% @ SH"I5M))O&T1 @ %R8 !H ( ! M=48! 'AL+U]R96QS+W=O XML 76 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 77 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 78 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.1 html 325 258 1 false 88 0 false 9 false false R1.htm 0000001 - Document - Cover Page Sheet http://www.formfactor.com/role/CoverPage Cover Page Cover 1 false false R2.htm 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME Sheet http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME CONDENSED CONSOLIDATED STATEMENTS OF INCOME Statements 4 false false R5.htm 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Statements 5 false false R6.htm 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 6 false false R7.htm 0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 7 false false R8.htm 0000008 - Disclosure - Basis of Presentation and Significant Accounting Policies Sheet http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies Basis of Presentation and Significant Accounting Policies Notes 8 false false R9.htm 0000009 - Disclosure - Concentration of Credit and Other Risks Sheet http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks Concentration of Credit and Other Risks Notes 9 false false R10.htm 0000010 - Disclosure - Inventories, net Sheet http://www.formfactor.com/role/Inventoriesnet Inventories, net Notes 10 false false R11.htm 0000011 - Disclosure - Goodwill and Intangible Assets Sheet http://www.formfactor.com/role/GoodwillandIntangibleAssets Goodwill and Intangible Assets Notes 11 false false R12.htm 0000012 - Disclosure - Accrued Liabilities Sheet http://www.formfactor.com/role/AccruedLiabilities Accrued Liabilities Notes 12 false false R13.htm 0000013 - Disclosure - Restructuring Charges Sheet http://www.formfactor.com/role/RestructuringCharges Restructuring Charges Notes 13 false false R14.htm 0000014 - Disclosure - Fair Value and Derivative Instruments Sheet http://www.formfactor.com/role/FairValueandDerivativeInstruments Fair Value and Derivative Instruments Notes 14 false false R15.htm 0000015 - Disclosure - Warranty Sheet http://www.formfactor.com/role/Warranty Warranty Notes 15 false false R16.htm 0000016 - Disclosure - Property, Plant, and Equipment, net Sheet http://www.formfactor.com/role/PropertyPlantandEquipmentnet Property, Plant, and Equipment, net Notes 16 false false R17.htm 0000017 - Disclosure - Stockholders??? Equity and Stock-Based Compensation Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation Stockholders??? Equity and Stock-Based Compensation Notes 17 false false R18.htm 0000018 - Disclosure - Net Income per Share Sheet http://www.formfactor.com/role/NetIncomeperShare Net Income per Share Notes 18 false false R19.htm 0000019 - Disclosure - Commitments and Contingencies Sheet http://www.formfactor.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 19 false false R20.htm 0000020 - Disclosure - Leases Sheet http://www.formfactor.com/role/Leases Leases Notes 20 false false R21.htm 0000021 - Disclosure - Revenue Sheet http://www.formfactor.com/role/Revenue Revenue Notes 21 false false R22.htm 0000022 - Disclosure - Operating Segments and Enterprise-Wide Information Sheet http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation Operating Segments and Enterprise-Wide Information Notes 22 false false R23.htm 0000023 - Disclosure - Basis of Presentation and Significant Accounting Policies (Policies) Sheet http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies Basis of Presentation and Significant Accounting Policies (Policies) Policies http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies 23 false false R24.htm 0000024 - Disclosure - Concentration of Credit and Other Risks (Tables) Sheet http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables Concentration of Credit and Other Risks (Tables) Tables http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks 24 false false R25.htm 0000025 - Disclosure - Inventories, net (Tables) Sheet http://www.formfactor.com/role/InventoriesnetTables Inventories, net (Tables) Tables http://www.formfactor.com/role/Inventoriesnet 25 false false R26.htm 0000026 - Disclosure - Goodwill and Intangible Assets (Tables) Sheet http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables Goodwill and Intangible Assets (Tables) Tables http://www.formfactor.com/role/GoodwillandIntangibleAssets 26 false false R27.htm 0000027 - Disclosure - Accrued Liabilities (Tables) Sheet http://www.formfactor.com/role/AccruedLiabilitiesTables Accrued Liabilities (Tables) Tables http://www.formfactor.com/role/AccruedLiabilities 27 false false R28.htm 0000028 - Disclosure - Restructuring Charges (Tables) Sheet http://www.formfactor.com/role/RestructuringChargesTables Restructuring Charges (Tables) Tables http://www.formfactor.com/role/RestructuringCharges 28 false false R29.htm 0000029 - Disclosure - Fair Value and Derivative Instruments (Tables) Sheet http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables Fair Value and Derivative Instruments (Tables) Tables http://www.formfactor.com/role/FairValueandDerivativeInstruments 29 false false R30.htm 0000030 - Disclosure - Warranty (Tables) Sheet http://www.formfactor.com/role/WarrantyTables Warranty (Tables) Tables http://www.formfactor.com/role/Warranty 30 false false R31.htm 0000031 - Disclosure - Property, Plant, and Equipment, net (Tables) Sheet http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables Property, Plant, and Equipment, net (Tables) Tables http://www.formfactor.com/role/PropertyPlantandEquipmentnet 31 false false R32.htm 0000032 - Disclosure - Stockholders??? Equity and Stock-Based Compensation (Tables) Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables Stockholders??? Equity and Stock-Based Compensation (Tables) Tables http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation 32 false false R33.htm 0000033 - Disclosure - Net Income per Share (Tables) Sheet http://www.formfactor.com/role/NetIncomeperShareTables Net Income per Share (Tables) Tables http://www.formfactor.com/role/NetIncomeperShare 33 false false R34.htm 0000034 - Disclosure - Leases (Tables) Sheet http://www.formfactor.com/role/LeasesTables Leases (Tables) Tables http://www.formfactor.com/role/Leases 34 false false R35.htm 0000035 - Disclosure - Operating Segments and Enterprise-Wide Information (Tables) Sheet http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables Operating Segments and Enterprise-Wide Information (Tables) Tables http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation 35 false false R36.htm 0000036 - Disclosure - Basis of Presentation and Significant Accounting Policies (Details) Sheet http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails Basis of Presentation and Significant Accounting Policies (Details) Details http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies 36 false false R37.htm 0000037 - Disclosure - Concentration of Credit and Other Risks (Details) Sheet http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails Concentration of Credit and Other Risks (Details) Details http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables 37 false false R38.htm 0000038 - Disclosure - Inventories, net (Details) Sheet http://www.formfactor.com/role/InventoriesnetDetails Inventories, net (Details) Details http://www.formfactor.com/role/InventoriesnetTables 38 false false R39.htm 0000039 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) Sheet http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails Goodwill and Intangible Assets - Goodwill (Details) Details 39 false false R40.htm 0000040 - Disclosure - Goodwill and Intangible Assets - Additional information (Details) Sheet http://www.formfactor.com/role/GoodwillandIntangibleAssetsAdditionalinformationDetails Goodwill and Intangible Assets - Additional information (Details) Details 40 false false R41.htm 0000041 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details) Sheet http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails Goodwill and Intangible Assets - Intangible Assets (Details) Details 41 false false R42.htm 0000042 - Disclosure - Goodwill and Intangible Assets - Amortization Expense (Details) Sheet http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails Goodwill and Intangible Assets - Amortization Expense (Details) Details 42 false false R43.htm 0000043 - Disclosure - Accrued Liabilities (Details) Sheet http://www.formfactor.com/role/AccruedLiabilitiesDetails Accrued Liabilities (Details) Details http://www.formfactor.com/role/AccruedLiabilitiesTables 43 false false R44.htm 0000044 - Disclosure - Restructuring Charges - Narrative (Details) Sheet http://www.formfactor.com/role/RestructuringChargesNarrativeDetails Restructuring Charges - Narrative (Details) Details 44 false false R45.htm 0000045 - Disclosure - Restructuring Charges - Restructuring Charges (Details) Sheet http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails Restructuring Charges - Restructuring Charges (Details) Details 45 false false R46.htm 0000046 - Disclosure - Restructuring Charges - Changes to the Restructuring Accrual (Details) Sheet http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails Restructuring Charges - Changes to the Restructuring Accrual (Details) Details 46 false false R47.htm 0000047 - Disclosure - Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details) Sheet http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details) Details 47 false false R48.htm 0000048 - Disclosure - Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details) Sheet http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details) Details 48 false false R49.htm 0000049 - Disclosure - Fair Value and Derivative Instruments - Additional Information (Details) Sheet http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails Fair Value and Derivative Instruments - Additional Information (Details) Details 49 false false R50.htm 0000050 - Disclosure - Warranty (Details) Sheet http://www.formfactor.com/role/WarrantyDetails Warranty (Details) Details http://www.formfactor.com/role/WarrantyTables 50 false false R51.htm 0000051 - Disclosure - Property, Plant, and Equipment, net (Details) Sheet http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails Property, Plant, and Equipment, net (Details) Details http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables 51 false false R52.htm 0000052 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - Additional Information (Details) Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails Stockholders??? Equity and Stock-Based Compensation - Additional Information (Details) Details 52 false false R53.htm 0000053 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details) Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails Stockholders??? Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details) Details 53 false false R54.htm 0000054 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - ESPP Activity (Details) Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails Stockholders??? Equity and Stock-Based Compensation - ESPP Activity (Details) Details 54 false false R55.htm 0000055 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - Stock-Based Compensation (Details) Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails Stockholders??? Equity and Stock-Based Compensation - Stock-Based Compensation (Details) Details 55 false false R56.htm 0000056 - Disclosure - Stockholders??? Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details) Sheet http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails Stockholders??? Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details) Details 56 false false R57.htm 0000057 - Disclosure - Net Income per Share (Details) Sheet http://www.formfactor.com/role/NetIncomeperShareDetails Net Income per Share (Details) Details http://www.formfactor.com/role/NetIncomeperShareTables 57 false false R58.htm 0000058 - Disclosure - Leases - Narrative (Details) Sheet http://www.formfactor.com/role/LeasesNarrativeDetails Leases - Narrative (Details) Details 58 false false R59.htm 0000059 - Disclosure - Leases - Components of Lease Expense (Details) Sheet http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails Leases - Components of Lease Expense (Details) Details 59 false false R60.htm 0000060 - Disclosure - Leases - Schedule of Future Minimum Payments Under Leases (Details) Sheet http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails Leases - Schedule of Future Minimum Payments Under Leases (Details) Details 60 false false R61.htm 0000061 - Disclosure - Revenue - Additional Information (Details) Sheet http://www.formfactor.com/role/RevenueAdditionalInformationDetails Revenue - Additional Information (Details) Details 61 false false R62.htm 0000062 - Disclosure - Operating Segments and Enterprise-Wide Information - Additional Information (Details) Sheet http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails Operating Segments and Enterprise-Wide Information - Additional Information (Details) Details 62 false false R63.htm 0000063 - Disclosure - Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details) Sheet http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details) Details 63 false false R64.htm 0000064 - Disclosure - Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details) Sheet http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details) Details 64 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 2 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 - form-20230401.htm 4 [ix-0514-Hidden-Fact-Not-Referenced] WARN: 1 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 - form-20230401.htm 4 form-20230401.htm form-20230401.xsd form-20230401_cal.xml form-20230401_def.xml form-20230401_lab.xml form-20230401_pre.xml formq123exh3101.htm formq123exh3102.htm formq123exh3201.htm http://fasb.org/us-gaap/2022 http://xbrl.sec.gov/dei/2022 true true JSON 81 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "form-20230401.htm": { "axisCustom": 0, "axisStandard": 28, "baseTaxonomies": { "http://fasb.org/us-gaap/2022": 806, "http://xbrl.sec.gov/dei/2022": 29 }, "contextCount": 325, "dts": { "calculationLink": { "local": [ "form-20230401_cal.xml" ] }, "definitionLink": { "local": [ "form-20230401_def.xml" ] }, "inline": { "local": [ "form-20230401.htm" ] }, "labelLink": { "local": [ "form-20230401_lab.xml" ] }, "presentationLink": { "local": [ "form-20230401_pre.xml" ] }, "schema": { "local": [ "form-20230401.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd", "https://xbrl.sec.gov/country/2022/country-2022.xsd", "https://xbrl.sec.gov/currency/2022/currency-2022.xsd", "https://xbrl.sec.gov/dei/2022/dei-2022.xsd" ] } }, "elementCount": 473, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2022": 3, "http://xbrl.sec.gov/dei/2022": 5, "total": 8 }, "keyCustom": 10, "keyStandard": 248, "memberCustom": 23, "memberStandard": 64, "nsprefix": "form", "nsuri": "http://www.formfactor.com/20230401", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0000001 - Document - Cover Page", "menuCat": "Cover", "order": "1", "role": "http://www.formfactor.com/role/CoverPage", "shortName": "Cover Page", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000010 - Disclosure - Inventories, net", "menuCat": "Notes", "order": "10", "role": "http://www.formfactor.com/role/Inventoriesnet", "shortName": "Inventories, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000011 - Disclosure - Goodwill and Intangible Assets", "menuCat": "Notes", "order": "11", "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssets", "shortName": "Goodwill and Intangible Assets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000012 - Disclosure - Accrued Liabilities", "menuCat": "Notes", "order": "12", "role": "http://www.formfactor.com/role/AccruedLiabilities", "shortName": "Accrued Liabilities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000013 - Disclosure - Restructuring Charges", "menuCat": "Notes", "order": "13", "role": "http://www.formfactor.com/role/RestructuringCharges", "shortName": "Restructuring Charges", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedActivitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000014 - Disclosure - Fair Value and Derivative Instruments", "menuCat": "Notes", "order": "14", "role": "http://www.formfactor.com/role/FairValueandDerivativeInstruments", "shortName": "Fair Value and Derivative Instruments", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000015 - Disclosure - Warranty", "menuCat": "Notes", "order": "15", "role": "http://www.formfactor.com/role/Warranty", "shortName": "Warranty", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000016 - Disclosure - Property, Plant, and Equipment, net", "menuCat": "Notes", "order": "16", "role": "http://www.formfactor.com/role/PropertyPlantandEquipmentnet", "shortName": "Property, Plant, and Equipment, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000017 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation", "menuCat": "Notes", "order": "17", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000018 - Disclosure - Net Income per Share", "menuCat": "Notes", "order": "18", "role": "http://www.formfactor.com/role/NetIncomeperShare", "shortName": "Net Income per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000019 - Disclosure - Commitments and Contingencies", "menuCat": "Notes", "order": "19", "role": "http://www.formfactor.com/role/CommitmentsandContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "menuCat": "Statements", "order": "2", "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "lang": "en-US", "name": "us-gaap:MarketableSecuritiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000020 - Disclosure - Leases", "menuCat": "Notes", "order": "20", "role": "http://www.formfactor.com/role/Leases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000021 - Disclosure - Revenue", "menuCat": "Notes", "order": "21", "role": "http://www.formfactor.com/role/Revenue", "shortName": "Revenue", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000022 - Disclosure - Operating Segments and Enterprise-Wide Information", "menuCat": "Notes", "order": "22", "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation", "shortName": "Operating Segments and Enterprise-Wide Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000023 - Disclosure - Basis of Presentation and Significant Accounting Policies (Policies)", "menuCat": "Policies", "order": "23", "role": "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies", "shortName": "Basis of Presentation and Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000024 - Disclosure - Concentration of Credit and Other Risks (Tables)", "menuCat": "Tables", "order": "24", "role": "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables", "shortName": "Concentration of Credit and Other Risks (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000025 - Disclosure - Inventories, net (Tables)", "menuCat": "Tables", "order": "25", "role": "http://www.formfactor.com/role/InventoriesnetTables", "shortName": "Inventories, net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000026 - Disclosure - Goodwill and Intangible Assets (Tables)", "menuCat": "Tables", "order": "26", "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables", "shortName": "Goodwill and Intangible Assets (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000027 - Disclosure - Accrued Liabilities (Tables)", "menuCat": "Tables", "order": "27", "role": "http://www.formfactor.com/role/AccruedLiabilitiesTables", "shortName": "Accrued Liabilities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000028 - Disclosure - Restructuring Charges (Tables)", "menuCat": "Tables", "order": "28", "role": "http://www.formfactor.com/role/RestructuringChargesTables", "shortName": "Restructuring Charges (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000029 - Disclosure - Fair Value and Derivative Instruments (Tables)", "menuCat": "Tables", "order": "29", "role": "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables", "shortName": "Fair Value and Derivative Instruments (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "menuCat": "Statements", "order": "3", "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000030 - Disclosure - Warranty (Tables)", "menuCat": "Tables", "order": "30", "role": "http://www.formfactor.com/role/WarrantyTables", "shortName": "Warranty (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000031 - Disclosure - Property, Plant, and Equipment, net (Tables)", "menuCat": "Tables", "order": "31", "role": "http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables", "shortName": "Property, Plant, and Equipment, net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000032 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation (Tables)", "menuCat": "Tables", "order": "32", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000033 - Disclosure - Net Income per Share (Tables)", "menuCat": "Tables", "order": "33", "role": "http://www.formfactor.com/role/NetIncomeperShareTables", "shortName": "Net Income per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000034 - Disclosure - Leases (Tables)", "menuCat": "Tables", "order": "34", "role": "http://www.formfactor.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000035 - Disclosure - Operating Segments and Enterprise-Wide Information (Tables)", "menuCat": "Tables", "order": "35", "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables", "shortName": "Operating Segments and Enterprise-Wide Information (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i00e80c9aa2ea4901855189b27c589d19_I20230131", "decimals": "-5", "first": true, "lang": "en-US", "name": "form:DeferredGovernmentGrantLiability", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000036 - Disclosure - Basis of Presentation and Significant Accounting Policies (Details)", "menuCat": "Details", "order": "36", "role": "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails", "shortName": "Basis of Presentation and Significant Accounting Policies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i00e80c9aa2ea4901855189b27c589d19_I20230131", "decimals": "-5", "first": true, "lang": "en-US", "name": "form:DeferredGovernmentGrantLiability", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "us-gaap:ConcentrationRiskPercentage1", "span", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i2bd9c1713c3842a490bcbe89811f8192_D20230101-20230401", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000037 - Disclosure - Concentration of Credit and Other Risks (Details)", "menuCat": "Details", "order": "37", "role": "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails", "shortName": "Concentration of Credit and Other Risks (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:ConcentrationRiskPercentage1", "span", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i2bd9c1713c3842a490bcbe89811f8192_D20230101-20230401", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000038 - Disclosure - Inventories, net (Details)", "menuCat": "Details", "order": "38", "role": "http://www.formfactor.com/role/InventoriesnetDetails", "shortName": "Inventories, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "iaf89c4969d754887acd078f58d431a4c_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000039 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)", "menuCat": "Details", "order": "39", "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails", "shortName": "Goodwill and Intangible Assets - Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfGoodwillTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "idc0595bacd8744b39dc151edbaf37cf1_I20211225", "decimals": "-3", "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "menuCat": "Statements", "order": "4", "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:GoodwillImpairmentLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000040 - Disclosure - Goodwill and Intangible Assets - Additional information (Details)", "menuCat": "Details", "order": "40", "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAdditionalinformationDetails", "shortName": "Goodwill and Intangible Assets - Additional information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:GoodwillImpairmentLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000041 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)", "menuCat": "Details", "order": "41", "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails", "shortName": "Goodwill and Intangible Assets - Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000042 - Disclosure - Goodwill and Intangible Assets - Amortization Expense (Details)", "menuCat": "Details", "order": "42", "role": "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "shortName": "Goodwill and Intangible Assets - Amortization Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000043 - Disclosure - Accrued Liabilities (Details)", "menuCat": "Details", "order": "43", "role": "http://www.formfactor.com/role/AccruedLiabilitiesDetails", "shortName": "Accrued Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringCharges", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000044 - Disclosure - Restructuring Charges - Narrative (Details)", "menuCat": "Details", "order": "44", "role": "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "shortName": "Restructuring Charges - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i0958eaad30e349a884297b4aa3f8860a_D20221025-20221025", "decimals": "2", "lang": "en-US", "name": "us-gaap:RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringCharges", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000045 - Disclosure - Restructuring Charges - Restructuring Charges (Details)", "menuCat": "Details", "order": "45", "role": "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails", "shortName": "Restructuring Charges - Restructuring Charges (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i78b0bbf163f04290aa5a52fa5469e112_D20230101-20230401", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RestructuringCharges", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "iaf89c4969d754887acd078f58d431a4c_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringReserve", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000046 - Disclosure - Restructuring Charges - Changes to the Restructuring Accrual (Details)", "menuCat": "Details", "order": "46", "role": "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "shortName": "Restructuring Charges - Changes to the Restructuring Accrual (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "lang": "en-US", "name": "us-gaap:PaymentsForRestructuring", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000047 - Disclosure - Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details)", "menuCat": "Details", "order": "47", "role": "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails", "shortName": "Fair Value and Derivative Instruments - Fair Value Assets Measured on Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i6d38e8f69b6149ba93fca93c6b09a6a1_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "eur", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000048 - Disclosure - Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details)", "menuCat": "Details", "order": "48", "role": "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails", "shortName": "Fair Value and Derivative Instruments - Foreign Currency Forward Contracts (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i6d38e8f69b6149ba93fca93c6b09a6a1_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DerivativeNotionalAmount", "reportCount": 1, "unique": true, "unitRef": "eur", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AssetsFairValueDisclosure", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000049 - Disclosure - Fair Value and Derivative Instruments - Additional Information (Details)", "menuCat": "Details", "order": "49", "role": "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails", "shortName": "Fair Value and Derivative Instruments - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:LiabilitiesFairValueDisclosure", "us-gaap:LiabilitiesFairValueDisclosure", "ix:continuation", "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i59e69ceb0cbf4e8081b2d6f4a653eb0c_I20230401", "decimals": "INF", "lang": "en-US", "name": "us-gaap:AssetsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "menuCat": "Statements", "order": "5", "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "iaf89c4969d754887acd078f58d431a4c_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000050 - Disclosure - Warranty (Details)", "menuCat": "Details", "order": "50", "role": "http://www.formfactor.com/role/WarrantyDetails", "shortName": "Warranty (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "iaf89c4969d754887acd078f58d431a4c_I20221231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000051 - Disclosure - Property, Plant, and Equipment, net (Details)", "menuCat": "Details", "order": "51", "role": "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails", "shortName": "Property, Plant, and Equipment, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i197efaea47d4405dbd3335cb3b157647_D20211226-20220326", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:StockRepurchasedAndRetiredDuringPeriodValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000052 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - Additional Information (Details)", "menuCat": "Details", "order": "52", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i646de1cf07874f1ab881cc71b4ca6e7d_I20201026", "decimals": "INF", "lang": "en-US", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i0a8f8e03f06649dfa412b9a69e5145c8_I20221231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000053 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details)", "menuCat": "Details", "order": "53", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - Restricted Stock Unit Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i0a8f8e03f06649dfa412b9a69e5145c8_I20221231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i4e183f1cc7304786a98e8841b1ec31aa_D20230101-20230401", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000054 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - ESPP Activity (Details)", "menuCat": "Details", "order": "54", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - ESPP Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i4e183f1cc7304786a98e8841b1ec31aa_D20230101-20230401", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000055 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - Stock-Based Compensation (Details)", "menuCat": "Details", "order": "55", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - Stock-Based Compensation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000056 - Disclosure - Stockholders\u2019 Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details)", "menuCat": "Details", "order": "56", "role": "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails", "shortName": "Stockholders\u2019 Equity and Stock-Based Compensation - Unrecognized Compensation Costs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000057 - Disclosure - Net Income per Share (Details)", "menuCat": "Details", "order": "57", "role": "http://www.formfactor.com/role/NetIncomeperShareDetails", "shortName": "Net Income per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "lang": "en-US", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseRenewalTerm", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000058 - Disclosure - Leases - Narrative (Details)", "menuCat": "Details", "order": "58", "role": "http://www.formfactor.com/role/LeasesNarrativeDetails", "shortName": "Leases - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseRenewalTerm", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000059 - Disclosure - Leases - Components of Lease Expense (Details)", "menuCat": "Details", "order": "59", "role": "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails", "shortName": "Leases - Components of Lease Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i250b5fcf41be4f459b62251ab366c697_I20211225", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "menuCat": "Statements", "order": "6", "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i250b5fcf41be4f459b62251ab366c697_I20211225", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000060 - Disclosure - Leases - Schedule of Future Minimum Payments Under Leases (Details)", "menuCat": "Details", "order": "60", "role": "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails", "shortName": "Leases - Schedule of Future Minimum Payments Under Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000061 - Disclosure - Revenue - Additional Information (Details)", "menuCat": "Details", "order": "61", "role": "http://www.formfactor.com/role/RevenueAdditionalInformationDetails", "shortName": "Revenue - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "ie391b3e511a247a8a50597da9a583817_I20230401", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000062 - Disclosure - Operating Segments and Enterprise-Wide Information - Additional Information (Details)", "menuCat": "Details", "order": "62", "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails", "shortName": "Operating Segments and Enterprise-Wide Information - Additional Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000063 - Disclosure - Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details)", "menuCat": "Details", "order": "63", "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "shortName": "Operating Segments and Enterprise-Wide Information - Operating Results by Segment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "3", "lang": "en-US", "name": "form:GrossMarginPercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000064 - Disclosure - Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details)", "menuCat": "Details", "order": "64", "role": "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails", "shortName": "Operating Segments and Enterprise-Wide Information - Revenue by Segment, Recognition Type, and Geographic Area (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "i1a676884d1a04c6e87b1f9cf3f175b7a_D20230101-20230401", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "menuCat": "Statements", "order": "7", "role": "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": "-3", "lang": "en-US", "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000008 - Disclosure - Basis of Presentation and Significant Accounting Policies", "menuCat": "Notes", "order": "8", "role": "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies", "shortName": "Basis of Presentation and Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "0000009 - Disclosure - Concentration of Credit and Other Risks", "menuCat": "Notes", "order": "9", "role": "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks", "shortName": "Concentration of Credit and Other Risks", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "form-20230401.htm", "contextRef": "if1082ed4d9184f8985a4a875ce6fdf96_D20230101-20230401", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 88, "tag": { "country_CN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CHINA", "terseLabel": "China" } } }, "localname": "CN", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_JP": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "JAPAN", "terseLabel": "Japan" } } }, "localname": "JP", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_KR": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "KOREA, REPUBLIC OF", "terseLabel": "South Korea" } } }, "localname": "KR", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_MY": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "MALAYSIA", "terseLabel": "Malaysia" } } }, "localname": "MY", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_SG": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "SINGAPORE", "terseLabel": "Singapore" } } }, "localname": "SG", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_TW": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "TAIWAN", "terseLabel": "Taiwan" } } }, "localname": "TW", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES", "terseLabel": "United States" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "currency_AllCurrenciesDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "All Currencies [Domain]", "terseLabel": "All Currencies [Domain]" } } }, "localname": "AllCurrenciesDomain", "nsuri": "http://xbrl.sec.gov/currency/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "currency_EUR": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Euro Member Countries, Euro", "terseLabel": "Euro Dollar" } } }, "localname": "EUR", "nsuri": "http://xbrl.sec.gov/currency/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "currency_JPY": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Japan, Yen", "terseLabel": "Japanese Yen" } } }, "localname": "JPY", "nsuri": "http://xbrl.sec.gov/currency/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "currency_KRW": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Korea (South), Won", "terseLabel": "Korean Won" } } }, "localname": "KRW", "nsuri": "http://xbrl.sec.gov/currency/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "currency_TWD": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Taiwan, New Dollars", "terseLabel": "Taiwan Dollar" } } }, "localname": "TWD", "nsuri": "http://xbrl.sec.gov/currency/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag", "terseLabel": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code", "terseLabel": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]", "terseLabel": "Cover page." } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2022", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r537" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r538" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report", "terseLabel": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One", "terseLabel": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r535" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key", "terseLabel": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status", "terseLabel": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r535" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number", "terseLabel": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r535" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category", "terseLabel": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code", "terseLabel": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r539" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current", "terseLabel": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r535" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name", "terseLabel": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r535" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company", "terseLabel": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r535" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business", "terseLabel": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r535" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number", "terseLabel": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number", "terseLabel": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r534" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security", "terseLabel": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r536" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name", "terseLabel": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol", "terseLabel": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://www.formfactor.com/role/CoverPage" ], "xbrltype": "tradingSymbolItemType" }, "form_A2021RestructuringPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2021 Restructuring Plan", "label": "2021 Restructuring Plan [Member]", "terseLabel": "2021 Restructuring Plan" } } }, "localname": "A2021RestructuringPlanMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "form_A2022RestructuringPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2022 Restructuring Plan", "label": "2022 Restructuring Plan [Member]", "terseLabel": "2022 Restructuring Plan" } } }, "localname": "A2022RestructuringPlanMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "form_ChangeInCapitalExpendituresIncurredButNotYetPaid": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Change In Capital Expenditures Incurred But Not Yet Paid", "label": "Change In Capital Expenditures Incurred But Not Yet Paid", "terseLabel": "Decrease in accounts payable and accrued liabilities related to property, plant and equipment purchases" } } }, "localname": "ChangeInCapitalExpendituresIncurredButNotYetPaid", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "form_CustomersRepresenting10OrMoreOfTotalRevenuesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customers Representing 10% or More of Total Revenues", "label": "Customers Representing 10% or More of Total Revenues [Member]", "terseLabel": "Customers Representing 10% or More of Total Revenues" } } }, "localname": "CustomersRepresenting10OrMoreOfTotalRevenuesMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "form_DRAMProductGroupMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "DRAM Product Group [Member]", "label": "DRAM Product Group [Member]", "terseLabel": "DRAM" } } }, "localname": "DRAMProductGroupMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "form_DeferredGovernmentGrantLiability": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Deferred Government Grant Liability", "label": "Deferred Government Grant Liability", "terseLabel": "Deferred grant", "verboseLabel": "Cash received from grant" } } }, "localname": "DeferredGovernmentGrantLiability", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "form_DeferredGovernmentGrantLiabilityTerm": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Deferred Government Grant Liability, Term", "label": "Deferred Government Grant Liability, Term", "terseLabel": "Grant term" } } }, "localname": "DeferredGovernmentGrantLiabilityTerm", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesDetails" ], "xbrltype": "durationItemType" }, "form_EquityIncentivePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equity Incentive Plan [Member]", "label": "Equity Incentive Plan [Member]", "terseLabel": "Equity Incentive Plan" } } }, "localname": "EquityIncentivePlanMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "domainItemType" }, "form_ExistingDevelopedTechnologiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Existing Developed Technologies [Member]", "label": "Existing Developed Technologies [Member]", "verboseLabel": "Existing developed technologies" } } }, "localname": "ExistingDevelopedTechnologiesMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "form_FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": 1.0, "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Four", "terseLabel": "Thereafter" } } }, "localname": "FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Finite Lived Intangible Assets Amortization Expense Total", "label": "Finite Lived Intangible Assets Amortization Expense Total", "totalLabel": "Net" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "form_FlashProductGroupMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Flash Product Group [Member]", "label": "Flash Product Group [Member]", "terseLabel": "Flash" } } }, "localname": "FlashProductGroupMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "form_FoundryLogicProductGroupMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Foundry & Logic Product Group [Member]", "label": "Foundry & Logic Product Group [Member]", "terseLabel": "Foundry & Logic" } } }, "localname": "FoundryLogicProductGroupMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "form_GrossMarginPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Gross Margin, Percent", "label": "Gross Margin, Percent", "terseLabel": "Gross margin" } } }, "localname": "GrossMarginPercent", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" ], "xbrltype": "percentItemType" }, "form_IncreaseDecreaseInDeferredGovernmentGrant": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Increase (Decrease) in Deferred Government Grant", "label": "Increase (Decrease) in Deferred Government Grant", "terseLabel": "Deferred grant" } } }, "localname": "IncreaseDecreaseInDeferredGovernmentGrant", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "form_IntelMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Intel [Member]", "label": "Intel [Member]", "terseLabel": "Intel Corporation" } } }, "localname": "IntelMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "form_InventoryImpairmentsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Inventory Impairments [Member]", "label": "Inventory Impairments [Member]", "terseLabel": "Inventory Impairments & Other Inventory Related Costs" } } }, "localname": "InventoryImpairmentsMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "form_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease, Liability, to be Paid, after Year Four", "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Four", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "form_MajorCustomer1Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer 1 [Member]", "label": "Major Customer 1 [Member]", "terseLabel": "Major Customer 1" } } }, "localname": "MajorCustomer1Member", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "form_MajorCustomer2Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Major Customer 2", "label": "Major Customer 2 [Member]", "terseLabel": "Major Customer 2" } } }, "localname": "MajorCustomer2Member", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "form_May2022StockRepurchaseProgramMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "May 2022 Stock Repurchase Program", "label": "May 2022 Stock Repurchase Program [Member]", "terseLabel": "May 2022 Stock Repurchase Program" } } }, "localname": "May2022StockRepurchaseProgramMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "form_October2020StockRepurchaseProgramMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "October 2020 Stock Repurchase Program", "label": "October 2020 Stock Repurchase Program [Member]", "terseLabel": "October 2020 Stock Repurchase Program" } } }, "localname": "October2020StockRepurchaseProgramMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "form_PerformanceRestrictedStockUnitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Restricted Stock Units [Member]", "label": "Performance Restricted Stock Units [Member]", "verboseLabel": "Performance restricted stock units" } } }, "localname": "PerformanceRestrictedStockUnitsMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "domainItemType" }, "form_ProbeCardsSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Probe Cards Segment [Member]", "label": "Probe Cards Segment [Member]", "terseLabel": "Probe Cards" } } }, "localname": "ProbeCardsSegmentMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "domainItemType" }, "form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Property Plant And Equipment Net, Excludes Construction in Progress", "label": "Property Plant And Equipment Net, Excludes Construction in Progress", "totalLabel": "Net, property, plant and equipment" } } }, "localname": "PropertyPlantAndEquipmentNetExcludesConstructionInProgress", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "form_RestOfTheWorldMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Rest Of The World [Member]", "label": "Rest Of The World [Member]", "terseLabel": "Rest of the world" } } }, "localname": "RestOfTheWorldMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "form_StockBasedCompensationMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Stock-based Compensation", "label": "Stock-based Compensation [Member]", "terseLabel": "Stock-based Compensation" } } }, "localname": "StockBasedCompensationMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "form_SystemsProductGroupMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Systems Product Group [Member]", "label": "Systems Product Group [Member]", "terseLabel": "Systems" } } }, "localname": "SystemsProductGroupMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "form_SystemsSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Systems Segment [Member]", "label": "Systems Segment [Member]", "terseLabel": "Systems" } } }, "localname": "SystemsSegmentMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "domainItemType" }, "form_TaiwanSemiconductorManufacturingCoLTDMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Taiwan Semiconductor Manufacturing Co., LTD", "label": "Taiwan Semiconductor Manufacturing Co., LTD [Member]", "terseLabel": "Taiwan Semiconductor Manufacturing Co., LTD." } } }, "localname": "TaiwanSemiconductorManufacturingCoLTDMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "form_TwoMajorCustomersMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two Major Customers", "label": "Two Major Customers [Member]", "terseLabel": "Two Major Customers" } } }, "localname": "TwoMajorCustomersMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "form_WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted Average Per Share Discount From Fair Value From Date Of Issuance, Common Stock", "label": "Weighted Average Per Share Discount From Fair Value From Date Of Issuance, Common Stock", "terseLabel": "Weighted average per share discount from the fair value of our common stock on the date of issuance (in dollars per share)" } } }, "localname": "WeightedAveragePerShareDiscountFromFairValueFromDateOfIssuanceCommonStock", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails" ], "xbrltype": "perShareItemType" }, "form_WoburnMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Woburn", "label": "Woburn [Member]", "terseLabel": "Woburn" } } }, "localname": "WoburnMember", "nsuri": "http://www.formfactor.com/20230401", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "domainItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r194", "r231", "r243", "r244", "r245", "r246", "r247", "r249", "r253", "r308", "r309", "r310", "r311", "r313", "r314", "r316", "r318", "r319", "r581", "r582" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]", "terseLabel": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r194", "r231", "r243", "r244", "r245", "r246", "r247", "r249", "r253", "r308", "r309", "r310", "r311", "r313", "r314", "r316", "r318", "r319", "r581", "r582" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]", "terseLabel": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_CurrencyAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Currency [Axis]", "terseLabel": "Currency [Axis]" } } }, "localname": "CurrencyAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "stringItemType" }, "srt_EuropeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Europe [Member]", "terseLabel": "Europe" } } }, "localname": "EuropeMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r259", "r516", "r585", "r635" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "terseLabel": "Major Customers [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r304", "r305", "r306", "r307", "r363", "r453", "r468", "r492", "r493", "r513", "r526", "r533", "r583", "r626", "r627", "r628", "r629", "r630", "r631" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r304", "r305", "r306", "r307", "r363", "r453", "r468", "r492", "r493", "r513", "r526", "r533", "r583", "r626", "r627", "r628", "r629", "r630", "r631" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r259", "r516", "r585", "r635" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "terseLabel": "Name of Major Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r255", "r454", "r514", "r531", "r578", "r579", "r585", "r634" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r255", "r454", "r514", "r531", "r578", "r579", "r585", "r634" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r304", "r305", "r306", "r307", "r356", "r363", "r390", "r391", "r392", "r452", "r453", "r468", "r492", "r493", "r513", "r526", "r533", "r576", "r583", "r627", "r628", "r629", "r630", "r631" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r304", "r305", "r306", "r307", "r356", "r363", "r390", "r391", "r392", "r452", "r453", "r468", "r492", "r493", "r513", "r526", "r533", "r576", "r583", "r627", "r628", "r629", "r630", "r631" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r256", "r257", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r515", "r532", "r585" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r256", "r257", "r476", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r515", "r532", "r585" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "auth_ref": [ "r14" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.", "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "terseLabel": "Accrued Liabilities" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilities" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r13", "r530" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [ "r478" ], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Accounts Receivable [Member]", "terseLabel": "Accounts Receivable" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r261", "r262" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable, net of allowance for credit losses of $169 and $168" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedEmployeeBenefitsCurrent": { "auth_ref": [ "r17" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Employee Benefits, Current", "terseLabel": "Employee stock purchase plan contributions withheld" } } }, "localname": "AccruedEmployeeBenefitsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r17" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities, Current", "terseLabel": "Accrued liabilities", "totalLabel": "Accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r71", "r155" ], "calculation": { "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": { "order": 2.0, "parentTag": "form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedTerseLabel": "Less: Accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r22", "r23", "r24", "r164", "r463", "r473", "r474" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r21", "r24", "r106", "r448", "r469", "r470", "r545", "r546", "r547", "r555", "r556", "r557" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Income (Loss)" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r5" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r396", "r397", "r398", "r555", "r556", "r557", "r617" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments, Noncash Items, to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r98", "r99", "r365" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "terseLabel": "Stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r394" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Share-Based Payment Arrangement, Expense", "terseLabel": "Total stock-based compensation" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r165", "r263", "r266" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "terseLabel": "Allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r40", "r62", "r67" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization of intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r219" ], "lang": { "en-us": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Securities not included as they would have been antidilutive (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/NetIncomeperShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_Assets": { "auth_ref": [ "r131", "r140", "r159", "r192", "r239", "r245", "r251", "r264", "r308", "r309", "r311", "r312", "r313", "r315", "r317", "r319", "r320", "r407", "r409", "r426", "r530", "r581", "r582", "r624" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r151", "r167", "r192", "r264", "r308", "r309", "r311", "r312", "r313", "r315", "r317", "r319", "r320", "r407", "r409", "r426", "r530", "r581", "r582", "r624" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r121" ], "calculation": { "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Fair Value Disclosure", "terseLabel": "Assets measured at fair value on non-recurring basis", "totalLabel": "Total assets" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails", "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AutomobilesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Vehicles that are used primarily for transporting people.", "label": "Automobiles [Member]", "terseLabel": "Automobiles" } } }, "localname": "AutomobilesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BuildingAndBuildingImprovementsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing.", "label": "Building and Building Improvements [Member]", "terseLabel": "Building and building improvements" } } }, "localname": "BuildingAndBuildingImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r406", "r524", "r525" ], "lang": { "en-us": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition, Acquiree [Domain]", "terseLabel": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r101", "r102", "r406", "r524", "r525" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]", "terseLabel": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r42", "r153", "r495" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": 1.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash equivalents" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r37", "r42", "r44" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "periodEndLabel": "Cash, cash equivalents and restricted cash, end of period", "periodStartLabel": "Cash, cash equivalents and restricted cash, beginning of period", "totalLabel": "Total cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents [Abstract]", "terseLabel": "Reconciliation of cash, cash equivalents and restricted cash:" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r37", "r129" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net increase in cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CertificatesOfDepositMember": { "auth_ref": [ "r139" ], "lang": { "en-us": { "role": { "documentation": "Short to medium-term investment available at banks and savings and loan institutions where a customer agrees to lend money to the institution for a certain amount of time and is paid a predetermined rate of interest. Certificates of deposit (CD) are typically Federal Deposit Insurance Corporation (FDIC) insured.", "label": "Certificates of Deposit [Member]", "terseLabel": "Certificates of deposit" } } }, "localname": "CertificatesOfDepositMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfStockDomain": { "auth_ref": [ "r161", "r162", "r163", "r192", "r210", "r214", "r216", "r218", "r225", "r226", "r264", "r308", "r311", "r312", "r313", "r319", "r320", "r322", "r323", "r325", "r329", "r335", "r426", "r494", "r540", "r553", "r558" ], "lang": { "en-us": { "role": { "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.", "label": "Class of Stock [Domain]", "terseLabel": "Class of Stock [Domain]" } } }, "localname": "ClassOfStockDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommercialPaperMember": { "auth_ref": [ "r88" ], "lang": { "en-us": { "role": { "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds.", "label": "Commercial Paper [Member]", "terseLabel": "Commercial paper" } } }, "localname": "CommercialPaperMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]", "terseLabel": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r79", "r302", "r303", "r479", "r580" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CommitmentsandContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r555", "r556", "r617" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r4" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r4" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r4" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r4", "r89" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "periodEndLabel": "Ending balance (in shares)", "periodStartLabel": "Beginning balance (in shares)", "terseLabel": "Common stock, shares outstanding (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r4", "r530" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock, $0.001 par value" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r25", "r175", "r177", "r182", "r459", "r465" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComputerEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Computer Equipment [Member]", "terseLabel": "Computer equipment and software" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r49", "r50", "r126", "r127", "r259", "r478" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r49", "r50", "r126", "r127", "r259", "r475", "r478" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]", "terseLabel": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r49", "r50", "r126", "r127", "r259", "r478", "r636" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]", "terseLabel": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskDisclosureTextBlock": { "auth_ref": [ "r52" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.", "label": "Concentration Risk Disclosure [Text Block]", "terseLabel": "Concentration of Credit and Other Risks" } } }, "localname": "ConcentrationRiskDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisks" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Concentration Risk [Line Items]", "terseLabel": "Concentration Risk [Line Items]" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r49", "r50", "r126", "r127", "r259" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r47", "r49", "r50", "r51", "r126", "r128", "r478" ], "lang": { "en-us": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]", "terseLabel": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r49", "r50", "r126", "r127", "r259", "r478" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConstructionInProgressGross": { "auth_ref": [ "r70" ], "calculation": { "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.", "label": "Construction in Progress, Gross", "terseLabel": "Construction-in-process" } } }, "localname": "ConstructionInProgressGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractTerminationMember": { "auth_ref": [ "r507", "r508", "r509", "r510" ], "lang": { "en-us": { "role": { "documentation": "Termination of a contract associated with exit from or disposal of business activities or restructurings pursuant to a plan.", "label": "Contract Termination [Member]", "terseLabel": "Contract Termination & Other Costs" } } }, "localname": "ContractTerminationMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetNet": { "auth_ref": [ "r337", "r339", "r352" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Contract with Customer, Asset, after Allowance for Credit Loss", "terseLabel": "Contract assets" } } }, "localname": "ContractWithCustomerAssetNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r337", "r338", "r352" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Contract with Customer, Liability", "terseLabel": "Contract with customer, liability" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r353" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue recognized included in contracts" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateAndOtherMember": { "auth_ref": [ "r561" ], "lang": { "en-us": { "role": { "documentation": "Component of an entity that provides financial and operational oversight and administrative support for other segments and other segments not separately reported due to size or nature of business activities. Excludes intersegment elimination and reconciling items.", "label": "Corporate and Other [Member]", "terseLabel": "Corporate and Other" } } }, "localname": "CorporateAndOtherMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CorporateBondSecuritiesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This category includes information about long-term debt securities that are issued by either a domestic or foreign corporate business entity with a date certain promise of repayment and a return to the holder for the time value of money (for example, variable or fixed interest, original issue discount).", "label": "Corporate Bond Securities [Member]", "terseLabel": "Corporate bonds" } } }, "localname": "CorporateBondSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CorporateNonSegmentMember": { "auth_ref": [ "r56", "r244", "r245", "r246", "r247", "r253", "r563" ], "lang": { "en-us": { "role": { "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.", "label": "Corporate, Non-Segment [Member]", "terseLabel": "Corporate, Non-Segment" } } }, "localname": "CorporateNonSegmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r30", "r454" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of revenues" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSoldAmortization": { "auth_ref": [ "r548" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for allocation of cost of intangible asset over its useful life directly used in production of good and rendering of service.", "label": "Cost, Amortization", "terseLabel": "Amortization" } } }, "localname": "CostOfGoodsAndServicesSoldAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]", "terseLabel": "Cost of revenues" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r48", "r259" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r104" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]", "terseLabel": "Customer relationships" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DeferredCreditsAndOtherLiabilitiesNoncurrent": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 6.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of unearned revenue or income, not otherwise specified in the taxonomy, which is expected to be taken into income after one year or beyond the normal operating cycle, if longer and noncurrent obligations not separately disclosed in the balance sheet (other liabilities, noncurrent).", "label": "Deferred Credits and Other Liabilities, Noncurrent", "terseLabel": "Other liabilities" } } }, "localname": "DeferredCreditsAndOtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r399", "r400" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 8.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred tax assets" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "auth_ref": [ "r399", "r400" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 5.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.", "label": "Deferred Income Tax Liabilities, Net", "terseLabel": "Deferred tax liabilities" } } }, "localname": "DeferredIncomeTaxLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueCurrent": { "auth_ref": [ "r543" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.", "label": "Deferred Revenue, Current", "terseLabel": "Deferred revenue" } } }, "localname": "DeferredRevenueCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r40", "r69" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Depreciation", "terseLabel": "Depreciation" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeAssets": { "auth_ref": [ "r168", "r169", "r425", "r500" ], "calculation": { "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": 3.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Derivative Asset", "terseLabel": "Derivative contracts" } } }, "localname": "DerivativeAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeContractTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Derivative Contract [Domain]", "terseLabel": "Derivative Contract [Domain]" } } }, "localname": "DerivativeContractTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails", "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DerivativeInstrumentRiskAxis": { "auth_ref": [ "r113", "r114", "r116", "r117", "r500" ], "lang": { "en-us": { "role": { "documentation": "Information by type of derivative contract.", "label": "Derivative Instrument [Axis]", "terseLabel": "Derivative Instrument [Axis]" } } }, "localname": "DerivativeInstrumentRiskAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails", "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeLiabilities": { "auth_ref": [ "r168", "r169", "r425", "r500" ], "calculation": { "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesFairValueDisclosure", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Derivative Liability", "negatedTerseLabel": "Derivative liability" } } }, "localname": "DerivativeLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Derivative [Line Items]", "terseLabel": "Derivative [Line Items]" } } }, "localname": "DerivativeLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeNotionalAmount": { "auth_ref": [ "r615", "r616" ], "lang": { "en-us": { "role": { "documentation": "Nominal or face amount used to calculate payment on derivative.", "label": "Derivative, Notional Amount", "terseLabel": "Derivative, notional amount" } } }, "localname": "DerivativeNotionalAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeTable": { "auth_ref": [ "r108", "r109", "r110", "r111", "r112", "r115", "r116", "r118", "r119", "r120", "r412" ], "lang": { "en-us": { "role": { "documentation": "Schedule that describes and identifies a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item.", "label": "Derivative [Table]", "terseLabel": "Derivative [Table]" } } }, "localname": "DerivativeTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DesignatedAsHedgingInstrumentMember": { "auth_ref": [ "r111" ], "lang": { "en-us": { "role": { "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP).", "label": "Designated as Hedging Instrument [Member]", "terseLabel": "Designated as hedging instrument" } } }, "localname": "DesignatedAsHedgingInstrumentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r351", "r514", "r515", "r516", "r517", "r518", "r519", "r520" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]", "terseLabel": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r585" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of Disaggregation of Revenue by Segment" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "Net income per share:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r183", "r200", "r201", "r202", "r203", "r204", "r208", "r210", "r216", "r217", "r218", "r222", "r415", "r416", "r460", "r466", "r503" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r183", "r200", "r201", "r202", "r203", "r204", "r210", "r216", "r217", "r218", "r222", "r415", "r416", "r460", "r466", "r503" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r219", "r220", "r221", "r223" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Net Income per Share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/NetIncomeperShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r427" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations", "terseLabel": "Effect of exchange rate changes on cash, cash equivalents and restricted cash" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r17" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued compensation and benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r395" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "terseLabel": "Average Expected Recognition Period in Years" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r614" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount", "terseLabel": "Unrecognized Expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeSeveranceMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Termination of an employee associated with exit from or disposal of business activities or restructurings pursuant to a plan.", "label": "Employee Severance [Member]", "terseLabel": "Employee Severance and Benefits" } } }, "localname": "EmployeeSeveranceMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EmployeeStockMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "An Employee Stock Purchase Plan is a tax-efficient means by which employees of a corporation can purchase the corporation's stock.", "label": "Employee Stock [Member]", "terseLabel": "Employee stock purchase plan" } } }, "localname": "EmployeeStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property used to produce goods and services.", "label": "Equipment [Member]", "terseLabel": "Machinery and equipment" } } }, "localname": "EquipmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity [Abstract]", "terseLabel": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r89", "r148", "r178", "r179", "r180", "r195", "r196", "r197", "r199", "r205", "r207", "r224", "r265", "r336", "r396", "r397", "r398", "r402", "r403", "r414", "r428", "r429", "r430", "r431", "r432", "r434", "r448", "r469", "r470", "r471" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r417", "r418", "r423" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": { "auth_ref": [ "r122" ], "lang": { "en-us": { "role": { "documentation": "Class of asset.", "label": "Asset Class [Domain]", "terseLabel": "Fair Value by Asset Class [Domain]" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]", "terseLabel": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]" } } }, "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByAssetClassAxis": { "auth_ref": [ "r121", "r123" ], "lang": { "en-us": { "role": { "documentation": "Information by class of asset.", "label": "Asset Class [Axis]", "terseLabel": "Asset Class [Axis]" } } }, "localname": "FairValueByAssetClassAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByBalanceSheetGroupingTable": { "auth_ref": [ "r121", "r124", "r125" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities.", "label": "Fair Value, by Balance Sheet Grouping [Table]", "terseLabel": "Fair Value, by Balance Sheet Grouping [Table]" } } }, "localname": "FairValueByBalanceSheetGroupingTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r321", "r357", "r358", "r359", "r360", "r361", "r362", "r418", "r449", "r450", "r451", "r511", "r512", "r521", "r522", "r523" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]", "terseLabel": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r417", "r418", "r419", "r420", "r424" ], "lang": { "en-us": { "role": { "documentation": "Information by measurement frequency.", "label": "Measurement Frequency [Axis]", "terseLabel": "Measurement Frequency [Axis]" } } }, "localname": "FairValueByMeasurementFrequencyAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]", "terseLabel": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r422" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value and Derivative Instruments" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstruments" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r321", "r357", "r362", "r418", "r449", "r521", "r522", "r523" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value, Inputs, Level 1 [Member]", "terseLabel": "Level 1" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r321", "r357", "r362", "r418", "r450", "r511", "r512", "r521", "r522", "r523" ], "lang": { "en-us": { "role": { "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets.", "label": "Fair Value, Inputs, Level 2 [Member]", "terseLabel": "Level 2" } } }, "localname": "FairValueInputsLevel2Member", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r321", "r357", "r358", "r359", "r360", "r361", "r362", "r418", "r451", "r511", "r512", "r521", "r522", "r523" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Level 3" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementFrequencyDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Measurement frequency.", "label": "Measurement Frequency [Domain]", "terseLabel": "Measurement Frequency [Domain]" } } }, "localname": "FairValueMeasurementFrequencyDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.", "label": "Fair Value Measurement, Policy [Policy Text Block]", "terseLabel": "Fair Value" } } }, "localname": "FairValueMeasurementPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r321", "r357", "r358", "r359", "r360", "r361", "r362", "r449", "r450", "r451", "r511", "r512", "r521", "r522", "r523" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]", "terseLabel": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsNonrecurringMember": { "auth_ref": [ "r417", "r418", "r419", "r420", "r421", "r424" ], "lang": { "en-us": { "role": { "documentation": "Infrequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, not frequently measured at fair value.", "label": "Fair Value, Nonrecurring [Member]", "terseLabel": "Nonrecurring" } } }, "localname": "FairValueMeasurementsNonrecurringMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r157", "r284" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "terseLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r68" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": 6.0, "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": 5.0, "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "terseLabel": "Remainder of 2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life.", "label": "Finite-Lived Intangible Assets Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Amortization Expense" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r68" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": 3.0, "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2027" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r68" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": 4.0, "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r68" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails": { "order": 2.0, "parentTag": "form_FiniteLivedIntangibleAssetsAmortizationExpenseTotal", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r282", "r283", "r284", "r285", "r455", "r456" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r66", "r456" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Finite-Lived Intangible Assets [Line Items]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r63", "r65" ], "lang": { "en-us": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r66", "r455" ], "calculation": { "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Net" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract]", "terseLabel": "Finite-Lived Intangible Assets, Net, Amortization Expense, Rolling Maturity [Abstract]" } } }, "localname": "FiniteLivedIntangibleAssetsNetAmortizationExpenseRollingMaturityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiscalPeriod": { "auth_ref": [ "r105" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for determining an entity's fiscal year or other fiscal period. This disclosure may include identification of the fiscal period end-date, the length of the fiscal period, any reporting period lag between the entity and its subsidiaries, or equity investees. If a reporting lag exists, the closing date of the entity having a different period end is generally noted, along with an explanation of the necessity for using different closing dates. Any intervening events that materially affect the entity's financial position or results of operations are generally also disclosed.", "label": "Fiscal Period, Policy [Policy Text Block]", "terseLabel": "Fiscal Year" } } }, "localname": "FiscalPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ForeignExchangeContractMember": { "auth_ref": [ "r500", "r521", "r528" ], "lang": { "en-us": { "role": { "documentation": "Derivative instrument whose primary underlying risk is tied to foreign exchange rates.", "label": "Foreign Exchange Contract [Member]", "terseLabel": "Foreign exchange derivative contracts" } } }, "localname": "ForeignExchangeContractMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ForeignExchangeForwardMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Foreign Exchange Forward [Member]", "terseLabel": "Foreign Exchange Forward" } } }, "localname": "ForeignExchangeForwardMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FurnitureAndFixturesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.", "label": "Furniture and Fixtures [Member]", "terseLabel": "Furniture and fixtures" } } }, "localname": "FurnitureAndFixturesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r156", "r269", "r457", "r506", "r530", "r565", "r572" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "periodEndLabel": "Goodwill, ending balance", "periodStartLabel": "Goodwill, beginning balance", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAcquiredDuringPeriod": { "auth_ref": [ "r272", "r506" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.", "label": "Goodwill, Acquired During Period", "terseLabel": "Goodwill, acquired during period" } } }, "localname": "GoodwillAcquiredDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]", "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "auth_ref": [ "r276" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "terseLabel": "Foreign currency translation" } } }, "localname": "GoodwillForeignCurrencyTranslationGainLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillImpairmentLoss": { "auth_ref": [ "r40", "r270", "r275", "r281", "r506" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Impairment Loss", "terseLabel": "Goodwill, impairment loss" } } }, "localname": "GoodwillImpairmentLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAdditionalinformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Goodwill [Line Items]", "terseLabel": "Goodwill [Line Items]" } } }, "localname": "GoodwillLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GoodwillRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Goodwill [Roll Forward]", "terseLabel": "Goodwill [Roll Forward]" } } }, "localname": "GoodwillRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r29", "r192", "r239", "r244", "r250", "r253", "r264", "r308", "r309", "r311", "r312", "r313", "r315", "r317", "r319", "r320", "r426", "r505", "r581" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "terseLabel": "Gross profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_HedgingDesignationAxis": { "auth_ref": [ "r111", "r411" ], "lang": { "en-us": { "role": { "documentation": "Information by designation of purpose of derivative instrument.", "label": "Hedging Designation [Axis]", "terseLabel": "Hedging Designation [Axis]" } } }, "localname": "HedgingDesignationAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_HedgingDesignationDomain": { "auth_ref": [ "r111" ], "lang": { "en-us": { "role": { "documentation": "Designation of purpose of derivative instrument.", "label": "Hedging Designation [Domain]", "terseLabel": "Hedging Designation [Domain]" } } }, "localname": "HedgingDesignationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InProcessResearchAndDevelopmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process.", "label": "In Process Research and Development [Member]", "terseLabel": "In-process research and development" } } }, "localname": "InProcessResearchAndDevelopmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r27", "r130", "r136", "r146", "r239", "r244", "r250", "r253", "r461", "r505" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]", "terseLabel": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r287", "r292" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]", "terseLabel": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r292" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r193", "r206", "r207", "r237", "r401", "r404", "r405", "r467" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "terseLabel": "Provision for income taxes" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r43" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.", "label": "Income Taxes Paid, Net", "terseLabel": "Cash paid for income taxes, net" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r39" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r39" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r39" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.", "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued liabilities" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredRevenue": { "auth_ref": [ "r501" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Deferred Revenue", "terseLabel": "Deferred revenues" } } }, "localname": "IncreaseDecreaseInDeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r39" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "auth_ref": [ "r550", "r621" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation for operating lease.", "label": "Increase (Decrease) in Operating Lease Liability", "terseLabel": "Operating lease liabilities" } } }, "localname": "IncreaseDecreaseInOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherDeferredLiability": { "auth_ref": [ "r39" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in deferred obligations classified as other.", "label": "Increase (Decrease) in Other Deferred Liability", "terseLabel": "Other liabilities" } } }, "localname": "IncreaseDecreaseInOtherDeferredLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r39" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating assets classified as other.", "label": "Increase (Decrease) in Other Operating Assets", "negatedLabel": "Other assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r39" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r211", "r212", "r213", "r218", "r367" ], "calculation": { "http://www.formfactor.com/role/NetIncomeperShareDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "terseLabel": "Add potentially dilutive securities (in shares)" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/NetIncomeperShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r286" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all or part of the information related to intangible assets.", "label": "Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill and Intangible Assets" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssets" ], "xbrltype": "textBlockItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r61", "r64" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangibles, net" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestIncomeExpenseNet": { "auth_ref": [ "r138" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net amount of operating interest income (expense).", "label": "Interest Income (Expense), Net", "terseLabel": "Interest income (expense), net" } } }, "localname": "InterestIncomeExpenseNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r187", "r189", "r190" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Cash paid for interest" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestRateSwapMember": { "auth_ref": [ "r527" ], "lang": { "en-us": { "role": { "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.", "label": "Interest Rate Swap [Member]", "terseLabel": "Interest rate swap derivative contracts" } } }, "localname": "InterestRateSwapMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]", "terseLabel": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r268" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.", "label": "Inventory Disclosure [Text Block]", "terseLabel": "Inventories, net" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/Inventoriesnet" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r59", "r497" ], "calculation": { "http://www.formfactor.com/role/InventoriesnetDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Inventory, Finished Goods, Net of Reserves", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/InventoriesnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r166", "r496", "r530" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.formfactor.com/role/InventoriesnetDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "terseLabel": "Inventories, net", "totalLabel": "Inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/InventoriesnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r59", "r499" ], "calculation": { "http://www.formfactor.com/role/InventoriesnetDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Inventory, Raw Materials, Net of Reserves", "terseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/InventoriesnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "auth_ref": [ "r59", "r498" ], "calculation": { "http://www.formfactor.com/role/InventoriesnetDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Inventory, Work in Process, Net of Reserves", "terseLabel": "Work-in-progress" } } }, "localname": "InventoryWorkInProcessNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/InventoriesnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWriteDown": { "auth_ref": [ "r267" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.", "label": "Inventory Write-down", "terseLabel": "Provision for excess and obsolete inventories" } } }, "localname": "InventoryWriteDown", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LandMember": { "auth_ref": [ "r586" ], "lang": { "en-us": { "role": { "documentation": "Part of earth's surface not covered by water.", "label": "Land [Member]", "terseLabel": "Land" } } }, "localname": "LandMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r445", "r529" ], "calculation": { "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "totalLabel": "Total lease expense" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r622" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Schedule of Components of Lease Expense" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r70" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Leases [Abstract]", "terseLabel": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Lessee, Lease, Description [Line Items]", "terseLabel": "Lessee, Lease, Description [Line Items]" } } }, "localname": "LesseeLeaseDescriptionLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionTable": { "auth_ref": [ "r438" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about lessee's leases.", "label": "Lessee, Lease, Description [Table]", "terseLabel": "Lessee, Lease, Description [Table]" } } }, "localname": "LesseeLeaseDescriptionTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r623" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.", "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Schedule of Future Minimum Payments Under Leases" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r446" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "Lessee, Operating Lease, Liability, to be Paid", "totalLabel": "Total minimum lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r446" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r446" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "2027" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r446" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r446" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r623" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails_1": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "terseLabel": "Remainder of 2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r446" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedTerseLabel": "Less: interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "auth_ref": [ "r620" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Operating lease, renewal term" } } }, "localname": "LesseeOperatingLeaseRenewalTerm", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r620" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Term of Contract", "terseLabel": "Operating lease, term of contract" } } }, "localname": "LesseeOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r447" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.", "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/Leases" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r16", "r192", "r264", "r308", "r309", "r311", "r312", "r313", "r315", "r317", "r319", "r320", "r408", "r409", "r410", "r426", "r504", "r581", "r624", "r625" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r9", "r133", "r143", "r530", "r554", "r564", "r618" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders\u2019 equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r18", "r152", "r192", "r264", "r308", "r309", "r311", "r312", "r313", "r315", "r317", "r319", "r320", "r408", "r409", "r410", "r426", "r530", "r581", "r624", "r625" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesFairValueDisclosure": { "auth_ref": [ "r121" ], "calculation": { "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value of financial and nonfinancial obligations.", "label": "Liabilities, Fair Value Disclosure", "negatedTotalLabel": "Total liabilities", "terseLabel": "Liabilities measured at fair value on non-recurring basis" } } }, "localname": "LiabilitiesFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsAdditionalInformationDetails", "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicates an ownership position in, or purchase of, a security.", "label": "Long [Member]", "terseLabel": "Buy" } } }, "localname": "LongMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LongTermDebtCurrent": { "auth_ref": [ "r15" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after unamortized (discount) premium and debt issuance costs, of long-term debt, classified as current. Includes, but not limited to, notes payable, bonds payable, debentures, mortgage loans and commercial paper. Excludes capital lease obligations.", "label": "Long-Term Debt, Current Maturities", "terseLabel": "Current portion of term loan, net of unamortized issuance costs" } } }, "localname": "LongTermDebtCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongTermDebtNoncurrent": { "auth_ref": [ "r160" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation.", "label": "Long-Term Debt, Excluding Current Maturities", "terseLabel": "Term loan, less current portion, net of unamortized issuance costs" } } }, "localname": "LongTermDebtNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecurities": { "auth_ref": [ "r135" ], "calculation": { "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails": { "order": 2.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in marketable security.", "label": "Marketable Securities", "terseLabel": "Marketable securities" } } }, "localname": "MarketableSecurities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MarketableSecuritiesCurrent": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 6.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in marketable security, classified as current.", "label": "Marketable Securities, Current", "terseLabel": "Marketable securities" } } }, "localname": "MarketableSecuritiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r587" ], "lang": { "en-us": { "role": { "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.", "label": "Money Market Funds [Member]", "terseLabel": "Money market funds" } } }, "localname": "MoneyMarketFundsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward]", "terseLabel": "Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]" } } }, "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/WarrantyDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r188" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by (used) in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r188" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r37", "r38", "r41" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r28", "r41", "r137", "r145", "r150", "r173", "r176", "r180", "r192", "r198", "r200", "r201", "r202", "r203", "r206", "r207", "r215", "r239", "r244", "r250", "r253", "r264", "r308", "r309", "r311", "r312", "r313", "r315", "r317", "r319", "r320", "r416", "r426", "r505", "r581" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "terseLabel": "Net income", "totalLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "terseLabel": "Non-cash investing and financing activities:" } } }, "localname": "NoncashInvestingAndFinancingItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_NotesReceivableMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "An amount representing an agreement for an unconditional promise by the maker to pay the Entity (holder) a definite sum of money at a future date(s) within one year of the balance sheet date. Such amount may include accrued interest receivable in accordance with the terms of the note. The note also may contain provisions including a discount or premium, payable on demand, secured, or unsecured, interest bearing or noninterest bearing, among myriad other features and characteristics.", "label": "Notes Receivable [Member]", "terseLabel": "Promissory note receivable" } } }, "localname": "NotesReceivableMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r562" ], "lang": { "en-us": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationAdditionalInformationDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.", "label": "Operating Expenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses:" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r239", "r244", "r250", "r253", "r505" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Operating income" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseExpense": { "auth_ref": [ "r619" ], "calculation": { "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails": { "order": 1.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating lease expense. Excludes sublease income.", "label": "Operating Lease, Expense", "terseLabel": "Operating lease expense" } } }, "localname": "OperatingLeaseExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r436" ], "calculation": { "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "totalLabel": "Present value of net minimum lease payments" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r436" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 }, "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": { "order": 2.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "negatedLabel": "Less: current portion", "terseLabel": "Operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r436" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails": { "order": 1.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Long-term operating lease liabilities", "verboseLabel": "Total long-term operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/LeasesScheduleofFutureMinimumPaymentsUnderLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r437", "r441" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "terseLabel": "Operating cash outflows from operating leases" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r435" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease, right-of-use-assets" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "auth_ref": [ "r551" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense for right-of-use asset from operating lease.", "label": "Operating Lease, Right-of-Use Asset, Amortization Expense", "terseLabel": "Reduction in the carrying amount of right-of-use assets" } } }, "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r444", "r529" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Operating lease, weighted average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r443", "r529" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Operating lease, weighted average remaining lease term" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r243", "r244", "r245", "r246", "r247", "r253" ], "lang": { "en-us": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Operating Segments [Member]", "terseLabel": "Operating segments" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r0", "r45", "r52", "r107" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the organization, consolidation and basis of presentation of financial statements disclosure, and significant accounting policies of the reporting entity. May be provided in more than one note to the financial statements, as long as users are provided with an understanding of (1) the significant judgments and assumptions made by an enterprise in determining whether it must consolidate a VIE and/or disclose information about its involvement with a VIE, (2) the nature of restrictions on a consolidated VIE's assets reported by an enterprise in its statement of financial position, including the carrying amounts of such assets, (3) the nature of, and changes in, the risks associated with an enterprise's involvement with the VIE, and (4) how an enterprise's involvement with the VIE affects the enterprise's financial position, financial performance, and cash flows. Describes procedure if disclosures are provided in more than one note to the financial statements.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure and Significant Accounting Policies [Text Block]", "terseLabel": "Basis of Presentation and Significant Accounting Policies" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/BasisofPresentationandSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r17" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Accrued Liabilities, Current", "terseLabel": "Other accrued expenses" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r158" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": { "auth_ref": [ "r170", "r172" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.", "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax", "terseLabel": "Unrealized gains (losses) on derivative instruments" } } }, "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "auth_ref": [ "r20" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 3.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Translation adjustments" } } }, "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r26", "r89", "r174", "r177", "r181", "r428", "r433", "r434", "r458", "r464", "r545", "r546" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).", "label": "Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Other comprehensive income (loss)", "totalLabel": "Other comprehensive income (loss), net of tax:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Other comprehensive income (loss), net of tax:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r171", "r172" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax", "terseLabel": "Unrealized gains (losses) on available-for-sale marketable securities" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r32" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "auth_ref": [], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).", "label": "Other Operating Activities, Cash Flow Statement", "terseLabel": "Other adjustments to reconcile net income to net cash provided by operating activities" } } }, "localname": "OtherOperatingActivitiesCashFlowStatement", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherRestructuringMember": { "auth_ref": [ "r507", "r508", "r509", "r510" ], "lang": { "en-us": { "role": { "documentation": "Restructuring and related activities classified as other.", "label": "Other Restructuring [Member]", "terseLabel": "Other Costs" } } }, "localname": "OtherRestructuringMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PayablesAndAccrualsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Payables and Accruals [Abstract]", "terseLabel": "Payables and Accruals [Abstract]" } } }, "localname": "PayablesAndAccrualsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r35" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "Payments for Repurchase of Common Stock", "negatedTerseLabel": "Purchase of common stock through stock repurchase program" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsForRestructuring": { "auth_ref": [ "r291", "r549" ], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Payments for Restructuring", "negatedTerseLabel": "Cash payments" } } }, "localname": "PaymentsForRestructuring", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r186" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "negatedTerseLabel": "Tax withholdings related to net share settlements of equity awards" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireMarketableSecurities": { "auth_ref": [ "r58" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for purchase of marketable security.", "label": "Payments to Acquire Marketable Securities", "negatedLabel": "Purchases of marketable securities" } } }, "localname": "PaymentsToAcquireMarketableSecurities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r33" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Acquisition of property, plant and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r588", "r589", "r590", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]", "terseLabel": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r588", "r589", "r590", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r599", "r600", "r601", "r602", "r603", "r604", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PositionAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by position taken for a security.", "label": "Position [Axis]", "terseLabel": "Position [Axis]" } } }, "localname": "PositionAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PositionDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicates position taken for a security.", "label": "Position [Domain]", "terseLabel": "Position [Domain]" } } }, "localname": "PositionDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r544" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": { "auth_ref": [ "r34", "r96" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from issuance of shares under share-based payment arrangement. Includes, but is not limited to, option exercised.", "label": "Proceeds, Issuance of Shares, Share-Based Payment Arrangement, Including Option Exercised", "terseLabel": "Proceeds from issuances of common stock" } } }, "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": { "auth_ref": [ "r58", "r184", "r185" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from 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).", "label": "Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale", "terseLabel": "Proceeds from maturities and sales of marketable securities" } } }, "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantiesDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Product Warranties Disclosures [Abstract]", "terseLabel": "Product Warranties Disclosures [Abstract]" } } }, "localname": "ProductWarrantiesDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_ProductWarrantyAccrual": { "auth_ref": [ "r84", "r85", "r134" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.", "label": "Standard and Extended Product Warranty Accrual", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period" } } }, "localname": "ProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/WarrantyDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "auth_ref": [ "r17", "r80", "r81" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Product Warranty Accrual, Current", "terseLabel": "Accrued warranty" } } }, "localname": "ProductWarrantyAccrualClassifiedCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualPayments": { "auth_ref": [ "r82" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.", "label": "Standard and Extended Product Warranty Accrual, Decrease for Payments", "negatedTerseLabel": "Settlements" } } }, "localname": "ProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/WarrantyDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r83" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued.", "label": "Standard and Extended Product Warranty Accrual, Increase for Warranties Issued", "terseLabel": "Accruals" } } }, "localname": "ProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/WarrantyDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyDisclosureTextBlock": { "auth_ref": [ "r87" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for standard and extended product warranties and other product guarantee contracts, including a tabular reconciliation of the changes in the guarantor's aggregate product warranty liability for the reporting period.", "label": "Product Warranty Disclosure [Text Block]", "terseLabel": "Warranty" } } }, "localname": "ProductWarrantyDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/Warranty" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Abstract]" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r72" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Long-Lived Tangible Asset [Axis]", "terseLabel": "Property, Plant and Equipment, Type [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails", "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r73", "r480", "r481", "r482" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property, Plant and Equipment, net" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnet" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r70", "r154" ], "calculation": { "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": { "order": 1.0, "parentTag": "form_PropertyPlantAndEquipmentNetExcludesConstructionInProgress", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "terseLabel": "Sub-total" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property, Plant and Equipment [Line Items]" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r72", "r144", "r462", "r530" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 }, "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property, plant and equipment, net of accumulated depreciation", "totalLabel": "Total" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r72" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of Property, Plant and Equipment" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/PropertyPlantandEquipmentnetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r70" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Long-Lived Tangible Asset [Domain]", "terseLabel": "Property, Plant and Equipment, Type [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesNarrativeDetails", "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RepaymentsOfLongTermDebt": { "auth_ref": [ "r36" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.", "label": "Repayments of Long-Term Debt", "negatedLabel": "Principal repayments on term loans" } } }, "localname": "RepaymentsOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r100", "r147", "r632" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research and Development Expense [Member]", "terseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r42", "r44", "r153" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Restricted Cash and Cash Equivalents, Current", "terseLabel": "Restricted cash" } } }, "localname": "RestrictedCashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": { "auth_ref": [ "r42", "r44", "r477" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Restricted Cash and Cash Equivalents, Noncurrent", "terseLabel": "Restricted cash" } } }, "localname": "RestrictedCashAndCashEquivalentsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashCurrent": { "auth_ref": [ "r541", "r552" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.", "label": "Restricted Cash, Current", "terseLabel": "Restricted cash, current" } } }, "localname": "RestrictedCashCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashNoncurrent": { "auth_ref": [ "r477", "r542", "r552" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.", "label": "Restricted Cash, Noncurrent", "terseLabel": "Restricted cash, non-current" } } }, "localname": "RestrictedCashNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedStockMember": { "auth_ref": [ "r46" ], "lang": { "en-us": { "role": { "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.", "label": "Restricted Stock [Member]", "terseLabel": "Restricted stock units" } } }, "localname": "RestrictedStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.", "label": "Restricted Stock Units (RSUs) [Member]", "terseLabel": "Restricted Stock Units" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestructuringAndRelatedActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Restructuring and Related Activities [Abstract]", "terseLabel": "Restructuring and Related Activities [Abstract]" } } }, "localname": "RestructuringAndRelatedActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_RestructuringAndRelatedActivitiesDisclosureTextBlock": { "auth_ref": [ "r289", "r291", "r294", "r300", "r301" ], "lang": { "en-us": { "role": { "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.", "label": "Restructuring and Related Activities Disclosure [Text Block]", "terseLabel": "Restructuring Charges" } } }, "localname": "RestructuringAndRelatedActivitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringCharges" ], "xbrltype": "textBlockItemType" }, "us-gaap_RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of positions eliminated during the period as a percentage of total positions eliminated during the period in connection with the restructuring plan(s).", "label": "Restructuring and Related Cost, Number of Positions Eliminated, Period Percent", "terseLabel": "Percent of workforce eliminated" } } }, "localname": "RestructuringAndRelatedCostNumberOfPositionsEliminatedPeriodPercent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "percentItemType" }, "us-gaap_RestructuringCharges": { "auth_ref": [ "r40", "r295", "r297", "r577" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Restructuring Charges", "terseLabel": "Restructuring charges" } } }, "localname": "RestructuringCharges", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestructuringCostAndReserveAxis": { "auth_ref": [ "r290", "r291", "r297", "r298" ], "lang": { "en-us": { "role": { "documentation": "Information by type of restructuring cost.", "label": "Restructuring Type [Axis]", "terseLabel": "Restructuring Type [Axis]" } } }, "localname": "RestructuringCostAndReserveAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringCostAndReserveLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Restructuring Cost and Reserve [Line Items]", "terseLabel": "Restructuring Cost and Reserve [Line Items]" } } }, "localname": "RestructuringCostAndReserveLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringPlanAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by individual restructuring plan.", "label": "Restructuring Plan [Axis]", "terseLabel": "Restructuring Plan [Axis]" } } }, "localname": "RestructuringPlanAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringPlanDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Identification of the individual restructuring plans.", "label": "Restructuring Plan [Domain]", "terseLabel": "Restructuring Plan [Domain]" } } }, "localname": "RestructuringPlanDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestructuringReserve": { "auth_ref": [ "r291", "r296" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Restructuring Reserve", "periodEndLabel": "Accrual at end of period", "periodStartLabel": "Accrual at beginning of period", "terseLabel": "Accrued restructuring charges" } } }, "localname": "RestructuringReserve", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails", "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestructuringReserveRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Restructuring Reserve [Roll Forward]", "terseLabel": "Restructuring Reserve [Roll Forward]" } } }, "localname": "RestructuringReserveRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringReserveSettledWithoutCash2": { "auth_ref": [ "r291", "r298" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in the reserve for full or partial settlement through consideration other than cash.", "label": "Restructuring Reserve, Settled without Cash", "negatedTerseLabel": "Non-cash settlement" } } }, "localname": "RestructuringReserveSettledWithoutCash2", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r6", "r90", "r142", "r472", "r474", "r530" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Accumulated deficit" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r148", "r195", "r196", "r197", "r199", "r205", "r207", "r265", "r396", "r397", "r398", "r402", "r403", "r414", "r469", "r471" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Accumulated Deficit" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]", "terseLabel": "Revenue from Contract with Customer [Abstract]" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r230", "r231", "r243", "r248", "r249", "r255", "r256", "r259", "r350", "r351", "r454" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenues" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerMember": { "auth_ref": [ "r259", "r560" ], "lang": { "en-us": { "role": { "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue from Contract with Customer Benchmark [Member]", "terseLabel": "Revenue from Contract with Customer Benchmark" } } }, "localname": "RevenueFromContractWithCustomerMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r340", "r341", "r342", "r343", "r344", "r345", "r348", "r349", "r354", "r355" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/Revenue" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r346" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Performance obligations" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r347" ], "lang": { "en-us": { "role": { "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.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Revenue, remaining performance obligation, expected timing of satisfaction, period" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r347" ], "lang": { "en-us": { "role": { "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "auth_ref": [ "r584" ], "lang": { "en-us": { "role": { "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Percentage", "terseLabel": "Revenue, remaining performance obligation, percentage" } } }, "localname": "RevenueRemainingPerformanceObligationPercentage", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RevenueAdditionalInformationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r442", "r529" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Operating lease, right-of-use assets obtained in exchange for lease obligations" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_RisksAndUncertaintiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Risks and Uncertainties [Abstract]", "terseLabel": "Risks and Uncertainties [Abstract]" } } }, "localname": "RisksAndUncertaintiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r259", "r560" ], "lang": { "en-us": { "role": { "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue Benchmark [Member]", "terseLabel": "Revenue Benchmark" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of Accrued Liabilities" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r559" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of Calculation of Numerator and Denominator in Earnings Per Share" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/NetIncomeperShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r94", "r97" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r94" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "terseLabel": "Schedule of Stock-based Compensation" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "auth_ref": [ "r417", "r418" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).", "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Schedule of Fair Value Assets Measured on Recurring Basis" } } }, "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r63", "r65", "r455" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "terseLabel": "Schedule of Finite Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r63", "r65" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Schedule of Intangible Assets" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock": { "auth_ref": [ "r114" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the presentation of foreign exchange contracts on the statement of financial position, including the fair value amounts and location of such amounts.", "label": "Schedule of Foreign Exchange Contracts, Statement of Financial Position [Table Text Block]", "terseLabel": "Schedule of Foreign Currency Forward Contracts" } } }, "localname": "ScheduleOfForeignExchangeContractsStatementOfFinancialPositionTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTable": { "auth_ref": [ "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r506" ], "lang": { "en-us": { "role": { "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons.", "label": "Schedule of Goodwill [Table]", "terseLabel": "Schedule of Goodwill [Table]" } } }, "localname": "ScheduleOfGoodwillTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r506", "r565", "r566", "r567", "r568", "r569", "r570", "r571", "r572", "r573", "r574", "r575" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Schedule of Goodwill by Reportable Segments" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r1", "r10", "r11", "r12" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Schedule of Inventory Components" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/InventoriesnetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r86" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Product Warranty Liability [Table Text Block]", "terseLabel": "Schedule of Reconciliation of Changes in Warranty Liability" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/WarrantyTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r72" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table]", "terseLabel": "Schedule of Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "http://www.formfactor.com/role/PropertyPlantandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": { "auth_ref": [ "r290", "r291", "r292", "r293", "r297", "r298", "r299" ], "lang": { "en-us": { "role": { "documentation": "Table presenting the description of the restructuring costs, such as the expected cost; the costs incurred during the period; the cumulative costs incurred as of the balance sheet date; the income statement caption within which the restructuring charges recognized for the period are included; and the amount of and periodic changes to 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 by type of restructuring.", "label": "Schedule of Restructuring and Related Costs [Table]", "terseLabel": "Schedule of Restructuring and Related Costs [Table]" } } }, "localname": "ScheduleOfRestructuringAndRelatedCostsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": { "auth_ref": [ "r75", "r76", "r77" ], "lang": { "en-us": { "role": { "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.", "label": "Restructuring and Related Costs [Table Text Block]", "terseLabel": "Restructuring Costs by Reportable Segment" } } }, "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRestructuringReserveByTypeOfCostTextBlock": { "auth_ref": [ "r74", "r78" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Restructuring Reserve by Type of Cost [Table Text Block]", "terseLabel": "Schedule of Restructuring Accrual Activity" } } }, "localname": "ScheduleOfRestructuringReserveByTypeOfCostTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "auth_ref": [ "r53", "r54", "r55", "r60" ], "lang": { "en-us": { "role": { "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table]", "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r53", "r54", "r55", "r60" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of Operating Results by Segment" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r364", "r366", "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock": { "auth_ref": [ "r93" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of employee stock purchase plan activity.", "label": "Schedule of Share-Based Compensation, Employee Stock Purchase Plan, Activity [Table Text Block]", "terseLabel": "Schedule of ESPP Activity" } } }, "localname": "ScheduleOfShareBasedCompensationEmployeeStockPurchasePlanActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "auth_ref": [ "r92" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.", "label": "Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]", "terseLabel": "Schedule of Restricted Stock Unit Activity" } } }, "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock": { "auth_ref": [ "r95" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of cost not yet recognized and weighted-average period over which cost is expected to be recognized for nonvested award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost [Table Text Block]", "terseLabel": "Schedule of Unrecognized Stock-based Compensation" } } }, "localname": "ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r65" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of Estimated Amortization of Intangible Assets" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "auth_ref": [ "r47", "r49", "r50", "r51", "r126", "r128" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "terseLabel": "Schedule of Customer Percentage of Revenue" } } }, "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/ConcentrationofCreditandOtherRisksTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r227", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r253", "r259", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r293", "r299", "r506", "r634" ], "lang": { "en-us": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]", "terseLabel": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]", "terseLabel": "Segment Reporting [Abstract]" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r227", "r228", "r229", "r239", "r242", "r247", "r251", "r252", "r253", "r254", "r255", "r258", "r259", "r260" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.", "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Operating Segments and Enterprise-Wide Information" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Reporting Information [Line Items]" } } }, "localname": "SegmentReportingInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r31" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.", "label": "Selling, General and Administrative Expenses [Member]", "terseLabel": "Selling, general and administrative" } } }, "localname": "SellingGeneralAndAdministrativeExpensesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsAmortizationExpenseDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r39" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r384" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Awards canceled (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r384" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Awards canceled (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r382" ], "lang": { "en-us": { "role": { "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Awards granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r382" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Awards granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r379", "r380" ], "lang": { "en-us": { "role": { "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Ending balance (in shares)", "periodStartLabel": "Beginning balance (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Units" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r379", "r380" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Ending balance (in dollars per share)", "periodStartLabel": "Beginning balance (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted Average Grant Date Fair Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedLabel": "Awards vested (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Awards vested (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r373" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "verboseLabel": "Weighted average per share purchase price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r368", "r369", "r370", "r371", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]", "terseLabel": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationRestrictedStockUnitActivityDetails", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationUnrecognizedCompensationCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareRepurchaseProgramAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by share repurchase program.", "label": "Share Repurchase Program [Axis]", "terseLabel": "Share Repurchase Program [Axis]" } } }, "localname": "ShareRepurchaseProgramAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareRepurchaseProgramDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the share repurchase program.", "label": "Share Repurchase Program [Domain]", "terseLabel": "Share Repurchase Program [Domain]" } } }, "localname": "ShareRepurchaseProgramDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShortMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicates the sale of a borrowed security or written option.", "label": "Short [Member]", "terseLabel": "Sell" } } }, "localname": "ShortMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsForeignCurrencyForwardContractsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShortTermLeaseCost": { "auth_ref": [ "r439", "r529" ], "calculation": { "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails": { "order": 2.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.", "label": "Short-Term Lease, Cost", "terseLabel": "Short-term lease expense" } } }, "localname": "ShortTermLeaseCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r149", "r227", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r253", "r259", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r288", "r293", "r299", "r506", "r634" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]", "terseLabel": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsGoodwillDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationOperatingResultsbySegmentDetails", "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails", "http://www.formfactor.com/role/RestructuringChargesRestructuringChargesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementClassOfStockAxis": { "auth_ref": [ "r161", "r162", "r163", "r192", "r210", "r214", "r216", "r218", "r225", "r226", "r264", "r308", "r311", "r312", "r313", "r319", "r320", "r322", "r323", "r325", "r329", "r335", "r426", "r494", "r540", "r553", "r558" ], "lang": { "en-us": { "role": { "documentation": "Information by the different classes of stock of the entity.", "label": "Class of Stock [Axis]", "terseLabel": "Class of Stock [Axis]" } } }, "localname": "StatementClassOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r19", "r89", "r148", "r178", "r179", "r180", "r195", "r196", "r197", "r199", "r205", "r207", "r224", "r265", "r336", "r396", "r397", "r398", "r402", "r403", "r414", "r428", "r429", "r430", "r431", "r432", "r434", "r448", "r469", "r470", "r471" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]", "terseLabel": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "terseLabel": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]", "terseLabel": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]", "terseLabel": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Comprehensive Income [Abstract]", "terseLabel": "Statement of Comprehensive Income [Abstract]" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]", "terseLabel": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r195", "r196", "r197", "r224", "r454" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]", "terseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "auth_ref": [ "r3", "r4", "r89", "r90" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.", "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Shares issued (in shares)", "verboseLabel": "Issuance of common stock under the Employee Stock Purchase Plan (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationESPPActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r3", "r4", "r89", "r90" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.", "label": "Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensationGross": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number, before forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).", "label": "Shares Issued, Shares, Share-Based Payment Arrangement, before Forfeiture", "terseLabel": "Issuance of common stock pursuant to exercise of options (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensationGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "auth_ref": [ "r3", "r4", "r89", "r90" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.", "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "terseLabel": "Issuance of common stock under the Employee Stock Purchase Plan" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r89", "r90" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.", "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Issuance of common stock pursuant to vesting of restricted stock units, net of stock withheld for tax" } } }, "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r19", "r89", "r90" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Issuance of common stock pursuant to exercise of options" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of stock repurchase plan authorized.", "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Stock repurchase program authorized amount" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount remaining of a stock repurchase plan authorized.", "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "terseLabel": "Amount remaining for future repurchases" } } }, "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "auth_ref": [ "r3", "r4", "r89", "r90" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased and retired during the period.", "label": "Stock Repurchased and Retired During Period, Shares", "terseLabel": "Purchase of common stock retired through repurchase program (in shares)" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "auth_ref": [ "r3", "r4", "r89", "r90" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).", "label": "Stock Repurchased and Retired During Period, Value", "negatedLabel": "Purchase and retirement of common stock through repurchase program", "terseLabel": "Purchase of common stock value retired through repurchase program" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensationAdditionalInformationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r4", "r7", "r8", "r57", "r530", "r554", "r564", "r618" ], "calculation": { "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Stockholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r91", "r191", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r336", "r413" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.", "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Stockholders\u2019 Equity and Stock-Based Compensation" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/StockholdersEquityandStockBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental disclosure of cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "xbrltype": "stringItemType" }, "us-gaap_TaxesPayableCurrentAndNoncurrent": { "auth_ref": [ "r2", "r132", "r141" ], "calculation": { "http://www.formfactor.com/role/AccruedLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes.", "label": "Taxes Payable", "terseLabel": "Accrued income and other taxes" } } }, "localname": "TaxesPayableCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/AccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_TimingOfTransferOfGoodOrServiceAxis": { "auth_ref": [ "r519", "r585" ], "lang": { "en-us": { "role": { "documentation": "Information by timing of transfer of good or service to customer.", "label": "Timing of Transfer of Good or Service [Axis]", "terseLabel": "Timing of Transfer of Good or Service [Axis]" } } }, "localname": "TimingOfTransferOfGoodOrServiceAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_TimingOfTransferOfGoodOrServiceDomain": { "auth_ref": [ "r519", "r585" ], "lang": { "en-us": { "role": { "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time.", "label": "Timing of Transfer of Good or Service [Domain]", "terseLabel": "Timing of Transfer of Good or Service [Domain]" } } }, "localname": "TimingOfTransferOfGoodOrServiceDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TradeNamesMember": { "auth_ref": [ "r103" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trade Names [Member]", "terseLabel": "Trade name" } } }, "localname": "TradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/GoodwillandIntangibleAssetsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransferredAtPointInTimeMember": { "auth_ref": [ "r519" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which good or service is transferred at point in time.", "label": "Transferred at Point in Time [Member]", "terseLabel": "Products transferred at a point in time" } } }, "localname": "TransferredAtPointInTimeMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransferredOverTimeMember": { "auth_ref": [ "r519" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which good or service is transferred over time.", "label": "Transferred over Time [Member]", "terseLabel": "Products and services transferred over time" } } }, "localname": "TransferredOverTimeMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/OperatingSegmentsandEnterpriseWideInformationRevenuebySegmentRecognitionTypeandGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TypeOfRestructuringDomain": { "auth_ref": [ "r290", "r291", "r297", "r298" ], "lang": { "en-us": { "role": { "documentation": "Identification of the types of restructuring costs.", "label": "Type of Restructuring [Domain]", "terseLabel": "Type of Restructuring [Domain]" } } }, "localname": "TypeOfRestructuringDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/RestructuringChargesChangestotheRestructuringAccrualDetails", "http://www.formfactor.com/role/RestructuringChargesNarrativeDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": { "auth_ref": [ "r502", "r521", "r633" ], "lang": { "en-us": { "role": { "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB).", "label": "US Government Agencies Debt Securities [Member]", "terseLabel": "U.S. agency securities" } } }, "localname": "USGovernmentAgenciesDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USTreasuryBillSecuritiesMember": { "auth_ref": [ "r633" ], "lang": { "en-us": { "role": { "documentation": "This category includes information about negotiable debt securities issued by the United States Department of the Treasury which generally have maturities of one year or less, are interest bearing, and are backed by the full faith and credit of the United States government.", "label": "US Treasury Bill Securities [Member]", "terseLabel": "U.S. treasuries" } } }, "localname": "USTreasuryBillSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/FairValueandDerivativeInstrumentsFairValueAssetsMeasuredonRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_VariableLeaseCost": { "auth_ref": [ "r440", "r529" ], "calculation": { "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails": { "order": 3.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Variable Lease, Cost", "terseLabel": "Variable lease expense" } } }, "localname": "VariableLeaseCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/LeasesComponentsofLeaseExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r209", "r218" ], "calculation": { "http://www.formfactor.com/role/NetIncomeperShareDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted (in shares)", "totalLabel": "Weighted-average shares used in computing diluted net income per share (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://www.formfactor.com/role/NetIncomeperShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted-average number of shares used in per share calculations:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r208", "r218" ], "calculation": { "http://www.formfactor.com/role/NetIncomeperShareDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted-average shares used in computing basic net income per share (in shares)", "verboseLabel": "Basic (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://www.formfactor.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://www.formfactor.com/role/NetIncomeperShareDetails" ], "xbrltype": "sharesItemType" } }, "unitCount": 9 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "https://asc.fasb.org/topic&trid=2122149", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=d3e5291-111683", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r107": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "https://asc.fasb.org/topic&trid=2197479", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579240-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41620-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41638-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41641-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=d3e41678-113959", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "25", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=121577467&loc=d3e76258-113986", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13467-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13476-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15(5))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.4)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04.10)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "405", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=116652737&loc=d3e64164-112818", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19,20)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(15))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(16))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3151-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(e)(1))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1707-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1757-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1500-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1278-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r223": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org/topic&trid=2144383", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8721-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8844-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8981-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r260": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "https://asc.fasb.org/topic&trid=2134510", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "https://asc.fasb.org/topic&trid=2126998", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/subtopic&trid=2144471", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.3)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(e))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "420", "URI": "https://asc.fasb.org/topic&trid=2175745", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496180-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130533-203044", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r355": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org/topic&trid=49130388", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126962052&loc=d3e4991-113900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=128092470&loc=d3e4946-128472", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "4E", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624181-113959", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=d3e90205-114008", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=SL126733271-114008", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19279-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=SL6742756-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13433-108611", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r447": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/subtopic&trid=77888251", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r45": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org/topic&trid=2122369", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=120413173&loc=SL116631458-115580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=SL120174063-112916", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r494": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=122137925&loc=d3e14258-109268", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r52": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org/topic&trid=2134479", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r534": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r535": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r536": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r537": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r538": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r539": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(20))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(b)(2))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(d))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "55", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2626-109256", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8475-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8657-108599", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=SL108378252-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=109237686&loc=d3e17752-110868", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=124260329&loc=d3e26853-111562", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r580": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org/topic&trid=2127136", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.BB)", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r620": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r621": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r622": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r623": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r624": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r625": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r626": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r627": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r630": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r631": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r632": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r633": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126980459&loc=d3e62557-112803", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r634": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r635": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r73": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "https://asc.fasb.org/topic&trid=2155823", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.3)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.4)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r79": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org/topic&trid=2144648", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907644&loc=d3e11281-110244", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12524-110249", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(2))", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(3))", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(5)", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r87": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "460", "URI": "https://asc.fasb.org/topic&trid=2155896", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=99376301&loc=SL5988623-112600", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r91": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "https://asc.fasb.org/topic&trid=2208762", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" } }, "version": "2.2" } ZIP 82 0001039399-23-000019-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001039399-23-000019-xbrl.zip M4$L#!!0 ( ,Z J58791EC0)&F2T.SPA5&22HG! MERS; <*O?TNV$PB$)D 2>SKN"]B>-TW5HZJG2J72;__O?:_;>DO#46?0_]<= M>5?<:?V_![_]KW;[?W[?>=I:&Z3C'O7'K4=#PC'EUKO.^+#U(M/H3:L,![W6 MB\'P3>=$ %L &=S^37?1UNB,=H&5 J,]=X7 M](8(C2]%>ZB//1SSV_$;]D?_NG,X'A_=OW?OW;MW=]_INX/AP3T90KCWOIYS M9WK2_<[[<7M$Z=S)_/WNP>#MO4Z_V^E3[99[XR'V1V4P[.&8N^V>$M*TN8%: MGMZG'CMWD_I#P30>#.^F0>]>[1X!XNQ\OO.;<^>_C\/NI(U*"'VO'HXXHM/3 MZ]'<.;O@TY/MO>G!LU-'G8M>G<^4]_YG\^EN.J0>MCO]T1C[Z>P!G=$ E'1_ MTZ39&:<7C(;CLY,+CN+D1/ZQOJGZM-F=O[OG9ZW(]-D[GHJ"#YR[<3H>#JF? M3BX^^_3HN4LZ[[_6$*D_$?7IZ<>C]@'BT9?O.#MP_CV_$.>[=WB($.8'O_5HC*UZ MVS;]^[CS]E]W'@WZ8Q[X[;V3(Y9'FG[[UYTQO1_?FXR8>P_^XS_^X[=Q9]RE M!_59[5-,_W9O^N-O]Z:WCH-\\N"WW'G;&HU/NO2O.[DS.NKBR?W^H$_<@,[[ M^_5$&DX_=G*F_N0C']]B[3/LI.GSWX]WJ/SK3J=(X15ER$%Z*#YX@X#>F42V MY!+LJ[5)4Z20[8_CK(^]^FCJW'_("BU7I?:XBP=W6M-^XMN^']\OG??$:@>[ M=:AU,O^8]5\G<6WP]JG:>;NO-X_SZ_6W+Y^$U]N]=?6RMR&W]C;5]HOUD\W7 MS^36ZP/8?O+R<'OMK^[+%^N2/_O-V'KL1=/U7:RN?=<[.^MO\U/'G?BD^=V\_4? M?*\W>JOW'+;6DMAZ\DR_?'U@-OG)6^K9^\VU@W=;'_B>KY_-KOF+GV7Z+_<& M)YL];O=>4B_W#@2?(UZNY=[VVIL/FVI3OUQ;?[>]]E!OK?W1X39^>+JW/M[< M%>_Y[_>;]=V?O7(RZH*QM)W)K+H5R7;$@&U*RDGMM71)WWGPN';P;_?.B?@Z M);[>9T2>/&*1#[&[T<_T_K_I9"7@;PE87"#@[#'KA&RX2Y!M0$KM8&)HQZA* M*H[%Z^'. \'61>B@0[A!*3^:J/GQX\XH87>?<+C>SVM,6LX/\A"4FT$R8-=)M\.*N=V-F2CU6Q)(=QYL$:)>I&& M+2UN$ RGQ/4C&A[S+Z.5H+\E:'6!H-%+=#X2$USIF)!C: >?L0W)H,C.14_B MSH,JAKE)^$^^_R"O9'PI&>N++'>4JKIG;>YIEK%AIROJ[-H1,!DMV6,#=^?! M,_D]$M;!Y(!HC+ *F +$*(4).=IHK+;2O]KX7+ S-GU_A]Y2_YAVV#?I]#O] M Q;O1(FS<[ =NYV#";%=?W]$B9W2O4Z/3]DNN_SKJ#I9?&R*!WE.]U?/[GX^ M'IZP-I@O2/3V;NBEWN/^-@-A\P5?W]MYLUT%]_J9VNR]/-Q_O:&V7K 07S-( MGNS#YHOG_)R=P_W>^RZW[[Y8UR^?;##(GO$[;? S-LWFVK-W M+WL5<(>ON3UE!I )4#;W-OA=WKRRQ;&';5W;Z!3;4*)G(I"I;;-344JBZ,R= M!]]E]1,%%$D*S"C!%.49)](*E4 4'<&M0++0(.E\"9(:YC&H7)NBS6WP!MJ8 M96A+3PF%-"6Z@0G "!G'ZW((F7KHDV9Q*<@>3_JW.]WNNRK M#H_I^C"S@L:WH''R)324C1'9P6\3)+8R+H0V\PIH&P$F>1<1L88$/D?&O?.! M@2$5JA$=&ET0SZC1E?NC25B+L=.:1%ONCT^.& 2C3N^H6Z-+D]\.AQ5:YT(7 M=]^/O[SW?7OKLWD<E-)I1>L-VOPE[VWG^]- M-G^[%8AGKY<[;[E9GYXZT=HX'@Q_L.._N+[^N$;] 1OCBVY[V>%Q[A;WSK?^ M6W*7P5%!8OZ1 83),6NM#2ND*(VS3%*K/I=2*5OUN1):V04 P#E]+BL$E+V, M/E>LRCXY]2?T>2PYZQA)FIR@1@JLTV"4828G)%O"FQLOL[>F@QHSF'[-_+#W M1]U.ZHPWIR&JW.&CTYG04\*X.^97K]>L__NX!I$'O:-!G[^.'K[OL*H^/8U_ M[PWZN^-!>C.]UV_W+GS$6:^=M>0&!_)YBN+ N.1]+-9!5M)G-+(4J;(V+H>P M-*)YF'.G,G?L_HF=O-%_A$>=,78;(B8449EDE#76@-+6L] B*53DHE8I+X^8 M4CKN'7=KEL'V^)"&];PA'=:[O:6-?AKTJ"$B@YR"+EZE1!ZH>CQ&*"LQAFP- MNN41V0Z-V8NFO([#ZDN/&B*?F'@L::E<-)I=C8(Y9-9[3MH<)O*Y>>>LR=9I M_EZCM\$Z:S4S<@U,+J()$D42/.XT9@_+)] ;LVGS%VX67KF$:+55H$O H$F" M"$4I9B]I'J&49;2$\Q=T"%8 RI@+*@!K8PZ@!45@\3M;TO()^OKMY_RE:C)X M5:!(4P"D]$%K"$GEI$+(9.CFXD]-MK%7%1C[+)@5G)/LG:>D0 J#Q6@7G97\ M188BET8T\_ KTY,I)G$,(UQ CU (18;.^H^9AO!YY261TQS]@"O3F32LL_' M:DY&X8"R0R*GHE!!*>MBC$LCLAOU *]./LJ(:$HJ("-! 1.B5B# MTL$ ^LPVV@>FN4B)N9,I-U_90-).N"3?.8 M-E\6JSY_X0H92-8@G<3$3HX,""%#0&M"=E&:)13NW .SH^>;5 YFR\8Y?,2<+KIAJ"IA[5:@J M!#;+Y\G6@J2:_SB=.9?4]3/>B" O4D!4Q'Z(D-X8Z4-4+AD?V#F93;G(A>BN M\Y,:\FK2VD@$XP18]-:#%MP);)$P,&UG-A=,_#Q_8C&ZXB?NP MBUT:S19#;M'X&^;AFPT8##1F.C"=U:KN@S^C][ZA[:1B#DDZJ6M5%U75 M:DR1?/!2%B^#:E!&UFID+,[(F$]V86*2[VPL 1U8F%0K2!J5LZ6N16Y2=N'E ML3R#\>/AH%?KN0TQC5]TQH>G@K]6;&]PYW_+DU_A^2?"=TFXJ"A')T%H'=&Z ME H9DZTQ,SPO&VM9X7F9F,LY/%MV9:,EXY1.$&T)15$LQ:,Q=;EM7.%Y0='V MDPP(.^^POTN]#J,A']<"N9O8/Z[%5HZ'G?[!H\'3O;5EQ+M!Z02FD&OH4:J M(# ;(;WSD'40*SYRQ4@[^VV'CH8TJJ_=/Y!B>[@Y&-)VV1N,L3MKWXJ&7QMM M\3IA2#I)# 3192^\2B0 C!#)BB8E#:Q@WTC8ST7;H]7>"Y7!),)C4ADO*W*#MW0#8"1][T%I\B^L_A(-(C M'.;3@PU9W6%9=YB"5++0 $J&C-J8:,"A1BW353JCL;J$ E.*/MYSZI;;:,OG<$7?KAI\]\F/Y]W!E-$CL_>>R+03P>]A=) M\0K["7Y^JOR0 !.901A?H !XB$8%EW1,/@GZ8I5+P_'S76-\!9YO*9^,@6VT M$-8D*)+E23B)CT'0V<4F@>>VBC#':!V0YF%? SP6P7DI$G@KA9'JMMN/1LI4 M^)QX-&K,FD!9\,KJ(+,ON68'2E@RF5XW;YN_0)UG5]];* XD#U*)WEC#EKN4 MG)*R7^1+W(! F]%O48*V&1([E9!C0163 :THUT)$2C2HF.G">)575\K4Z90D MN1!C= B8]UZ101(P3M39C4#&B^=&_0JKTXT-DD?B\ZF)'8)R/CJ7WI(/':D M"<8T($R^8"-H_N%B870L9!#("4@F!J5R"%IJI0P$Q"63Z8VR@KD(5-:<]B ( M8MVGQPHL,?#_UF4]R@=]@?=P4'GF[DS"R.W MHAU08F(26&[11T )E:H0J1#1+SYA;)+/I]$WJ'N9)IW=-@Y:LI0TTXX2F3 UV N9E0R1^^SH.1 !5RRH38_ MD5W=*$MUV6^(P;-RA!@+UD5C)!*A"9ET ^KV_I#(]H:8:0M[C;%B)LKH4[ E MV0BFY+H='VF/10'(*!JP=]4BR^D*]Q@3KK"'E8B,@ZB):4J>)#B.QJ@3"&^0<&+Z1D?]D$ MV8!MK!HGO"L,#/LHV(!)JXM@LB$0#1I5T( -)&43$LX_"J06F#KSI)\.$GZ< M6OZ8##@:UXVZN]>A&^ZQ;AY- MDG??TOK[([[MSRD;*@<@;E*4C008J0V,%0]LMYYZ:/W,40]7P*(H=: MK ZS%J39X?>>#:^+@*B+]U9,9X=JA4C3/OVPJ*)F[C,>'L_68/_9Q4\3N1[6 MQG]QPC4+E)F1^"2AX1L9]>**$KN*$RY%DT40D+P)*#Q(9Z!8#WE6^/A,H NM MIILLT*M3QH 44LA9!2W!D8T^,"]661:32\S05(%6NL2JMGHLP[?TZ=Q2K7K\ M.XXHUT*A?(^)QKZJG-T5J"9!PT+HF)1K=!D86-Z5XF14$=&22K%!H)KK\H$5 MFB8V1R-!]-DIX0"=0B.M<,%FER@8IY<,3=>SF& %I0D?M26FNKC FPC6& Q8 MBE&!/8]DL(0&0*DN;GTTZ(\&W4Z>F*Z-BI;/8P7#HP%[%[0UZ*]P= TXPIP" M&S8J*EK0;.=LW3A61*BYT\[-2G.)L, XNJQ Y4T+5+9%N'&!>O*D6!NP.8F@ M^:-)X*N N^H.S@AVJ6W-,1^ M^E9MBA6DOF]7!)S3L=?J7"38U M$E09'-L\1#U)[=,^.END5)XHN&@+KD!U91',C?Y;?J'!\&2C=X2=X<0:+R.D ML.@HI#$^*@&!L)25^>R?87RP.E.AXT;%LJZ, T'B3)D:QRZ$DU!D%HW*"%FI93FOFF$5PX82C)["&AB MT62MT4* ,>3$DF'I5BBEN0 IU2*9 :REW5:(TH5DG5,N+,OL31I-X9+B?/B MW/99'BTEFK!039K2#<4OE@JH,>0P!MI4\B EH*($RM%[_"V7(I ML_GL+0Q%\;_HR B0DSRE%$1,24!VOC1)F:T4QVDN!T((2J;HM(>DIT4%=$09 MB9 =K263Z?(/TJAVM" TNW7EN+\ _*\GB)*$4W= MCZ=N< I>2TPL&$M6&1W0E[0$(OKQ5>(+(R1KA0^^Q.H>%@QH!6@5@G,0A"P- MJ 6X2(FPUR(BXX ]*<"2*8)Q"IUQJ:!PTNE0@!KDP2^2SIN_U^P3 J@"(6< M77<=*1*DM]XHM,[;91+LC6K*^8N6789LT'EM8P:^L;E5QWVA*46%@J M $6+WI%,["TDNP0BFA?OO,+-201JHJ*%+KKN>X')L?F#K-%C3?=:%B'=..^\ MPLTN"$3TQ>>Z[9;(M>:F9C?;"(3,^15!5<_:'ZUU5EH7C4ZW RAJ!91O*WTOB/5\+N1!"(H!I A1:$)7 M$C1A&Y8K (I> >5;0('"M%J9(FI8J@B-TAEE( FAHLNJ 1O++:]L2(/405B2 MP0*[0=[X9&2H)1LM_^Z70C;,J'LT3!WL_HG<-]14"5P46,JNB04I)6)FU$$W:- M:A@I^#[0+@I.HHU4V.TT2EKP,024V:L8P41)D9JP&]*RBJ9$82RK=\=.8*WL M[J-/'G5V3OJ,>$N&<%,,K:0)@FF(/0 BCHM%>$Z-"NY@)O&/C(#P%(-$HP#3"7?I!]"X* M8)((!< *9TA!206E%5XP2R_*>X74*, LJ8RDLZG8XITO K"6_\[*"B5=2+28RA@,68_1@&'%[P#!"637NVA= MFA59;<1\:Y/1$FUQR68@@ A!.8^"'*.E[J\EC&B6_F\$86@R6L"+& /_)\$! M8?'H-3B=A8FN[JK5*+0LHX (M8R6@M:F9A:7D,F%4LO(2I3*8*,$U BJ\'SW MR> M#?OU-1\>4#\QKURC.&X&&4Q-DR6@M2^0@Q)= &I94YE08LYEMZ M$;F<$WN1(@4A( +Q2&:R$!4H\@9" ]S*-7[9MY.*6AO]NJBO7K[3&;WY;" / MAM0YZ*^_3X?8/Z#3S?JN:BC_%^6#3O]@C4;\D MJ@9T>H/QP-#OW8VL7R10U MA;H(] E\1#29/5OM$+17*IILG0G@&A#J7.'V-E(H7 RBX_7%42NVP37BM#! M.I5C!"0=-1JO E:K+%$W8 WJY:2SP>\\I-%XA[&R^PZ/EDJ'W2;.F"CE.JE. M-:5&98<"2HXI6F:00D,#PC@KP-XJTIA9O5J31&'3 ,[7O10TR%H]7$>+U(#2 MIPM%&I=W]"P*8+'XC&1*EDP=(0/Z8#*)G NAUF)I)GA6&/F)='KI9=8Y>:4T M6(/191E"2%:"<3F8Q=__H&GI]#=:]N[J=F&HI8E3R<%Z5< 5%T"71,Y2K<(1 M3;D=0%G:(J=7!Q1MK06=M:WE[W*VMOO-X@SA7NS92R3)X]8:45B%I8HVB#: $I2CE;+K'"24-C)U>'$PD)#4KM M910@1?0Z.28)#!A+CKV/1N&D$:3@)BMI7B$G (\IR20-*'#&(F3* K'8A,$D MT2B<+)=H*'L(6D>3+-6$I.A3D$)$8U"8I%6C1-.(2,&<%U5>X:@F9^NZURA1 M@$HBAF#)V.R\#4; +0DRW:*%]U<'G:@3E2 P*0(0DB(:D,A@L9*4=,TR"(T@ M#DL#G1P\56@D@P6,,Y%ME\2Z!;-+5GEL%'267EHA*?1)%9TA0XG&)\U#WT0* M*H#PS8HX++W?SR,+K9)QPM.U][7,O4(40A6CF:K?#FDUQ?M.RD8VF-*$HD!E MZX729(1W:(3)-MX.:5UO#?6KDY9('K,561>)(%ET46<9G"2/-C,5:I2TFEP2 MNRG*.&L+M9(E25<@Q( Q9$,F%Z8\*%&N +.R!Y^M_"X0I2>+6H+0(F:54&;P M*0.:TBS -,2IFD-][BL$C .K=J1/0A)J%2*"9[ZYN5_+&D,I*YV PV M:ZR;L)@02TE.UCV-'/$ONE$R:D1\]N;+Z%YA-!]\9#>["%>S=:)DM&2$E(7V M1H)RMP,MRUU#_0J3_T*R7C*_E()9@GAL0V%)6A N(\,F^>RC2T*KV"SUWV"\-"6^P%Y'\=/'I=^$"T*;BDF7X@)05 )1(J1W1]7G$^H M5 #= *=G!96;HI326)? R("A9B=&L)J*4CF3#T0KE^,J\;K M<6;0B6U<]Y' M+(Q7 5A4]&0]>BKL+R>+#9@L7>'U-E'(C"7YH-";*$&20J&L<\D498HC;$"P M?*$HY-(.GD7!JPE9>4K2>X/@?0[LN LEO :%0 M 79)2*,N*AC,I+2K%0 (8Q *M*&LG16F 4[.0I'&Y1T]BP)8,EJKXJ-FA@B% M"H*1+BFMT?F,N0$%*U88N?9)P*P]^6)#M!)"9&^B)/XCV2@"VMDZ^H7<+V$T M'-]_=#P<4C^=3.629M_NKS_?F=.\"']]A\-\50C\LRZP^0)W3P?]@VN%UT]M MM7#<[TRQ1?R%458D)4DGL!DL0@H(4 MM<"+31 S@6G AIL7BW/W<##\:4+6X-$P1ZQ^MN 3Q:1 !"0-&C5& $L&@R\! MK%2+BZ^_$?X??^Y?EQJZ$MPN-[[.=.'KHY.OZL(S$7V/+B1 XX(/KG@(0F*. M6B!%+T.Q*KM&8O6_=UXL-)!NA]E^,WSW5:B>2>A[H!IK_4E!@G("+9(OM:H* M?RU)B(P-V)%K/F9[[\7:0H^&1<#J^%W^*E;/^N\[L%KW>U(>F5EB >8#6%P4 M9$@$(8*G64JDT,HN*E8_"?%L3M^ZWN#QD/Y]_!%C7YS\R:FCK4%_6%?J#3O7 MK*Y46^BVLEU4 M+4DL 8-6>E:$>'G&S._'';YK_X#/._VXT3L:#MY.E5Y#AI.GB.@+"!Y7H+** MNE:V#5:ACHI-UY(-IWD*[>I&F@*M@%T4QW^"\,K'8@K[W-8KEXW62S;2S@XV M9$P9I9SEWL].$[N5$(WQ014F$5([TX3T@044SQ66(R!CP(N$222HNRI"5,E; M!;(DEV;EDY9G]#P:](Z.QS1LVBC2#OAV7E )_$F(Z(WA(94](9.*T( U@ LL MIBNT14)A1I-2*0FR5RCKXC?R.6N0&)9M-#T^'O8[8_9L^<3'G??U4U.H7L@H ML10,$_V7;4A%@)?1,><+S-&7;$#=N*2NL+YK#(?:FCRV#8>_^=AH/^-K:>Y,'?W'NM0)$ MM*6XHEB]E#[&Y*PD"SY$)-0UB[;NN&[87WBUQH^3/-9M>]'G6E9(.>N[,0[' M:]P;%2NR*I./6/EX[$R*^?34SZ: 3H_\".]2IOB,*;%Q@ +6NQPBU&K_H"*& MV4Z]PBBQ0M-WH6D33VK/S4'G,#@,ZX KT#G%)!^=2!*$A5PK^0=MH\A6L$5R M7D]TCF:ARO:B<[X52K[0-\PSY2<\\^_TS6>4]"?TC3":]4VPH!U"R-I'-%Y4 M9QR+2Q@7WWM8(>G:_!6!OG@2N@AK&1RE;FD8 ]I 1@+KHL7W5Q[6!* O/9,= M&HV'G32F/)'/<_;]1SN[SZ\L;XZ]HRWLT2=PJ([2^&2CG^H[O:5Z1D,\(9(> MT&-(Q4I((7@M8R6^3$]JC6_;(*-SN] P?^.BK4E(DY7;!8@ 99*24(60HXZB M <;E=B'F>H)>K$!TJ<$3EK3S%H,G[T%&24E+Q.;KC_7>47=P0G09@M'(<9R! M/!0'1F8!I /&7 3['1J=+,8U8,72?"1W/3EM 7@LV6@U 7B*(:$)"K7U#I3S MOK'"^$RI-D0<):H @DFPE!(R6A^#@B"L*JSK1%D"]7;M$O^&LF:1<8]3\T^?_P>#SH#6*GVYB4)QU,9K/"-, JH*1B MY'$1DAJZ3^P2>&93MV.P>3PB_K[X^H M&IB]3H]/V2Z[_.N(@5F/[9XJ_ZD@?[N>&]_-@WJ?CZ)3O]V[WB>= >^3#EP< MU"4**)(43&8^PKX)43=+#)^FU$GL4!$CU!WV8.YLB?OLX5\LX]#IWZT(HX$-= M? ;!%P\EIQBUJWE[*%2#?,.S:>S?CT>=/HU&N]-;C#[U%8>#2(_8ASP]^+,3 M#I.R#8/^:-#MY G@-K@-GVUFMLT"YF/]@],&+:-+FK&@DLS%)2GP#"OT.=L8 MDRF%O&[2).=E@+1[,JJ"7J'H:E&$;#N]CD[I%"%202LS!4>UQ*H$\LN#HH^9 M-;.-L=D=W!X?_OPNLBLLG?H%04E+[!Q$A0 B1B&S*-DID""E:V1^\6TW;7/) M* 9ID]%2D:M+(X/POD#!HB?!/TAJR8"T_*9M+BB*SEO+OJ(FHT$%&4K6@:A$ M$Z(!C,N#HEMEVN:")=+%N +6>/:+ V@,P2$ROCPB^"R7AR9=GVGCF^;C--X> M[M+P;2=].J/X>'#D'4;G9"1IR%.C'G&3(!BC#>.X"2E0Q&UVC%"D/-,27S MB;L'([PS;#M" 0W2@S%@,%@?# C5A+705PR@1HI1^RQ5%CK:FE"-VLN Q>K@ MA744M6@^([A5MF0N?$3'D"2+,_E,X(7P.I42V,$MRF@9EL KN3VV9"X <@:U MM1%T]!&,M]$CZR/0)**4&6\A@!HIQEH0Q0 X4H$YI4\Q$$B#-I'&NAUU RC! M(D_%S_3 LC,27PD(@C!)! ;40M4J+4$TI[=E"5#T8W.PM\2"+FZS%6;8&V0 M $9&=E6 0DXB1JWD$F1XW1)!VJ)25BIHT@Y4;. M2T (+8T!Z21"<"YX0ELT5<9IE6T"O5Q9E/E"*"E=MZ_-[)8H*$I[J8P*1B1" M740CLDQ7@IP4PP#OT=19$A<@A1*1O1;TQB$IF[ )] *JY"D+)1+$S()5S+^5A@M"B(K2C3. M ;/5D%G,0D1=BF1-LFR+N&^UB9H+![(% R!Y$[,#Z5- (6UAI\CI'/(L?V1Y M '9[3=1\&+:&F-$!4!:@F&,SW'+2*I-+[#!!@]"UDO'72FA94,(P$;%0(!E M4$%X)XT3K%I2:1 -::2)VGY+PV6E/ZP1A,.Z90S3'C(01+(6DC4EI!!$$X+W MS;5.RPPL9P)XZYUF88/,(@CTBG\CJ>OVATU(>5R)]V_$&T@D(8Q*LH#4!HV0 M4KJ+UD3]@;EB5[2D$H=$+:($J-UWIK MFK!P=^[Y"VE#T^"X/QZ>W-][L5Q4)B@=%&7/%%5 B1*= M28%T4LYG!6;9$BFO/F'A%F)&HG66.4F6**#2$Q\Q%%^E,=$U9CW,+)8=9 M)FL\*A<2.#!1L R]MY2=*5[)!G& 6VHDYE.7*&E1K+6"""!*%04)YV*LRR<* MY&6;)EPV(S&?RF2R%$Q4=U+18%6,%356DB:??9%-6>UW"R6GDC.>1[DT.H&& MZ DQ%"M&UB]EBSTJ0(=1MK ML8+-0J_&G MF6+DPBS !G8W@47C! (G!R,@_Y' [,--(R5FC3"Q&E5P07#&8 M,6)4"I5WVOLF>!(+-MIOQ?K]$,GI*#,#)4!1A)(RJA1D,L$6ZU:P66@C,9_( M-D/%2^$H)0F&5,12;%*0I0O&-*:2V'R-Q'Q6Z6?E*>6B7*A%176P$A,*FVQ6 MDLW^\ICW1UO+:23F$U_.UKMBC?'!03$F\A=+9KJ/AG2T@LU"&XGYE'+0,2HG MQE$9B/JN1*!EAC;63[=U]#-$P M6%QV)4<575.6UL_72,RG;%OQUH1@$F($"SF"TR&GFAW)GD18K:6_&MC\]\YR M<0MKA$/ABTO&@\@%@S"0HI'L6)BLFC"5M? 3U\N&&9.%B9,:U2 @"Q70RF0% ME.1S%+8)JN:62BYJ9U3V,F0IP":]\BX@-"%3Y38;B?EX$CZ)Y(J2F"(8$Z,T 9)4J'(LJ)NP NR6 M2LX5Z11I(P+[$138@Q#H74107I.)RT8)YV4D-O>7BUN@126C3(%A EE%KU)4 MZ)$]BT!.ZB6#S5R,Q+)A)@E+P(C05A&K&AOJTIH07"XNBN*;4$'KEDH.A,.D M*&O*$K*O2R-<9 FIXF16"1M@WF^YD9@+MQ">?4[EO=2>(%+PMF0PRI:4G36Y M":SP-AN)^?!1YJ!D'<;D SC%KD1)"E1VZ)AP^":L][^EDLLV6 M%&R6/[L)"L3DM NJ&+!$T68#PA;KLW5%-:%0V<]CII&2"]F"T;$@"004PM=B M44:"YM^S\4TH4;E@H_U69#>AR9ZRI>@0P<802%K)?Q,I\,XT8<7U@L%F^;.; MHE0VFFRC=PHL^N!D\"D29!<,JB;46IZ_D9C/;)*!F*5ABT !3"E>*N+_4X@I M&&>;4./V&Y*KA]>/AX.C;]7>:K2IF \WM#*;0M7Q%.!2\25A<85]4I^"#:L* M3C;<$ 8SEEE]129?D"(QR4#>;4FBI M.$O.6 ]E"4*'M\-LS"?K21 C@B@(9A\Y8005:NE@LVQ&8CX;4_AL-1:?:RFY5$(4PKM465G)2^[K)A+'.@G030<;@DXH!#.0FI+(LLI&8/'2'1N/MLG=(+P9\ MMV4,8[H2I?+:0@X9C,N8O-2.?$ZH4#=B.X&%M1FW!$+16"!O,!,X\,:%DAQ& M:UG"OAC;!-]T):_S_OZ01H/C8:+1].LA,2NHC<^=MP]^XS].U_-6D;*9056W.?/>%_2& MU8;QI6@/KRI!^'C-:'S29<'U.OWV(74.#L?W0=UUYFC\SW>=/#Z\+X7XWW_Q>$]OL'T\_0^7]X-AP=\PS@8CP>]^YYO-OME/#B:?*TOU<9N MYZ!_/W$OTY ?,<;8I=,[Q,&07ZZ=!MTN'HWH_NF'?^;.Z*B+)_<[_2YKC?;D MHG^>?UYM_%L:CBLB9@^9/&]Z>/9>(=SU1M=7&W,?CO/I@V=O?7?RUO?&^Y-[#TQ-F':R/QG?L>.U']<7!(\RYTS^X+UIR\HB/;;@WZ:<+)'61(&J;3H]S$P?# M^ZIWMR___6_29'K2UZU]H9]+#_?W\=87_4'C& R_3$4><#W9? MTIA\?3=]>\?WF8ANUAM2U;Y\OK6QM[[6VMU[N+>^>QY="]C:W?5'SW;CU9/VWW]38)+FQ2ZV8>?G%_/-K>W-S8W=W8WIJ?Z,*E M6OH"1X<\1,:#_J^MM;N/[K:4,!#F"#AQ*>G^G_^45OSS>D1L+]5QC]FHSEK! MMJ<_Z&\=]_A.J34S43M4:N*6%%Y1AARDA^(#>ZZ WIE$MN1R<Z^Q^.#K=Z+SM; M>\\_;+WN'FZ^WA!;>_NPO7;8V]\[D"]?_'6XM7?8>_EZ$[8>^_=/UVZ]?B.V>NNP]>29WMKKOME^LM7;5)MB\\,;?O[C-R][S][F)W]! M_J\_NB]5]VU\/7BWU?N+?U]7VWO/%#]#O%Q+/O:P]>Q5$&B-!M'6P>DV1"_:R%Y^.SH=G:AK]3W<>2!%^]G$_G^4P7R'?EPV,%NZWF_DP:96IN[7QN(\E*MOX'A]^R8^2L-NR<[=#08CN^T*J/& M,3_@_?A^Z;RGW!X/CV_9"'V_N;;Y*AD5!3AH>QM%&T32/$3Y#X^0E/!9<5=7 M;1T?I?FMG_<_MG;W6 MG\]W=I\_W-IK[6VWF%CM,8N8ME+JUO9.2YI?\C^F/VP_;NW]UWKK$_9URKQ: M#Q_MM?BP#!H6G8*P)6V-#ZGU[]-1UIHZ?2WV!2FW;F!\_SEYWOK4]3P_NC/_ MTN[Q,P_K9>V,)^T3PF&;^K=KM'/[G[]"99VTAMJ2,H_VR$X^&F7:QJ,17J8H MHKOSX.'1L--MR5];M:M<&W4I;3 2VS[8U$ZA.&>T20G$S!##RA!?V*:]G8=; MNQO5W-YV2SP^&VBGIK@,![VOR>Q[_QP/KNI.B].?/Z3-%T3JCP:]7F=49Q): MI=.E5O^X3@+I\W#2>^AC3>##\=8J=--9_S_SDUR8C3^<3U='[.J/XY:SM M%YT^.+IQFRYN1*OQZ!P,V0G#RA(GN0>/IJG/C]B9/.>8\1NDF@$PIJ/AX&V] M3T-C)X\[\[+S>?_&XM]G;X&O^Z&VO\7G\[/W>\W?[KUD/[CT_ MV=S;G%WS%S_+]%_N#SC>W!7OG^ZMO]^L[_[L50[:4E6?(GK7!BJ^'2U2NP#EP!#W M490[#]:HB^]P2%]S\DX'P??ANT8N9V1^DP)-8/S+Q!JT!L/68'Q(P];KXV%GE#MI$DX8E$FZ5.=3 MZS$Y=7B _IYBKEC;L[=W?OMM9[1]W!"0TG8CVO75I; M@[O_^!+FKFHS;5;BXEB9G<'O[)3A&;PR7UF7Y&EL]>*1,4J4(LP9I=DG1J(W=TVP@/ MV1CM/>D[#QZQ,N:^ZW?PRW#1#4SH>LQ;AGYGP MT.C7%A_J'E<&U_K0.6K52?6OY],MR+LU@^K\O\HZ MU.(=ONUC=FVPE-K>IMS64&(6X&V.;"V#^L)]_<=UZM:G W9R_CP<]&_E]""_ MQYM7E*.*SJHV.LF"0:1V3,@,5$F,@J7B'0M&A9IT*43SE.K'6;'_\Y]US[5_ MCEICZM)1%?IL!OI3C8H\1']0I5ZT0.OZ,ZTO?NU=-AK#SKC#-YQ.#=&0#@ZKG-$XT&+SZB^LU2_Q']4BU/3,1ZF\?WY3!']_:*POYN047>=NMR]^<;ZNU+!E=]5ZKO!7VZUW?P;J]5=J2\W3WC)$.BYI7Q+$$?; MZXR[DZEBPG382ETG%0?>747.BQM^,0BYQV'AK MEA@Q03N]3X?8/^ ?^JUWAQW^Y:-1_)'ID4M _)/EPE^N)5[0GKSQV<(92SF1 M*D[44R/I]W2"D#^?;+WXH[O5>Z9?,@7?6GO.YS MWWMF^!JS__KYR?[>!KS< MV_]L@O"H]W)M0^[WGJN7:[GW\L6SVD:SW_NKN[7VABE[E]O_![?]L+O5]75B M\/,)0BQ&48BQK6-2S.#)MY&L;@=)44KI7$E^FGPYJ-@9I#>_MOZ_FI$C6T?;%H(E!28BVK1/H-I3H:T*L M;5L/ 93P=9ND.P\>;^]L-C6]Y7(HO;3U7PW,[S!HZS/",4W$_7R^I=*1!D^U MW/38W?\B(X8\)2BI7:NZM<$)TX[28%N#,U5>I!$J QQE_'?K27<0L=NJ*\]I M_.W60NO+O7/547/SETV6W[X?:L/K[+W-_JYYIQ0*YZTTB&E M-ZU>K6CP[I F&4@UAO9))O8O MM"+-3N ;SR)S9PO !L-/%X#-0G6?!/A.E4T-WU67IRX :V4^RDYK/?5H2(DF M+JQ4K8?GVSM9OS.Y>/8V M__BUA?W<^D5]\LJ1-1R?%%_S"]6+)N?SE;4ILYM-ZLY-6C)I*8[&K2!:&4]& M=R]8A77=DZR/CH=#;M!TT6OP>_3S]D14R%3UH;U?1A MFDSLK^$86W6-XN,]/IVYV3GNTK3#0)C3J9L=.CCN3K,A=]M[K5_J">Z? M2JN[9R=U)NN CNHZH.LV#].&GRE\&OWC[HTJ\D]ZMW;N3*_?-D7^X0!>16LM M.[2Q78Q/=2E':?M:-P=*\.SB@B(A+E3DUZFZ&JK-K\FVK13Y0BMR5IO8ZN*0 M"3:FQ,I\B%4C5[4VK*3WPE];/)+:%QX8]=@*\%.&IR23U5^/^^"D\GR^&U/B M.GM^T#H8#MZ-#T^/WF7&3Y.F92J=_J1FPB13K&8U*'[+BQLX.2K_^>OI:5\V M:7;&Z0E?;=[I>97ES\[]2E-/S^ST/S%5DE60.C56GWHL=UN_/)K(H):%FU/V MP4\L4%7AKK3ZZB??[P9W]7/OJ\9.&WNYY(UE6BMU(R4VAH]8KQP,AB>-)%JG M"_W^>KW_X>&'[;7?NUMJ4V^MY3>;:]TW6^HE?]\Z?+GV>V_KR;[9_'#!0K\7 M6Z\WUS9A\\ESO?\AB2WU[!V3,_VRQ]_5XS>;3_;%R]=O/GQEU:U& SY';#L+ M3-5*MFV4*-JZ;ELAB7UPK^\\>#I1] \_T>.3KE^\68K+Y:HO>:-$ZN2"A"B#CK3F/@2@T(9(J9: ,NV0 MBS))H8D0OUFBC%XH1 M!5"VP2&TP7ML^RQE6Z-23F*4#MU5C-Z?LNQ?I(G,9W.'10^TEK^):-955Q?& M83OE\Q!L32:8S**QM]L?3";!CD?3:"B_Y[1Z^P6E9 ?#R;.Z)_7A[SK\Z!IF M[?.K#6J \VUG-(F"]K&?JA9B*E\KB]631V/LY[J'8JLNB^_DB]=.M:3^!?]Q M<5!SX69^YR#^UN5+Z'X)U27,!YK,)(P.J=L]B_G_PLB>!/2GM1HO$2\_/Y.Z M3Z.;1-K7:FPO"-+F/$5W_4Y#QM?=B>/VCX>3^P\&_SS@ZE_W&OGP;@]NR'3079P^%[BM@VM MO>?F59 N>BEL.^I:/MPKU?84?+MD"3RT2%O%=-RY7R7 KR+ Z>@Z%?"#UE2P MI[9L^.5Z_'1N:=+9FJ2S14IUF]MZCU];[VA(K<%'N=U=Q-7J"[*%Z9>[E%YJ M"KI]$6JBW,TF%+V^T.JR6MOZ8N];S^^V^2EQ,=+,/(+'(^_O.1; MV^5^[[:][L[I-8?#CY[A ;7CD/!-&\N8AO>Q^PY/1G?N7OI=7^C=:T_ K M.WML[VP^?OAH;WOGM+KZUJ.[C6CUC'>+]K,6?YWLLO)QQ[0_UW7!22G9:9_KL052G7 S]6"]?\SF8EC/XC;APK2E=3BL M=/,_+[&'N[CSX$\6:6+\R_=S M9?/^5LM^=OUT4V<[P,D#CY1QDU]TR! MH)L_$AK] LT>QNHZ'=PS#GKQ3,N$MZZHU]5JY"]%>?$,NH3%6**T^%[J D1B M5][+#0RA\%7OY9-@$KLM=2OF'IU5:QOS$ZC!%()?>U;N:)I!WN@W:;A7%AKM ME85&>V6A\5Y9:+17%F9>6:/?8!.'Z;#1;]!J]@"P_S][;][41I*]"W\5!??W MWCL3H73GOKCG$D$#]C"W)6S [8!_.G(%82V,%MOPZ=_,$IN1L%E*4"7E1 \6 MJ%3*RLSSG.4ZM1U]O8UC5VAA6V1A>(B9/?VX,YQ#BDC]D M)ZBOOZ'8^[7V-Z0GJ+>_H5B#>@M ??T-5P!4ZP>H]^;)_H:EX?5LF8/OV>BL M\>9DOS8ZD\U95 0Y&73C-XS^3V/[OY/.^'Q98MQI#I;$YF2UMSE9K6U.5FN; MD]7>YF2UMCE9[6U.5GN;D]7;YF2UMCE9W6U.5FN;DV6;?B%P:GXBLO4]$ MUMHG(FOM$Y&U]XG(6OM$9.U](K+V/A%9;Y^(K+5/1-;=)R)K[1.1V2>R1*:( MR#Z1%?(&Y$H"V252/1PB*#5%'L->WPC\RI59BVT+*NOLA9:]B=:N.K) M=8'+D4J?4Q-O3OCHOM@H3?C'[I7OR>UVQV,)JE_Y8893,:-EAY^\>/&7F?T)>O2 MI=D$.'M/E_Z)LC*MC42R2V5*LS*MUZI%"W0\C M3*-(/PX'U+NG.K"F79H6S MIES^)UH&3;D:+4V1_*$;;6Y'^]IC>>3:[8Y/_' 1O6BSIGQ=39ERJV36E,O^ M1(_1E*XS.NOJ\[?]0;&O?W+WYUU9CV%45?>L!CYA=-7G=V,Y*,/J+%OR/#?> M:3L>#+-=O3S+^BNV1AY&'4:-A9)KQJOI(7+)#GLEAO59M M^_M)QW1R0OT2+2G.>7Y+_T3+$'!9#8DD<&U]/\ZK'B\ZKKUTQ_"RWGC174K@ MT_1&12R %QW&;V-MNOYJEN;O3^O[8S^\W*#K_S+#W^Y,[JV/72XHQ=-CQV># M47$LX^W0=XN\TM^_==SXY%+>;G]P*B-OX;/A^M_?;#//0Z M?7!GWN].V?UK]^"%7]RLS@2:BUG]L+%WY> M:^-@9[=][RZLRLZXHU >NR7(VJT/OY>[>Q>;"[U[P4S/;FFPK)X/Q1;^ZVM[;; M^]M;C?AJ?_?/G:V-@_C+'QM_1D#9;NS_>WO[8+_R3_&/G7YC?#*8Q'NX4;/A MOUM_-FZ,3O1P>G3CS ^O?NL-)E$<_EG]1_K4UQ/7&7MW/=:"C-PP@F$D@" . MIZO/1O[MU8O?K\A,IU_5Z3JA_<$?<,4N_=M^ ;=^][/;HM@U-[J2;?]^7M$+F:P M_&$#*M>N7TP75_6 [+=R+,2IT%7IJ8I*F@W4+.@AAI@\U8&S!'.QY:WOF8BF MY&8^\ _S\8O=;+3]5XOU+>^_#7H+W>'"6 M?"^-H@A.XVKC;?'=C_&ESGY3*/Y7S5TZ?VDV)\-A MZF2E1R,_'KU]TAK]^JF7:4?>>=HG[55)2'?9D)MCTPO]W MTOFJNS\8S3]2N <]/FS4 "/^YUE/6.E=_:_.]^3/?3?4MJA\,^EWQGO)3SX9 MN;6XJ?MI\,4?.IXH9(AG"&E,A9::0::$TTHS2202?^\DU@IGVTT7?IG^V;3;0QWM3#X7FDA:$W>Z_?7HO3K= M[6WCH]X.:A^T\.[G[?/6Z4?4/CVFN^^/3G:W_NH>?=Y&\76O=7$,_R3M[N'% MV4F[=]1I'WRZ:)]V3UJG.[!]<$AWMTYZAP?'Z.CS7R?M@Y/>T6F+MM_)[^V. MZMG>N_YN[R,]^KS7;;__ZTN[]^[T:.OC]]W/.S3^^ZU]>L@.XSC:6RUT='IX M_B?9.SGL?>_NGMKXMR_GNP?;%T>]0WAX$.^QM1.O_4_O\'2;[AXT4F\ MYN+J,_&[)D?X$V]?',+=@QW6.HBC/=V+UYQ\:9UV.X=Q[*V#8[:[Y7I'O>UX M33NTSN'W/P^VQZU]^+UUL!.?Y$FX?!?O_VX1^[1'4\!O4?(1IFD*0/44@*4#E)9JKAR@E$IA;8."AF8=)0@ M36T!4!AAD@&J8@!U<1>@C-=.2(^!U1&E*$H Y0@%#"H;A(Y*1I@(4% U$:D2 M0)5D,-6$$4Z+^4S=K=Y.AIUQQ\^PP>MIP(^;AKG 6V=X*HL_W$86Y)<1Y!EVX3S7@08&"*444,L4D$0XH+Q%" 9$K=9)D%43 M0EXA07[IH,%3:_XO4DXWK"U"TXVAMSYR\R@]S4;?CU.=7MWM#K[IOO5%HT [ M]*XS;G0'HY$OROC^SRLHZXVK(;T;#+<&$S,.D^[5(^Q=/\&UU&?!?KA@[\-O M=P3[JWO_%W7__D_W"'>_FM-!_-X-?/CY\/SH8)L/B<@$%H I&J]9; 8P6$'AI,&(18:@(:7_) MF?WUBRSYGS&RA_JTZLS(2D/K&81^*(V2PPH!I@P UE@ M MI04,.HB(==9*6H@V?G9N1W9;/%%&/PS]F>ZXAO]^EEJC3_OD#(HF /:'Z7H]\LU%,"Q@$,!EY\'P7 MR5+#5%GLXWH1_DQKL)<&LQL^C7QA*&5D*@^9MF<)AW$8&B@)N%E^3JR.^.!:1^#*!?C\V;CK*M3Z*7OBOJ39ZEGP\WI M?VLGO4E7)Z^'\V?#*!=%#Z#L_5AX+LAT>3ZDQ8E6TO;5TN2,^5(Q:V>6?EA$ MC=5$ HD8!]0'"J3%&C E%?9><9+H!U*RB ".6<8VR94JFZF%1-26<+1&0OQP(%\?U@X+YUNMWL MR5@PD[B:Z PUY4%-:Y8U("D(8=0#B"V,E@[G0"FJ@1(!260%"BSEFB'4%*)* M9_2SUZ*:K"&+[4+$]BY#T#IR>J(1T +;5+90 A6Q%CCH"3,!F_B7J=A22BLD MMBO@H=CICW7_N&.ZN9[&2]73N)KP:3I8M$^VO]ON),UCC+(OP$%$F MA 3&&!P-%BF!#(X#9VP$#VNE0XE%T&8D&!6R5[+KH9HD(DOTBTOT78+A@R=. M&PH@\5&B;11F93D&4"JI%*>40QHEFC<%RWD6+RJ/6W%IAD/O&F/]O823)TL- M2&51C*LYW^G;0<\?Z._7N)1AJ#P8^C1++!QB*"X6326 HIU#I (:0P\$TH@8 M::Q,?1:X:*KGPU#V3E16CLLB%EF.7TB.[]*)P#DWS!L0ER\%)QD#QO'XRCF& MO()."U_(,:?/-A"RN^)1:9M%R8Q<*N-ETC-O3M+GA/%%0,_AG @'E4$&*@%' M$@'**0$F< 4,9@%AY3@3D4*0)L^NB266X-*R,K,$+UR"[Y('0W% G$$@D8Y& M0& **!XPL,I'"3;1"( N2;!2SPYU5,\54:-R&/-)Q&)/P5=M)A[=?O?AC[\L M4%QNQ8^,O>5AKYUWJ$6KH#P#2IK4Z!)R$ '7 HZM@H21N&JI$',3(M44K"S; MK2[5/C*V96Q;8&&3C&VE8MN,4TI P:(> LI""*B%'BAD(\V45$&NI+!<%-@& M91/C9R?:OG!1DZN!7&YE50!7V6;E ^YQZWE)?"(WF*0FX7OVX[?:;/4S?!YP2FEI/W+R6U+[NQ[(?I[LG%"\NF^J=S:G-X MIX63S@-(4SMOC5DZ42?BGA+26A$,8BG^3$KT8=3(39$1J3J/]HH-. X4Z"N'P.*($0@#;B%):.$<$C(JDF@65Y'BJ4$5,?JC><>'?; MWL@Y,HOG1VG._[R9\@Q(I0/2G/HAD'O%A8P(Q#B-%(EA((4*P".EC54&2D^* MFD=*5BGC/R?*5)949#%^ 3&^RRLP=LKX8$' 2 /JB 4R*!PG6 8'I24AL+5U MBIL(+6OSF.KSBBL_YME@6,CC(#3&?MAK= >Z?UW$;!(%*KU_$0E(9S2:Z+[U M<6Y&^;S/PCG(GX/^\4%M.75(X@["!F$/N*(*4,19A"UJ@#4, MQ_<\AIZG6"RB52JXF,_Y5)-\9/E=M/S.Y.@ZCS5+6?841]J!- '2! 6,Y89 M: P-MLBEH,]F'=F;\=R3PT/_U?0\DBU80Y-I8@B$3SA3=,X50%3* LA^CFE0BR_ +R/!=-J&8M-1Z M"*RU!E!,(="*.N"M\) XAPA-]812_=,J'=I;+2?&G88OSPZ2K(*!LY@^+U=. MUO.,3J6CT[RB)%0@Z+T"*NH70"DVP#!CHZV#C8*0ND#$VKIH,I1]%:&B/!,M,1#+U!HR.*0BT3 $2(<#"-PY821C2!:B3%B5BA^7Z;:HQ]%B M.YOX_1SOQ>IVWBXM0I+CN@M$JGEE3!2!$4(B4B$832)-&#"0B@1W5[NL6)2(Z?'ZHI^:<&5+/J+%?T9DH(B(&/A :&(I%JL 4B!>$0" M@I50DA#'HNA3U>2\K%[6+W5*=3E.3]Y#76Y2.KI^-+HF,9=9'SG1HP(TYE:@ M.-=S6@2>S:DI(ARG3C(/I&01SR*$1:-+Q5\A4LI)2:%5"<^:D%2I=T5VH%24 MCV097KP,W^4D$7LQ\18#HH6(,DQUE&9I@,062F.Q8QH6,DSDLZ.LU?.<5)EU M_% ?/A]<><4B\;<,I5QANE1 .IXE%8%+'M6(!LQ#":CS#&@6HLU$G%'42$Q, M2OMH*EBEM/><]5%-3I%E^25E>::['14B.,P $]8!&K@%VB,+ M$V"&(@DZGY M3%-4JI'U"G@T$M4&Q4F504[^J%KR1[9]%@%/7V:IAO*20"X,X )[0"'F0$7% M PB4D6@@'XC116\L"I_MCLW^B\J*\X(30+(X+TB<9UK=42,X91((%PB@R%!@ MJ*7 &B*%%-QARZ(XBR:351+G57)E' ]U/S?2712O2.AR;?&\'\1)Z/$"4A!@Y WR9\J MFW'35X7$> 5<%],^=]E-\?+QD,WX_\YXM-%WQ1K<]J1F M$V?![.+2Q)&(P:A9),!*1W:AB =2.P^H@-P:ASD/9&V=-26O4JW![+"H%KG( M@OWJ@CT3*<'0>"DL<"8=1>/QE=9< ^Y)8#3@(#!-@LTJ)=BK=WXEGUNI""FY M!5(9FLJ#ICDEUS7C'B/- '/( (J0 MI#!;#$,-! 3;24UM:18DTBR^K;F0^L M+)/,+^# 2I;Y4F7^+AU!%AJ(#0-66@9H"#3:&5( 2;U6Q+( A4\RKYJ*/OM M;5U.JI31Z*D.DIU;8[WF[.^/!_;+R: ;96%TU9K-_W?2&9_G#EGEZ>L%=7Z/]=B[OW1WXF^^^I)N MP4RW'D"W#L>MS1_I5KQ?U_][[_SHLSLSF/*C WM^M'72C6.!1^_36-_U#O%_ MXKRT.ZW3%CK$'[^WXON'%^]"O/_?1 C+!-& T&BF45ZTOA48".8%Y0@Z1L7/ M"?L]N^AIQ#WOHEKN(LND((1P$$@J3,&] (J8^$I)%[<7AUZAM77X!L+9MB$S M?VB"X&CA$"C%]"A!=2--B;CD\$P MU0EXF!\C0^)#(-'^$A);>!L='1Q^/[S8OF@=;)RWM_[H[&Y](4=;+7:(/Y&C MSSL7A[T6;O7>A?;&W\)&E1?5')!>.4!-!$.CG0::,*AL_!4R^-A-M0B5FC=5 MG3:5IW&]@P,"BE36FF,@F;2 $Q40%E&[PDC6,(,I0W!NEN"LLIWNM(:^W@&_ M-ZH"=;N3\6BL^PG]\[:LZK9LG1[^39T15*0&4TQ%TF<"!H9J QPDB"$OA1"X M.AIT9S2:9*"K]HX*'@N4; DB2#1+?=2AJIG\DX7SN<(YT^I/Q$E'E@*D4#I"('P43F4!19))K(,2 M)%1,.%FLXI)B-\7#^+2$13+@ UTJ;J$PYX'6E/\ I%+;>V'I&UB525 M6J?FPUG5Y#M9H%]8H._2(RFXQDQ;$" A( *P -I9#1!5Z9>(UQY%@::T*2O5 MRWRU>B%O6#OI3;HIG:@Q*(Z&VT'O;.A/?'_4^>H;W<%HQ2KF_N-%V,&W\5 5\Q?\@ME4N MLN?'.H[(;>MA/T[;Z-9J;$T7(Z-3>>@TY^2XU ))9#W@4>5$^F%EQ"G!@)<8 M2AM$( @5W=\%FCTX_G!XRLZ0Z@IUZ?PC"_4+"_5,E5T?@3HN)R DQ8JDUD"E M=AT$8<$=E$A2N[9.4!.RYQ@5%76(U*-*S>C>,\2Y:,UK!FENG^W>+M8C@U5Y M8+4SI\*_$,YQPX$WS@%*,0$&1TN)(,8XM5P@E((RF#:)**L%2:Y=LTRB7U8X M)XO^@D7_+D]1(5B5/)XVQ!^4"@@DY0AH93"%R@3&5!1]*)M8EM5)K/(E;.I' M96X5W"NR8A].;7XU)Y>+-7W$MR3.BAM,3-=?+]CS0*]JT_D_KS@_RZ(,%E"\ M<*/OLFI8I&IHS;)"'J@4G%(@):2 :LJ!,H(!"[&RUG&%4*INUH1(-<4<*_9I ML?WRY.F5O5L96#.P5I1E9V!]46"=X=S2(@^U!)9:#*A+92,A20VYI'!>!"&Q M+H UL6Y<5B7KUP?6@I;_-M;Q2Z\.:14_2A4Z_BNAPW/JSUR-Y6H4MY[+^BB MP[*A <$'#?/@Q#>T3:E:NG^>NH_V!^/$\(?QS_U&)X[L>%ADD0_'C4%HC$_\ MR"?(<+X_\DF-]8M5+"*KH=/7?=LI_)[Q#ZE/SNC-+^;AMSYZG__UG'CDRL@N_7!RUT&;SZB31S*9'S_1ZHRY^3.,<);/]-H"\C3 M/!C&"%<:8\JXE#)HR;R/!#<$(NG?2*U=?>AD>%/>Y]@#,_3Z"] A/N!;W?VF MST=KO_TP#[U.']R9][M3-IV8]7^98?SHG-&^ZJR*N;/Z;G>O]6YC\V!WKSG= M5E[\?Q>,UYFUSM[VUW=[?WFK$5_N[?^YL;1S$7_8/XC^M[?;!?F/W M72/.Y6YKNT*S.?]9_K'3CQ UF,1[N%&SX;];'S7)F1].C_4V="^JK?'HG]5_ MD$]]/7&=B*K78RVTV@WZ%9HT#J>KST;^[=6+WZ_./G7ZQ4V+#_W>T\/C*/.7 MD)GD_8X6+1Y[^O8E%"CU1C*2T.#2RW7YQ9= \:8 BCO$8/J>H&^88O>^#=^@ M>]_[V6T1C$BEGG3;G[]'Y&(&RQ\\H&4X0%?)PLXSLO60RH#J(<\T!8=S)J;$=^YAY0^S!OB<<6BWR$!5/M_;)Q-NQT&ZA94#Q<5/TIY^D? M4BYS:6:QI8?VI('Y]33BA4M=A4]'5T/$YSO!]OQ7WY_,=HMZH%-CQ7VD*^0" M#0A*[!UU"DF:>CPR3;44S'H>7%#\[ZTBMH0@ @\+,EWNO'?#06\S?E$:PN?. M^&1S,HK3X8?;WVUWDJ9Q8S3R\3]7F],:N_M7[M'6]\//.VCW\[LOK?[! MQ_/6^VW6/K 7K=,_3HZV6O$^?YW&^WV[<8]^PO$:VKXX.CD\/?QV>/J1M [^ M.&F?MB[:O?]\:>.=BZ.MPXNC@T]HQCUZ$*\_.";MWKM.^_2/3GO+?H_WPJV+ M%C[L?22'I^TO[=-V-WYG:'4N7:/[\'OK8"<^RY>_N:*4,Z4^$HA]6NDM3D8%;&CX3T,?+D/";\F\TPSOQO>#P:NB,+[X=>. M]:/]0?>!U7(SHCX 4<_G$$P9%-3( TQ9))@L+I@1E@%LJ43($J)U"K]#WB1B MMB9I+KFX+ )=.G?* OTB CU+D2(]L@H98)@D*9\FODI=2"3#S#.E-$8B"31N M*E9]@5X"%E0__^/[X6 T:IP-!^%YM0=6]P10Z?2H6)(/Q8ID^"P+/MN;LWP( M4:H(XQ! *06@PEH@C=. XM3 *2!E+%];YZ@)YY1'J96!N= *!:LK^J43J2SZ MBQ']&>:DH*$0Y>;LY=GOJSIC2R#*M2[7MN='ODBL20>-G?_JNX.S=)I@ MM6JVO6[.PG0%-OINZV;^MZ<8FQE3:8QI3G8"0I(%+#DP7%I 66I[RZP EIL M+<0..[NVCF43TUR^?GE%>@%Q]RS2+R/2,T90%%J6@!DP% 69>FZ @CQ*N%5< M8:6]Y#**M&@B4I81E.V<92VTO^^[\8_'S<:Q[_MT-C.1).UZG7YG-!X6AR9S MA/VE>-+E8KR?+D6$UHT?%B*C:]GH.B?:KIQ)2PF!U#PU 4441$AU@$E#752+ MSDB]MDYP4SR_/4@.ME=6MDLG3%FV7URV9]W'CGL'10#&P H80%H%@6<>6T= M)FY:-S+*=N13E9?M)6!.M2]C-YAQ&.=@?"68U+4G_Q)71QE8RP+6W3DA>:8A M58)%&S1X RCD#!@=)(B*4E-B'>,HK*USV%3RV7UG8>"TU@E).= 6I^-T@5'O%)66K*TK5)?:YKFM MP5+0J-L2GHE4:>(_ZZ)B5CG&-!!2IWSQ)S5V?'=Q[ M70A8 B)5OW,C.ZGDD1^-+WE4XQ^7?JM_-AM]GS.B7HPY7:W#%%8O;=2VS^GC MY1V\.[C=.7L'QVN__8T#I%Q)'=F4L8 &*H#&3@)#+8]Z4:L07*IDC459[0%J MZHFJGS0_IGUE"33IGCZ6]\MU%MW'B>[Y'=&-[$=C:AQ FB! K5' *&L!$9:C M@ W&5*ZMLTIWG*T=Y:G>@.MR99[8JI#T&GH[QR=^>,G0G\[+5R%+IWR/9IKZ M]J _^-'O<9V=D[7X([3XG,ZM%DG,)(/ 6.DC 3<(:.,\$)8Y1B2WVJFU]50^ MN.+9-SFSKCH^RBRSI][B"MW/;W\5#'%>CT]?!\9^Q[HXB_:93#09'E?.4&R>[,\I!Y3L=31Z6W MT"L E2" TD" IM8 %YPW4#AM<:JUVB2JYDDW.>NN'E0L0TE=H.0NR8-6D!3] M $7N"?6* !4(!<@*F^J,ZF!L$76\1^^[XN*91D['X&='V=I&(76:ZP8H%C&'\H&8(110'NJL(.6 M4PS7UI_?_",[M2HKK MB4G.$-;.@$B7Y+@O"5 7C4WX(P@I0@RC0"D.@"::& M1?&V%$=);M)?M^45":N9YRSB7<6ZQU#CCW.)P M[BXA5DZI5% ?!*P=H Y)H S2P&!E"'126FC6UK%J2E%SH%L"NEP_M^ -76Z< M^6%C=**'_EDEMV]M'A*WAQM,3-<_I!EXY1"V&@6Y'S:?#_B&)1"O6A?!_D./ M.K;QG%3XY>1CRT&Y/OCA?L+.MA/T[6Z.KKBDUU3;)@)ED/(%EV MUI@,5"FBB04B.!9)EA) .QP %3 P(2@-(J(6? /+HE@U,AH@1 #Q3D%<:6BF<$(B4U5 MVW'+6E!\ MJ].=C+U[1A&*7QAN2Z8%'O_\RZ8C%LU2+W=DUA*/TA+'LSQ52BPL4Q!X*HHJ MGQJHP#F0E"(CM0G0PW)XZE.\.:^9!Y/1+:/;*S'@C&Y/1+>['-B':&^;B&Y, M*13135N@C9+ 24@]$@0C8LOAP*^,;DO D.N7&/2Y^,4[H..@]+%O]"<]XX>- M09A&/4:-R>F(HS^>2@D:MS>KY M\9L5S;^>(N:B\^FN('MCBMCM K!W0\&Z1KN3\6BL^VE&+WV0.0^E)')VNC%K M>A+ED# LM>KQ(9UTA4!;CH%&BE)N4'!,KJT+T82\^IU[\C&+9XAYZ>ED6NA577\R7@#+5.N7EGDC$ M@\#T1Z(_?8IY7/^9CKV:8_%+4:[+E9R!Y(S&Y:'Q]BSI4EQ8PK$%WJ:2JTAX MH"#1@ 1O0D#2(P(+TH596;WC2Q2X^E4@R3#SNI0OP\R+P,Q=TA=YG??,Z8@P M&@/*X@^I4)01!QECVC"36EX(U:2\K/23RL),13GC;V,=GS_^ZSI?U_]5_"@5 M-1#\%6S@.=[*J\%<#>/6 EB?R@:5#6X/'&;CX,0WM+6#7OSR\]2UK#\8Q]LG MGWX<32<.[7BHNXTS/1RG ,#XQ(]\@CR73OJGE>D7IUYT!*-&Z/1UWW;BY1&. MQKX7'VSTYMXIN!P'Q5-V?C88=9*8O!WZ;M%F^O=O'3<^N4+A6Q^\% 5X\Q%M MXB B'M[[D:I,-_UQ-F[_3*,M0%GS8!@C7&F,*>-2RJ E\UXS&0*1].\$,9/<%95 [ #+W^ G2(#_A6=[_I\]':;S_,0Z_3!W?F_>Z432=F_5]F&#\Z M9[2O.JMB[JR^V]UKO=O8/-C=:T[%;J>]>?^^J\JH-W?;6]OM_>VM1GRUO_OG MSM;&0?QE_R#^T]IN'^PW=M_%MUH?]K;_':_;^6N[$9]KM[5=^2?[QTX_ L5@ M$N_A1O^L_G _]?7$=2*"78^UT"$W>%,HV#B!J+\/&V;#3;:!F M00&2,^PA.0P/>?J5FL66'MJ3!N;7TXA7(W6A?OE.MTYVYTI("WK\>KKX]CR>Y6B[0N-B[B?>&U M]Z[W[G3W=" M2+D04H:Y7 AIN6!NMBUWKH-4'[9^/^I\O>Z4\X]N%.YI M>^XB5J"_/ZM 4AE%@5[X'DNP(VN=1W4PC)^='D-I:' 0G:&_. MFCX*&1Z,@2 2@70O5:"6_**G/9D)I MD#!C)@B*D*$6 BV=!Y18#[21!!!(D(9.J(!E-!.:7,UF,N4^]?FPWR4 ?>H/ M?1S%A7>-8]WICZ9&@!_]LY$HV%?=Z::H.(B2#$917AL]/?SB+\/KWDZ&G7$G M-U9Z?7YVLXS_'G33?+Z/BYG@>[>_?[U,&\/.*+ZU%7_M'W^(SSYPF:$]!8[W M9QD:=89J+#"0E!% $3% .\2 ,]A;C8,,!JZMCD77?P[=_>'?LKC-Y(B=Y[WG;U:-0) M<2ZOK.K,QQX'O7.2!:RA6 J+ &'4 NH% 9H8#90-2F)"!5-H;9W.TK$*V<;9 M5U:9^'>6[=>3[=D(N>1"2$Y W,A1MJV40#&A@'*6A!#-,,XBK9)BEE15S1N^ M!,QJ92/@#[!VGY=W56< ?M' 9#9F2T?=\UE&99#P4B )N/$.4*@DT.D M0I. M(YB@&.LB_5(MH";SZZ9?EN@ 6S)(J+9W+(/#@L!AAI)93ZF4J::"91Y0)C20 MAJ<"QXP@31E%C*RMDR;$SXE&OBXN+ %9J]_AGLTY-&V1)3A6.#^^C/FIM+)Z M3?XZ1SMES52V9MJ=DSJ'G0N$&1Y548B:B7L)C#4><,>MAT((J4/*DQ&D+'=! M>>)4CV-%&5RIIO75HQ50D+S-0:\WZ!_ MK^Y^WK!VTDL-3+TK9J3("+@2^AL'8?&72\OI,N,KY0C,1*!7>.:V?.C8SGB% M9^1@<%>6+M7\'7\.+Y[ZV7-36NG51=;0J=(@ZZ)=:C&9>9 5'.2SJUI7#GF? M6D"\<57,NC%3R'JIDI_FS\,\8@Y2YT0A@M"&6924XB""W_OI+E%F/R0S;/3?CF(/+_C*<>?V50^OTPW6PG_UCK8^H?@=W]NG>Z>M@T^TW?N(6Z=_=793KZ[/ M>[VCWE[W)NY\"(\.VIW#@_^DA_L1V/Q_" M]L7&3-SYZ'2OV\+_.6G%D;??Q^^)GVWA=]WVY[\ZK<_M:*;3]0#G3/J+3?J/>;DIX8&,\LP9YQ13+B,(&@\UM@+0[!U]\/>/0<^ M,_XMUNAN[=]IG(V%-X9P#1RV$0 =B0#HG0>!,:(=X38DJYLUF2BAVFQ&OHQ\ M2X)\U%E%@L3Q\27UW!C-(.9(&^4XTR(C7^60[_P.\CDI@K6,@[AP"% )(="* M,R"DQ4HR)FW0:^L$-2'C&?HR]"TU]#V&\P6I+%5<.<%2Y5-M'10R,.EHJ@AA MLZE;#O6NJ;9 MW9RE^8*Y,QI-4J@X'7BS16PR#B *3I30.+'I#%QCNW?6'9Q[WR@DJO%A,K0G M>N0;'[JZGPOX_R1F')4_(P@+PP@5)FBG7(B_(NY40>%^7@IB3O"X6("T8M[= MKLD]#21?+5-QT=4BI35Z8-O%'%?^->[-:['DF:>28P&,$M'"U0X#A; %6F-* M.(?*6KRVCA&,1._9L)>+^+^LQ/_O_R4CU?A]>5:IXB&OY=Y-CV#!DBLN.">1 M 1.*F31,H53U7S-(M)/TT76$[M$=?^GNQ-^K.C)C+E%SS 2'E-82,Z: ,5( MBBD$"H=(F!4*!F,;-!')-PKQLPMA5!B1EE+2ETYOY%7*JU1]K5EZ];VL-5]; M:\[ZF3CG&%KD 4,$I60W#I12 ?C@D=8*!J)5]=3F+WQ)U6;C^ MZ?0\FPS3.^/&>-#XZD?C5"0L7C.,+X<=F^I^73E'.^/1=;>'Z=^^=<8G)[[K M$OBG!A"KU4FKTJ[1O>OU*R[;^*:'TT:&[P;#X#OC23'"["0M26G/ZZIEO28X MZFP"0^I#[S60Q#G 2?"$&&(\96OK2#3)G#R@JC7?R>VU2K"B*KQ*5=;.2[^; M'I,D58*3]&?94O?8?0_3)MG*>XS"F$VI;Q*-5"3B^MF>^/BF;3JY73 MF6/ >95R'E[.PWNI/+P-=SH9C8M^,0>#F]*\J2KO3O^R'F\1M2B >?,6+N_Y M_TXZH\[8[_OAUX[U4ZZ]Y^W@N%_&@%0HGLZX- 6:/=.W/."UE*"P="HFKU)>I>HKV-)3]K*"K9&"G75H M(4FM,L<"$C&E\Z3[ZWTO-__#NH:(+YH *-%)W MHCA0G'$0C.>*J71HEQ?4_?E-2K(05U:(2S?*LQ O4(@_W15B*SDTV@7 D$2 M4@V!$E2"H)B5-A@35[9Z0ESKR/ECN_'>WY3XD<[!R[K7TZ=Z2^+^@']8Y> A2;6UZ$.2IQH &Q0"E"4A%"E<7.8J6<9[XH(?^0JB*Y6^_+X-GV M>"::0X+!U&H"K,864.X0, HAP"BQ1A F52"II6434=PLI*G,@O(E"-8KAQI> M&4&6I>M&&?-33V2=Y8=/@]7< '@1<'FWVY"-LXZ@D\!H(P&-"P*D9 90:9". M4!K7C)3? ;C^,%D17^POK\QPGN&\]$9+2@ADC+<64P29#HP((SB*OR 5T'/@ M/)OZY6'][EUJS+2.ZR0U\$205$S/ B-8 $)2 Z$T(21#7S+91*KD1DOU!_P, MI!E(RRZPXPG13CLIH):4!A^1E:$@C>.&2F?M_4B:FW6^#GV^\3CF,P%EI;SRTJ'(3K4#5!($)!0>,$H1LYQ;$=3:.E9- M@6:;-&0XS7":X;0D*]\3A0SQ#"&-J=!2,\B4<%II)HE$(EOY50'1F8"^B::# MED@!SVFT\X-%0#O" 3$84Z:B/A3)SL>T2419*?6O#Z6Y1&2^LA97+G2C9BG( M5];BRKQ1\Y6UN#)OU'QE+:[,&S5?68LK\T;-5];BRKQ1\Y6UN#)OU'QE+:[, M&S5?68LK\T;-5];BRF*C_C;6INOCOZ[S=?U?\OHO>%&'IJV?^X3W"WR@N[GT;OD'WOO>SV\HW6-S_ M[L_N^O/W&,&ECY6_(4^<@=+&6@LA6-;U1_ -Y;P^@X7XE7?KHW8!>=!=,Q/( M5];BRKQ1\Y6UN/(7&_771VYGKYV3E#KENU6JYW)P,O2^T8K7G8P:VWWG7:.E MA_:D@7E1V07_D'2W4@5NMKSU/>.'#^WU\'^_0HZUVI[6U M08].+6OC3^='6W^%ZVH,MSI%0D*1A]0#Y3 $-! !XO(AH+R "EJ-7:J&+603 M4]AD\-G-K!XE,R]TS.'7@WGB 8BG0,*R'&[XU;/7$P9G#RX\#0-7J-K,BV'; MQ4P77,BQLY"! '7JM"(QT)Q+8)WWTDDBF&0)VS*FU8;+9^S-V'N#O50218U4 M#"I"!;%*48T%Y9Q R9U6S\'>Y3\T]F+ /-.>G"&+D)("6&@IH!#S1#\]L%PB M3SF6GJ?FJ4HV%2VY,DQ=T3FCWG*CWF,J#P1$!$3!&1QA+W)/K0(6EFN!!/>!6C>Z9J;%$NPD2#6P6#TY%9!0PBT?X6!MJX=-YZF&I@4ZI**SN0 MD2\C7]V1S\!HL\F@C!"<K?^GC8L9!0JBU5)@H1K5TA@6I'#?:6X@5"T7WI@1D/'5O MPI!@_HO@<;$ :<6\VYH,X]Q]B(\Q<-- \M4R%1==+5):HU&.*Y>%>^W-V;@R MCDC$<"1V@A@788]KH"UT@$7])3#CE$$=+5PFFKQ2?9Z>B&FKU:QMZ?IB5CSD MM=R[Z3'].PU! 0EKN8WV(F22I%>.4-/QW/[2=47'1X"PMRN@Y M1Q*6",ZJX$0J?OX1<IA1D7$39&$.WI MW[YUQB%*,,'N, M2@+"SJS'2%&#/7<&>$DB#D(8K0+A%% PFGDX*$E-M(IQDZ.<=50SR5^ZN.0R M>(QJNYL><^RH!)?1S\X?W<.4'Z9,,G%^C+Z8<24A[@+QS@)OD0646 J,IA00 M)Q1APG.N[=KZG+ZE#S^+5&$$6DK)7CH]D5GP2+SF[^L39<' \U+W5RB^Z'\A>TF^T=[T*;J/O]HIEF^-&RBZBTL!L M7LE3;CCT4 I><0RYQ@PQ$= (P0Q9ZV2S*RM%_5.Z6QMP$?7(,@1KTHSR@JO MTC+XAVJ[FU[8/_0495'PWYQ67Z*NF'4/26PY5P8XHS&@5*5,(Z, 8L8RI+1C M!*^MJR91(FN*VLCVTFF*O$IYE6J@)Q>3:)3UY,O;5#,.HK@9HGUL,="(VFA4 M"06DX@% B#",UK1'E%=*4:Y ]E$A'< DP4A.H>N#2ZN5,)0##7F5;2"'3W@^ZXG?ZF/NN,=;=P\YJ[!TKW_'\GG5%G M[/?]\&O'^BE[V?-V<-PO[I*)3*E$9G=.]1D?XB+;N-C2*@JH(!"8$'\0SK1V MT"+BW-JZ:$J"629,.1&)Y]-SD0LMN7E; M2>[TH\[T?T9-6>0='^COF4&6QB#WYW1/0TX%246DC- )0"%W0&%, ,;&NH H M0TZOK9,FQ#E]KS[BG4&X#JM4C0,A&81?&H1G"XYXJBG'$ 2/&:"*Z51OEH @ MN(,N4,^QJQ0(KT# /V[]1J<0A!SBSS[CO$HYQ)]W4VUV4UZEO$K5C^8Y8X02 MS#O"%558*!]_LQ9IHCC7T#\ZFAWU@:FXA!A("MA)RSP*APD+M(610.:\@ M3WT"B[[G#ZF_L%E4Q2B.1$R++.Q.QJ.Q[J?9R_46R@.L[?%,O 9JIY!3$!A( M(NFP+ "-$00XQ/5$SN$@^-JZD$W$>1,_OS#G8^7FE0,&BY7_UT/(^>+_/PM; MQD3+HQND;;?]WTAF?9_+U6"P[OX-ET?*U4' "D++I M? C0 >O :3*(&Z#-UHF+%LQ#*N(I_.75V:LS5C[ ]9J;:7$FCE"$;68*2N" ME=YJ:TV &CX':[,57!X0[\XD SDJP9[Q9' M/&\,Z2NO'\=4>&\#4-I@0)E70')N(__$CNL0#+-N;9TVJ2BAQ$:&N@QUU7GN MQT"=#SA089Q'5E,LJ*8&6P[C%A7"N\BL\N/&148F$,DUX3Y0WG M4MILO%8&X69"N H)8;VEP/+ ,4N\CA. X",P!#7CW%EU]8EY4TN2%W,U\L M[]5 +K/.5__[MXX;GURE M#MSZX#0R^Q;>?$2;.(C)^/Z/5&6V^8^S:^9#(%(^C>6:U M[T[9_;NW GMXYFAR,:OO=O=:[S8V#W;WFHV=]N;]6ZXJ ][<;6]MM_>WMQKQ MU?[NGSM;&P?QE_V#^$]KNWVPW]A]U]CN$Z$K.NQ%NA^ S!%Q#D.IZO/1O[MU8O?K[1#IU_SVR+X1M"GW?;G[TE,%C/8A]WV%R2S1O47YB=&73^3>L@S3:6N2D]U M<#+TOM&*UYV,&MN15;@?GK#6E2U+6=<'/.QCDM^JO1LVSH:=;@,U"_*!(28+ MGY:2DO!J/N_7%5VN)AX_3PJK7-UF?FKRIAZ=-$)W\&W4",-!KS$X\\-HA41[ M*.6E?HUFAA^]?=)N?$*&:J63N)^!5X\_:;^2TUF2TBORG,74R*NPY-U4=FX\ MIW+7DAW\F/>$E=['CSC;$1"4V#OJ%)(T2"69IEH*9CT/+BA>E.@C$$$$BA<4 MHJ4KT;>[>7F^H]?"AP=?<+NW_>VP=TB.MCZ>MP^VV='[]I?#@W02XYBVW[_K MM'OMDYOS'7N=]D6+'>+_=%M;7[X=G7YDK?<[[#!^Y^Z!^[*[U8K?]_$\-7Z= M.=_Q?H>T+KJGA[U/WW8/_NBUX^96 M$UF'N1082J"I0H!Z@X DV &HB2>:&"(17UM'34*K5)[OB4#ZX%-J&8_JC$>Y M9&AM\.CB+AX1 X4B! /M3"K 1SU01G. K!<"H9#6<'GKA=:$XMUJ:]L8#QI# M'\7/=KJ^T;_A?O'OZ3>;[+"SX>!KQWG7,.?E&V)E6!]EWB,;*0VDJKU_M_Q9 MW+.=HM'R:K6?>4U6?WO6LQ(M2XE>=[NZI41#L)P&J@&"+"I1Y2R0&FM@@].0 M.!<"LJEO=61#%=*A)9'Z+,"+HL%9@!=0FST!G$L%T^G$+5MJ_F:%&)S,!KOAO>#@1MM M]-V^'W[M6#_:'W3=[?7(V%0:-G7F> P#$0@&""A4(6(3C^1"D(A-FBM$(.-4 MTFBA-TEIE:4K5-)<_%GG>3J6QV4H:F;U@]'!9IWKH7'[%(Z2ZF# P"F(Q\0X]& M?CS*3HZ78BB[5^[-/[T>^;TTJMWP:>0WTCK<1K+M[VZ:8() M*JXP8"YU_N8"IVZ"''#+E?-46HUDBFYR524[*CM"*LY5LI"_HI#/L!9#(>=0 M*""9)(#B^$HYXX%SC!-I3(#,)-9"U;)&#*O.6HJBK<#HZ0&S7I*)0CP:?BH? MV8'R4O2DZ"?X1UJ(S5OKD/&I+'S:W9PE(510*I V ",520AU$AB+!# *H0"= M99:F]B]-_'P2DATFE17ETDE(%N6%B_(LU3 !<#_VC4[_J^^/ M!\..SWZ<%R-*.Y>3?OYYV!G[K<&WC*SEY7VF5O%WF^01QC5E.!EPD2I%D\X# MR5,'*1N"4C(XHGAJ&:6>WV,@NVHJ*\>ELZ0LQPN6X[M=A[EF'&L&@63. XKB M#^6L!HH(R(3Q3CF2O#$,H@K)\;)1I-H->*G\7;OC$S]LZ)*SY+.7[,6">&G] MKIW\&]KE!!0CA20"D)@+0X8 M8QVBUEA;1Z2LQE+9-58]^2T_/I?E=U'R>Y?N4604"U F%Y@ 5 8*%/0.0$2E M<@P2;UR47_GLT%M.&'I:'903W3^.=^OT+U.!"M]2MZ--I_N,LW7H"_T Y3,LB6G_Z[T[]:C[WK MYA_)4T:=9*AD@)=)+ PCA!%"F!9!6,1"7V3 O+(]<,ZHBUE1X]MC;HSLQ M9R*YE$3RGL;J#Q/O+,&/D^"[9!(;)3W2&B@5[4 :A(]DDDJ@4OZ$5,HRI=;6 M%7_VJ=6*DLD:L(R='(Q\"7+Q8!BZM1Z97I0'3H=S/%7,<1T$!U(G<&(^ .,) M \Y 0JF54&-<5,H2K$*!C1R@+-ER6$"$,LOT2\GT7<)AA4(,.01D\ )0%3#0 M@6E ;&0<06HBM8@R+9I0SB9T/=QDJ&C:> WHQH>A/],==Y4H?ID95837[&0X MC&+RG!-NJV 3O209N5RM+1]\7!MW>?IEH^\*AWQQ.B8C6HF(9F=9"HI+JN-^ M!A)I!JBQJ7X>=\"35-%3&*TL32P%PBH=XY;GQ\GS3#H51U9+ M @%4C@,:5Q5((2R0SJ:D\^!TL%&>*:V&1W/%O"&7B3XK>,:^8L&6.Q'_##Z/ M!Y_C63)!DVYP4@&,?"03FAF@6%! (\)2VHZG!*VMLUE_QZN81MG543\2D>6V M#+F=B:-8J +D!)@(M=$(<"P: 7&5?##:,2.PAVIM?,$\C3-]GI,T MJN*ZN%J5#]-%R5Z*\@#JRRRQT%YZ09 "(H2B+H\"1G,/O+)QFS@KI$M9@TV) M9KT4.5.CJK)=+6J1)7J1$CT32>$,21LEVA&<(BF1&60(@H(5>(7G!$JR>V,9Y/N%LT6S?"]2ON_R$>^5UPHS %VJ M4HX3%4F]%+@C"HJXVEJJM7721',J]60OR$M%3I[+0U;!5'JIZ,E5(/<*H\XS M"#T*A+9G28; EG'%TL(P Z*>"=$HXJE50MRX!BJ/"A":X^3(J1C+(KXO%43) MXOML\;W+(9Q+K=.(!AH)#:A6%$12P0 )@E'J((_OKZU+42'I73%_QM6F;PS] M5]^?9&]&-;P95\NR-UV5;.J4!U,[LRS#6T^H5QA((VDT=:@%DL$ @C7!>.&@ M$2$UBX/T.<=>LR=CE2E&ENA%2O1=XB$X]\8S##06$-!@(O&@2@)KO*5Q!;TR M+#DO%'QVB[7LP7@V]S@>ZOXXNR\6[;Y(B/,39'H_B//33T6=WJ?UR A5'D+= M+ML6YV+KR_G?U!+'D<,@$)\RS @%6BL'M#%0&DZ45RB5?6K&;5@A\R@[-\H5 M;N<=DR(R"F_>@0L_'&2Y?JQ:)XT7Z> MDHH<2RO5+2*JS4O:+U'+W@R&S@_!>'#V-LW+:-#MN$9ZM!IBVVOF@<3%2@6Q M/UPNU1_GGT;>W8*UF[K9&=+*@[2/L[3%$!;)QU=:KSUW<-'Z\X M2V& U0JWOFJQG0_ZO.AA=C H%FCH/UPNS(>T+!M]MWVU*)D1E,<(YA0@]E83 M;HP"W#@!J-8H99/'9=20,T(%5%I&,T$UQ9S6BOG4_#((=^ET/POW*PGW7;H/ M"45!4PN\5AY0+P50DFA@D9(.H;C] ^A,G<-6YU(?)T)[H M5# Y,JF>'G[QXU0$HS'R=C+,<>)79E"MZP79OUZ/C*_EX>N<4H:<*J(QE8!S ME)I#40442T%B%&TN+HRD,H6-1).@'!M>3KE>/'G*+$30 M$*596*"U-.#_9^]=F]I(LK71OU+!N_<;,R>43-XOW3N(H(WM39^6:-MR.^"+ M(Z\@+"2.)(SAUY^5)0D#$IB+ $9/8,%)96R,G,]^:P[34H3P8.NE2+*&ES. MMB!=1G_P"^!-S]@&!>H/##Y,[+<@MA,IKJU/0Q#5!1.J9ZNU/BF?FBS2.UBC MYMD2U?7HQX ,>NL;V^T.M]+Z=]OIYH5ZUQ]\L@67'P273^?45Q*641*C0[#4 M$G&7TQ,5%HA@QYV6VL@<2,P E^>4H2T) B]%]A?/N8KL+YWLS[BN =]=KNYJ M >D19\DC$[S,2031!2Y(M*;NJF7,,B4'O;(<@K-8O:-A#+D__#QO]7VL1"\I M)&FU(L/#92<49'@B9)@IW>"HD01'%+3 B'/0@!P6&F$C MF73:P>*DE35*&EC-UFY8,F18D.%GF4G0Y8B]U.G9GE]$Q-ZOYV+IH.P>$7LW MU8=?_HR]*B_S!6MI9S@\ N$9FTA]_^"@G\?3]]]>EZMY62RCFY/EV$J?]NP@ M#C_WX*C8A#_T -ARG\[ZSW]8( IO^@>Y>:?-X\V!/T-X6_AY4UT_"(NWN3WP;QK M!K-23FHA #8GL]EJ01-1'$F/'>).2.2T!6+C-9?8),5E6,9R4L4-O'R6S_M) M=>$F]Q3MR]R$&6R,"@1Q 9H*3U@BT%8BTL)SXS&.TO"5-=-@9I:;+&.^PHLR MS+3MC^JX,]K;ZW?SV(= 0+IV%$,UZE>].*J&F>=7PS@:=6,M1IF_Y.3*T4EE MC^T@E/2 QRF6N6E8P[%88]GE.O3C-C?72(TFYRZD M#!DA&/*$4:$Y2]:HE34V1[LJ&0$O090?C)4447YH49ZE(]SYP#!R5'C$I<7( M)H&18"0$3*()'C0-57( 2@[ K[U:G9[O'-IN]3.JM (@&<7!0=7MPXU?E_'F M2A&!3%OA9AS,B(-(P"8@)/2.(UX)!%9#5J45TX^;E:5(LA9H%R/!-M+UTRS!GDB.>(:\>!^1"- MD@.4U3AI[WTNB$O9K-]X&0TQ+X#\O)#$@/-%?/^5LP3^G=,$YH7(E32!I_=S M71$"_&ZZ7"4$>/& W-J8D_J(F4Z*"I>S 1@"M10 .02",.7)<^P9Q79EC3?8 MG C@NWGM2X+ $F/"4B<(%'1X:'2X3-<6H6 MK56^L-X+%_]P[IT% V^%@7/2)[&+"<>0$,DF^FRX1]H:B;2R(BKKF:J+]J@E MJ7183$_/AN8\B+@7/K1 +)CM=8T]*$L!\: $_. 6.>$-RKD0S'AO4^9#I$'X M?7QWRQ='M,RL)UN .I-^9]GD\\ 4YU=D]7GJ?4]I"[H7X/T-C]L/L_WN)OD? MYZ%U#+<%(1>'D)MS$L,]UF:)N 986Z)?G1AK01KC6 MROJ E4Y"!Y[SL/W7S8R1A+*'9& %\A8'>7,R[8G V)@0$/$B(9Z21BY&A930 MV"7F1(@9\@AM&'UO2E7L4$LKZ\%C800\>]"*<\=,\$"Q8W V,>43J64]$R-1 M9/VYR/I,NW"O*"C3$4ENNDHHR9GHC&FR.@>G9%R-]*10F MPA^O)"\WY)OC9_V-P8J$_E$NWEY[0N\1:[!L,_I?3S(S+^4XB,P0QZ(@Q%*N MK+8"C@<5K+%",TU4?1P\M/&M' >+.P[F%"3P45HXWSWRGCK$L8G(>HZ1-AH; M[B0+N:LR 757BT6565J$D#VQH:T@;$'815@BO8H&*)**&)1KJIP3.EIFHI-2 M:X_'RO4#&R +PBX482\3;LT5BU%$%"S6B,O D%%4(V$\B2PJ3T/VYRK2H'*V MT]KS0]B:J/^G;@8$_X;.][7_@1_3(9^[5ZZR%@<3&5W['S?XS]K9<][T8PL3 M;8)_)=NTKB.Q%ROK??\ OOLD&Q![_5%NAC2 /^>& :.X.[#=ZM .ZABYT5X< MQBSR(?9R4P%X5<]V77IBDC< ;Q^.X ]UHM#JE3,P&0:GJRJG2QSVQXW!?ZL+ M672^Q]^/.V&T-X6@VQ/ABO_N?!(!YT>NC2%EY_^ZHWX?'>QFCNO[[8^-M^MOVEO M?6Q4FZTW5V^Z91GPFZW6QMO6I[<;%;SZM/77YL9Z&W[YU(9_FF];[4_5UKOJ MS?JG_ZW>_;7UY=/2/\^_-GN #?TCN$<8_GOYA_NY9X]"!T#K;*R39F]3B*D/ M%!A.UQX.XV_3%[]/D\PS.WQ<'VIO$&/5A/?M#:NW<%Q?M*G==U;. M:9JW"/@R-0K;H=ZSK=<:/:JID4S M9Y*W[UT3;-GF\=9&NQ=I?%M8D'$VG_WVIH[2V^R]L8>=D>V^_7$8>T"9CP8Q M5XH_&@QB^.-HU.J/MN/H;]L)K\#JMM_ZUJ1_?MO^\EFTWF_"V#[N[^Q_$ZV- M#W2GW10[^]LG.QM_=EH;G_%EJUN3?CC=/OBXM]/^AK?W-T]:[UL'6_"ZM;'3 M;9YV#UK[?WYK'N2Q?TQG%K=/^$>VX&UM?/NJHI+.4H:HEA%Q)AFRR@7$)";1 MX0A+35?66$,)L42%XA_).5'P:GD>[2G"E@M>/35>G5[&*\^U=3D6QQCJ$1Q) M%#D=-3*".$4$CI*YG-(@EJK7S23TI< 0FMI7G0BZ7._QRLPH'\Z.CP<=RVQ MW0I8K^_VAZ#&U1W8IMV<@=^-@23'?RQ+0^.%W^,UV<+K1MV'H)C7=+W3\_V# M6(WLCSALY(XVQ8;]*FQ""U<^-NN-U,[[*%M]6O$UI)L_$@79>C.K<.32A\I' MARP+#'&>++(F4:19Y-H&Y357H' TF%E4;&@Q5!=0>F8*U#Q0*KAS&]R957VD MB,YIC !?-.(,:V1)E$@R[[TU044M5]:TP4N$.J_)>GN9WHUB3@$M1MC'XT'C M&2]X

\F6-89<%C1BR==&X/@#S&.X^,EIX&;PBMT\[Q;(738EA]*4+Z +R@ M".D]A'2&%"1FI,%.H" , 66$,J0)%DAH&B05GG M0$@E6R(A?4TVGY\NW=JP MUS\:9=O>L$J#_D'5O^CO?64-BY^2*USTW4Q;GA:[R<("9MISFLI0QIQ0Q*'( M.&"5E0)9@1V203FIB!9Z'#%#7J+AI,CR0U&*(LN/(,LS*?)6$+X6-++)@VGKO M]=$;.QCDJB/_V.Y1+)QD<9QD3DU<#YLJ>:I1Y"(B;F)$&@N,K)?>!*\-9V)< M$Y?)>SM)EL]H61#J12+4(@N.%81Z7(2::12%E1!POJ#(-$;/ RI:/5[OJ#2HE'I\YSV1(9I;VE G F-8)48,IQPE**.V&"))<$9 ME:@N:;DO5X@?AE<4(7X@(;Y,+5*$)4LV(0,BBW@@%CDB.5+""49RF\4)M1 O M,+IL.1C%%:5/^SEO].X=K7\U%:451FF%49H-O;XS8'N6R*D0(N291UQZ MF0M<,<08P3$YN&QC:394F@T5A%UF ET0=GD0]C++QG!&KA9_66KH3&Z/(M^0ZVM]MM/57NKNJ+QT+O-UGKKS>;Z M7^=:$"W]0\WIXG-OQ+RA5/"5G)5.GK2F9VG_7;7[9)CO[ M>WM;[5W:.OUXT/SR033;NR?;],^#YD;SQ]9&V-O9?TN!&'7C_WX\V?D2#AWE MLOGE\X^=_7\.MMZ_%5L;VZSU?OO'SL8W>/^?^T#,CING;WF+OCMHMG=2<[\I M6L=?75Z-Q"TB+ G$8U3()(V1\HI%D@01B8P9JI4J D,]S((R. )5]0\[[ SSV7M^V6JCV;F5J7XN335=FRGU MFFRQ2W( UR;C&M^P7KY?C^WBLQ@>A<\942D9SA,VF >"%0N68"^867D4>9M_ MUEXBFM>@T/[1<-1))T\$F0\,!/7VV4J71/=D_/,UB^_6AZ\V$6N3)"@%!II, MY 1I(SQ2' MJDB?!S6QYGHRPDH"*FSR/P6H&FHYWCGMG& [A1N)[O6@^[2Z= M+TWS\>*7DS&K7_Q2=SA713)/VSOXY1WHCOW!E-SU_&H%4WHT91HU%N[98>5B M[%6'@PC*RKC:>/[B08#[QNJX,]J;]O/)PS@<=.#K#KLP0[NQ%T''Z9[DZ_%P M-/XL:#K5YUY]__I@K-=PO5XN6_TKG^(4__Y^??WO^B7Y_=_U, Z/!L.CC,>C M?GV'P5'^AK&'8_>H.RYS/E&DJD_1'PWSR.Z:5>JLW_8.#SG"8)V#Z19_> MOIE^SVKUO_WC"!IKHQH>^;T+\S6(J1M]]JETNY4->/ M"D/HY8]UX3/9.5DWP3K_@>.]#MP<9K(QG8W^8:HM,QI_Q2]NG >-C/ M*G6OWN 5P>C_A5MWX"FK;1"'Z0Y:ECV\C$SB2YP 5LSH9BM!_R-8 M=1SC-P# >B8SL.0#"%#4G4R.CK,+5>P!GO7'1U+7#D?5)SLZ@E.^/M,V -4. M7!RL5I-5R?)7PW,-OEF*+:"QH/47CH%[\NW#^C3*0 M"O M^[;&W+>UJON2CB><-'Y^1]UH<_QG*AOCKXP6CM')]\(GR>3++@[PN -X"K?. MSS5]A/%]&)Z _B5;W"7^>).%OKE%^FGEZ9=J[?(\P/P=O@5G_?#<0YRGG9.' M +[Z?7P.CSE?J,)1S<%NON'J@DRCO?XP3@NR_V0: MVG;C;Z&-W+$'.''^Q&^WG_DEVG+U'7_+;<@Z_@9K^+X/#+M7]^Q<'V;FG+6( MI7B0:X>]V:O^M+TQ781- BB:N9R/ &FA^J];.'(QCAI[8RV-EAM,M!!$&T>5 M%]H$8B:A,H1=#)41%_J_;<042N!**2('2X(L9HQ('JA79&6-Z-6KLL1AJW5KK;TW4:PR M>-CJ#>Q96()>QV:E\S!F[:5>HNI?&1ZF6F[^RT\U]]@.,F!,\">>O\EXH?N# MVLBM?A]66PDPL-8J_C@:PFX=3E1=V&O] Z#5&Z#(=OMU;]RQ6C/^]D&.#X33 M^)SVGU61W)EW-.[">P#':7V49U4$C4"&JOV^&TZN?8L7 !A4Y $PA<&1S[T' M)TV@QYI;UK;@+N>>(3\"3,UU_#]B(Q3FTFJI.=![@[6.UL3 + B)<)?Y?RTE MMY"+=AP<7) -@ /_&YP0Q_U! #WNM0E$>QMOM3?A_A_@WVW:VOV*4S0P\1X) ME9.(5 S($D:18(E+2@2/VJVL"712D_*+9*D"U?A@M=I,&1Q#OSZ%#V(<313? M>N>--\=$&:X7IX;2FJ>YLW?5#9^SO>FD-KC4YH]\XIXS>M2?G4/>+JC,S^TL MO8.E\->>@I_2WQG.F$[>G%EYWIPWQOQAN[5U[]->C#^%>2I>U>Y@VH$;UJYF M7+$[-F34Z^;[ !&G,6L:/>#I@\S/;8806+PTC+41[TU_6 <^# "H>D<32]W/ M&IG9,@+#.OOJ:\;ZT[V6[S+WQ;K\% M9\3.EVVXQ^8)W ?.BVW1VH SXG3]]"MURBHB%/*8*\2-T\BX0%&,W M]"DJS[61Q+ '=TE^\GLQ9,?(5KHP MFULI3]T?)_GGF/2]XMW,OXH \YR"1 8'@;C%&-D(6]H''7$@-AD1E\Q .I\1 MO,TFL*D3J-^%PZ5V!,*8X @<#*?VD8E_X4HE%?1#%P>7]%2=)/'4P$8.&O8A M,\%Z)A3P#%!8O0N_*,Y*?PFM?\=!_H/=C>1,(T7TM>W']OJ/KY@);B/VH'IZ MCK@0&#DJ,3*$.HFY#9*;:X+%YRX?=<%XH@CS<)+3;&EPWD5 %4*2)H;^HDYV M6;Z;+U]DD6,K# K..5"9.$4:$X,$=HDDZQV1(7?'F+$@S/SAO[.F<] ?MW_, MS/*,'$_MBE.WX\2Q&,-OMV2%=;3USX#?.KP;X*IK#X?QM^F+WZ?MUSN]&G3J M#_U^8 >[G=XT5#R'N%Z*[JZ_<'SY9_3K*AY'P$[R,"??/+F\6E^Z%*L^OJ;H M*C7DRLMX]>IKU]V6D%5 JCO=]OIKFK+G,UC!^$T_.2<':KH[8.O&AWSG+_)W M?YET;V;>.B=-:APINU0YO;67HCGV4KS-/H0;U!>^10G@.TSU@U8>OC+)9$Z> MR7*O7.U,JDBC5C#RL7J?PM WFI8R[WG>:_=P1>79Q--'JLB])$CXO!IAS\^% MS.V@NM6;_N"P/YB$F:IDBER MK_PO>/]LONA+YOV3E,^WM/5^\[BY_\_^UIQMO[ZR>M+TVQL]'::VUT][?IG]]:;4]:M/5MYV";-M^_ MV]]N[Z5F9TX#X:!PM%2C@+U!G J!3(H$,1JH#=[@D$-]*;[2_7C;LBH/EM#Y M!(+QWW<"^056;'J]*,.2Q\K1&)PB'#/FK%3>IRA$D$),4.9JXU!!F8=$F9G. M@(Q2SPCC2!&5"T,JBJP.#&'&10I"PVM=HXPN*//(*+-T5/*QAO'RWOFBJHW- MEX6V[1S#EWZ*!YV<'7)4AP\U;>\HV1P E)T/;_JKC>JO]L;J(C2PYW!P_C\/ MJFJ^KGK4<[F&I-D-$H6BS',GDTDTNI2T%2*'O;C"-9Z*:[3>S'*-8!+W)%KD M9 B(:\6 :\B(K&5)&]!W4JXG0/#JDE21?S:,XMD:IY;OI'XN[RP3NRQ4;?%& M@\77^ULZG+O=,2\L4=AZ$UA,G%!C.;9!8**5YH$97 R73W;,G\P:+K%**FC- M$'&$(LYX0-93V.M11&LDBTK[AS!:M\%S#DL.2J+BH"<)AH)I4F04D0=UBXOZ @9"N9UI@&KKSB3DHG M3 R2<*.3=<+_*HKU=4'NG:-86P#+K=//9&OC+6[NK_.OS'.6A$N(2"(1AU5 M3FF%M%7!46QDLBD7(EXU>0I",<-4:FL M\F)BE;^=?)6,4.^<1SX0@W@P&%D<<]1RE#(8HZG);6?%W)7MIPH@?7@FTL-) M!GP&SHLU/E8K@(:K"A\ \I[!P[W0@:I '9'&>Z:XH%1''%.D6O!(K9+F$B$C ME)5];[MPSX?W=[?YM=WM[;!TW6/&@=;(-VL?/^ VMMP'?N=_>;ISL' M.^\_'V^W_?'VEW\ZK?T V]N3KRI8HJ,6B%JFX<#C"MFL,42EA&,\>A-GZE52 M$K05AI"L UHF'; DP$\NA5*<:WTY@VPZYYTXS+7]1M4O,QEOF:[XZP%=3E=D M!@>B&6'P1D;SK\#R>+)2VG&ZXC*2U7/S6-?D&F5=A#*7F@EV$.I+9W48#P\'_1]P(M3%^?TH5_>I/UJ7T$J=P3!7N6A, M7O6/1I7+=4?_G3-U\B(.(LS):9U4\]UVC^*-RJ,_[03.JV=VK7[S&AL*F*L; M"CQ!;X K]+-?RN_CI!MOI;/S9-+IN9T%XO6>*-NG7UEP%G.=:PJ1!(3)$V0\ M#TA[KT&WT5$Y]RQRC"\?6V<5;P%S9U*/_U57M.T?P1>&X;]O6=?L^:0FLE50 M)YY/MM^#I2::&]WVOFE\LV]]%DE)=TD&>ZES,34%5(Q73UNRN+F_@AOXE6^\]NZW23[WSY"/SLXWYSXR-\MZ?-C;=TF^8Q>+Y]^D_W MLA]RJ_V-- \^L^;^7G?G?6N_];YYW'H/SWFZ?=QL[^SOP/.V3O?V6U_^26<] M4\_Y(8U7C-,0$4W2 1&L"^HY@D3PBF@IL69T94VHAN(/GGZQ '?C(EU^!?,* MYEUT]^4086ZD"4IPG3LC!:QT$CIP1BSWXR:GE^WX!?.>&/-F8B]LM)00G)!P M1*#L2T36$XL2I0'+H#EW'#!/-!25SP7S7D%ZSY?^X!L"-?IPT-\=Q.$,1WVE M62F/P,WRS&_V_LXU28<%J!X(J.;DWT?&#<=!(RTD1ARSB)P1&F''3-3)84/\ MRAHS#:;N#52+R57X4>9XA'E)ZAHUQ2'"O$5?)(ZMUCF-BVBI" MN"!F98W+!I9+DG_V6HQ?[SJ]SG OEP[O]\/=F,60,6"A8O"PM:;66XCF)3:&0-DQGK$ MN:#("2 XD3@1@[/*N=PTC)C2X%00N"+CO)+ BZ6 2=89-8 M\612\$@!J42<>HP,5Q%%130-T07B)2 H90TB%F6H>GH$??0\VQNF_\@E2?_A M3]GEO'J<+Y__^(^6]C2RO=T.[+_UX3".ALN7_=3J3)/[MD7S=&=_N[W^8V?C M7;?5_D!R9-NGFZW_P' VN4SR7W[WTY;!ZV]YL:[;\TOGTEK MXY_]UD:WN[,!0+>_>[J]W]IK?6D>PQ@2/,>/K\;#O%(!&BT(!N(A462PUX@9 M1I*UN7'03'>WQ&'FCFW/]HJZR6=.#_ZY#M5X M(1:>"_7+X3U>;L3TR5_O%GO+OLKDC;-6(IX"@2VF'3(J692(=32P3%CPLTB' M.-O'[B0WJ.T/)ED+<;=N:7YLZ_:>XXR(X2O)AQ!F5:@;YT/$Z# M95=??I@TCYM7[+37Z9 M_]#3<[.1C\=^.BL.4E%1UP4A-]@0UQ\3)8R\A)%/Z@DYT/E!HZ&6&:Z=UE'G M@@C,.$J55V./0JX+(ZZWATWW[/.PA=V1UX]M80?_P+\[P.5A;.];G:WVQX.= M@YV][?T/K+G_C>YL-#G<#_C_GS.VL)TO[SH[![GVS#;?IINB!<^P<_"NT]KP M)UMMN.?I'N@)?W:W#^I@\9/+MC NN9&4<823S\6FM$4:U"QDG-%6.L$YL;G8 ME&YPNBC7ZM(X"TJ&3(&VVT";))2)9&,*F'%.B0F6"0%"HBRSC/@";4\(;?@R MM!%BI;6&(4>"15QBA@R+"FFN$S98 ^#E&J2LH=6"JY 69%LJ"2_(]DMD"QX+ M(V!"@E:<.V:")X+D<(+$E$^D(-L3(AN=(6W6.,L30UZ+A+@0!AF>NU<*XQ,< M1IP'E\/A:(.:1<6W/G6*W_+UL5B"LLEENDI_N)\E;V"D-!JNHB3E#@3RIH=EO4R# M&#;J)GY_PW/TP\4#-'5^Q(!.XZ!?SLY;G)VM-W,,'EQJE74!Q7&NO)Q[IPAM M$.:>U65(M55G(1%+E*56LDX7*\U:8BZ<9TKHQ!/GFCM!C?+,>>UQ5 N6YB*U MMY':&5W>$H(Y<1KYA#GBG&:R"[H\IT0$ERPH]#+7M+AWPZ,BL4LKL3Q8PYC! M6 K/$V'&1%LW!.*&!>6*Q#ZEQ,[HJ%$)*XC&B/L@04ZY09JQ@%2T# =*G?9A MV23V17F"K\@$[P_@UU[EZU+!_J0:#>!F7?L(.L)KR#@-SDG%(P,RD=OF2,N5 M)MAS+0D6A-Y=1YBLVYO)LK5_KMI[V^G]U1\.B\:P""2;YR(5@D:N%)*14<0E MB<@H;)'UEM%(,XLD"],82C;YX\KVOVXAW%@'#[R#V< BIY)K*IDA0:<0@(@0 M?@/A'L+SPJM%27DQK-]+U&?4#"]A39T-B-H$HNXY1M8)A[2.*2:2&*$YM[+! M\:S'\-]%QE^ C"NM M62)\4)'.#$:B&%ECBEX#V5OLCX,Y/Q&<6$!>)T[IML M";>(1TF1"U8AC:D7TFEL UTJ&7]1KHM;QJ=.^]8]COOB5717GH-YCG F _?, M9,]QLM1YP8';AFB3H?BF&<9\D,HY%%#QA.AG'L90YG@^4$OX\CO02G5:"^98HF*_X MZ5Z#G>\VF3R>:)=8$,ESKJ/0.:I/( "^I=9*#REJKM+UA^[U3_ MJ\CO4\COC";KI.-$$X,D$P+E@M+(*:Q1T,8)AU6((2R;_+Y"_]JT.W9UP\[8 MMZW]!4,Z)ZX)%:RDF)"4:\TSUF#\WIRX8&7!RH*5#]#@PG^?4=.2Y7 M*>_T0NR!).@:+L>/.K_[QOE/+4/I]B^QVK/?8_5XAL#-UKNK!'GSX-!V!KEF M_(T\+GTWO"2I7*3,/T$U!*K7X M;@KPF.2N WKTU@]EL&6PSW&P_)';E?SRK40\ST85M_71O=B)N#X9\ &\M\LW M!?-:MMU_0YR;I5L4=UWNF7H_ (7N!I-SHR=^53.W[OW1P5'7CF*H%:CU@SZ, M[?2F$<=E0B]/:"N.BI06*2U2NM03>EE*[YI;$(QEJ%^#UV M^X"/B4=I1E'84]PP!SI%@#'-IO>0VESO 5!)N(N,T82QN MZKB[QAQ;'T&OP:'W&6^W-T5KX]MIJ_T6_O^QN_WE8V>;?NQL?7D'W[=]W-KW M>&?CS_T9AU[[(XSM&]YJ-TD3_M]Z_\_>SOL_]W?>;XKM+SM[K?UUVCK]^*UY MT$K-.94JA-!4N(113F/-I7H],BE()(@CQD:BG*\#Q4A#W;\,:.G 4R"O0-ZU MD'>..YZGC04$%PB",QE-.M#D(HN(!I'[#6B"K*$:$9_CFZ/%."8 04$;5!80 M+"!80/!A01#TO0)X"P2\V10P$U50&B.IB$)<>XZLBP$%*SP-BC-8/P \T^"F MX%W!N]>-=XDI'KU+S #>.>VX)3S7IHB1&F?U3*X^L]PKW-XHVB4TKKQCG!G -4\53*Q&+C4U$6;@K=44V^8H[3X9G#!/)HT(2DXBX%0;99$': W>PY P[G%;6N&P(L:A2%46\7Z5X%]5DL:(\ MXX-34F!B%4'1Y4H*7#&D);'(I264Y1GO$F4A:((SZ[9P+ ,H(\N81H22%"S1#NLP9MWW M-ZL687[-PEQ8]\.+]ZS?Q"KEI; 4:'CIGC'SYZ9*,@B!8!,;Q(/Q(-TF($N(ME%;CIW*TJW9O=6-(MVO6;IK M=:,(ZVV$=<:0;[7S"11!1$7 B"MID.7:(NV-=(*HJ*3/097+U$^IB.IB154X MXO)Z)R\=%RGDGMZ1:9LHY\1A4\SX2RC),V9\PR,GE'OD<:"(:^:0X1HC0454 MR6N2J*U)M2JDNLARL>(OM73/6O&I"AI;Q9$7V"%86HQLD!IE0BTIE4)1G,5; ME:.ZB/>]C?A%6F\GK9?M]#1IBD5(2-C<(%PS"8(PVH'?JVPO3*L6YDXC):/C(1/8 ML$K<8( WH;ACV;698E018Z,5PS=NK?5KI;2<=3<_Z^84X0L^2<&P1RR%B'CR M#(AI[M9*":?,,&,M7UF#_;!$#NDBK,].6&^D=O%$<%Q*3 R MH%@"@W42:8,58L$X1HD+F,@5$&$-VL;O1;2+:!>-\Q'%==:/HU*4&LY>1J5' MG!B*G/$1214B\\[#,:S+*?RR137GSB9MC$N.YL%(;*9;M'+YO+L5->B\]4/6Y2<]@!D\>^D>YUV#=Z?[*DE.O MIS#=_6;FIJI?$\E]1(#<%H! M$,IK"%4*.:(5E9J(%+)Y5#:46'"#S"=!T#H(X#\C"U\'_X;.][7I0[6.#D!@ M_-K_P!^GCW#NWOM'PU$GG4R$-V@I&,$$_S6$WYQ[G",?;'X>Q-XSM_(!M^/X_NGW_[7G* M1C?^[\>3G2_AT%$N6_L@&P>MO>;&NV_-+Y]):^.?_=9&M[NSLZTOS6,80VJU-W]\=2P(FR/*8,Y!XS(V(1,U1HI@PS$7W'.U4D6 C\.\T(.C MG*)YDZ5?&!X3_"M IAF0SZ]N%Y1B %>5/VC0?6FWPOY8LBO M:K');+3Z-()_Q@H^G?K?;/QY6_X*/C_;Z1S#&,/SW;Q?W M]*\FI!:D,X$?2RY,3-<>#N-OTQ>_3Q-A.[WZ\>H/_7Y@![N=WA0%Q.&,X-9? M.+[\^W$GC/;R";6*QZ?4)(YG\LV3RZOUI4LP-+ZFV"J1YLK+>)5<>>VZVQ*R MRJB\TVVOOR:5>IC!ZIO>]B6D4R]EUK2:R[OF'Z5GSV1N\DP>I#P.ENFIVGN# M&*LFO&]O6+T%? HW2/TN6^)&6^*< GB+UI/+O5_6#P>=;D4:-;W*5&A13W^3 MX,T7,XO-NN8"+WV#N*,ZU.;ZA*E>[4 MKZ4[M=(..Y>(9 ES:K"UP@J:0'>7)A)"YVJ2UQE?SJL76^FR:ODR["O['C?; MV4;B,8R MS;@,S"VYO[Z<1[#UOO/;/OTC_V=C3\/+MM76J# M;1@[Z)V=K8W=D^;&>GY>OM,.^\WWK6_-@YUT9ELYY_AC3@8>HT8B4@]JJ)#( M82F0HRXJP[E)BJVL:;9@V\K#=:%^7!-T ;;7 FQ)AB 2<3@FPX7DED<6$I9) M.!JX5#6P "$Q%[ M10#8\((3%1X;V%X *WY^%>0^Q2[\<;=1[<9>'-AN73[.AH-.KS,<#4"BOU_= M*^BU9] F;ZSAVEML.9=$:BPHP1+KR&6@(BV<(+YX[]QC@>S)+'OT- >-)8P, M=P+Q /CJ),&PQP*LI0A62+NR1AJ"EV;!+U>D,=. M2ND73HV*2"],I&=X$W81-$+KD O4@DACA:Q7%BFB98J>*Q-D+=+RWBKA@XOT M"R!'#QDI=6TTPZO28Q\4"U+0_.G1O/5FEJ!IH1G6A"!G7"[A2R2\ MHARER&AB,4F5%5F)43+ENF J<8Q%<8(P) M[Y@C0DF^>!MB@=:%0>L,43;"!1&)S\JN1YP:@HQ@%@7J>?(Q,&]M#:UR46U[ MEA5:EY1F/\V1=2L@H3KV&U5%2/(NHVO9>A&&. *ESC&RJ5[RRYT-M^PF.AE3O$M3-VZ3J MG.V3RM8;I5'%'SD&%\0>+OZRZTFCZ@ROB;RM7FCHK1:KG-\M]/;Z:YJRIXR1 M?3F!AN\ZF:M4V[!K;Q H=HN0NF<5-0> ?W2I-=%=S4EW#25<-J7D8SRPG1X\ M2D;#FX9C/EHHR.M1\EY+1N%CU&";I75GNWPKC9$P ^%K4.[VNJU34,A.O_'M M_3_WX3.G.U\V18NV]G<./N"MC3^ZS?UW!SL;;\5EY2XK?EL;FZ=;[;U.\Z ) MQ!'&OO^-;5,8_<8'WGS_^:3Y9>=;L]U-H-3-E+KD.F+F:$36&HVXC0GI9!4B MDCI8PO# MO3DM_ZRA,JHDD(L<].>('=*">Q2-8M$(([#S&?2]"CNHF2=>@ M1N6BG*"%LMT4U&2A;"\3U')B=8&U1<%:Z\TLK"D;/,YU;GDN*<83(6UEC#:+N7;&Q<+5;PIHJ7.U%PMJ[_E&QO"T.U>98WE32U IJD<.ZC0^_<.IC]44;5 KD+@MPYUC_I@P\B!L0]\_ C@IIL MC0.%V7G'B122N[H[#'Z<[C"/$JA[@P#8_'O>_IW>4;TC[QX2>^YS$]'C=%7E ML+W#_K"3[_W;(';KM/B?T7K_?3'PZQ/1FN_.?"1!QT>NC2Q%^>LZL7[VR<#SUY,T%M]>2U^J-8G7FVGF+Y MJL?Y\OF//^D87SUP6/FZ]SEV?!GI_7E0SZ/ MR';]/1VU]CUK';(-8]_9@+_M_[._M?$Q M->%$^XH#ML)+@BR6%@X)'I'Q7B/'*-4QRJ $&_,& $[0H_*IS9D)46M+@XM< M>F5\8"QHQI--L&+XLU\.Z;$R&;;2[%9; MJCR%)]AE^&N@H =&3Q$10B N.4..1 $_1&+8Q&0<>19Y"M.MW/VYNGDK#3O# MG+?03]5H+TX2"G(6PJLIYHTI?3[%O!\L4>%F614W3%1X.#BH&+DBJ+ K\!O.,52WS_(QH'Q:9YSM%SLQ=09E>J[I4CEXSA&WQX<=OLG M,7Z,=<>X<]3MS=%@ .CQ/$Q6=Z1V$Y/5QWV@<=_@/7RK_?9XI_WA!WR.-T\_ ML.;^#E"[/-[0:1U\_C&36OZ^B5OO/\)[=D6S_4>WM?$.*.'N:6O#G[0.WIXV MVYLG+;I)=]KO2#\SB'&30P?>;E M*TM=W@)YR]'DK4#>8T+>3#4-'C E%ALD6=2($RV1X30AQZ4DV#AM="X[)QI: M+KA1Y@,;X5]V4,B4LG8F;;N K/9!XQ]4(_MCMEM$"?)8,$]KYUF>&'4G,+7> M"ZU^SQ?,6C!FS>F=D)2R5 ? K,@ LYC6P-"(19IX #%)J PV!^!2ODS)4B5@ M:SD)2)'E1Y3E&?Y!K?=:2& =,0G$4[((E"V-A+>Y1F("N :5B] &H/,2"?,K MLHH=V\' ]D8G=R(5)2K^YJ3B[T$_'/G1E\E\U_-ONV^Z=CCLI$X,11]:-![- MJZPO)9PFA"(A@6!PS&CN>$T19BD))GAR6F1NH=4RA<&71)?EY!9%I!]?I&D/OK;OOU6' M1P._9X>Q.NS"4+(\#CKN*"_#L#KNC/;V8O?J+L&O71M:% F9L+[ITOPQ\8 6 MH%HP4,TK&A^2M581@I*Q$G%J#=*<)Z B5G@A$X73IVX!PNY=_*K8-996DA?% M/8HD/YHDSU .[Z5*CC+D;>2(N\"1\=J!. >F4R01N[J,G="E1,"3&<3@: M #,_&N3H2* =@]T[NDU>@SJT*'+Q\?RLPR]Q\#T6K+D-ULP)6L&P.MH'AI@* M!'$<8]!:&#;(84<1DXE[H!1,89-+ !E6XBI>KB0O MBDL427XT29Z-ZC268<$>1A)!O%/(7DR XR62Y-*D=RF# MVDNIF@=SLQ1[NYE@9-[UKAZ_HR7C>K527HRMI2%(Z2I7#4PU;QN6"(7^^%27;D M.LC.]^6L&D6:TSJ%!YNY1F"W^1X0:&.;;I]^.-YJA[UFN[7?/&T>;Y]NXN;I MWO[VZ3\'E^OY -KM;]//QSL;_K@%^-?:6!^ M["1XC9N[7R-7 6NI<@(C*+C4$P3'B4542L:I5#X1?[EN%-7*$<4"I3)Q:9F+ MWA*MJ/568T+DY0I %U:C>C/U%B^V V,4F$LCP&;0 0.P6#' M@L X/%WAHOJ.OW5&\'7^!B*5S_CJXA3_W;6]V]4H>@H@VNI56W[4S^53J&CD M/JBT41W'RH;^8:["9"^%&=1QC?_*"$+Q[_53SUZOKY+?_UV-^E7]C%7_: K M/X2S;/+66$=#PF?#D8^YD?1!3O_LYG[2PT;E3O(;HSV \>:;YFN=@\-!_WO^ M+5>%@G.TXSNQYT_&14Z.AO!DPV'^>\SX$NO?^JG^YOYA'-2;=+A:M?&A8-]:1&PA1WF:+DK-?]U"CPI)8>6=@$, 1KDQ 8Y];&IFAN^!];[>WCYOI7 T0D!*);6JI4UO#H+KQ)Y=0K,OLVP#ZKU(8L0 ZI+*8&A(S>,Q: MX.9MCD\GPU$\.+,&:T<'#T"6ML2J"I\ MZ0\.^Z . HG_$JO0KWK]41T:YT=97^WDDAE5MK'F6]ANE:GLH ,O:K)23:D+ MO#7OM2LH\>JSU@]N;_L@S]7V\2D>CL;%8R?6#W+!^C&[LL/SQ@\R[PWGK1]C MHT6LM<30MH M9Q;E^L"5KC@GZR^< Y,3T\B9563\L/ ,/[\?1C?( M#W^?5T)-U8L[7ZK_68 M)S#\.?>R"=6G$;RYOM&XN-?U[VM4[R.@8F]LUED?=NPJ_!Q;H8ZZHTE1\&', M.F=O=WS?Z4"R>O[S]O4Z[EF8_,ZX"@X\4AP,^[U>[%87%)!\CUI1:9P]7&/\ MI/5MA[&;L6&JO QA0&?HT#V!TV58'=K!N:&-9V[Z[4>]D,?W+?:J,2S5WV=# MWOJ5MX>PM6FSW$X3KB'&Z;:+I4?9:_C]WZN39U7;#-@P61E8T_&MY_/ M K\/T\G/=_4="-O4 /:LD>D>EHNYLKH8TX4-WO"L,5,G.0.%0Z9,7QP'%1KX M[5C3(-@4OO"09/(D$TK@"R9QK)7E2'E00KDW!AGJ-(H VO!"V&!,KL:T.EN+ M::W_PUH>OU@6BD@TH)A$0-\HBS51 E"AA',OM-#40 MV]79"MDW5CB/XR#6)JQ!9SCN9G*;[4(3Y5Q$Z3VU7&!LA9"Y)T]B@C+M5=DN MCW6DG+;6OR;.,1PF&GEI).*! IS$&!$)(8#ZJ0PFH(*2ZXR;L/XW,X;?9I=$ MY;.5 G:(\IS[8 5Q443OM3$\E$/G\78)V_KP56%CK8LXEUTCB', %8M-1#JI MS N$B3RG05X'*IW>3]8^=HCG6D(S+/^6MDZNX.RQEFEB@:9JIV0B)#:1=LGL"6"*84S8%C*C)U"3YD-O#"10Y((R4-MI1S9WBNA/;/ZY?@Y;:\Q2;F,!%".XJYB<$P@!J:)+584I5DV3R/ MM7E$<_=K2E1;Q3VP68F!UUJ&#.B:B%BGI0%2PX/_A:$<#J(Z$N><(?/G%LI7 M:\S9ZW>G(3>QWEN-J8WII(H_.I.]ECH_QJ0Z3U=?D$GU ML1H77A.R,WS5T8['7S7&0&*-1D8$@3CF%!D2 R+$PKD4* 7U[%GT+ZP;<,\O MPW/1#%M[";+ 7&F'.C/M=<;!.[=U?-9FUVYT$6?%8;,?G%S(S11*+)#ZM)-[P<'P&U2&RK2J;&0;Q>^P= MS=8-O-5*/N]Z&#=[Q)=2TB(1IX(C7KGHN3'>YM 9JP0W+@5&^5Q#Z(U+LI[9 M_)>CYLVO[SE6^T/8@?NM=/> M^S93N8+^^:VUL7N2Q]W<;^VUWK_K;+W_L]O:W_X!XQ2MC>ZWUOY.=^O]QXM= MGO;AWNW-KTE(IGCP*%@O$=>,(QL21IYJ9W7$S%.YLJ;P+:M6W!27%UC&YU?5 M>@K / > ^=7 MH8;XR&C$%K#%F1S9$)#S*B*O8Y3*84$H6UGCLU['?Q>4*2CS5#1&:8>=2T2R MA#DUV%IA!4U6<&DB(;30F"? %C)#8S2++.7P$9AZQ"6-R%*ED#4^*":\9KF< M(;UM\:T", 5@'AI@N(DVQ<"2BR+7X31!"F551*N[BUSV]84!6 *P#PTP$BJ MJ>* +R1H;JQPB44I!<.8"Q$5+@#S! C+@.,Q:"X"D 482E%7#"&-"P2KH2Q__;DJU%!><,( K:I<^VZ7/["!<2"#LE$S$.0N7;=4I&8E^,)RUWD MZG"8',,;H\5)1@D,NYX.+A>6Q MT>-"2^X)/P$RHHFW#!&=&T; >B$7 3R"!%N)Y N&9<(Q1SS6")D G1YKJ'%KFD'%)6,1L< M#EZQE35YR\:U1;H>6KJ<2(ZK1&($SAN$L!Y4->F]T3+@2%.1KB>0KAGG &-) MYLJB2&F7.04D$?[# M3CEN+%F06GD^:[C.146G<= O4G<[J9NQF#/)O 4D1 0GBKCB,7-%AV@$F#0> M**-29UU$BN@ME^@!V: /7)8/QMHX)ASP$U/TZ1X:;'H/*Z(S=B,'=6* MA;HB51*(DZ"1%AA4M*!%"(EIYW*1,EYXXY*)ER>,YC(!2BC)J78F6SYT$ F( M"C9$%_%Z"I/'C,&4 ['WSICL]&5PA&F/G*8,44Y59"X)'/$3R=?+,8M^BEWX MXVZCVHV].+#=VCQJPT&GUX$];7.)V]=N(64.-!>I,58V=S))SA/A"0_,/$\@8#,F5&&U#)$$%$@N:I4K UD1 M,<+"*\8=-\Z*E35)BW0MEW0E;ZSAVEML.9<$3CE!":"@CEP&*A9E0BUGV\)$ M;\:^JCTA! 0,&"0Q6"5A'8LB^A0"-F-*U2D&H[5"1@D%9QNF2#,OD<%,VH2CCQ0$;+9N M.2NF+=#V% MW6/&AHIS2_; //(Q)<1-T@C8!H.C#-.DI-,VYB8)L^7,E\6$>GT4^Z0B((,Q MA/Y1KGHZE9$KPV)?8J3[(J;AI0"3S!U9$@LB 13I*'0,W&CN.:-$&"&*1KM< MJ-69M=9RPV4202+A2&Y<[1-R@@(QB%XDYC&-C-8:+;MEP.OBQ.4I4G8*V!6P MFS$@,)>B@$->8>Z%,Y0&8QAAE INK"W&\2? LQGC>$S4.YP((BZ3,)5RIRJ! M48Q1)DN9<%BNK.E;6A *F!4P>U%@=J?>'86Y/2'2S?@BLC5',JL12QHCCIT MY@;KY4U0P<2(HXZ9N5$RV[BS@%T!N]<#=H(G"O]9%07FI.[LY@UVWF,>E$[% M]?,4>#:G[HSU+ J-!,$><4T$LM98Q!DU1"3CF 5-E-_2L5K K(#9BP*S9+DQ ME'BGF.:>C3T#S%GB8K04%S!["C";<;4Q(0&WHD#1QI@#14@VJQG$5 B$:5!. M.5E9HVJV:V5!LX)FKP?-B%$QV6BY"KFP<7"!,2:\8X[DA)%23^=)G 0SKDV? M&.=29B^!)X@+EQMZTX0D5@)['8+6?&6-_?_LO6MS6S?2-?I76*[SGIJI$CRX M-&[)E*N+,B5J>+$C__K3V*0N%F5;%]*B)#PUCR.) MFWMC UBK5S> ;G'OPFK?6!D]J=M(;Y2_SH#MROMYY4HGP+V;7?>NP>W*-@': ME6T"M"O;!&A7M@G0KES2!/A'5Z.>_IOZ'YZ=>'5;TX,\ZL?9[]6/[Q].L7/S M_DF7G=QS'@L ^=36HO9'PW&_7O/#* ^Z,^YGM>QKK.#<%^=^(#_["@9R^::3 M+W]EH=CALB,>@G\KY"%KFX0X=7%G'7;NW[W169CL769AE/$]PT*-_0$''_%X M_.0?G[W30?^07>C#BZ\_>\EG_PPC^NHE#[Z\A_:GXTF_'#_Y\K[;]-1D&!V]M/^COSCX^Z+ M^'%K?W=_Z\5SO25?_K4IZ9N??MJG-G]Z\\O6_M;;W4(_\ZWG?^ID(&HOF$#4 M#+RK9SM ,Y] %F6""R(_Z>5QQ*,Z,T;3_$4T?3Y7OC>]AC*,I#GK]P^[#25?F_6#8E7G/M[AN%>& M@\'PX[CWM^[;PRFU,HW__L/G,/A6EW3<>"&(15TSP*-Q_N'DAQ]/N+5_V+U@ M]Z4?#W#TCO ]I[J*[0OQJ>Z!LX_/8/^4SZ _-\OS)\\_?MI]="&T-OM,V:=* M?_EC_E1\\;.OW5:HIUKX&]WVZY\YJ5IC[[JQ]T*DK.C*:PV4A"MUZ0U/WUPO MU]'ZE7I^>7 T&!X3-?^>J55X&',G.&K.HY_R82[]R56*9S_4WOE]0BJ%!1R3 MN?IY>'"4#\>=Y'K$7?+Z\ .U:3@Z[N;)ZX,C[(]JU8!Q[__%@Z,?N[^^(8L_ MZGU^Y6_5K^BZ<;SL*;66'/6=KKQ7<^?:=>4#QO?O1L/I86+S)L:866;_TKH^A/M$MW_VA;+0(T@;EC2R>?,LLP6=I M,_B@A7'&>/'GZSJ!A%37V><_]\ ?P3[_@ZW^YO9@G]JG-N5+O?7BM_[6BPB[ MO_S*WVR_AZU/OW[:VOZ5GODKO[CY8D>^_NO-VZV#G?WX:6?[/=_ZA=KY:>_] M[HM?]9OM=VKKQ:;8JN_WXK>R>3Z?WO9K>I?W?RJ4!94KS'A5&"3ZQSL(+*'7 MA7LG',_=/G^X;C6CVT%CN3O(OLG'7]I:UKCMT7.;#:B]SR@#!W!*8"1&,]E( MK3RZ$I?';0\M:?[WH[7S!S7UYJ>=/P4FHX/A3&4,#+3CS/N:D29$KKT+&FJ9 MV1LES6_$UHCM81";,=QY5T+-QUK0H^'U-(RW%CP7Q3=B6R=BF^LUJQT($F,L MB P,C([$:6"9!^3H3!:%ET=);&L7X?C^<>5&ZHW4L3@?P1N?K ;G+,;$K2O: M)2#I"DM4J\T3OYTG?G8,XN7QFQ?O])_".JVMRJR )>,=(OEB(^MW4@S@X$7:'*QI7>_<%EFM061$Z )>4 VDJT MVL:"W JK?('<:XMDX&;",5D /_DF;OV M4?DKPGVE&O+"(Z^0^O5Q(M5%!) %?$H "B)YB0*$,TY+--8M*X%/0^IUD+H0 MY#(.HD&AF-#9D6# Q- YQ4!F(E@>HZKIS*6_9LKEAM1[A%3E8M)HG3(A 4'1 M&1N3RTEE 27GU)!ZITB=VU3G2L;L E.AXI-[RT(IP((-1H,5@5PSLJG7+%EU MKX"ZYB&4E5[YV$FJY0.\;PRV&)U FT@&1F0^&4T4%@MS/-E:.R5HF:0V/M\L M(> J6>Q![=.Z'(<_XWBO=X3'W6;&&\4>+GGG^T%!?[O+X,-_YEW^:CCZC(X: M#RV-AXX7HQ,ZR6RM!A:])R4ET#,R*C1F26+*7&.*M93PAA6+7L_?KQL?73*M6U'SIWLR)EO M&_R]&X?TME\SHDQJN%(VWWH)9F[KDN-\FELK,F3&E:M; I)G&,C>696E]#9C MX;@TWWJ-5QL?)+"O(UM7NX/G:\AN"+X.@A>B8UE91[DI.)KCJ8BZOC#P*WZ^STM.T]]RU&UCAK->["0E3,R&*=Y88%!8H!6,50 M>L4LCUQS[P) KJ57%C?[WPEK/:CM/)>G7>JRB_;FB45O>*#K\I(W[1CH;7MF MK0G[&GQM),3@7)*H+:244 DK$MADC=1)I^Z0Z UING'R=3CYDO-7I@CGHP2F M2?(S$-JS$$-D$B$*%]!I00Z@LF:YAT!OA8S[D=2DT6*CQ:\F1'&6Y&I-])0C M$:3TD(,A'9M%+#Y$_*YI1$T>71DD+4FMYLZU[CDK2.G MW!NWHH0HC3(;93YRRA0<%?6*XJHH\%EAM-X52 H=VFA%H\QUHLRYP@S@O#:Z MGN(QP$"GPGSACO'DDC/<"9]$H\P6ZVSFHIF+Y9J+K+P(*FLA4((E&Z&Y]C:A M1^V4$[8%'KYCX&$A& S"@U8A,(X)&=1P/:EKQ;C32)(Z*1O50XD\W+0,W9>K MF]6R3MV\0U."ULIXE!*T<W,CWUMQC;57V!_]%P?3_*(_CH/A>#K*XW6IIK;U^QRN^W_HK>V7'S=_V5&U M,MK.I]_V=W_Y0^]N_RH)LN]W/KTB*&\>;WUZ+2]64]O:?B\VMY]_W-U/^[O; M/^UO_;+U?G=[,-AZL?/7IOQM?_-MO1]!>G^W;.V__K3U_$^)-98'DG&5.(DP M@23"=*VF1O28E$X>RXP]:?[E]+S*8"#"],%@DH[HDWX,A9Q?;;R(.@>3+E9? MJ]W>Z_J]5POCO*"Q_= 52>R]/JP$.C\R?''>7YS5\ZEY^UI_WV[_Y^\;HX)@ M(UN3D>\W;S8QUTM8.^P\143R>_?NHY_"[/U.,6(0T MS"138R\2&!8=6:B1M%BBA: OCJG/(I*W(:R*9&VL<09H\HL8G "?XOVH(/AV M+Q_6NE.]H^%XW"<;LM$5"RP5;Q_J?!GWAJ4WG(YZI7^(A[&/@QZ.QWDR[H X MZ&/H#_J3/EV'HTQ29Y)'!_24U)N.:R;!_TV'M>;0 8[>YTGOB*;V[([]1!.P MVK3>.$<2/]T=AJ,O7C_NT\OCZ/S5930\Z%6S32PPNW[\M+=]6NEP0*\UF#WK M\&A*[9WLX80N/.Z%3(VCATR&O8,9&LZ];_<:9P40OUSQ<&Z[6=7U/RCSN=B? M#^KL3_W#^K(_,.$Z+^PNAKE:1VE.=Z]L6_ZQCU1-?S';O. M9M$P3+";0]T0CS(IGPDU938YZM",>I,1-66FV<:UPN5\'N2_8E<2\V1"T$-N-^;*.[\M&5YT=W.B&V^)0)SN\.^X5&XW!"HUV]GJY4Z RI&[WQ M-.Y5$,[98$X#==Q/>&#.0?27$+AYFNG!5&/1J2A*99D'!2'W,Z/SI2 MJ'-ND,?C^2S:J+<==A74SE/';&:>MI6NH>97,HG#T6A((K^KKA:.SU\TYS%Z M*LZ:/PWC";TTT>C@>,:TT\&@5TFS,E7]PZ5O]F-EVS995SY9U663=7JX,$5/ M*NZ>7DV69+(W3/0"[XX[R]@_C(-IRIWI''X\G$T!#,/II([P].!H]HP30X?5 MP^M37]"]/PZG@VH_NXE:IW*=N*=3X_S,(%O6548T'=FP>;:*/R MA);:;/)9\PP+L3^*TX,Z"PDB3Y>CD==2V9 :(3_[<#CI[>&'ZC<A'DX&ZGC2E^SBTY*V,VN.ZEC]X!'K^JXB*/1<>VY,R%:-TMN])['.)Q6 MI-" Y'Z'RPTB^\E&KPNG]6,EXMA=^A^B?J1ID/^JI4/S3+7.N+V.)9'A?!Z< MN^L1'L]N6:]]7JMHYPM*]^AH-/RK?U!MR;DYDNC_9[Q ?QKOD<4A>$_F4N-I M[^$.UM:P%^>5R+OZX0>8NIZHW'?&D),<]P[[_ZLC>0X1I3\BTOH,%S3.I5]# MH!T:+DSR*\6V;MNS\[<#^=36TN/D&_7KO7\8U1*JI!#.*H[_G\_]NGD$D)]] M!<-X.)A.OOR5A7JA=S2(0E[HZ'/_[HW.I,:[S ))\O?D(%-C?\#!1SP>/_G' M9^]$'B"[T(<77__+X_"5L,LWPR@7PRZAGO\4P($C).U=PF2(016]LN9./5EM MW+*[XP_]"8UNO$(D\_F97_WOSE-!_E-.8TMS5[@^6$ZU_R3UK\Y/&UKU]3M2K&/.>JT^?Q/ZR$IY3,S4@(# M:0+#I)&EZ+2*64LCW;V((CV_/")T'2W5&8ZSN$OO;_VJ:8=3:E8:__V'"^LR M5S*%W9K(&3-WBS#4(P,\&N>6O"VLP MW0-G'Y]1VU,^H[?YOO[YD^O89Z*?*BR]^S)_>]#,GU8V^^;7& M"O%42=,:>X\:J]67'WJ;QBIYI=M^XZS+0SG2\I57N\(&G'M51G[N[3[Z'EBH M)/_H>N QHV![2,K^L_>_Z:F^+^X0N623R'KPX^4;J&8Z\( MY@&MD?>[D4M*'M;MU[*S^,8:H[++JY__-^V3^U7WR=P,G]?/G]#N\1#NL:23 MZK,MT?*I7'.P; X/\_')LERAU_IR)8H5'EIZ^+O)'^2N\)*!!U=< ME,]2WH_4NW>,+PZWT>^(S8/?N4[VS_U M-W_YXZ_=%[_RK7K?[0A;^Z_UUOZ.VGWQZF#KX+>#B_O(=_?_.-Y]\=O>YB^O M/^YNOWJ_]8*>\^F=V/KT3F[NOY=;^^G]YML=N?O+;DVU>WSQ>!&Z)&*"S(H6 MFD%4@@5A%T!-?J&60B(&RCRPKYQEHZM<0HV4E9YNSU\;:Y:5( M;?S4^.D['<1V/%OO4LF.;I:#!\%]X"JC+1%DXZ1.5^'AX)N85)\=*%,>"J.?6??8A8)+>(&F6#;"+M34: MJ!\*J$M 2 ZY1YG !@RR*!]C%$9$I7EH9GI-\;P0*,F0;:W>R$21FD$RP+PW MBI%YEJDF;S6N-#/]\!$=3,@EVJ*E,.""]RB2DR& #B*'?.6D8LU,WP6L%T(+ M 8106B@6P=3R\!R9YT(S$T,-::>@P*V?F6[56N_\RC8$=WYE&X([O_*V&P\[ MF5%%@NYVZ*YJ@_(5ZLK?(FOL?98S)7!M=$3+BX#$LPLN.E3)6N$2XJH=E"9G M;BYGWEP63$PRY>(B(^5"7@JZFAY/>E:"\([\3V=0+WFEY'YETVY,\$7'AM/; M2VE",AJB=:& \H4\FHC<)M/63->:"1;BCTXY3+RZ,\G'R@2!H>"1:5Y#%1"X MUVE)CDTC@@=%!#PEI10YOMP@1-!.F$#]D7S-G6O:YJZUY8"%F*5/ E')PJ+3 MC@&).H:E**9,2L(GK4'Z%97>:"QPSUE@6<43FARX"RI8B'/&8GF.B(QHG:@@ M<\UH1!4+('1*T9=8JRV WY!ZL?KN.C+!XSH>O-F==9SE2CK-C-S."+=[M#/" M7T#,C+/^>/K[T]YDU.4X(\2L-.G%%;3$@U8,18&N=3:BDP' .E>D)95IC-%) M.GMEO^&,ZWX_I;HF#I:VO[H*@_Z%6DQ*Q))5SLSS$!@$<"Q@$4S14&9GLH%@ MGCR3>D, K-$&ZX;@Y2(XH>).>D/:GW1A >3H"\8LN26SDJZL^;^-X.;DWQB\ M6S]? *\71*\A(+-(^AZ 5+V74C/KHR?Z=6BT?,!'N!IZ3PX]<:YET,JI3!!5 M-J0,SG*#W&5/'E]#[SJ@]Z+I=49$P4U@P6K+0#G.?%:P$6!E::+]%U:/;U MYLB]:%]C4#EHIQE'CV1?8V;>%<6R\"[6G$P M]O7QKO3CNWP8C\]MD6D+_JO<(HA*!).]4CH!E\6G;'T1Z*) (34VW7'GC+:Y MZ-?7O-@A" M4M0B&@Y7/N_3%AQ6#>$%IQ]\4A:1O/SH0\THQ)FW==4!@TJ!JR L/'DFU 8W MR]K,VQ"\?@AVI2B48")$"]QF'WE"I4L@ $=;KIPEOMG?58)WP?Z:XE&72(Z^ M2@1>SQEF;9A.7DIK4;F4F_U]^.BU17D(FE ; %0T3GJAM3*2ZQ0]7+D.3;._ MJX;P0E# G4%B+NGLV>+P8$1%"%'+[,BH&: M@-@3FT$ YB4OVEC'G8"V$/'PT:M#L3Z[XD010(H4'(02;%3RE@O]39 L M#\(+ 0'2C@Z*3LS7%!^05& 8P3.CE'#!V%)B>?),JPWG?4/P@T4PFN!LD9%< M"@]28# C8%*8F)66M6)Z6Z)X^.A=5DFBIDA6#>&%B( 01F;/D;D42)'PK)FW/C M M9#32*Y]K^2$E-I185O[/AN#U0_"RZ@\U^[M*\%ZTOS)$$-D[EJ)S#%3R+%CC M&01''F$J/$O1[._#1^^R:@TU^[MJ""]$!)+CF"R9WI*<)OLK)/->(U/2AA)B M%LZ%-;2_M]TB<%+/P]ZHG,<2(X6/-&OOLLIY-,98+6/\L>AT1VVB\B(RK74A MQD##:!B!&07!.&=]QQC+R2)R+9#H7D_<%3B#7CGF3 M% .4DH40##,Y%:=4\)F[)\^\V[!PZX(]#?4/"O7+JM/1?/M5 OZBF<=Z3",C M,A%+8 !UM;]FZPS>VI"$\%*D9:_V-\0_#,0OJR9'L_.KAOUBCD!4F"%'YB0( M!AD%0ZV06:4-:!%\K.I>R+I%8%FY!-:L ,=7PA3K7X#CU7!$OQ[V\E]Q#P_? M9<+7J/\!)_T/N<-H':F6;6"EYZ52BKPD'CWG$" ',J,R! DR.PW^RD[.B].! M>SX>YTF3.LOAO)W%B$;R"E*H1<="/>GHDF/H"F[NBK4 M7K2KH7AI;)#,>C*IX)1@7MC$//U*H*WZR#:[^O"1JS&++'7T+A)RE?!&2AG1 M2J-C]G#E_%O-KMX2H0O>?L[>9FXL-[OZN IJ M_F]P.,F]48Z90! &N64(6*78\-80 @07/H%!"":1(\!]+DD4 M'JZ<]*2)C9506;S$B:?Q\J'J#"U\K4\DF2^"?B5_3BE!?GQ<7KJB=CIQ;9$; M5"X&H&C'73V8Z.@GE,+*0"".$1IR[QBYBZ4!E$!%0K 6 JSP=98%QR5+G(0' M2*ED6-XIGH;>;AUFY"0^?:HE-&40JWH%,I0/P!*-W1^)W0N./$QJT3@+ R+E@RDJ.6Q20-S+VP!I0LJ7#=T/JY%^=>$HU$> M3WI=?K_Q1SQJR_+?W2\(T@9OK$PA &85%&HG/597@?3GE4\<-+]@);SV;M&C M-X!1F1B85C(QL.0AD"?G6/#M05O(IMK=.0EQPS6Q6"5 D%.O5/!8$[-[-XU;A?JZ09R[;GB#+6N)WV< M8H'0R+(#[X.1X'@[U/\(D(O%)/R2:"%ZGS%,J&97BM]@-U\SN\N"[ M$ VP5F!V,K),_R'XYL 0'+*MAA8!5K M]RL\B[1N7?G_K.:$R34F[7I3][*R*\P(^Q7V1__%P32_Z(_C8#B>CG+C\.5Q M^/M+*ATDJ43QA>E8=S!X!\O!]GL!K%-8I;SU02 MC>*^"\4M5H(PU@GA'/-<%0;1U*J01;"8/)I4$'VLYTRYV>#2-(YK'/<(.6Y9 MB3.^PG&-QJY'8XM'7))Q(GG&H_8,#(_,(9?UX'S.'G6@@5OFVGNCL$9A=_[2 M=Y )I,FT[\)O"]%$Z3%KLC7,>I.(U;A@KAZ-K_+-<,^UM$@RS9H-Y_F]X+@E M[3Q:9U+Z=Q]#?]!ER_EAI7N*KG"/55_+7&]6NO.F5C^M(Y2IW8]Y2&3]\_?L@5>[R]Y:>,^%MI\LR MQ.W^)>6C MI:_3LRD25G(&KM&1,+@R"%SO7(8(@/^.!9(Z/[0T9_N]/]LI^Q M46.=:['.PLJ'18'5K6:@?3U,%PKS*@9F=$S!1"BYUN"4"WSS]T8UZX/'!TPU M=[JYM^F>%3#0P@Y?1&5H@%B(WC$PQC,/7K'DBE526HQJ>0=K&ADU,OH^NF?Y M&Y:;[KDYZRPL)6B?#+E7G@FE! ,PD;GH.$O@=%!"D\=LUD;WM*#DG5_Y"!9J M9EO"!V5.;W83L'H+$[.*Y M_^BJN=)_4__#LW_2/R>M/G>O_>EXTB_'/9Z;M>Z7O=0T[[8_96 MU!<#/!KG'TY^^/$DZ-P_[(#6?>G' QR]ZQ^>=%+=R7KAI;H'SC[^\6,_3?8J M-)_RF<29AZOG3YY__+3[Z,(HS3X#_910^L6/^=.;?N:DNM$WO]98(9XJ:5IC M[U%CM?KR0V_36"6O=-L'E=7'7FJ17^28#T(>]938Z)%!E5=8PKG&08NO]$3, M=1_[.O7%O_.'/.B)1]\#;0ZH1]P#W:+N9^]_TY7L+^JQ+TFR]3][,SO'NTZG M$K_SS0>RRSEH>0 M3^6:@V5S>)B/>PI\GO4*O=2>[MAY^0/?^1&6O$Y053B25HI-2@=$8;!+> M^VA$76#VLRI*4DCUC:!L9>SGAZG^Y^49;S_._"C[K\7.IS_T)MUS9_NUVMG^ M]>/6+Z_UYL%O>YN?]J@MN^^W]NEO!UM[%X.WF_O_W=_:?O_7[MM7U,:TM_7B M.=_9?W^\^\O+3V]^H<\.?I7T-[DC7Y7-8W[%1'JTT@OW8:X&K&!-F&PI/ 7(]:2]%"3XZM$45B$V!K2.Y;?47 UA9 M%VV]%@R<#.0FFL!\3(8)+13J8I,W]@&G FF(GB-:QR2B"U9))6D6<,>+THBF MUH\3(N6F6=89U@N!G^1TMM)E)K(G;!NI64@^,6^$U5 TM\8_>08;WMQ:LC10 MKRVH!434-0(H @?!@U/1@DJ$;I-MBJZ9Z37%\T*@!'4B:46>1Q)%U6@N9T%E MS[A6/F0A$=)#SE3:$'T26@"',8HH-$BPVM"XY\01BXGH=>3-3*\SK!=""S;E MX- 51K99$ZS!,^0H&$8?;5)*QXCK9Z9;;JP[O_*1;;GZX^GO3WOX+A_&X]XX MQ^EH9*6"CB9#,"FXZ.DF06OD.BK9M.-:&IF?%T,\ CV9 M&41&MB8S0%$8VBR8\NB==2EXN_3#^&NTR-80?:(=LS7&21\$>3&3>YLRD<*AI(%/2]LDS&L:&V@>+ MVJ!B+IYCE!F "R)R#0()IT9D*>RJ/;YFAV^*YH48CG6POFN.1\$.10D*8S,ZG4==@2F1-2TD] BLZ* M!,8M:^_8M8!SCQ9T'BD3D$A (T7HEGJ4,E^X9$5XR,(7= Z>/-,;WNA&!(T(SI=SE":0MR^T+Q)D,HY+ ME35WMB9T3":T",":\$$R]R1L/X)DS:[["^S++.G^Q'N/*M9N\<]NL&9C#*2;;GIWIVV2_2*Y3.BPV1X4H64@2#W(:@DO!79H4F>7WF%X8SE M?C\EN28+EG;6=/OY8GTV+R*"0<4\1F T$Q(+11E6G).60TXEUH1">H.+==H2 MVA"\Y#5"98!KGK.P!7SP&'S26:>B@T*!8GD(;N[]C<&[4"RL1O$XELALL;GN MURG,!>^85SKYP,%#UNV4QL-'+\T!",)EXG%1S^J$)".*!"XF0%T:>M<"O0NF MEV.RW1X[SSD#:05SRGE6-"1OH'B=4T/O(T"O!:-4"C& !5D".A\BE]$7G9QQ M5TY_U]3SJB&\4$J)(.JDBX;98!2#("USG-.OF6/F)H$N?@W5\R,[S?-S;4JA MQDSHEL-"(#H:CON3=IQGE4?!4Z'I;Y+"HD!K'TJ)5M1BPS;37U23)'?.9YN+ MT8"2 9RI:P,V(0/E%'-6*Z; 96>=P^*6)TG:EN&U16\&%Z"$PFW-?!D$H3<\:YP?/+,\G7: M'MP0NN2Z/.\]W3(65[(1/*LKYWQL]G65R+UH7T&'Q)/)3%FM M:_Y98 Y#9(9G$ H%CUXV^_KPT9L(L4(YR"8[D*2..;UU$2I)D"K:U.SK=T3I M@E M5=B6A]TQ*-(RHU[%0Z"=>/#A9A%;*/7DFQ 8-8T/P@T7PLA)S-/N[2O!> MM+_2%._ <99(97B J)?0_O[V!;YAZ.CX0@GN1>&*RJ1W,*7"&E MATI!H.:.&2\\ RL4P\0Y*]GQH#1*T/#DF;$;:JTR@S4 +WEK7<3BHE'6. /) M%Y2&*ZZ!9P56ZV9]UP"["ZDXB%AS1A594L4RLL!D?9'+0Z![&Y)MD12T30AKIQ6HUG?%2-X(8.&PZP4H">;6Y/I*$PD MG3WIYXRR>&FLC&(-K>\CVQC0RK)^3R7BC$@"BU)*@K7<@T[&:E3>!DCZEMN8 MFA)90CSS]25'_JWFBG0&$P%)BH2H&=&79)BE (?&^[J>V)8D'CIZHZ2)P#4* MRP%TX('N4+C*U@CTV=URDW^3(LN#\"4G !Q/ELM:J,,P*)H@K C1!7)2-H)6 MHF;S@@T'O"'XP2(XB9RLT]ICUH#%>E%XT9Q\3664,RT2L!;@O6A_(UBMH#AF ME4L,V6@)7F-;Q"9/"1IN)= M5HV.1A2K)8I?%WWM#-X+KI!AW;8+QAD6-"IRO0T7F*P(*B\K0 M*>J758^CH7[5J%_,RR>WF_(?YA('Y9 ME3::H5\U[!?B "8;Y83SS-J,#+)P+$B>F<\ER. S6"[(T$N_P9>6+6#-RFI\ M)3RQ_F4U7@U'].MA+_\5]_#P729\C?H?<-+_D#N,UI%J605627X%@[>UUBUZ M#4E+9Z-)P7+'C;3.7#GYZ8O3@7L^'N=)DSK+X;P_%D,:VB@I+'6G=+(P"(4S MK#\9ESE$(S/GRY,Z;?EB;9%KK"CDK$1AG0:1O'>I(("2JGC0_,JR91&Y#:'7 M0NA"^ &DX0EU8%G6_(!&&19B 1:@E 2D++DH3YX9LZQ"7PV=ZX=.BSF %"JC M(!5*/JC(5H6(09.MC7CE\\;-KJX*M0NY 2UPFJN.E=CE!B2' B%X)A7/8.A' MY9M=?03(S2&ZDDGZ>AF!QQ"T1UNLBRBE!W7E33W-KMX2H0O>/D2?+#K-(H]D M5YWWS*'2K)Y_M@%4\ +6S:X^KC*9_QD-#_KC\7!TW#L<3G)OE&,F$(1!;OD M5NG$"VWJKE/AT=>"0X$T9RY2II2=S_G*.YF:V%@)E>V<=^(_;7W://XS0O:! MD^N>BB>QH6)@GMM(5%:B(*F!42TO+6 [CKBVR%76.A>P$'(Y8)'!9>/0Y0(I M1H-73@;0D+LBY)YS[F?(!:%EEL:P)*$6\HZ"!8_DW+N8HT.+J2Q]I;$A=_V0 MF[!$YR7)T2! 9(E<&FNC+E(7F_'*IW>:FW!;A%ZTK:%8 \%DEDP-D&M;F,O* MU2BY(A\^2%7(32!7KJ'SP:)3^R1=CL(YC>!<\B42'+E3(-$K<8MEK8;.:Z'S MS47[B0H <@JLE'ITC@?+4&;+R$_)&'C2.L=U0^?C6I1_33@:Y?&DUV7S&W_$ MH[8L_]W]@BR+X5E)D!I(5X0HW%*>V]++=8/F@["5?B MUL\/"IDBE'6998\I2 MV7KJAP2IYQ*4KED=#-0N[;(S5HI$F!!D7,/)1<$+6R42J%U"=.53^LUL_N=H@'S@M?*6L5-8MX6 M@F_DAKGLD2FKLE>"@W=Z_ ,,4TTF+S&S@#:S*",F546HHS9H+>%9Z8M. 8@-'/&:*:U] 6]]B!KFA##-V@([XM> M6]*FI'6FIG_W,?0'72*='U:ZW>@*]S@WGHI&+ VG89 7!O0V3VBMO!=-_&(K M']=1O]6E[KFE.GOX NQ!:JSE)R(Z9SW:_HNE2*OWEV4CDA"#LTR86IS=JL*\ MM)H961P$Q65,#[FN8B.C^T-&?[O3Y$J?L5%CG6NQSD( /D0N@O&2Z8YU2BC, M62<8MSP8%X5W&,FA\XMAJ[\WLED?1#Y@LKG35%%-^:R @RXJGU2"UCR$JG<\ M ZX3(^E:]XZGH""B0I!-^30R6H-7NX[R67[ZJZ9\;LXZ"Z'L&*R.LIA:QS[7 M@C;(G,^%Q4(BU9N<4W)KI'R^$1-+_?'1 (]K._/7^:E=>=,K'\$ZP6RS\N", M9U:Q6'#%B/&L'RX+&C_*G2]+[IRU-K-WL-OYG&W]YK)R$_\W,\/[+Q?#GARY M%L5G%HKBK.;_80BN,*.EM85'&^+R\K5Y*\O:2?TM'FU\ M>2V^7 C8NB0D#95BN:!CX'T]IALY"R98;H@_.>K;NBV-)D]W432.O&7/K#5! MWL$6[*8SOP]O+F05DLD);1*3& ,#%,!<49I!D*F>-3$^+;THP3( =)_9LQ%H M$YDKV?[=1.92R7(A-JXL1Q638MSJQ, ZQ\@;D$SE4D!(P16DAR$RNYCN/[I: MH_3?U/_P[.25MJ8'A(?X[)_TQY.W.'?O_>EXTB_'R\:V_&<<[_5>_F_:_T 0/9R,>VOQ$E_M[.V]W"M$,[T/ ME6=ZP](;3D>]6%\DGWN1_I@X:Y)'!W2#U LXIG^)#O\W'4[HIX.NIFWOB*84 MM8Q47F_K46/7G-:G)7\[9W5 M_+T'<^-M[L4!CL?4@FY6')R]Q]E0]I#^]P%IM.GOC,:>C6G.]/ PS:?49"\? M]*83,FF?B-!Z>#);\.AH-,2X][3WAN[=/_R0QY.#;K+A*%_HG4I;U=CV#Z?8 M4?'Y_IJW&>1L-_S1<-ROU_PPRH-N9?G'C_TTV3OQBLY]<<[+_.PK&(B"IY,O M?^7T= (=:&#SOV[-SIIS1&^RRR,,KYG6*BQ/^#@(QZ/G_SCLW^9*=SL[H$+E)7QR)NT5)QWK$B<<=_]4I_B$?IN%HW/NX M-Z2_#3\0 _:&@6[?U3BBJ7XTGCCL2[A\.CNFA^9! -F?FKG'UDL/AY RF M&_7!YR!W3Y5/_IT_Y$%/?G99R!'I/<\;*WKRJ24Z,3BS7%17ZTHR M0Z_I=4AHU4F[T1L[HJ,7ITN>WFNS]U48_'%(/#/H1O =S<1Q9P'(9QG3(SYF M&N/^P0'U '7#H/NH^]LHQZJ NT%'HH.#H^%A[6>:0,]CG!Y,B<'K^%*GCKJ/ M1YEFX+C.L7IK&JUNIOX\/"2146<"_=2)Z.YK/^$ #VF&_KZ7)]'6= MZ;.A/3R>W9K1R!VR2:;'CW!T3%[>A7>AJ3]_%1KAW.^:4\9P ZJ2@+V>2-S3':59-*FO,9\PI9]6'S.SEP3#EP7A&()7D/G_B M<3\/4H\$UX>9W)H9D*>]5S0MR6:2XSF[_71$0B:/-[[=Z/]-J;=)U9$-VNC0 M6$DXY4J2'7*0;M+Y &4P_-C;R^E=U>RU=T[_6ELR'L9^=WVEV[E-N?C4&<'/ M.F&&D"T2?]UMYK9Q9G"H<[![C>IL?YA)RZ_#^_=39-6^[GRO5[.&T0M-%D;R M\N:=ZQ0\3TCUC>CQ_Z&&(W%&_NNHMF!V[SD=34>CRE5SBU,_>--],/_#];CI M,7'#R:'0ER>'0L]V@=9.NG H=&W)@LS);-;.O)UQ)ODPTTW#-(VS&? !"?+3 M<>_=8!C(&,Q<'QKNY]7>T4R<#B8;9 J[N4=S;%CG":F*6;]T=RCSSII-MWA\ M=I2V/GEFU6;>55Z\EO[P$4?IW"2GFW=P[F%GV2:],IU,Z>$'PP]S+)U[YN>/ MFM$3ED(JKQ?S:$(WH$OZXPZV"\^F63\D4ISSR2E&SNV_ZWZOWR,VJ%=0;H2ZUA.CA?8=>$!YSKB8J/N.9U\"W5IV&FX:BC/'2<_DUQU M7H^FL]G.JJM&1QW/#"S/Y=;KW$^_YSQB4V;:XW:O@6I<1T;-)MFYYGGK $7 MS>+,T!&@A@?D3!Z20;^BJ:XM?=U]K1N90*:T=ZJU*P(6I/>9&_&T]_.-AN/S MH;@H:S;NYT#(S;*.#JDQH[G_DMOC#0^9RW_N->/,WG7 M=5GZC'IF]F!\>H^9GCQ_HXKA7I_&_X0KKZ3GYK,$QS/A=G!$SSOIZ9D%.]>* MATQXE_LD"R;ZLL0:O8]X>=S^1+M^0UR<&.@.5$?#?A5YESG4:,21G94)W MZL3]I/?\:-0?S-9XQ$9/:""];] %Q<7,;] M/=(LG0[RFS*7NR=J]U3AGLYWNN3$=OUG'HG>KF&Z;6K/3X-A?'\_EWH'^?_^ M=KS[-AT%"69K^[W8W'[^<7<_[>]N_[2_];^;MG:?_W7UJ]_8@[)(F:6<\&:]5\S'QQGR4DI(H^^&/>DEVE:'-6A'TWS MFD:(.P0/!V1S*@1F"RASW[=2[FQ75,>EH<8LKVC:/H-51YF7(.MO'1&3!T(7 MCO_^P_6 ,U_J.5DLZ9:JJ<\&Y-3G'TY^^/'D-%'_L'OS[DL_DJ-#@N=DY;LN M*5Q8J>X>./OX;+7A*9^M.,S/(R>-E>IJ#?K&<;>OG&J;+?O=S2:EA7!*!Y>? MYQQQA>-LU\AY=K^Z8,Z*O1/[V?J"A-9!=6@[X?.W?P^K>#J9*0L;F1Y[]_SQ M]/>GO1?5HHW&GW?.3=/U77EGUSIO"GTY'0WGW;**''TK[\^[G'V7]^A/TZO0 M]$HKNM]BT_+:[<_]XO;R3?; M[_G._H!^_^E@=_N=OKAKE]K1I_M]VMQ_?KSY=O/CUB__VMM\^YK:N:/?;/_6 M?_.6?O]E=_#FQ:!L_LYYMV/W=_[7YG:]YOV?: 0FX9!Y2SXW<"F9=YD<0O1@ M= XY*O7DF50;G-^Z!-RC2$+_D$\H/,XZ&HW@[A'!R8L$%[."8KAG049@X))G M/I3('#=>.8E6A$($!QM2K[Q64$L\_WWD\1(3D=\K$?Q['@Q6VF&/J\SQHM:5 M)42()4;A!-TL>\'K\5X3(:0,&IHI6!M3T%_4N@X$#5A$ACI;!MH;YE)23.1D M)!=:8>9=M6-MUJC:<+HLWKXDH(G"5>"1]B8"BL8FA+S?3M MDHCQR3.U(:7=D.[6I+]^F;X?*8X7A5O#\3W"\8)PLUI(EP,RD X8C65@/LK( M4HB&EP E"=7%X92U:P3B1Q!M^_^&HTP/?7NES1TMV';;%>?FIU]&]^]''R_Z MZ1E06^^\+0X\%TC6GF,.3OAB9+*-[M>%[K=^OF1=62D:&6^8*9\X MTV M#Q@B5^7),[%!9FG>-?/6&XR7'VQJ.[P^.%V0;>*5Y-HHIH00#E2US M/!C&#?>&B^QBE]1M0VF]1AA^!/&V;>Q_I(>NQR;">R7<6L!MJ8P_^;C ^ $- MD4/F.450/+JB5 KT:XF<)^2-\=>&\2_9$>BB" 6M9#S5PGH6# LUX&9 :0LA M!ZM)N8': +&8R;-%V^XGB"^1;0W$]P?$"[+-(&)VOE2QEAB0UF8A&V .DBL^ M.U505ME&F%XC#*])N;HU:<9]N7))V9#O2]J -Y>=(OX\,<:Y-!#SO!XGB1?G M>1;.I1W8Z^<1CN+>\3PCPW%WA^ZSU)N.NU07\WR1GR4SFVKY]=Z?I9MZ5PR^=YFQIK/J$M25S/+]_X[2RA1,WIN#0_9 M;S6G[ZB.X$\X[M^/!%P'LW>:YS6I25>ZX_,$:G:6#VB>?6H\C7MU]OYG5--V M38XW>L01-8%;S2[UOVG_J.9BV.C],ARF+B%%_?OKPPD>ONO7>7N2PVKR63:. MVGGU::/3S@NU\WK]4K/(G.;>F*>-F=]C,NR%64Z3?AV/FB1[EAEEGG.E2[/Z ML4+E?4U &BJ^\OAB L7%I,@M3?+%-,FP5FF2OP6B2VGLFVF1+] 89EE=("F< M\V -?[HXP>>9J&K^U@IMLOMQ.A[/ M\TP.)[EG-DX&8K4O?3D3]U;\\"\:ALO'X+=(L?/<[WU[D^NZR&UD)GB-<=/=IRA$Y81'7B=T6'QZ5KQ .VS M\<0=/(92;^=$D,D40*-5_>OE\8 VGDL:3R&*YU%R!J%N@TO),UMQFC4_,_BI-]V=YF6)<7J;( MF3 Q)6BMC$[[ZH M:-\:;+W]K6QNOU35;H)0Q?'$(G$L Q,$@1,*0YD]P9.'F!?JY6 14A""NVD6 MN0T&94&=4-J@3#(7=/I"V//;H;1O/NJNY_;EKL0]J#A1D\B70B[LQ]GH M]&_WQ9#CJBKS5 M/.VC?J[IC+M:"=/1:>-.PLJ#+LI<<[J>:^O3WMN]_J Z<$3R[_!=S==^\OJS M>A63XY,<[[/NH%]B'I\6O#AMY# ,:F[U;O*.Y_F)3PHTS6Y'!FA0']PEN=WH MG=:EF8[KK3:Y_>=I3I=0YG M.<=/6U/O5DLS=NB;_E<@8ESO5K?ZLL]6ZO7U,SF756C 35G M5FBO"^?/7W!6:.!CGM4F.*09>SJ?)L-9H3^:_$.B@7&7]/J ?J/'Y%'LSW)< MC^F>HRYJ?U(SJ8[*?#Q/#'1M5]?#GW5KG3G4_>>NG8_79V6;+G\]FAHG]9Q. M&KQ1PSL?ZVO0?T^J*@Q/ZFU,#XZZ@@"S10=ZDT#C1K-L'FFMF?Z'A]U[3.<% M ^CU^J,X/:@I5..\C,))K:Y%4-71KZTZ&>ES8/TFA"Y)U?WS_';SZZ]R?^-;':Y7F^$Y,_\<_29GKH$ P$17YS5QIAMP#LR@,EIB C.Z] M2'/\\UG&^L_X^,QH=,$Y',^3(8\?279BJYZ2*_+(\PC7QOIEIN;]XHXH?S_S MDFYW;N[FS,U]6=WMTE7VT5WG[ M1]6+73RE)\UI-\JE9,9=R\WKE_? 25T6TG@AD\6H!4XZ&=@MTR\MW]K%F?'( MTC$NO/Y#V9N*))LC>..3U>"0JIO[$V]H)Z?QSB:ULVG M]V%GZ@U%]7QGZLN/6Y^>\]WM^->.W('-_=_ZN_O_ZF_^\J_![HOWL/7II_[. MP6MJZ]EW3G:F[FP_5YLO?AML?7JUO[O_[GCKEW\=;!Z\_KAS\-_W;[;?*;I' M?X?><[<*\3[_Z^+.U*"+@,0SRV!(E8,P#"'7@!Q/482:FBL^>08;POM5IV.\ MQ'#8>)LVER+77U"')68"@/ %$BYP"%F5CF26>%4)*W6CNCFGNTT6: M(Q$'=PCH1K'*ZU/1V].H[^OQ>)I3HZ:E4=/QH@)+P3@(R;&H-"DP M+X$Y4R*C(79"HP.18G>D^[II&5:GI:YQ6N]!XU%XFPMF!)L N$XA*:5T#"H( M;0W8#H]5$1AVV9:?AL57/.;*UVY[MK[ MUAK7+(@SWT"AJ%_3<%JW8YPT])$$@9?7#6M-U==@ZJR\(&QK(5""18>::V\3 M>M1..7'E-'HM&+QB8OY]46\[ISEKI#BZ*LI0N9M8)69 M?A#J:9QZ>V/SAFQ_D?G_'<\.M>EK?E/ M35KS_#"]/$E9LW:'Z.3FZ3'7P?[F_A\$O9O#R^N)/^S=O-XZWME_3=FEKNM_=;O[P4._OTC!?O_J+O#;;>OB** MV?FXN?VOLKF]^?%/!*F=5I[9!(1KZ3-S*2I6@G=.**A9(2\>H2O"2)0Q>X@& MK$U!1JY)N^;H#(UIN+CO_BQUT'].4P>]/$L==)@G7S]?C7GSE)PRT@*U[44N4AL( 8F$49K ^@@^?WXCS'-_)DT62?'1$;US-* M)QGCNI,==9ML.]O1SG8L_6S'XJ7W8B?]3)%C/@AYU%/B,1PLN-S5 M_#>1XFK*M=_O2,,MW_W!A!>D+%:@5@(M1##H#)08N) .//UZC2#JY0+ME]%P M?#]6N6ZJX69AAOUW?/-@]V"']-G.VS\^4=N.Z6>]M;_SU\[![AYI.;GU]E>] M^>D/<3',\.;%K\>[=,WN_D][N]ND 5_\BWY^+[?V7_5W#U[RG>T=L?OB_:>M M[?^6S4N"J<*22VN!,Q1!,G"\GAU R1SDY%3B$:"NQ MFI^6>6& " \LV2Z=35+WBN8>U&+_ETI"]@>UK9U''TY^Z1_4_">WV%CX&*K$ MV:(53U$'@1QLCEA BB $H%=2H6_*;,THZY*CG5BB]B9KYCW4G+/:,OHU,>MS MEM8A)B>?/ /8@$LV(+6"CP\%RK7*,[H"G&0(R"2#LB([;R2J(+/Q37VL'907 MU$>.(6%2G#EN(P/RN5A(4;!@LE42O0TJ=U F=EXC*#^""-N.D35JIIBS6C(XN.;)8/$1\ORAM8HM-.P?)*T7DIK"*K)J@R$V:"U\[(8 M=$)975I@8_VPO'C<$;0,")Q9+A2#P"4C2D[,A,(5]US&5#,C6+,AW*WKPK?# M"M=!XL_#@Z/I)(_.R8HN9^^P3#[B*+?@Q1=H*6:MP?&(D4? ; ,$6?<*@2C1 MQF":Q%@O6KKL+&027@7%,RL:-8-4BZ6B!!9I*($KXZQ6Y/&8#6W<&GD\+7BQ M7"@K"P15QW/Q]!/GP6E-'$=(+Z:C@AZ)W5%"TW^FDR_Q2Z^&+O@$A/J M&$N)D)Q$D>E_V:6D0*!OPF+=V.B2_2I:F^225RSZZ$E8V,2\SH*5*#4&F]%& M_>29W0 GULC;:9&+Y2+9)Q18"OK.54C&Q\)IQ(,-RGKTJNF*M4/R@JZ07A@9 M)=:$M9+1_VN&1@'#')1(TF6(MB)90XM;?-]=OQG'>6\X2)_MM;B9K'@,3@[- M4Z43]PJ+ LUM2 @B:V>MCM9YWF3%FI'1)9LM7$29:(B8"YIDA3&>N>A)5M" M@HC>( ]/GCF[H42+5SQ@*'N=0A%2)G2@#4>>( 'RPH6.VIBF*]8.R@NZ0BFN M4DC 2E*"/(3@F/-H&=('SHN@N2X$9;.A^:V%18M77"LEY#2PR7""@UN%*&ZQ M\_X^4],2,Q8U:OH>U'3)Q@LOE?/!THR&5#-$$BN%5#>E \0@LY=2UFH=3FTX M=^M8ZGTZ;=/P_SVK]#3\?Q_\+TB3J""[(&7-_>$88)",?LLL26Y$ &[)!2'\ M6[/Q#[WG,4X/IK,BR"D?C7*M5UTAV]4X/AA2G!L*^GF0ZP_$:O\_>^_>U$:2O0U^E0KVG3=F(I3\\GYQ M[Q)!-]CKWI%HNW$[X!]'7D%82'XE82Z??D^6! 9)&# "))$Q$VY I:JLS'.> M?$Z>V^:U%;D5\0K8S0OL=F:$@"09/8T:1-SD^KG!<61\9&6HO$+J/'3'AV))<=2(^$9:+PF$=ED%$HB^,"" M$QY'T'@F&HI,TYL7T?A7<.K2BL-&]>UG1;*>YCAFY2VRQ]*9#$6WFV.P;-MG MOG,2XN"/7GV@'XNI-D>4(XS0#(: MI0T5C+FPMD$X:1 Z+__TLK16+?#P'-RGP,/BP,-T4*S3DJ48$>$ZQ[=3DH-7 M)-)11( )1QC-7<; N'EPW[^E;TFZR&3HNJZ@=AT7B>D7(B I!Z0-/!\]I9U! M79P>T/B,+W[C,X*?J_/9W\.>_YKSYF)_D.%@>)X'L'AMSUJ7'1&/MWE6[B8H M9+/^_,-YBWX )89['6WCYN['X_W/H.3T$YYL-[6W>]AI?=X^;6V]/\MC@?\R M4%K:.GY/F[L?SEKO]CN@Y$?[NQ]3\\C3GI55[]5HZ6H/=[U MQ^AW.XBARM698G=0Z\HS=D.[^XUNSD#PFJNH&7QHN,%1*Z6C(SSQ%)D79-24 MZ\GTJ[[CFS;8MVU_#XV#23V&-ZWGN?H8OYWT_2',=E6?$]GCP<,G]NDP8W8W ML9UNM>.'O=SYA\I&!;J.&U7OI%_]WK/]NG_85KL?X8K^H+(GP\->'VX>*EL- M3WOH/-I^#K7([UH->U7_QPR:M[UMO9^+2C\48K\7FU> WCV'#&Y+[L1;YVL!K]^O%%Q),2OFL M34>C$&>2(ALQ10S#4JB8PQK#VH:XS=$'8MK)BPW"TSL9#H8 1;F2O1\IRZ!6 M%A".7DJ#.*R^P:8!"& [56AW3FHI2?W><=4>#$YLUX.HPWUN?!?H"HAK%M+Z M=^1J@//7 .Y2* ?KU=9)/S\\=\$;'O9CK. ^P\-!%>$FH6I:$)+1J,?B3QO5 M:;PFR:&Z588'A[8?!Y-%)@E8MLXK2:+DVC@;+:.<"0Z;K8#YJS=60BB5:%8S MXKOE.0#[_AB'H)5A]&Y_@>;WPM_CP=Q'J/%K$^JC;;&3&T5>P&=;GVAK\PLS M"98 1)P(D&YNC 1MP$EPK$F(BF=8_$]9(!HCSS #40%*; P6*'J!*:P;T52M;9CUV[H2 MC.%PO?H,V^*PW:DWT(Q'_7ALV]V,3@D@#?;7[[;=J5ML9CFZOIG6@#<\; ^N M=MLP@K74SNM4X]9Z-1\:MZ LI6G/J\Q-1A!]#X;2K;(AFM),50D72P MWF.+@9-*K8)QG(,ASJFSAHX[S N*"TEY.B5M'7TZ^Y+;MEGK!%()C"RN759+ M'Q%CU!$G87$_GMF[Q]R IC0I6KU>=MH>'M;Y^Z\.L]\\K6+1O/1"?9^,P MN_#P>L>Y+KR7(GT*+U+%LV^@!%7OAI[PN]A/W0!U-!VD_@:KR4]H/Y3T).&U M4]C#YBEY4 9,-R8=#A(#<5>:S3Q->"+2D]IG,:"+V.^]7KZSNX=W=M_3UL4' M^.\GVMS\HL#V#D$*F'\5$?>:(H>)12)PY[C&@@FWMM'M36G+\+K,V>[Y#3%> MKS9KT9XE2 ^!57@\P*J1G"G+36#:6:%Q+E)HD_+6W>+ONXO^C%'UX^4^^P-> M?UQ3@/9G0+L+][SX1':VMAE\=OY%6BL"MA8%$8 V>\N084D@;7%TG'C-.O3?12J2\0=T9Z\1=_@.^FD+NWY0]H&ZS>)R7Q/?,??&],,3M=5;DH.N%Y3 MAC?]V(&'?(\_>I'_ZV8_^/'1./[Q%>L&/0#_V[\RU0#ZA=@4$1,3>^W?P_[E M:+[9@XA_?1U^N45%][G_]V/_'".L!UN/;/ 4C"I:O_;T]/-_-8/R*W3:B=?J%64UY3!H! M\;PT.=K#ZM_9343Q;Q___E3_1'[[ M3V7'RW_-*(DC)U*[FS,^$]KA\X^OC']K.. M1UO0.!AS_.3QQ^OU1Q/N\-%GDJ]K)F[]&*^36S_[V6V)6.?T]H]_=MN??Z8I M>YK!TGO=]HZ USLCU:[7VK5WO]S_4L^1(!! M 56LWO5SHO46<)[JK6WWJ_J0^<8$K51H].Q9 5@%B(1IB#X>9Z_K/)"Z-/0.T.#^+C#?G6_Y%H-6K_L=-ML8@-C!FJ^T M#VX4#G?Y.\=D)W=KWQO]R.,:4_LT0^XN=5I-X_"<>OSVR,8\]ED.-S> MQ>8%/*>SL_5)[.P>YM Y#N,]VM_Z<+KS^3T\>X_L?@?&(6U0JAIX;DT1EB55_6FA9%6B@^_Q^LN)H"># M\%?LUS V%QBE+P"BE\1BS"MJ6I%912858\=U@="'0.AT>VZ!E3="(T<%0&B, M+O?0U,B V2.3Q5A(O+;!Q#J=R$:62/=X'UWY-HL+')N$#BC_X7D M7%"L.')"1//2)-N M@D3A2G,&BND2U@I[2\'$8+GH MT,A\>%W=0&\O3KOT=.B?>CD+'9H[RLUHU.%CB" ! 6D2">)26.0P4]DVQ%X8 ML F- 8L0-]0,F+M_(=O28;0PH2?"A\*$YHP14TPH)1.5P0I9FY/"C,?(,, ( MQ[@#WJ*9,+G:-5_7:O7ZERX7$X*M,L7VJSL:6F$R]/9R10L?FC?6M6;T\HA8 M66,$1:SNJ>B-1-8(C!B/B5H+,H&!#VG:$+2T\E@>@%AI/C2&B!, ND*&Y@P0 MTTU7(R5)4XQT\ )QJ@ @0N"(*N*,TT'[(&L7&IE.A%CZ8Z'%8$ _#\"J,Y*J M<3+2'(*O?J$2TFN(SF)2>!LCC8XE'B.WQ!,2+34F..;P+8E;)3IK)7!Q1G26 M\C37S0H(1\X1)W7E$&I0L+!K:DRBM"9'9Q%#&YK.RU" ,$;Z^@#*W%:)X\4.H'Y>RO"G M.9(+5.T,=+3>.W."X'VRW18Q*^IS3G<\'X5.53=>*!/'R^RHO_)O5_E1.3<3 MEMBVNU4\B_XD)T0-&M7I8=L?UE[':E2]X>1;!C6@G_ZP';_7U23&7SNV_:^Y M3,2UY_E^>PBO8.OJ#OTXRL3L]BXO'=VQ'L=EG-=ES9=[%W-8'W\_9X"VNW7S MI)#SM[[9?IVNF6\$%_S(_[*N]STN>1V9!\KT]O&W3N\)6[X4 MR9OONR,K950OX2J1?$:FYD\%^!+/MO_^ZZ\K.)O(XGR@NB]-&J>9;+L%9S6Q2]HIR*'?K7;PYVL6W\R[^D'S)55SI7W=8/*YO MW^+)QNT'F"MUBCO[I&!4UZLNG_83)W9IZ?KT![P\$LU2+L0,K%5I:8V.6G/B M2/2,6/N+E=W>URL[7>[QU_/(+Q?&V]^^>H2=_3?*[2!/[< MNOC*]G=_AW$63&NI"PPX%919)0_*G/WL_;@VQ!3IRQCS^) M?V4!+UO 0[: \^DM@'(: >US-$,NK)"]=B9BC'*+ MM@X/KC:Q/+O#[9&SMV\/C[0,LN$%K_W_K*'+#2/S^S<3$'_Y[*VQH+\%.;_R MJ.9?LHMU)[T?R_&H'T]M/)3]X '[0>N/&?L!)9Y3YI"V!/8#EQR8!%2BP($7 M1.%)[E^UP=?I]';P(AE!]W.TKK KZ_9N7R_AQ;JRY&/_.]"S6UA@I]/S]4\[ MZ6/TO8-N+LX].A#XHS<8#EZQ/XNU#KXD(ZQW"2-F4PZGRDUTA4Q(>F:XUK J ME"Z%/^OOVYH<9&?4E6^ZW:T9RQ^];H +:C'NUL<"=A1G /^I@W R=7G?A?O$ M:XZLZM_M3&YZ)S#.,/C/RE8GE>O"_%H9T9\ZH/BZX+]61_0%JI/FP=[;"3># MS%ZN(R!A7(PK'UM%U:RD!VP19_J:273?'KB+O0;W"Y5_R&N_GKFK^P=>=LZ\ MO6?[QG2T:VG+;0.'X MT2;=W_UZVMSZ>%@?<.QNDM;%G^WF[F9N.'2^=]3$4_'C8"GE:YM;^QVX_K3U M[FT^X!#-K4^L>?S^K+GUE;5VX1X7'V?6?,.PI$)+A4PP'G%-'-(D*.2\-\EA MGQS':QND88"5P$2T#CC05CKGH M&#NCD)ZRVEE'+5(R)L1=%("Q&OY1T2HKF"-U6_D&4XL41%&*Q\Q7M3UA-+O2 ME%"24^V,)CQI8%1)2FR(+O1I\55[BC[1Y -)+" BDD4<%A-9D@S2/ %\!YY$ M"+7YJ!>IY,O*,J3E.X7\.W;@CP>-ZB!V8]]V:J9DPW&[VQX,^W6WX==5O/@A M!JDWUG#M+;:<2R(U%I1@B77D,E!1R-*B(^JL*GLV12>)QB@X17.$D4(NP)X8 M Y%>!7#/DI//G0@RL?:+5N+R4[=_E89T(XFJJM.17B:5 MZOJ@KH\I#^FJ_NRH]E2\TN. M6:HTCANP/^:/K[@NX3CYOIZ)7.*Y3HD>Y^?6P#+*T*W_#%BR%P%47EN)NFL% ML$>E-4YN%, ND=4ELGJ6,1P-]UY))UGD7$=GO!6&6B:UXE1I/;NHTK0-?*_T M^DERF _;IPGD<"\.?R3?_[C3Z$N3#0]>@UF]Q_9VP4"^ -.:_MG9V\>?>&OKPVGK^"W0TVT! MWX-W]$!C/^&]HS]3<\;))?8V64XQ$DYBQ+$.2'.PLHF565:8"75?*=-0\M'] MQI4A]WC(.RT#LLRV,1TU'%-""2$\6*F=H=Q@29/2$J?9!7B>"45&!.%M MKW^--9 ;T $3XM^$D_XYD(<"%O%Y3,)6FX M9Y0F2@IA>3T8-".I5F$*N$,< MM$$F48Z,922F:(+5++..'PH_']:Q?$=$5ZUY1CSC1T'NCIT*;2OAP(^J.KU0 M?*-0BOL#S(P<2L9@(S%*(R^ 5X ,<&05=DA&">33.2TMF#5&SZL/P9*><:P* MH?BE.L*%4"RMOD\1BF L=U8Z)"R5B LMD!:6H.B,<9HIYC$0"KS.V&L_QAA% MR]_/]Q]G>S%+?&>)[YRW2XL9XE@4A%C*E=568&%4L,8*S3112\#8R@G1?.!] M5I:GH0FL12603Z[NR1H1B A'$MB3:AL -RN95$V-10T7+ =-]W%J/ M#YTL?'") &/:K25,(-$))!(5 !CUV9(&?/#G4=#Y]RQ[ M[>Y)O>370I'O: ,QEF9.UU6.8/S6&]2R\*;NU=S^'G\$+O[K9G#I&)/PCZ]8 M!_!S,KS]*U.A8B\4CDKDS>FX_F\>;BWL5B8G!)/&4LJ%U%HGJT6,P 528II_ MD6KM\DN'_1_1<0<1N7ZT7Y%-\(9O;.?4G@_6_N?&1!RWNVABXB?G[/;%>_I0 M\Y\&E@.2Q(J0*G?A)O2WZJD1T/:[L!D,+OOG+$Q(^/D8DXX^L2;]0)M;3;%W M\97L;^6?M^%GP*&+WP_W/[\%;-D3S8OW4R'AK5U_L;^U=]J\Z!SM[/[SM95_ MWNT/OEXTCSZFYJ[G7Q13 ;[($55@5G*/%;(\1L2E8#KJ M2(BD(TX+0 #[049R*C2ET6,MO.7""JNHQ,PZ@1ESVIG) /)6'%ZVI,CMN>I) MOQ6>;HKB+&F= *;1HMTYIF?L[C(A7["[MOUF-VRU,Y2%Q4I#>':9.Q!?G&/$ M>"F0HQ8D37"/C#(,@8GD$_5">[$N;W?@*3D9 M8=0XN#H9C%JX ,7T)WD;A.M=EHNJ"\K1_J$T44]FY_V_(VF]:GK9TTT@&Z='+O8 MWTGU*<-@YV0X&((Y"#-:GS@LB>?NUPX@Q@?Q'WAS=SM?1_+!>_[._E%H[VR] MY_M''\[V+F DNTV\=S3= 7I_Z^"LN9L/*CZ)UN[^U];6_G&+ON?-H\/CUM;; MHR;=[S0O/K9;N0/TC&0T9@)13G D8BYFSQ-&UDN*+#&<2T=2$'IM0ZD&EO.J MXK@PCKDY5F]]U?@P]^)/!1]>"A^F''4^6>N(UX@';! G%"-M<$3,)$LQCLHK M OB@&Y0O.3ZL *];OFBWS1"J;[UA[ [;MM,Y'QT6M[\#OXO^I-\>MJ<;>;[2 MK+WG86;ON[Y?]U^OXR2.>]T1YFX.A_VV.ZG/SG=[/V(M_K+G^>+-?M]V#T9] MVPOB/@1Q9V3;Z<0$%F4 +,S>,[)P%(O:T#=L^KT]Y))U2'8 Q4+L9N9;O#]N7QZAQ(_NV) M=ZN^C<^_G=2UE?FQJMMGHP5]V^\=_U&;;G6:P'1<_N8QK-*P;.[SVMQW9KC) MC<%8>F=1RJEJ/%F-C%,*46FC\U6SX+X/7"Q_Q;)UOV\/U29!5>V[AGFM/+I;+2YTIES0ZI]K!V,FUVPQ_U M4AS$K@<=%D@ I? :'XWL5[,IEK",\XVS_>AN<=G+6V#BY:6Y_(_N[AU^;%IXOFA;]H MO?MXM+-[>-0\^B>U=K23.:W1F6U M(8&::!4' 30Z:(.M,0&NETY/YB9>6X4Z<^_&.MR9Z'JG#-\[!_;N<=]\3^X% MP0R4327.B4P:1(]YYBFG&%/_@EF7]1WOWYGLO]$.XN#A,_O<^:)_QUAEA!@W MK6*-ZG+,SSV/L\=WRR&V&2Q,OX:P!9'ZSD@Q<@S?"T.GK-'^98B?H(II=F]'6K$I#Q MG.\\B%48[6LCUVP/'KS9[>9G?HS?>OUA!5CX%@AY13#Z_S(UKY.P<\&9*N:, MRVHK^IA/^T?W9Z,'T/7J-5M]O9W]W;VMA8C M&$DU[-7_;52G$03QO'*Q&IRXH^B'^:-./4'?^CTP"S+?'TMQQ[:/QPT"8P6F M0KMK^R"\((0@ER"X[F0 0QT,UJO-6P2Y4=]H).;Y)JG=R7$%]6_M0?7AQ/9A M34 C;DKS^!X8?:@'?!K[<7QV^;W7^3Y2!=L]OU*IZ1=8GU[9.8K\/:D[NT[= M7XZ?7^Z^ST72_PLB$>/.M]BOZSZ,-MF%(>67QP/'K:_-NK#5)MY_]_%X[^A# M[B4J6EM IH^;9\VM3=[,!/WXP\54'U+ZX3P7MFIN??RZ_PZ>O16^[NQ^Q3OO MFN=[%]NGS:V#4R#HY_M;K;2SNR>^N*0)S%0N:!IS%2OGD ,+'RFE.;>1<2#M M4V25XZ ,#S1*RT723B4F5 C8!4W]-"F_Y#+S+3-S]RANCEI0S9TT#%.;.,%& M&Y^$29I1DR37XN4H]D\!]G,$",GEV/L1<"0.A@ L%0S$Y^ZJ(?8!?;K(YY8Q MG;J62.]2N,=?LP?].(I]K/?@O/_'OL_(E/&OW0TGN<\,_%K?LY$1\31V.J.& MK/W*5AG]\J0#,O9JB&C5A0@@&OF! Y."

+]]YM]+OPB-WTB7K6]#2>,^.",VC3^(+UH& ;9X0%E@AT!2,G# !Q9 8 M]BY&E<.$R*0ZY\WZIPTY9*181DDU#5P'@!V)P>K'L#TQ;)TMZS>/]=LC7U+ MEG@FVC_$F<#+L'?=<74GKM#T\O(;= MHTWF7@B.D_4 UB":( W<41T,O&_ \&N(1!8$GXM ?&5?E->.QA11,-0A+B5! MV@=@Q5%HGZ2P1))9")[GJQ:'T [7 S)J@V:\_?='2G@%!V/+_[H8U#3C6G&U M'Y]WVA:$J#T\'T=X3-W-Y@)NU4F-,EG"AC;??[3NO2Y_J% .B$H +B M47#$6>Y6ZP E91!4D2BLX6YM0\S&Q]M/PK+\#6<)33X7RP[IJJ;)UX1BVKW> MK>-=YU*IGC](9K;&8_P(0_P+M"-F__G83X[HJY.2@[,O&"Q#H[1!)":-N \) M:64E$IXFSHW1/,(VRM;-=.[2O^9X:/G4Q5%K8I^.E+G'U@1BU(%EAL=R9<5K_8$W#UN_JM M9%^^N>47[?ULQ>R"J?H_FD<[D7CC@.%&DJ#!*.XD"L(H;IG%MDQ.(7?GEPOFK! MI97$I;DG.15<>FI/+PDT@8&>&BLS;I1/S:!FW0Q^<\ MEH)4OVI1+0E+_?NPUQ^BV@'X4YKZD$S2%4H4?09B5Z] =F]>^3 *0#X (&=W M/7:8SIWH%#U]K)Y. M$9ED$].22&1"$(A'SI'E@B.@,=A1ZFCR;FV#XX57TQ5@,4M]UO:/[;=K+_#C M.U?TDR&J,#(D8 -/)79SG<35R%XTSW?\\?/[SLRH(/7^("IH&A!T47GN05%GP)% MIRLHRH"I-A)Q24VV46W.J18(OPDZ(C]R@B\OP5;/Y[F5;;M,-<.O?\E:=V^;,OC+#@,6-( MNI2ROR0G\VF"E.7".2J2)&8JM>L92B'-EORW)[!NL0*A;1^?'%??1GWK!N," M+SG5^.=%7@93&6"W)JU.I(;-0*>E21+38IWS>R=(/> S37\M1^RGV5QDG5%] MK]O>,W=GH2C_[*R1M^W,&ZN]:/OW2$9X0,3^4N7.C*J3WYB 7SVP>PAI6PS! MF&WRC"H6U."6[IV1]43V]RLWKU^1]?QK=15F&=I\MT=;G[?YSFZ33%K9 MS8O?X;JF:+[[0,":/FUM?:)-^I[#\^ =-D_WC_8(C%/1/&,;.V(1O$S"M.YLF-Z#D%IRPR<('.\5^"_^(< M7T#8VSJ)+7CR[FGL?(^CE/<">G,#O?8TZ!$C /.X00P3@;@0$EGG#%((K%,%IJV:G"6*Q,50)L7H+7^ MF :T((GE42<44J"(*VJ1,<' 3T0J0P-W3F2C5/)%2D%]'?Q,%7ZV8H#VMG=2 M#MGFAV8!\O3N@"@1AWQUE 5"! TT5#BT?9F(6@/T$ MI)&F)$>/.*%2<@0+MK;!&IP5DO:LBCF:W-&_N[VA[5P%R8SR5R]#95Z:R#W. ME_R:\?"A+*\ X=R <,;Q&_/<:$D5XI3!/S@2Y R6*#+*=2Z6[A0%(-0-PA]= MR:WX4.=8^'4P>%.U<^13' SG$6NUDC3OWXN&:Y^ZE[U"8M@^\W#I*%BL@-R\ M0&YGQI$<3BE&%R62PEA .B602]:"R&D5(TG*1[6VP1LTQZ5-8-Q_"M%[4 M(5@R@HBC-$C%B;$<.!YKF'EGH]W=!:$0O)\1/'_2[V=@'+?D+3QO@7C>+5#V MQVC)"J+-+6AD=W/8O"Q4L+M]OK-U(+X8YZE)P.@\RYV\"-BN+H,;X]P[1Y07 M!J]MJ(8@TU9K873/=737Z74/1@5T)YN47S8&;<>\6V].[!2P6E40YI)22B&-/D3$V(".XT#I18ZA8 MVZ"RP?&\ZA[/0X\>M==<%3BX*FAPH\S!K ('/R]44(N>E MU2)&4(B4F.9?E%R;*GWP=-G54_F7=79UJS>,XR1H7OWO_TM30G_[:9OF.:3I M?XS?8_.WY^UWGWBS7?_?-U_UQ23N?FM/#[:ZC3I'F[NPOBV-EEKZP#O MT?<4U!/O[QZ<[G_^^'7OHI/R>)H?OA!6=U\@B#O'@:[!3U8DT$(L&3?2><6QD")E)$XV(*3$QF\X]78%K4[UV.8V8!B+N' M<7/86%"IJ,':<$ 7)VWBE&GAA:?8NA!N+<5QLY;(<^O,;A^^/-X1O\&\Q;HU MN[?#&')O]E'O]LO6Z+"=U?M5%R[K.1A]/5^#J^("+U%2H=KISBA_T,@MX0]M MJ/[7TV_[XA9,N.K6_M>/:=NYFK7[;?WRM>'&[B;_DA*.5!@ W0@[-M<^ENL049.6S[PU%)C=QUN=\>@-3#5T-, M$?@9[/:Q_SWKA!]#^Z#N!0\"$W-SU^K4]D%]AN<3G__X[12V@JI7;]K'69%J MN8#_^MY!MR[: PIFAY6% 71[P^H\ EV(G39\(8;UD4!_'M7N]L.LCN-O7H"6 M?OO6[YV!K QCYWQ,51[4>YX9$8RU0F!).=!;G$-1JU+X)=T>B(N5.NL8P>0-.:H>)D(^&HL]P398PF%; MUR!%((C4GJB+#+! Z^B6",0*(*\PDHKJ56* M*=LT,]#Q7UD(BP3,6P(. M\)?$J!.$.P1@ 4CB% -2K2D2EB8/!)0[#!(@9F+(#0$0]?H/K\*)UZM=P J8 M^7C0R_@2SWSG) !5RQ!RY:/MY2_<#X7@RG-@8=_A S!?VUUX;#CICS_/M^I& MV/,LH%*_ZL3!8"R0G4'OQ[/;W1%/RL)H7>\D>XO'G2U % ?M$/OC#Z]X*TA) MNY^%&79,"YM\KP,_GP#-';8'J0T7S![R>G5KE;Z'EOY;.)I_:9M6SG;R:[\L M9Q^?%8-4 2_*,E33M6ER=&S/J]!.0,:J! 9V+8<_OM'N?N^U??X%UMF/#>[! M>K7IZT";O GZV/Y>BTJ[_BV?OH!\#>L;C;Z>?Z\C<1IU\ '+5[(5L@8S)7'?1Z89"E'*#V.XCL);&L M_W9Z&+NCG3U/4?TR-P2[G>O#P9]"/2FVDX=P23%!RP8P[.NO5]^NMGZ^QTM) MAS^/2LSEX5U]UX$R_?RYUYX*REH-8(:'A_7TUR Y'7\QC , .8\?9GIKE=_ MW!C?3\K4987?@OG,F\OH$S;ZB(YX^4O8;[,.[3B/4]L7Y_9UCQMG7Z! MR9=$,(>$S,VK$M!;S2-&.&<+J<"9Q12XR?ITM,&5X9;EX2%K;I,VGAMI@A)< M:V5] !Z4A(:G$:44%;6?/YK?M;:_,)APDG"N4-9/F./SH))DS#*6N<5 M(T3EM%?RDS5O '8-LH4+4-DY'W. ?MX)!/HWW%7MN1QLOW@VZ- MF&">Y)YOUVMV99Y>WSZO[1K71_D(41AM]+%;'^I$ZP_'-QK3UKQ)3XO+UN7A MS^4@\POMU.)R;5BW#7;9][D'AN:]/M [N("-3F"M?% &R40PXM@*9#F62.$( M5IBR7-KL6.3+LM.55;]KU3%L=:HA+4!H2EU8@K$U"=G>6=X\%B21U1P*+X^G1!RYL^C]&657L5 M3NW5%E^;IO[V#6OVSK02?.BV\Y !$ 0P>7MN:#.YN9J=EW5F?H[50>R"!9Z/ MK,:$%9A4)V9;_/BX/1C49V>UC=\>11'-XC!_1Q")[D'C\F8C4A9R:L5@V*\; M2US>O7%%SXXS,[H8V?YC=@3\;'C^+0>U7YR!45H&H CYA0"G\C*;Z0;(Z1LW+G53[//.CUS]]4 M+RF5'S,CSLIR+4Z:1?6R@A IQULB4[^5+3A]OS"/O2 M=*'"OL1SA7V-9>SCI3FYU1[X3F]PTE^4;BR\>45D/L+?-T];1Q].F[N_'^[L M?OS:HG\>-G>WSUH7;X_VCC;I'OWGN$F;YU-$YMTV:6YM4B P9\UWVZ+U[@/; M.]X^@^^RYN=6N[FU?[3_>>]B[^+/'(!YT?KP!:24**-AYJQV"*88B(P/&F$A M+7&8,T7P) ZK2)S'SAM-.>=2.;!S4F;44M@H!)^,^/H55;\C.&P)B?6^]7829%JURWTGC5 F^YLNY?V&+06BXK,] M==KKAT'L7IE2^+4AT-'!^1?N/66)>L1 4A'7UB.3 '\B2TR( /9[ $-J>-J; MMJ/Z5]-<#2YQI?:(#6K!FL$32E.W:TW=].(W=;L;UA82T[-7%=#JKW[/Q>H/ M"UI^*:"7 1S5W^>#83R^^OOZD_,??QC#22?NI$DF=&W7_?U\_.$KYD2DN?E% M<=ACG<)(&,D0E]@@ T*(L&(DABAS)-?D#IS#<[1,U@-[XLY9*W&RA ; ,>(2 M#9.<:!2YD^,6ZO/$$8J='!_;/@C:R,"?WD[!PIP&O>K?(?=^ZP^JR0YRC^%0 M,_7QSI=33W=G)FG;!?:U+W\\^D4F6L9:QEK&6L3S%63N?9 ?/6 MHA9<_,@5OY%X^?/LRL5N(UG7ZJ]&+96J[>P(?%Q+R7L7_"5WW^3>":R+/<6U M8[4:^U0?4T7Y[ODHT[VVT;1]?UA1.7(K/D2:'] J=D7FZIJ5=Q_!_'7Y6[F9 M&]O 9=8>-&M_]/I@ >8CSZLXMS*##]NO<\V;^;:]7I&9*5A6L*Q@V3+-X#26 MO8("9N. FREMNV>MG]=<+^RU5 23RIC$M:%1&FYTTCP%[QQ3"2MM,;TK=O:V ME.?;Z@9MU^FO,(V;M0,[AEU[MA3%PG[5QW)9+ SO[&[CUN?MLSP>^"YM781V MZ^@K;F[!M5N>MW8_'C6/#H^GBX5]$#G8=F]WF^_#.[:V]EB+OJ<[.7#W\]YI MZ^* M-XUS^&^N1_IV62QW)C+%U!AD-0N(1XI01H6$FFN\MI'(SQ;VR!4-1B= M5T?2IRT']KPU%0L*KCX*!ILL)5A:$BG7@(E6AR"=\R*EJ-F=&00%!1<,!2\F M4=!BESP1&@!0$\2%I,@I)N!7[D,R5E@JUS8X;A ZG8E00+" X.J#H)4^:.84 M9=YQ%Y.5)$2C8K3.$%";YP?!U#Z+ 5W$?J_@W\/PCTQUC/'>"H(!]8QEB#LC MD&:)(JVE$R18FH++]4OJ(/,"@ 4 7R$ /C:/M+# !4-!-HF"C@C#A8K(.B$1 M]PXC*RU%C":9LX^/4$),",S 13A@GN'7/CX+E2/#7 ?!\ @ QEH988I U*9\)*HP \CCR7(48 MG,&*L7(F6!#P-2,@,2HF&RVH!!C#(KC &!/>,4>$DEP5'KAL,-B:Y('$6!NU MQ02K9(1/ ,-!KVU(T@![J.S"*ZO &45>.[A&$6!G^@@:RK, M0BH7B',"-#@YQ'-?*>V\13KIJ$URRE"?C]<;'*NBP[GGJ,&OH$S/R)<] MJNK]2Z[L&:^\Y,C3K3N$S->;?84]&69&P-.LY_ROV/=UVY,QQ"!:,.9NC/E[ MAM.::BJ\=$A2%A#GU"&-B4:,.2#Y3EOA@>HSOCZOK))' LP+2/R_?JDH[QWQ MB@4DYN8Q+R Q9Y"8#-/"7/-YG@_:;;KLS[OI2='"N.CCET8Y6F.AQ1$'S'/D?%#)$ M>.13%"02@,^DLNA,Z%_9M)YHTWJD@[EL6G-6F.G"$4903'A"))$$QC.HCJ.> MHV ]M99R$HT&9BO7I\^]RJ950&(N(/%()W8!B3F#Q Q?M5$$U@01RBGBRGM@ MMDHC38'8"DP$$*"U#:Z+^5M XJE XI&.\@(2\SXCF_*'"P[$3JN$ !,RE0 " M[J*,R'I/I8@$TXP2@JX_.IZEH,2+V+^_Y.@N]N^3*N&D(UM[1S) (B9S6!D- M&CE%#3*)6944<3'R8@ _W[;U2+]RV;;FK3%3[N,0>(K>).1" (T1W"!M;$!! M$NL9_!-8 '*KUN=5-W'9MZT['->7G9UAHN+/=ZER9;GR*:]\4D%=.BU8N@&7 M*U_GE450RY5+<641U'+E4EQ9!+5:"R M==&\^M=>JB^ >]9?ZOI1[]S+6^>/1\_K=0?KU1^Q/[3M+BS \3>8Z.[X"KA! M;VI4M@\C&K8[\&HACR/$8>P?P^M4\2QZ^.1[K.\3NX/16&VG!U\_;0\/JUYN MW5L=1SLX@=NM5P]?E659S1DMBV$!,9)UW8Z/0^?!IBT/%/PQW[LC"8: MYM0>]_K#]L5H_F EVMVA[1ZT0>#K-1X.&O"G[[!.O?YY_8"Z+NSHLRK9=K_Z M;CLG<''(LW!<+VB W_.M_?\Y:0_:]<(WJL$A+"=R=A##C45K7$K+L'_BAR?] M/"X/UQ[ 0$\/V_ZP%H-N;YB%,\!@JIB?.'Z!PWA-T!I5+[]Z-7[EL2B!;'FX MU[#7J,6L'V&V:HVN!O&@'O#ZW(3C\C"V=7(,B^GG$'MT,XEGJSVP!P?]>%!/ MW4X:U[CO';B__OQ?/]S^.8HEZUWVZ2YM4E;6YMGS7?; MHO7N ]L[WCZ#[[+FYU:[N;5_M/]Y[V+OXL\$?[O8^?#%8>EQPA99*A/BP3FD MM9-(,6Q]JQZG1!VK[O> M8>/='3QPS>$[PK Q*MTLXSNCDN]UUU7V2<;^R_BNU$S?U>YA/\:J"=<=#JKM M;HCA(-B,EIFRY]O'1SMOFMW^Y4I%%E7G2?D)7[O/GKFL*F[0.5IK*> M0SI7D7O@O"_%=/W5[[E8_6'[8?#D\K:*\_?W^6 8C\O<_=(.T1O:SCUF[E5. M3E',HIB+HY@K53/C5N+P-0[?/"90>&Z2])21R&6099#+/\@Y-:2I8T#5NA*+ M@DVSXT#?YC?IGU?_VQY_^ZWZ;^^@[1]3.6G%^HC->L.%#NM]0'FTR))0B4NA M,>6&,VN,LE9+J:WE.I '%PHOW<)FQL&'KSN?WY_O[W[ES:U_X%D?SG;>?>#- MH[>'+?KV<'_KX]>H=?3Q:#(.OD4_B+VC/SL[NP>G+7BOUM8VW]\Z.&]^ MWF9[G]]^;;W[<+'_N4E;[UHS^_)$K@)S7"'BA$2<)8JLQPE1DVM;1(.#P&L; ML, -(5>P(''!K97$+>\H5H)(2JGDU&&'&98D* Y8)3PQSX];*]?G]=D@:ZK@ MDM1$>:,U2LDSQ)/)5=E40%1A*1,5%@>\9Q\8Y M)Z*,(BJGD]*&%ZJU9+@U5:1*)Q&XY1)%J8!J!2Z0E@!C,M?WXR$ZI6FA6@6W M%N#5'M*254L"-$LK2ACG3+A$8HJ*1# 9K8VF-)1>,MR:[CGE@I%$*10Y4%BN M$_ M2RF2D7A)X5_M,FX1WB!TNF%&#(]>>JJ9E+*8B 6R%N#5 M'M)QR @6A>:..P>X1:S1&*Q$;7VPC+ 7@*Q"M1YW&C]53"T:%HUF&'DL(^+" M<^02F(P,A%J$!.8B"8O(M>84H;$D#M&MCYO-TMCD%I0"J\\RHPT+WG%,F>8R MNN!H]-H;QEPYR%HJE)K1%D4;S(VE 3GG*>)&"&22CPA+(0B.N5(^J3L@PH6+ M43SK22)+7KVB2TD5B439%+D5RGE/DW4R*AG N'J!X(!B0?VJCD\YV0*A*H40 M$!A+!'3<*:2#D"A%K6EPD:HX/PNJ*/G"*CG&"FP-+CCEB2OBC*0F6&PLDU@$ M4G;S9=/T*;<428HJ+"C23G@P.8A!SB:!@B/*"<9D"KCLYBNOZ(+F:K5*@RPD M[HQS2H=@.;->4:GP?=H9%T5?)$6?\N,$'KRU/"#+N$8\DH"TX11%GS3!'BA< MI+F;88.S!6E55A3]*13=.Y+X6!X=GW)\,%@R M@W%$G@4'M#U*Y)B(B'EF XZ8)68+;5]])=?$)A6PD D0WP.'3S2/C4E%$R4\ ME=U\R31]VE5@*0\D*H,2UF(4!FN-5XBPB -8Z42&1=S.7UGJ5,<.#G_)57!? M5^URHQ1A)&KE3%!<1.9BBB(XC5-(.!%?#A>6"J7:TZX"&Y0(S&*$@74BSJU' M-M"($J=.Y?]I"R E&EK)!?)FSBD,H^CY6,^5Y#F/4.?ZBSQAH;7B/ 5*C& Y MA*%X"I9'Q:?[GVLL!%!+%(%:(I[+0AK%0+Y)B(*HR*1A*QQK593\,A#<"*R5 M !O#),XXT5P(+JR1V@B.J2V;^9)I^I2G(+C$"58)T0!V!N=1(]A$I<.$ M.Q5#VH M8,041\$2Z?B4HR F[HC4'!&:O?Y2*F0(%H@FDI(,W@7J"VM??257PC(I'6=. M.RZT=-K"QLY9Q(Z08%] R-+>F0A,&"D-X5P0)[#FT02/G6.4E&)7RZ;H4[X"#VQ-!QT0[-Z@Z%SK M'&SLD(\X ;@;H&VN*/K**[I,U =*#8M,<>J5,5$FAXU34E)#2Y65)=+Q:3\! M];"71XZ,YQ%QGPQRDB44L7#1.<\L*[3]%2@YW( 1(3A1Q'*CE-'1RL1B/E;, M!<+*&>*2:?J4MP"V:^VHHP@8&1CH .=(2R90\"P&'15E(L<:JP8QCZY*4A1] M817=PSH[8H.#;9TGRC2A@AJ!?02DQZ76X](I^K2S@+!,<&4(3C3A!=3T>685$+/8KH*9C>ON>M%[MP=;S7IP]W_]5<%JZ8EVB061 M/%C?4>@8N-'< M*<* M:UM$*H:C.HY.78?TF5PD2M@%CA\97"(!7,I"LNCPMP+9R@-QC#"*!7< MV!*=OFQP..5:8LY9,#HBRL8JXKE"N0XB(MCPE,9*427%O$Z<"QH6-%QF-$P$ M:PJ$,!BB>0+" ,!HM1(^RIRC]P+1- 4-'X6&4_XWFKR"!:0H:NP0#\0@RS5! M3LD B^_9*(9?J@98!P4."QR^9C@4/%'X7TYWP9Q(:YGV!COO,0]*)UW.-9<, M#J==WLX"[5?4 MP0)RC+CS#!D9/4K<"1>M(X'G##D#>*CXLN#AG/+G%@.]U&Q/>/L81EKU4M4? MZ13\U_<.0)=A7=[H$->,(2>"1K!)!1R=-=&GM0TF&XK,*ZJFX%;! MK2?.8^$\>&J4CEISETN-2(DEM9&0%$-Z@AUNM2<*5O!4$*#4RW@/A M"L8#X0H8!2DUL;!;*2ES_ MK,%T(5P&NY0 NZW",$B,-%,#2'?_ &%72! MH.MU54B^\IG:+DQO[']O^WC3@=J#T<[TFY8"+F,XRX>Y6(!42YZX%]QRV)JU M(D)AX&<^/<_!5T&L!R#6]K0SD=B8&+&Y2+(B^4Q>(,>(1E;;Y'(U'D/BVH84 MI;#BZFHR4 VL+'$D!L.CX 9[*;F7(L&.97"IH+I\:CYY$J2T=S)8AQC-*9S> M8629=$A*G00'5J*T 8,*[*FBZ*NKZ$H8KJ56# ;$2< &6TWA;Y&PI+PM=7R6 M3M&G?%71)A(2)0ACQA%WQB)G?$"&:.53LE'&7+FB@651]!56=!.QQUA03Q(G M3%B!"2$J!"(8[NSHBOUZ(YK1=$75M%S"!+C(4H:0+4!Y!US5.*@ E6* MLU 4?=D4?8;S@%$A#0D222Q U9/SN;LB1TQKIF24R2L@[[1AZ*-=!Z5>\@+4 M2WX%GMQ[OONJP'2IE+Q:,/U^VF,BI:**<(%T,!AQV).13M&CP(Q,(H"U+?RS ME4I>IK"5 H.O!@9+A>25@\')\R=,I?,V=]\4+"!.(D4V>H%48LQKIZAF]KE* M)!<4+"BX@"A8*B.O&@I.N=N\80E+(W,N&$=<"(9@@1T* COM?JY$X'G+GC 3K2D/BS#];2>0"@P4& M%Q &2R7D58/!*5>M Z[O1.0H4,!"+I-#3NB(+%@!EC"PB%-XKE+(!04+"BX@ M"I8*R*N&@C/\V-Y13Z42R"I7%WH*.0C5H& 5F,4I">;)L]5 7J3TN,5 KMD% MD-_%WD'??CO,PZGZ\:"4/2ZC+*-EL(53\IRL<9/TV$UE'OJO Q(2NL15\PBS:5 A$IF#">2 M,@ZVLVYH\^B$AE+RI>#6L^"6H/EP:]+U MX0@3P9*(3*CC8&Q E@:%?(K412^2"FP5V/K)(9V52FK-0ZYN MFS/*E"/)^,024<*I$KZW=+ U%;CB@B3&4(P86)NYB6U$%@-L.49="LQ;;44= MOL>H*;A5<&LI<,L&XJ70EBKCN>+"84 PK64,2B1-27$N+!UN3=(M;X4@Q&$4 METXF'4HI]Z7!K1FB(4=9R 6B5Z[$;*Y'15""O*(O GSUP;# 3<4,\OEY' MP:V"6\_3LXND9'U4QB3&)74N(Y>$/D/S1(;BE7-+":KI@3"4J/),RY*+6+FB;NXH2;"CH/RZ:OG2:/GD2 MQ+@.07&&O+>Y"J+&R$E*D+34!,D-ERFW009>8DJIT]75=-C%G=/"6"4=UQ9K M#&KMC" ._A!,T?2ET_0I7Q48'QICPI!2/%?II5HQK8MW9_DT?7)/#R;B9"A'@3&"..8$ M60,\GJC$N"()1(#EQ)&&48_N^U8T?6$UW;BHF",!=!M6GT9+8K#4&^*%D4F6 M)+&ET_0I?TB0UO*@*:(A]]2VQ"'MO$:4NEP?AVH6U=J&:$A5MO35570-^JT) M5M%[PD6DSJ8D/>6!*",$3T71ETW19SD0%-AE$0>DF>"(IV"0(1&#W1 M-_>U#0JZOE"M"EY7.M4?A^VN_27'P7U=N,N,4S90'7U(5!G'(V=&$OO_M_>E MW6T;6:)_!<>3[N>\ S#8%WM>SE%D.^V>)$Y;[M=O/LTI 41,0@P6"2S?_V[ MMPH P4TB*$H$R)K%D81"H>K6W>LN 5'MP YUS;4\X608%Y_Z[\V+ Y_Z-#0C M2Z'8#='TG!#+^KH*%FVAOA7YH88YZZYL/MWT&%Z AJ#T)O0]M%T'[$S+]1S M!LN'7VQJ.:$?@([B4$'IHZ/T=2<#Z)F18T5$(6!L 'U;KN(&1%=I>X&NAYVB1XWBJ2PU?M$X:'Z6OBW37#RQ5"TS%7<,OI1*YM>9X5 #J; MMAGZIF-X88#-FG7-]0+A:A@7MPHV;P\\P[4CE?B*I;E83@-T$R_4/26R5,>T M-,Q)T%G@DN4,J76KB&'$%J")VX/Q4?I& M32D+M#,2:0JH;3[F%]D*$'JH:(%)#=3@;#MB.<.N*X*1SY?2-5/UPM"BGD%M MT\$B8R:(;M=U==?QB"FJF8R.TC=N#US5)R%8XXJEH_).T:5HJ:'BJ;85^K9M MZA0C F3[Z3VK!:$/EM!M-U #)](U$OBF9?F^9GEFH.E$#_V(&+X@]+$1^I;; M \M3#<>EEN)3UU),U_(4E[BZ8J@A*/7$=4,]9,$_ECHDH7Y960>_DH0LBE@D M'NR^.M ("DQ*L3W4 M20Q354@4.$KDZX3J@:Z9HZ[>@ ( MX!*P23WJ:,;+4+H@YG[$O.Y*0/O"MR*JZ)9-%=-S?<7SG5 AAND9)%#=T(Q> M_0C,7%#RV5)RH-K4!#HU;)V"S+8][/GC>4X8.;X:U75*A,P>$9EOW V86F ' MKATHJJ,ZBJFC<:':CD(#UU=UTS;(C05#Z8"G=5!T2Z#0T: A: MFHLM)AP?*%J/'"W4 R(<":.C]'6!;NHDC'S+4 )#\Q63$@Q'#!W%BAS;-KP MNQ.^^E'79$L[P[KM@M)K2E==UXMTU]4,EYH^]5P["DU+MZ,@=-!U_#*4+HBY M%S%ON/\U3[=5W=4!FUPL9:ZYF#P0*1I5#2,R?2]TP-2VW3/L'",HN?&H44^C MMD/\P/5,1[=\/PIT4P\=XH#][5(AL\=&YEN<_U$(G-I142O'VL#8*LIWB:48 M-" !T0D89UAR2)89J*$WFJ:8+^Z?A8GD!V14^2,R9T$RS, #F^'EFF3:EOAY:IVI'M MAK83Z:8@]+$1^L:] #4"UW)=1W%T$.:FZ5L*T2A1PI!J--!MU_!5=I?O.4,J M=2HH_0CW@W[9O!&$8O/K1E!U7) >=+Z$3*W1I:%,?>_O:ON=1S8;3 M]RC53=>Q1./FT1'ZQIU!%.HA'*>J^!J-,.F7(J$'"O$UWW*P106V)#%ERQ,2 M_7P)W==T[!]I^ZZCFS9Q/4?SW,"G9H@.'#T0A#XV0M]R:Q"HH>GYQ%% :\." M0Y@\0,P(S'0PVXW T2V;O/K1DXVG7Q"*C($#:?9]E6=S*O(%=A8@,?U0L\#, MH)YI19&KZ13^/_#\P+,<.Q(^AE'QJ2^WF[<&MNMJCFIX"JB=P*5TS5- X0P5 MQU5=E]BAY044G8FF+H*,SY?035L+K8CBA:!J.D'D1@&)G"@P33?P;,\6A#XZ M0M\H:FQ[JF/KOF*I!L6^29I"B&,JEFZ[*@VM0*7JJQ]M&5!2$/K9$KJE&=0T M52,TK-"$'\$ P4*"CDTY%C>XYB6@;6%0NH0N OBD%= MZF'C&5L+T.X0$OV<"3W2 R,*'&I:N@-2W"4ZL2G@!74LVS4C$9@X/D+?2"8P M0CL(HD"Q;=]33,,GBN]030E#@P:A;S@T5+'\R!$<#(+0!TOHFDJ!>BG%HC-F M&!#?U+TPH*IEV%0S#.%+'!VA;UX:!+8:!+ZOJ*%&,0X ;7354, R \TMB@+5 M#9CJKHD68^=+Z*'MA+[G>(%-/!/^AX34\UUB$A^T.]T2$GUTA+[ET@#K QI^ M9&&7 NP6&AJ*JWN18H<@S@TMB'S;P6Z"AO?D0 "1:7!HDP)8,IEG^6'W!A=Q MOQFHOFKJ+E4CU\2:A]0.'=NVPE"+@"^)>X.1L:JO6UH4>)8>>%Z@A&J(MYNA MK1#+@J;+N/KE$J*#TP5*Z MJVF1"93N4D),2U5]"K:YZD:J3B+->"E*%\3'@ADJGN53$A!BV#3 WJ:V)0(1SY?0GPS= +30%:'KZE>&;@ *'# M*6-6"9B5>$7@FD,*6A"$?F3/H66;U+5(2$W'="W'BP*'^+:M&IX;6;:X"QP= MH6\V,39]S=3T4 &ZML$&,3W%MTVBV%K@8TJ):OD6JU[P]"9H@M '2^B!&MDJ ML53#]DPS"D-,$"2V;Q@6L:S <87C<(BTO%%R2#<""R\ [$BW0&A357&QF+GG M4MNT-8N0P'OUHQ#9YTS)CD,IP7!B-W1,@UB$^K[AJI'N:I:F!R]464Q0 A,&K0OGT2.@90L9/+Y4K*GT 4 U.X9NJ>XKN<8N@9& MED&90\T=DD/MF,D!FC=L__^7K"1)WVL6/\M#FBM\W6\,V&J857Y"I6:Y]8 R MF[]!0!19$H?MPT?9VM!@]-T)X7,N[-X.-->/C-!B)5HH\/K0]%PS,($-6)YE M"5_+N-C]KYNW)XY-=T.M-54+0K-%(UG41@KP5X>Z([LJ&[1[KP M/1ZEG3@T1+!ZVA4L]X@L=Z,.+ EL%0X8(*IKV$+.4@C5 L4+K%"GIF9130.6:WFR MYSZYG)1@N8+E"I;[L)9+3,_3MB@Y1(3 ^%=Q;=MHEBA[=FA#=2B8JT<1]:\8W7L%!Q7<%S!<7?4,O$< M&A%*3"NTC0_,L4',]8+K.L:H!@',#O87S'_XKD M$*<587O]3_9G]DZ[0[Y.V%U"Y@5]T_SP-HR+>4(6;^*442![Z>V,Y+=QVFP; M,S37ULCVP!^_O8_#>8R/9UH$A]8?Y4VW"*'H-[/R9J4U%GAG?8K&*M8JWGM%9GKUD?"15KN \P-?JPFKEMY+-. M+A8L1@H$$",% HB1 @'$2($ 8J1 #%2(( 8*1! C!0(($8*!! C!0*(D0(! MQ$B! &*D0 Q4B" &"D00(P4""!&"@00(P4"B)$" <1(@0!BI$ ,7(G C1# MFB0HGC6W?9I'J^>*H6BE%AN M%!FN^3^N^ZKSTI$S^31U+97/64_ETS&+X&-)9Y(^D9KTJV=: YOQ35R2) [V M6-6O)"6W=$;3\J__X>J:\[:0WL5%4!4%IAN2-)2N4I(LBKC !G ?XI2D04P2 MZ3I+P[ALQGRF1964;,BG.2WGIBCJ=U,:=9>R=] M[8^J*.-H\>HT2'5-*H0UR1?234E*=I!P&K2U(=2M(14*BK_#PJ/RDS*X^)KP5ZMTH#FN#Q\ M6&:<8NHO[?X)=@%+&55+OE5 = K"G@/6 2]70>\G'.&(DNW>08O\%Q,^#6)_ZQB8#P+-CX@ M3F%$7J\*!\6S.>&0($&056E9;R8-87>PUX^ ,=F,PF0%A2\LL@I^3($]P R M50C58F6K_F(#-O<93"4#:!'&A82L5%??SLA"9C]J;]L_(>*L__$^3I+UO\%* MDW#]C\5TVU]Q]\'&I*!AI>M_(["C()[#3M:?^#2)Z=W&GRD0UFS+\'E.PWCS MFX ^< [-'Q'X[6Y89NYR'D35%-A4&=]1*5+E<) +20_NP%..XQ2/]8UF3"RF6O#7_?R''W=.51.[J?,VK?.L M8'+O34X3MOPZ][?.U^^\6&<.J\M7B%]D257N?J6S[ #62?,3\33-6P5']]]I MOM33;JGBYY1\54@$BWU#DGNR*%[]L+(G."QE#8;KV]]]#D-F^P^R2.2T60KR MH"855(@D'UA,B*(!N2'PZ1RE-2=?KC)QC(>'\SQ#)LW_YF=5*4458V]8DZ$$ MKG65)'MP:.!^*$WV$U"X9+[":@Y/XY37\ 7C,N=L421=+-E*]\4OCTP- +C+$ICY:YK=I[64Y#\SN2FO"LT. MLXI WF1Y =\D)8BN!K)6UZ M!P*CGA]W6U3S.:P/U)4X70=7YWO7G_[OQW>*YG5 >)MD/DED&'6+ZFV"VTG9 MT<+/\PH..I"FE"3E5&DF"F ?]3'@2I=B'U<"0 &4("3 */I4T"DP1PW#28@R'&O'Y %@I_0;J7$FW:T^=1? C#+GAUE ] MG#=G(5(9EPEMA?%G&"Q]X%_LRFI 1'H/LR%8V!>OTA21=0<1_Q?2#OO,@L(6 M $?@$^]H0&<^S?DH0Y,EK#538\=!W"$ MA15B.8 T *T,O[-%,M_9,"*=NBP M4D@+P @?N5E:OU2T$"D.UQS<5F\0!M%#DC%)LGLF&5:]":3Q)M3'ZR._)PP[ MX'S_@#-D&(N&$)>2&<(=<1J/'RO+,&)?V@U=F5N3/NKY0,7I K\/TH46C?'5 M2R!.I'^F"1)^ ^C?%1,TO45%MCX'Y#B8;MK?^I M*K8HS[@J3J[-0Z (Q.A,6CZ2^;H_IL&$4QO RP]()B8Y&C3]<>;77KQGHX3 M<]".DT]W-+^+8:[CP65H=-A!#@GQ0D:)&?[)\9Y3PB]@O^2S+*>R= U+!H:> MQ@1T Z E4$T(4P] %;UC;!!>7X^SO*-G9\Z)6WV&Q%/4#,$VE8E$ M7^*< "9+EG]@GHM\D8&:!5I,_6=43)%>?7[7"_ >3(EF_.] MA_0N#FBC\H$FDG/]*\Z#"MD.FQ-4 N"7P KAAV"*4 !I?3O%EVF2S1%=V($Q MB(-6!.*\U@B+@+'@';:*%"@]^*:9_&_ MF2!BRU[1KIE "N]0DL" 14Q!(*&&#\K2+3TBQQP:9P 2X*XVINJ5]QD<%,I M7BR-WK8N/1#49<<)^3O#]FNDAF;8TO%8XW']]XET0T!X-OIWAXZ6:D"7E)CU MN6JU;OT>\V3B*C=G[T.%.XAPVR+6-W;6:,%-/R3G%"P_ 5Z1@'*WVD3 TV; M)&:>@=KTST$& &%3"DPZ+:?L/*(8JSRBVF^@FX [[KB=]YWN3;R^L^C<&QW2 M /3$@B%L9VGW!/E=#)8J@$-"[P$R!!R-V\/!.:]BV=$.BR(#S1'WV!FVXF<^ MBS/>T'LT"\[X!I; !"20[M72'_X[:-9!W('2/PMV[N]K!_ !]T7#@\AVK.]Q M XJ__ ;VA*3+)[O&W;Z)FVHV0Z<#'-DC)_S,ZWYPE7+M?<';XZ4MM[Q4ONDZ MWQAG9]Z#K7X(B;D@&BN?NSLZ.^_<]327&+7FL'W0O"& JO:?@,F'-PY,2ZK% MWZ.KGN"=6\>_5_,X("6"S$MBESJ- X^I2;--Y&N7.Y'>57EN,_'PVJO/ZVPVBSF%XC>IGU>(_KK9 ()^"^B\Q#6\&37K MZLD'?L[ H$N98G95H/:&>NX@-O+@LC^FTM])RH^0'=\]8EI P3P-0?=P)RK' MF([N$)!BVI@O2]L5$6-.$6=_SA&U7R,2U7X4]I?:A?*]1-#MCYXDCMNT.PF' M(O>W,)K\%$5H.P ?^*GQPC)T!!4Y W,)\+JU:KBZPK_>N(,Z?AKD@*C)E-SZ MF*&[$OZ?V<@*T!N5_LC\HG[V=96G@>&6DZ+,P0JJF*+:NMN;P('.'G + !I+ M8>2'KJB)]#%"P(89NW*94?3M3]=NS&M6Q];/C@$OI[F7CHUBBARRQ@48^,PM M3R0D_0Z;9.^>A0JUV[_)SS=>O6A#?GC=^BM7I,5/)&$6Y\T4H-X>USOTXR%, M;]ET>.CW]746,[H;: <9(,&_X2RF-$7+&OV8!)$$0!X5E,5R7&<%N^U8T7<_ MM0$5+$0"[S_J3S^PUHX4AOD^,D5[><_661AZ19G;9\HL[X#2L%C2$P<12CVD MU-HI$7*CO%E5?>D5'["N:YSU0Y+=L]M(_.!MOF&G]0U?7#3!=G?T?@&4@V.%X[R2:OQ<)8O%JR^:-F+/&(=%=R$2 M'.'^X9:Y-KHM/(ZS$,5 B$YG&FYJFS^^56/!9N/Z@^01ML4MW";];!X.VS)RX_ MA[2K+\RV_Y7;]N_14-ZY0X$2/5%BN:>=76K66]0,&UF8UT?29*;>H+%\E*WO MD95S)O#[%>\C)=UN :@_.[&=@( ?;4@W*,K>WONL[C]6[#P?_?'M[H>T6WOD M#:X7'%/LGM3"ZW':[=N>ZP1@^,L^#*]O/T:!4P*GSE\&1.Q_QB0#UKV:!\F" M+=L>!W7:QL3J29S;C_A96]VN??(@UCK:([+TB3ZT(SH#3C4^;?5G%D#$ Q"? M16,=IX)AV+U96%] G+B5]P4?KNE,W%$=[AEPQO'I<)N7T&\.,N'&M_/]?9,' M*U47"K S(.3M*@YC=@Z_V![P07VN$SOJ-)PV^NDIFL_XY)]F3[S#Y-](]9<1 M'I%QJ(HBM)#>HF4DS.N&)CRAL"ETP// 9G$:L]SZ^(Y>EI])\X2?:>A'9$^< MH1W1Z/C8\!8\EI''U&XU;]CBX4N&->6R#:M5W$.W+CUS8%>&@_/GC?%8U:-[ M:H7L.2_WS-*3Q].OGZ(EGQ/IJ!/M,-UL& SQB(KU.9VJYDR,\1SK&3#$\5WZ M?L3H5JR$] 1^.%K7FCH\SYIP?CY1+@G?YSGJ;2V;JDW9R_)NO@8R^'XX7C/A MV!SRZ9P!?QJ?&O6)%3'F.I2,Y;TN2Y%B94;TMT,3U4*9$LJ44*:V*%.L\J!/ MHXQ7B\3?2O+M:TAWL&;')\.MWO6/") M%>C#6BE/9I.C51N$&4^J?Q264NW-4[GZC3_+EK\JYNFJ3 6@19A76@&K6 M?V8:P5.UO2, ZGSRS%]"%;T8S-2L0]-S!6J.1B1M= 5_L'SG4#IO-^5ML"+J M3:>9QJ^LZUZS;%$[4-0./#F!C:Q0W$&YA:)VH$")W3K9>=2^$[4#1>W )0$W M0^HM&NP0'Z;IHQSU'I.\]/<&>T;GSV1'*G=??TSYQLII5L$\8;$:Q'(9'OZF M.]]3O*9;'0E#V^MW3]KAH U_37=D0Q]_**_ N1'AG.7)GMLWNT)4JRW]"X M4V]9>Q3(#)KT--N13?-I]1V?!)Z!ZY//?)5ZWA32#S[#IA,/9)3SM(H8I[EE M'H! >^:;WM'VW&>XZ97 M-%[R1VZGGPR6<[M@%!>T3X/? M7[!7S*-]PP3LCG:Y+0 HD.\8L/M.NIZ2]'9WU+T VW:4VP(V$=XAOC?6[UVJ MHOSZ'3HCW"=,47MM=7^LNK$/LD1G6"OSY)Z*UC2 MB%B29LJ:?F"A;L&27NB4K/XM105+$BQIG"SIM:;+EN4-J/RIX$9K!Z1-U)<^ MGI-SHLMJ9?KN\]6OEU623/-DUWLX7'T,"3]G?DB:Z"T[\",R3-DT^G9E%(?T MPG3D'-K63!S1BVE9IFR9SOYZECB@%SX@4Y_H)SF>"[L$24@QO:SF+);L.J?Q M00LK>&\]1W0''_@):9ILZN*0AGU(UHD\V^*$]M9S+-!#A3MVN.=CNA/[),=S M <%W=8&..O!.Q-V).2YSCLLR.?CU"V)_ZD'1S(HYHV$>T1W4F M<4BG/B3-[7V1*([HA5F=[.GBC(9]1LXIJ>BR(G*^9"5)I'Q')O5C>Q9UN5X, M/H,FV.>K7]<+2".ZF'ZV:H_#PPVLU#6JRH8G#PH]$CX*[BVX]\56513<6W!O MP;T%]SY[[OU:]V1'[W%5*QCWY?3D?:U9$VUQ,B18I<8.?R1 @$N?*1 @ L?*1#@PD<*!+CPD0(!+GSD M]@YNS1L=7^P?55'&T>+5@\W='GWO:/Y:36T=N%JV'3M@9K& M+[W C:KS;('2,R_GP8__]3]<7=/?OM :MI_0ERF50AKDE!042^]O.3%IGF=A M%91-/*(49;E4PGLEZVTURUAO*XJ]K236OHE?3&NRA/V;9"".V9SD\+#,=KW& M.N_PUW2;O:?+TCTII#"/X9N2OV!OWE/RE:9Q>@M+AIV'O%< E0HZBX,LQ47" MTF+XH2AS?(64DD]O :KUP'(:YZ'T9T7RDN;8K":*BX D[(,23@BSE#'L$:?> MO=S-7;*7;6$:2E4:EU)!$C@S$N19 ?])$FE&_H"E!K#0;$;S8B+U M)^_QLH5NP3G!!P;)!_"(AD'X279/EY124[XLD9K0A^!O;YHSE^[(G*2V*R=%)L8:TJ?/ \WE6Q&6C^ET(I;.,#FT5'-U_IVUKICFYI8H/6/=5(1$L M]@U)[LFB>/7#RIYF<:JLP7!]^[O/84R,<:7\D>",@^2,[(R&P1J72L8:>Y2B M/)M)"Q6"B'QSH/O2A]9BV%7!#N8 @W3I>$VY3W MJ%'UI)3;K"NL+0.@P*S*8:@J 202 ,:*'/6#:PH&>T6W$#)%]DM$%\@%7P[ ML@3+*6,@SP7,$A6PLQ7.L#(_3)L#]&\7S=O'UW4&0:8;2,E4DJ8S*0+H9YK= MYF0^!4!^IK< WGX;8CZWC0\H3MEBV$MO ?UN09^I M53O49=9B[M@'^>.EFC-1N:I3NP_K+S_>H=MR)YIV_,;?WL3=L_%WOV?/T:3< MF:BN\PQK?8[F[R.#JZ?O.^LH_+-C&?G4'J&ZMC%V2]CT\'J$?F&R]E.TH%X./9.&RTPGDK2V1[HA&E:+'NDO!#NF6$N@4S?(IPL /BOR#4_T MC67D:5K0]\3JHQ+ "WUOX%L<'B:.9>2>FM:@DF*W<]GMB=FCU[Y?OT._1EY( M<=E M#TDW)WUK:Q[GB$ZPUY-4JQ <:3A;LPQ9M05'&CA'LD_4DW*@'&EX9L181AZI MR/Z0F?4_TQBC86]*4C[@;3K+6KF&(SN&J L^[$/2=='6;>A'9,FVV;?!L#BD MESTDS1A>GXKA"?RQC+P ]]WU-$[)00K)> T71U8]85T.^Y T>Z*+(QKT$1FN M; @Z&O@A:5YOQ?[9CVAX@GXL(R_ 4W*35>54^J\LIX>I):,U'715=AQAA _[ MD#1]TK<-@3BB%U?O+57X&X=]2)HQO#Z$PQ/W8QEY 7Z27PELNH@OS%6B:;+N M'-A=19AX+W1(]J3OK8 XH9>^79,UX2D9^"%IVL08VA$-3]2/9>0%>$K^3N:; M@==G;C:HLN>(._!A'Y(]L<4)#?J$/-EP^]ZNB3-ZV3,R)WV[50L'R6!'7H"# MY'V59W-Z6>X13S;UOK).F'4O>T96;VU$G-#+GA"&D0PN1D&'#&O8A6<-+ M6!N>I!_+R OPCWRF15M=_C[+D]WU.L_3@#@@*$\8>2\PS4GM?W A7R6!''LE5PL[2X>V:!JRC?,E*DC3=0#;*E#RVY[IH:-W-P8!= MAUF%O2&:=>]5R'0GH0\-6/O7WSH^? ;- #7;D4WSP-OKXP%I1-;WX9L>H7QD M'5Q>&CG.M.98;ZP4/%SP\/W2QAU9N!*,6%Y+.VAAEOZ)YD 7]09M(]O#25[JE43.,Y M>UHW:9U('[)GB7/KGY&8B%95?Q&%,\D7=]?U/L!O+HOO% M?C\Y7,>:](F!XH.:=%(:U^ M5L:N] 7KTRC=QTF"[^4T2FA0MY+'>;O-*COO2CF!I]B_DO!QN, >A\SY2)R& M-(4#<)D<&!.V7,.^;RF#: ,A?R'==G$(>SN^6(]/FB,*Q#,"^Q7O M%0E3!3-ON=T[QNC\I)I: UX(J)M-ZZF:]@!L@.SRE"@=[%657 %X$"25)D4@QS M,\)K.L_3<*6G,JG7@U/AMU@#^3B% \%3P;%W<4 [1P8'B2\S4+*Y^3ST&^P! M$0E^R/)22N"ME*W]SRK.*:ZQP!>R@J]E ]K2+79E3G%@PR0B.'P R9\58 5\ M-HND*"[@*!EVLB/@'T,L(N$=20.8C;.TE<[/)0VF:<;;Q&9)V$)ND[,,CENP M&??O"'N=\?O)MC,L'M7/>09,^E?6IK48Q*X>YH'U'EI:@X,L8A1(2TX$CU>9 M"(A3^!I@/&=V@'IP5T#5E3]W/WF? ZDH87:?+?' ( JD8W +(&AATC]R9%04O@*)^PB?(*)#L,"+:U0,4$>$0\8Z2:5C.? M4V)1S>=)#/P7!0%PW[LXI-)7NF";!F:$Z\>UM ?#EHW-<7-$! M 85,,L,^Q# NH!/I7_ 8[8C.+#AG_>V.ZH2&"M W>PK?H0$IRFX7>38+,M L M2YKS!P!4.) MV'J^Q8,:A98'RH!9M VR]SY,^,^6SQZJ/.G.Z)0GQ.5;QNL A$#P#'S\#[Q' M-1?/!%$Q 5D(!!:V':"D9?.G-V?:.MNT)XYZ6./HAZ;%E'O=/FC:E^_Q_&R+ M?8[FV:.#K+%?^^PQ=L;;[AHZT\YXC_2EOICSZWB=SZ-?KFAV+1HVGQ2 WTG< MQ27 UK//]1:P74"\]<\==;YO)-X3KNJ&!H;>70+WW/N@K]UL35:= Z,PG^WZ M\9@1M *!SQN!/5/6];[1%P*!!0(/9=.O#4/63/O[LT3>/OD+YQ3U\]JP)OIP MCO3D\3P74$?AYXX/_+)**1CVB1*,3X[6(OU\GWQ6YT3U^ M=G=>K&,\U.4K! .WJG+W*QLW$B>*J^E<+(I7/ZSL:1:GRAH,U[>_^QS&''KD+Z2"WK*@P3VCD/J$;HTI#$ES)IYJ M'3W^Q)WHUEAB9=R)IATVZRG6.B:XVMYAF/7RP5W/M5:!KZ:Z7QC:$-:JV^XQ M0^9VVL6FM1X247/[,4=%'"=,;;?+2UN'V=C#2)KP+^GY0[_.#WAM[)>T$??U M5$S; ^*C ]?O>>93Z9KDX48-HD/W?5'PNUD4)9T)V!T"N^LLGV>8O\CLL$^8 M4BS@>(B Q5)B>T#N(H$C&)Q@<(+!C1N.FPSNPH*JI:,% JV?_86%]6UL?]#! M *8AV_J!S8 &4_>KSWJ.%KHJT'Q$:*ZKLF,>6&I;H+E \Y&@^6M#UCWM>#&] M L,%A@\+PY\E%^Q$:"XP^9(QV7%D7>W;.TY@LL#DP6&RYLFF>F"O(8') I.' ML^_7NFRXUNCU9X'$EXS$SY)M?BQ,%DF6=53,.6;1&?W[RHLLNLM)LK2TWATI M!7H,+D'R[-%4I(H+]'CHQM050DZ@QVXAIT_Z.O4$>@@A)PI>O!2:BL1K,7(4 M(T7!C%$O6(R\S)$"4<7(48P4B"I&CF+D]HH^@VM)Q6;Z683M98FWOQ M3"M[L%/@7__#U37][0NM83LL/O3K8MJMIU.T?3 1GP[K;KIL)QA6K)]IE4;D M+LM9(1VLSI3/VZ9KK$L<_,Q::#8M[/#A7994L[K1XBTL"-O]+7NYT6\!-LC% MA]T^?5).L24@+?KTMGTU=M1?2_A[Z45MIP-!A$,A0@)T@H11):R%88*$LZ3' MIL$O:^U[253S0*KG*5!6&@+.;H%)TX&S "Y.$M9&G3]@S0- M_*_N+0W87N95W6)4[O1!3;-2J@K>3I3BA/7B6>=TI! 01I$LL4:P4KU=' / M6>M4[,HJLUZE.<4.R;PV'*\_UZ\IZ)CI1\,Z4)_N: X0&HS488LZE=1A'S\Q M!;,U_/Q0L43@^PE2!1(X:XI>M[,%F7!'L<5S1QC(@-8)Z^D+DB3 INW8LQ>) M,\E(R,@J(3X02MUGM]N3F/]M(O44@8>*N@<+1!;2E-S1CD!ME%]%!V#$F@,D['P^NS^VS->7U]IUV M/)Z6)Y0O\S:&CJ/XQ\/E X<(Z7.LP7+4GK3=W5\4% _J3#LZ5G0.Y7=N=J@5 MHA+/,VU_T%%*FNQIZD"S=D3^F4#D'H@\M@H- Y5^/9J8#,_4[GG[\ID6E"DN MZ'IXAPZ.;(X^RC.UGTU[XJC.>.SGYZAY/SYC?TR0-?;SSARQ-/ZHK*1G[AC0 MIW+^*.!U5-O\*(;YN.!WD%4N -C1IJ7K*4EOJ0!;+[#]91O8:N[6+*5^P6 @ M>0&&M\\5,RK<8D;M:8B?O[-E//X4W95ULV]% M@NVH.V3GGT"YX6Q-=V3-.+"$E$ Y@7('>8TU31L]QBW5J'YJQ4B*!DQ.PUX\DL>*0 [1L"*4QOCJ5WRR/$'0SV8=[3+9[_,6657&GMFI6'64ITX=C^E MZ4:.6I#E.2WF61JR5#E8;%-)Y/I(_MNF]I MBIF:4@:K8P'138(>9JVE%?Q6D(1@UNTRM98GM.U,U"))D;$%Y;%?E4MH-%N: M2%^FM%C^7DCW- > $-#,20)0R*((\WK]19-21_,HR^'L@YT)Q/,\^X-B;N): MDN'Y9M!= ?J6)$[0EL)C-"%^SY0BIYL3QW%/EG5VO,"H M4=TN;X:+24U$%.>Z73:[97 ;_B.]2$+.!=QT\UH/.T7%T2+/+^"2:,^]#]IQ M97K'SIT9;+[!!5Q&[)L9=]Z.9\/MV['Z.'[GX6#N^,32.SK/:1 ?CJVCO1S6 M[;YM,9[]^E[PV4?.[/>M)NIE<=G7NF;NW_%QW!QVH+Z]\Q8)[V?S)%M0NNHA M.IS21BLAM-[ZS)E+B+WC%>OW:ENE=F 9 (DPJ] =UAS=I2;0'Q\^PR:D V(E MCPZBP1'BT6^(:IB;^L1!9_$\XR4[W_ 2HG=TZ2-&EVOGQ1JZZO(5+,^75.7N M5S:\GR=RX7<2.QDXNO].VXRQ.;FEBI]3\E4A$2SV#4GNR:)X]G 936._?O7:I %Z4#5RRJVXY%1;9;5 ?$[9RG"V8\7A9#EQWS M0'_AB%R" N6&LS5 .4\=7,B?0+DS1KG7FMTCF'MXN';> <"OU8GUTJ=S@FV* MVH&7DSVB>9.^I9E%<;@+JAUH3QR!'F.O^W>,.4:7F366D:)8VAA'"L".$;#B MU,9X:I<\X*RB= Y/^O$V1OJQ21*X^N+@$P7)%4= ]H&!9?8.XQLUP!^I2 M$@L>$C,[3A[Q]J)8HC3X4R$S:'YZ4,38,< R.!Y\EEYR?<_0=E&\2Q3O$L6[ M1/&N04+Z',M.B>)=HGC7)3G=1/$N4?.HX\615;5O4W%1O$L@\N 0V91-2Q3O M&I+U/90*71]15Z)%B8U=LQF57K_G]O/W,GRS'+[3H%U_S-0KB.TMY M?UM23&7VKT3_K.([DO!&M"Q.+0ZPRRQ[B,X&,-B_TMK@IT&5QV5,"]9T=J6K M;KSVS2C+>P3JM=$N]W$YW1VE5X>!=9K]WI-"(B7OC9;B*[UZWG(BCV&3*1R%RV3*F)Q-+=XT_J)E"&3M M8RJ6D*I1"7Z;24E&4GD-B,4]F4O )0&[F)>*M3 F0=/ON'T/L+.H,)128GUE M)#++@#'^NVXUPV]X&W1;6]Z!.%8??4$ 37/@@V"F@)^("(!;, >A7 M 1-* Q@(J!.4#''OX-6L@F&\BRN)TX+]/;*;N@W'C\KW678!22)R\7QT?Y[= MQ04R>63CM:;UA7R#;Y[K980^,8V](ZW[^/=M;6___NDO(VQ][]J?X[&!'G>1 M#\H3L-TEN]T8%KR(Y6[ MKS^F?&-MF)',?P<[E,Y+_C.8J;AR,(TNKVSIJ@54^TU+M(!$M=+QUO$S#[P< M'=']IT"WX6P-;S'5H6'L_\UWC5 C*$W<%<5GJ1(38K>U+.8T2=O7(+K.!><_;L?4M>YVKGZ6LTT-SH8?7 MCO^?DJ;^11V6\]J M+)4DO8WQ6J5>Y^N__H>KZ^K;#^\^?F0_:F^_ET(:5NR3$^D3K)%NR!]I1A9X M7[K@GZ[OVLNL^8F'E/)K?E[7)Y4HG-&,8 0*S$(Z2P"@X14K[JJ[7;E]N;[6 MOR-)Q8,'"&:ZX 7JRA@&L(B&F$TC Q*PV]F\A2FN/2'WA=Q=U-7-M>1HKO18 M@LT/-:QE*:K**F<%K !E< 3 -),(AA3P&!<$"[OK!8Y3YHMZ)7)]E0Q\I(,B M#)AUW$0-=)]=W^+M;G-97$=/P)"V:M8:J'K%LHR,NOY%I2D!U*OP7OO?B%6 MD?./O]_@DY97 M8IQ: 5OFW#5#%H.,[ZJZ!1!('B_CQ,.Y&,#P%#SM)NXD7BZ0\>\N/P<\ MN*T#4^*2SHHZP 7WAZ=Z%=XA.\3J46D5D::,QL=E@-PUFZG=Q]6O'Z^76V!! M)_3/BB2%I%NL54U)B:"(H @$O[ ?G M>!<#2%EXA/2.!G3FPP^&UH#GJI02X* ET,@/XY!9DCWL#4P5,S<)3%ISG(:$0PHL M+H@93P*I%!=-(!LI0 ' E7+ =M0'W#_;;9J5G&5B"!X/;ZJ5C4UV<\9,X"=Z M&ZTW\_ <)&BF"$"/(Z!]D!8(.OG8FG.<2$!%65>Y1BJ6>*D'S]? M U?DV*@YYD3ZUS3&STU;(FQB..OUL\U-&1ZG]+;.7%[!.Q9R'&%V,CL#(&<0 M5[4RRX"XILDB?%-XG\W,$!^Y2:LZ,_YR7^L%;8YT7.-XJV:2-*V08VPB?;TE M3J%S4!J81LRFO09&"[ IF(8;THCF6/4S!#2649G,Z9S"G*L+ OAE);)N%AG( M5(2<@A97*ECH;M*,=D/D_ \$78H.)L42^,W1SXG7?:/0^_M)2^3M+':1&@#K79CTC MIQ.J#M8'Z'=,SH'6A\RJD*84&!U S"?IUP+9?TH7=;X.*,1XX+ M.3I*6?S]'4\98L8R_"%G(KFS)B8F@=VBQ/);<<2A$!'@T]SWU,GQF6= =8NE MUM0U3)AIWWP$XXA9S_BU0S^F\K+U1[70R2UVA MJ-AV47 M[*']N]R[A:Z Q MA7+KUP6EE!K>D5513%Z'9@XY'"V6J**9@""DNHXM[#]);_ MEK1"MZ.#=^D<_BV830Y??+/3))&WFM7RN@"05Y*CD/+CADYP0NZ6V+$DT'0S MX!)EXSOKV$T-&";2W[)[6%3.3B0 M1T,6 !*X_\\UN&P%YNS"':M(1UFQ4F9G]3:.1J1A&,96T YS;/J%A;"G>EM]A_3 M_3,?CQ+'IL"1:N5\Z3.*.[E/L*@: 98'@98$+ 'L0W('HJ@V?RN$;H0[07.R M2IN_\X]UB8HM,%N>%PR:8>85GF%*:<@PA4A@.2*+X@X7=J9I]XNX IF]XU>P M;[02.P>/!\0M%)^VUDFRJ.MZ,1L%?V-6"AAO(C_K&/E9ELC/>BSUMT,@114@ M_:,W'.AC1O ZD%,ET,9MSKV>+*&Q[ILIKP]BCLIF%'H]I:9L,Z?SVMO0C%A2 M\ J+X)PD9UP\(46V4^,&[=Z M^RX +SZ@/VP0JW^0,KZP4(?FVJ9A#R6[7@.=DTOYLN/B6U'^L @G1XM- F(N M7,9D1"%-44A3%*C#)I77FB%;AK=_7Y9G[W'5.Q%,H-N( MT$W79-5Q3X)NEZI0OT;>_3U+Q-KB 12J]8CU'-EP1/D&@7$OR+]M6=7LWEW< MCL:^>^3;GE_@[:?6,W+5LN\UZA_L9=;>KIZ^J8);"JKCK5B3A1M)WVG=P+PT M9(_3+%7X57R3?(HC=7NB-D.;R)VVYG*3O%2'/'7*?LL[$VV7\7/SE71J+"G5 MQ-E@5 HM>/6[+,F\3(Y>2WO ;:S'-+/M6LNPPLVZ]]O>8K$T/"IQ M[1MUGE=1YX?QJ"7^#6\%IDWY\:)^*Z]HV$W(J ?QS(\V$(//I4[TE;F^6SF% MM92>Q^'2?N4V)SS1YCO-7:[;O,J#*6+Y=D0$Q%UB9@GJBIM!UC@W4E4QQ;@_ M3+),ZG#L^CMUX!UA2QDWW3Q()>\PT'#4V^O)%GZJ8H83TA?$I%\ DP:QBX>3 M2U+I[U5*)6(&:PE3UU2 -3'-A!-]0Q&:I;"&+G6R?5M^@--/DS9#YDE52-K$L?Z")4]8]O<,LR_JN5HN MC"P1?FD2/)AH81EK!1!94K-)3)TG31V6M81'[\M8<)F9OF1/;_@L+ MF<6*#UORG' [33.8;I)--R%_%R)B5B:8%ZTB=19\?">+X!%!FK.31TAUS1]8 M&\IFGLFRWK9JR1;@%>S*0Y=)["M8PG/7M\&]T4S2K Y-!@.WZIA/*TR*F[7( MC[K-KYIZ69C8!"IN,*T[_;"^4X@M=8I0@JE:#'[^B)F)\CC,_"+3/*Q19+/(VH?:^0L?::M#O)[GMWF9+9I M$HZ.[W\*R@QK1>EVP_E1B_HI0TX/=/HN!LN.E^ZJRFF6LQ)Q1"KOLUIJ*HY-Q#7-$IF':UFNK:&(:IOW-)KB[U(80P$Q#R5^QJ5.^L,UNL$GOF. M5]/:8?PR,]PX MG=5Y7SQ%9IG+%?$B-"TPV>Z:&C8,VG6KNB@N,/WZW*L\,.UD(2%N\O/8 T/3 M;G+3@TCJ6'LC*6@;29$M?0#<+;) ;1+8/GTY'$8=F3L?.OMI=LGRK$'%P RO M; 5TYF/8OTV _*'<!IK:!^K9PM/W9, M#\J^18&,01<%NLYX2U@TVCXM,\9YB:!E_8#S90E;,]*J&3HIL:TG(Z-.EG_0 M@5>GO@)/VOS:5B!HK1.L"LN\_HPHNV]G76COP/-S365#Z\LZ?BJ;-[&GYP..=((P+V=?]OKZ P9X[XT68.%I&S).]SI/];[06$K]0T. M$QVO+Q\=7IVN\SXA35;=OKY*<48O?4::)NAH\&?46^2*,WKQ,W+ZEE<59_2R M9^3)GBGDT;#/2+-DW>A;&GO$%3';3+U3FA*;6=$-Z(^Z,FOB6GLL;DNR*YJ, MBC'1MB068'H2SH!U>Y=%^'@:9Q^*V;>RXN HQM''7TG^O$_(TPYTF(@3>JE; M7<,4)S3H$W)L0YS0H$_(=L=?=_F\3TB7+4.P,>L[K#K1&78HA5F%:=/L'NLB;S>/"9E!TZ8C.]J!_J-C &?@/64$ M95PN96BJK'I]50M!&H(TSI\T/-GK;;H*RA"445U"&H(SSIPQ' MMK4#[T %90C*.&/*T"S9Z]TY6Y"&((WS)PW+DUWSP!"T4Y)&WR:&KP92(-2> M/!K,HC\4S/)8+,OSQ.#L6=;T,W;V*WB#A"J79G$:SZK91J#02@U34O(V&,NN M'&T+A.U7)T&R/ZN\C-E-)2NLISDM[2OM5W=W4(?6G\&TL/S[_%!?:G#+!!&*M0/25WK,T$ M[QN&^3DE[]=7PGD4V/<,"_:R7A-LZ"U-L: /ZP"9\'*^TWA>\-+>51K [\AN MV0@LY,T:"6%M:MY+C67_Y"7,P5Z3I:(*IE@/>#DV*BE6N*X[0&(+C0*@E%'VEQ'&RD%(8E-WCTR0&/@/?J>MRE].PD,^4-:^ZXNU-\6^)#QFV> (A$^3QO*PKZQ/6*! EV!0/OM/9%;=>-%N7ZV:W3:EZ[(T;(!XB M13($)&'&)V5],6&?,TZK400#\?T(\0[G8<(,\#O$[KIH#W1(>TG.\.F2XR$0 M,Z72;QD(/4#M9]8&V(S;VL]MA^E/I(C9]G_G:@)I07 3+ZN==Y#I=]AJP'C) M*=4:.(3?@5U*'V7I(T!9TG@'(-@*( G\JBK_V*3^HY"XI@]:@6#0,"8GP[+M MJ_H'=D9C$N2.,N2"/R3-[^_B(DA8]RK0'OVL*K%ERE?@Y9_CXNOPN=)8-)P/ M*\H&[\=;=P?KZ.F[;(S,U1.*XCAN MNZ=R"G6NFI:.AR-#W?J1Z1:\ST?-!_@9?/S8=$N] J,%-@G&3P9, A@:L[Q/N5O -A,O-IS@<;7!71)](G[,':-%EC31Y:^($B53 5 MA8,BQ 9Q<$1,[REBA,6N25]]87IY&C8_UCTW ^RA MR?N.,P4O9TQ=?NI7N?D+DH3YK>K6GCAGN,2_H(M_\Q;_I->PWI!&C03Z7"6T MJ*6+013->DV_Y[_B>YH5=O_4]%ZCT@VL..>V_?M&C%X%K)>EYADF@PJ9,;$D MK_1$[HYNNB%_SQJ*Q23"?T'N!XXS)ME?T-E?]S:L^[._;U24%-0#U'4:)7](NQDW MJ39,L5@48% 7,M(J(&F)2B\(E'N:).A%AX764BZ;\ZLK60H(:PI[%X?8Z14P MNL5X*C,?1Z,KH;P"><-N7ACMX-D&JQ^NS0@I8WW8X<@+1D0^14J=T7(B?:AR MO"SB/=WYDI@K/EVLSR7-*O1$T2AA+=W1=T/8#_S3,"VGSP)(+V K*P/B=0AWI\2NO[6*$Z=XR5$W (YR M4H7+NXI:Q>;W%;,YPG7)P4-:,N[&FO\6.[?"[*.ZOS3ZZ5"U8NOYHPIOV^:F MC7J"W4_Q>'%#/AY2E92+^@3@'::6AME]RK?,V#>,:T%*I"*>S<':H'F.5XD8 ML0#;^THGTAI6L_=9\V0\N#@'O>T.=?.:X>-V@#;C$/V @"D,.D7&S0S :#@- M'Y$L2:JB/HSR/F,?S+!O*\WFB/+P.PQ;:GR,B>>,.J(NRM<=E%=1F*]TY9Q! M#K$VS.P:"0UI&?DBZ'_HSV0'/IO7K6"9\Q,_P21-/,TR9AG7C67I'>WB-AJK M'.)IMH$WZ:)9&&OD7%289\HO4H-I3._PO) LV(U5*-UF -9:["+.+3M/U]_& MJR]F.<&N/Z%00Q55[I 36>"9(K!!VH6@I*)"VSGECN*PG MAC2@)PCOG!%(; MAR&]Q;;2O"GT/(G9SI@W8E[?1>&K2_/\C.7I]?M/O"/SAT_2-88!-MN8 MB)\Z)B)_MK1D/C7F(8_?+B/7'R\D%]G.UG_?O7Y2WN%I4B?OOSM_6?IXV\?/GW^]>K+QT^_ M[0.NDSJF=IWJGJ>C:\._EM*NAG8OA3>BT@?0;;+\&)&!PY.!>SLB&@N\52PZ MWH!RBLK##*:=%O4=[V:H6:WE\^OZH]ZP5HVUS,\.Z"R+,#%NQ75&!W MYUQ+!<.(\6H 0T ;H80B(L/#S(*O]3N@TR/XV=R+K&)Z'=X4,*T052Z,P('7 M%]S= ?8="R!>1D@M9^0?KC<'TX&@X3HO,R=X2)?_#)!F A/M5AS-#-H,8,CN M-$@ 1L55R.&'_ABVN.;*@TQ&$:CQK M<1*AQNP4,&P(V)'=L^R<4]]PI4N^!G%W7X/TD3I.*W5.>WD"< @4@"V&R[[A MMV4G%77VT"3=^T;]/@?+;J=4 ZZ&%S[(F5M[ ]D7WKZ&$DH]II9SBQ]4^"0N M2N[HBLNJ9%X9VKR)W@_ZK:$MB,5Y0A9OXI3M M@KWT%E#V%FBB9BI;,F+8!_GCFE0\;^):!E)+7::J_G!-2!-&2&MY3_R9"R_: M.Y^J$^W 9Y:A'_3F0VNUU(GN[7X\K,4Z$]LU1[)6=V)J8T$">^)9A\UZ"ARP MS/UF?:3$W"#:\;A[-2"OY;=M[-&X9XHU:PUK1AR+?=@'DHVSV*G@TZ?'$A M9ATP+_H;=AG-*Z_\)]GJ7ZT=9&]/OD!IFM/H_[S"\/,_-=V =1F:JDVF)5#8 M2FP'"Y+<$3(PK_("TRGQVD&SI'].;B;7$\PLP1.JNJ=3(?[?,[I#3JL8Z2_F"Q&ZSW/K/OJ#NL]&2.09Z3X# M(+F3:3AGNW>Q(;&ATV](J"(OHHKH1_?1"%7D9*J(WML-\T#FQJJ:XFY54S3# M4O=34SS5%FJ*4%.$$!0;.JL-#4U-^=]GJ:9H@U=2GFO[FK418[VM4J\4Y=F, M2==KGB[?5D)[N'I(DX_R)Q^U,\](EG@9KKJ4^$<60BW]OY\^__)&>AU_CSGN M=5'AZVY1X96*\(4,0W>/O5EN!M0!C&K#W&QX8]]7<.\BQ>/X&5\4IS@*=U\82F?E-(2\("[6%\\9S:DQ@Z OY_GF8JWB]_ M_.UF #+@)&<*;!;X&:^6(KW+@@HYQ-D!0YA()U+ 7R;H2Q@5%WU(0E"^E*"\ MN?[;V?'''H+R"_F6I=EL(;W_5J(M /;.33"E,R(DIY"<@BF+0QK;GH3D?"G) M>7WUR]GQQZ=)SFN2!!7O"BC]$J=?L0:DD*-"C@H6+0YI;'L2>(OE";0K MX,?UIBPON+).?ZW_V>M_=O9\J$]"0>;PQEL]BFV]H12O[0WUTOO]WWS#F_]^ MP<8738^+8HJ-B+ YCX]=(ND,:!KYB Y+PU0>]K/VEC&->97/LX(W25W-O7;; MA.IEZ_AN"SU\K'F&B6U_,FRU>1\7RP9W=>.H)"9^7#='9=,16![_#+9]S>NU MQMVEQIV*X]AE-&_JC+/&?ND"&W]@9M*R 79GAS8YW(F(2/>.TB;)4%_].(@V24/IUGCS\>?? MKK[\L^,3.?U*Q]UR]?=.N0O>:)IU.&VS0??B;OS%VQC[?L-44X)M $&-9%V' MZY9).58^VN@$Z-AJ&S_@4.'34-(_F34WY -9>N4KA)38?JJY1Z]M8T.#\W#>C$]-*TY\=SC+]8R)I:V M7S.FX5O(+^P_M(>T]_UL#S1Q>2]7N>X$G :3L_2#G*F;^)DV/\8=]<-4"?]K M.$/>(S8#>7-.A_8K64@>]Y2=T[9^6IS5*?U0_"#=_.WJ(_[SMZO/0AIAWY%Q(5%Z"Z7L#>!X^G-U,22_#/E.0"606R#AM9=Y2='2GBL@FW-8:_2%1^ M;F@, ;E[[O'U._3!7K4^V ;?9>GW/ 8*F ,);! #KR&X'' 5!%F5EGBY5H_X M?H^KW\>\^P.ZEQK*!82A[KZ"^L'/P@7\9UK.DA__/U!+ P04 " #.@*E6 MN^?::;T- "PG@ $0 &9O'-D[5UM<]HZ%O[>7Z%E M9W:[,W5X29JW;7HG!=(R2P(;Z,WMIXZP!>C66%Q93L+]]2O)-MCX199#.NPU M_=!@6^84K( #X3^P(_0,#Y* MH399KBB>S1EH-5K'VU?II7D*K8OW9Y8!+\Y,X^04G1CGYV?0:#:.F]-3L]4Z MOVB\FUT>-ZS6B=6TC*EYWC).T(EIG#<:Y\99HW%Q0S? K=B33:I4R( MM6K 9ZE/3,ADZ(F2+B\JZY$#^-9LLX;FJHS8JMXKKYD1'*[<*&3?O1 MLR&4>Z$-J>TE*Q94DO+8+6B&!'*1>30CCW63> ZCJR*QF"82'NA$81S,HY3W M\'H&1&761Z5-L!#6T1X6%S]2=$+'(4S*BS/!N>42.U/BG^"G1 A=AG%TCZ9A MCYSH\5,:J_QS":E)B:UHV?4E)4M$&49N]&XA >843:]JH@^;?:[XDB+=BG,1E]^V)-'_]_4W MH:U;?RYB>O9?H_H6FNI6GXM@!Y>HO9 >\^L 6U>U-N%#W2&<<>O$^:_WO;SQ MC52\$0EQ0^2-21\;\E\3&)OQL0&D)!"B'^K; EM0GHNL@?-1_MX.]$ X*)(C MN!4AA>7BKDT5"TZ&OLSS\."NT[T;=3O\QVC0[W6NQ]W.I^O^]5V[._K2[8Y' M&JY78RDY:7$B1MR9*"0EQ 114!"@ A_VP%?$QT/([_9LCACF!N^2O#BPDLGC M,DR"MS$M_ZHZLZ,Q__^V>S<>#6YZ=^W!;?>%C*8 *ID\*<;D!AH,;H /?N!O MXV[NC^%]]PLOT_NUNW,RT]"5S+XOPVQ,TX'G!!.C\:#]GR^#?J=[/^K^]VMO M_&V'-*> *UD^+<-R5-$_@:_JP'*DO5V/OMST!P\O'1^E8RHY/2O512D#'&N&9@Z=\C.&P:U/F:+ S&Q(;FWQ25)S2,N!*;L_%O 2[ MIDU4!ZJ#6'%ZMN145#0; MVU1$ -X!#E$AGW\FQ'K"MLVCKLVY M6%?5("!56DG!\38%,1@0X%2(A!N(Z:_0]A#O##J(XD=NSR/J.<(K8JBKP8@: M2DG/R38] A-(4-E;;6!!!+="=#U 2OG8'G&, ' 1P%2)@*>9\'W0(S M>2_E\<@GSB*I@1R]U$P>B)*1E-G[&DVVD1A>A:CI(]XM:+ 0E%O!*HE*3,C7^"!4X(^UUBH,H0-$E%2(TQ*Y]Y^2X"^H.&@HA*;A.I@X+Y?_#6UU E'N,)?5W.4J65_"2R"]N+ M E4D(B>QK\N*&DI)42+QD+]24$7"DFE_79XR$93T)-(**0D;25 EY4< M#"4OB6Q"ZII"%9E1K@CHTE044,E9(M]0:*&ABAR&BP"Z5&W)J1@Y3B0D0H J M.CUO 4&7B )82G(2&8T"2Q)5Y$UC&4&71GUH):N)]$?)=8HJ,IU8==#E,PM MR5HBB9&V>%%%2OP,MBX/,2FE\Q-9!E^\BN[6RL7JLE(&7$E>(@6AG^ZM(M$E M4K(=Q""V7S?M&^I0TIY(:[P@ZQLHK1+]ZA2M-MO%(97D)I(BA=.^%:0RGKG5 MIBU=7$E1(C^2S/Q6D(NY25[>-=,IZ%K21;\V$0V5DGEGT./,=: MWX)0AO^4!G:?15($[;1Q9\,KV4XD>-1-.Z(-!.HJ27ARF4Z;U&P()7&)'$_J M4E\%:4E;I[L3"P5BJ4:;H4)H2K(2.:'T]3\#K*$/U 5.23NW$Q;S@)6$)O)$ M681F+/0>R)6.X'\<_H<1/NN.79>=&=2?WKQ$B9+T1)8HB_1 (V $<)U;Q0*M ME8P!Y>+\NH _W+A%4+C:(LX]$N_,Y/Z3F3GMN-BU8F6L))).Q78/Q,H%0Z[0 M%L#'6VMK@@SE(8C2N"04X9G3#EZRR@^?()6/FU >%J\1/,44*H,FD08K'#2^ M 2"T 0F@+4-ATA)(VZ3INB](._R,C7*J"BY$2F6A.E5/ D3[A32YG9;4,76 M^YQ-2A7T>][.(FTNBH I^2FW3ZF"U&GL)MI--[HKAY(0( MFPSYU[]R&ZY-?@/#)3KHW:I5QDXB[58^=C;F^*6 , B$%AUB*)_,[F@X_!E! MDZ9'&26)?%_Y*!'Z#T%1D*STLZ\9'OD:E8&2R".6#Y3LK;>'F,EC\*M#D4EF M#OXS?KY-W!*Y@ETK5D90(BE9/H*B!L6O29,J&4B)/=C:$9&)H*0VD4-,W\9= M05;\+=7E5_4RY)6,)!)TP=[NJB_<^6X0709Q1/*)3.69LGL=BL$IV4HDSM9L M;:#%]D]YNM);&7S'B$\Y6IZ-R/3&8]QCMUS!PEL,X4IF%+\Z_);BERS)J+X" M%<>G&2\I$O?!0)E@V%<' GT@5 BDQO4#&@?BB_+RO?GJU']O'LA_]15Y^>DW>O9\*$I<$ M(!?]C,B,PN4-J;+6*$,MD9DO%6KAK6T38.] Q$0@;/07DC=F F'G M7ST./]3CGX[VCV.?EQ8?ET:V_Y$L$:7"K]\[:(HH1=9G\<%71US[+#9-A'O9 M5V-$%S4 )Z[3_[3D9EF?65 -!I[K^M0FTQ7?J^04TP4S+"0OB\+"FJP).&%(R06U( M+3=H.;=H,4$T6F7?8+_&F<5W3J?%J"%^N9<664!PE\RN7)[$/-;H1O1OJXT=4Y&FJ,>^^[,Q&60I+[03L MN$RVY)_9.L=/Y!;^3FC;-W6C>3ZI= [BGC SY*XY2U&JV&['SNT=*CYIS?7*3I<)$? 87% M]R$BUF'*K?1'5'SYQF[=0:XS,N4-L,L,J(@N)[D,=._?7M[Q)69P#"9M?K:S2 M^U"36[@2$56FMRDDN@]U'$/\!)T16F"3.((%0F^AXXDYL?]H&NF/.XI[JP[$ M/M19=!&\ZYNC!T)M*[]RZ67WH1;^LWL]IPV7F'?BX:V3+[P'3VN%UP)69CT>'[ M]90A^@U!>D,\6F(N4 !S3T>(JO1*Z;S,2VK\N@$_6KF\D%O\?ILCL ^ASK%< M]Q;2&7:&B(J7GV62EE;T%:NP]'44::[$2 3CRKHB)?9!ZMC29F6:DR=5G;O:M'4 MJ$5SGVH1W!H*9;O3R^Y%+5*WL"MJDRNS#[7B8S1DJS+9D2+[8',?\>$D6B]; MROUKFZ4N\@F)R42QT6H9J'T=LCT@/)N+\34?:\(9&H:;[;$KW]%[0\EB_9R^ M..A A@;3GNMZPCKQ+='@89Y,;^U0P^L.J*1949?)55C7G*,%_/CF?U!+ P04 M " #.@*E6>*9B*X<@ #0/ $ %0 &9O_\*7CI\32>_/.4_L:=/ M<)*FN9M\_.7IGQ]>@GOZ7__ZQS_^^7\ _OO7=Z^?O)BFHT.<+)X\GV%88'[R MI5M\>O)7QOG?3\IL>OCDK^GL[^XX /QK^1\]GW[^-NL^?EH\$4S(JW\[^SF9 MD+VV&8*W"91!!<[9 )Q)7DP2PGGVGQ]_EBP+E7F&DIP A2J!8\R!9?IIL?C\\[-G7[Y\^>EKG(U_FLX^/A., MR6=GGWYZ^O&OUS[_12X_S;WWSY9_>_[1>;?J@_2U_-E_OWG]/GW"PP#=9+X( MDU0?,.]^GB]_^7J:PF*YYW?B>G+C)^I//)DY/M MF$W'^ [+D_KO/]^]NO3(,IT=EI 6T]E/:7KXK'[DV?.#MR_VW[[??T%_>'_P M^M6+O0_[+W[=>[WW]OG^^]_W]S^\IY4LOWGQ[3/^\G3>'7X>X]GO/LVP_/*T M?B]4D3/%EGC^8XUO??8=;M%K^OGTNRN\YO#QZP(G&4]V[.SYXVFZ M]*%QE==T=O9?CD/$\?*WHZ,Y? SA\^AU%V(W[A8=SI\?S6;TCHQ24CYGHT!I M'D%9'\!I(T"S@D8)E,*6R]M6ES:GM2WE7,(\+H5]^@@2NA#/<+R8G_VF[K!8 M[N[-*$YV=?-U[:4T/9HLYG^$;R&.\6QM);K(HM00@Y.@7-3@G7? $[V.Q6L6 MO&J\MM5(+J_O F_V9NG)=)9Q1GKMZ9,O6+70J8H[@15FZ1JA+K]@IY]X-C\Z M/%Q^)W0+/#S[[ZN^:\J!Q;3YUI](F=;1@ :S(\PK5LA,40Y3!*&8!Y4EJ7 E M'11$776YL"&U9\)J,.N003Q:,C000#,^O,""]/C\#H]Q3CQ]P=O@"X^(,"(&7 MSA !6"-0\",C>U18KNP& F3R8DAYZW=A"63VZ#_]S,^A"0D;.E MO*=E),G 9T5>6.(EHHT)36MO_A* (3FZ&TCVFC^S\>8VX^<[G"]F75I@?A[F MG_8FRW_M_\]1=QS&!&K^=CI)I_ADD0(3J5>;'/E8W"N@Y5D0' /G25CRM!H+ M?WUT0_)Z&S"C)[$TH\T?LRDIV\6W/\9ALB!X%=KGFA1[BXN1\<'IY#E8$3(H MDQ""=J1M,6D4PB2C6MN\V_ ,R0UN0(UF6]_.!5I\PMG)RB[P4BBME29+SI H MJ3P*<((+B,8G$Q"9Y[JUY[,*R)""N@=6AA'P\M MVFU^\RSHJTF:'N*'\/67!+GA*NNJ8HAJ^1]Z[3XS6C6 M88)[/$QHM.V-$QWGN1:1=&$4E'B=**!%+\')F, %4DLJL2)X:X_@ED3!_5>S M.NK:6SP/L]DW>OW^'<9'."K(O=8I0A8V5_EQ<%B%F#37&C-)L'6@LQ:PX:5) M-N'%5<:WETG+D\'E*>4[3$C R&K3>WBVYF!5,>2V04Z%M')6G, 0P, ,:67F M."NRIV/B57B&EREI08YF$FCH3!_3LZ>S;U4E>\$B16$<=*:H3!E2R8$% T+D M'&.*Q9K6^=^+SQ]>"J2%S#?>X89I,/P9!%,\- MIDR17"BZKC 4TZZXJ0,I77.? U8P\N*M&!$:WGL+,U^U8KQR*R(5@!Z0QI+ M%@=1D^[24F=A"BW!LL:DN2?$X25>6A"H3SDU(].;,/L;%]7&O<=T-+MT?HK% M9')U&*E!4<_ #:E!Q140XPM*(PV&UH4'M\ 97E*F!4E:[7^["I3OY^@CS6M5 ML(Q02O&@!-,0+-> (BD9T25>6GL:%Q[?<"7GDLJ6E4#R\2:0I"QI;B=\@:QU M0:N,,:%U*+E94=T#5%C>2]K72FBVV^NMV5L+E\_3&+]-CW$VJ<=8O\W"9'%> MO#$2G#RW6!($YVF%T6N(.2,4CE[HXC,3X;+XK]==K_6D(<5%VXJX_=;V4BUW MX0#+:31L>6(E?0"EBB54J= J+5H4H3B>>RR8N]]QX0,436[WIF^_YWW7RUV MI:1)HH1(-A,-*)80HB-CFK,+Y&J5R#DVIL*=H(84+K5B15M)]'>><&&]-=#G M1474KH 4K)8X*$Z!?K+ 34@R"B8C:ZTI[H TI%"H%3E:2J$Y-9[3_SL*QD[C M^XO0+F@WD42R18%)@=5*4H0@O0&?C4)I@\G9]\23=? -*31J39KF\FG&H/>+ M:?K[TW1,VSNO83UY0<4Q[H4,0,J.?%Z> CA. 5Q,)FJ54K*^-4^NH]CZO&IZ M>#B=++_W)#&1!'->V@A)(*W*&0ZQ9 L8B[98I.:B]:'#50Q#BIFVE/NUHZAM MMKO=J5.FMXS6'L9_A(XT]?/PN5N$\05PHY2R0'3T:D63J@6W$&.L=XM5D9QK M)4/K(KR[40TITFI,C,8B:7E >718=QE/5#(!^CS#3SB9=\=X8N-?3^?5LA\4 M,O:CPJ55WGB069M:3J+(O$<&9!EX+L5I9UJ?;-\3XI#BM-8DZE%8#4\T%J&; M8-X/LPG%$/,+H,D-Z%)7+^D:C\;1HD,D'S$[":XH#XDYYESQT>G6GOK=J(84 MR37F36.1])&>)I=PQ:(Q>R5\0-"6D4JLI>L^(H-L8Q%>.)EL\]N2=V!JF9)G MV4<;!"VOL 45"MP5B8HQM">2\&-:7V8=V-*?C"IZ^V9<$L^^UY;WF=P0:$3 M"R$)(.#T.BL5P85(,0_31=F$@IR '0<7@\ELMV? E@*X0H1_/KNZ7Z_IY\8] M9=Y_H'^^V7_[X?W!RU=OGQ^\V;^,9HO&,BN^NL?N,GB_Z1TS9*.>,L'VEB\] -"@/0>)=+3AX@<]6X[/#RDH3Y?#JAO4V+O[K%I^='\P7%P;/S2U&UO(?^EVM '&6* M/ A3+U(4VG)$\!3>0,S(L_2E9-GZWLD&,(>D1C?ERW4%VJ^TFKT@SZ?SQ4&I M-^F6?BC.CKN$\_?D.XY4+D;%Y,!D].0R9@O>DG;@P7N9763"MT^=WX3FGNH3 M'@5+&FU^PU+]LYS:&7&[R1&Q]-1>3"?S7Y$<83P_#,7Y_E#59X SGBU'T#EU"!:+8>D=3DW%1WD N7'O'K9&VM7O:XW*: MM J@KYZ>6>(3#&>V4M%F>>\RD#-%P9_E1"K%-!1M(@N.5371VI>_%=&0=/10 M6+JR(T$;F;:O,OJ^::,8=?0^&8C+'@G(% 3T'!QW13D*IDUI?7%]!8PA^<.# M9=26TFO9$&&YFDN,KN4O,0:.' U8A_422:T38C%7TX O$]EB3D%)##IH\'DTAJ NQ@.<\D/=KG'*M'81+ (;L/-': M55%1 #="U8N;$D))"JPAL:6@R'BT#EUWYCP]K#.Q.0>OOUO#D'_C:(" GNJ) M7W&"->)A01=&T2B4HFJ??EM/9:LWXW3))6J4/>C\E5 &%12V9M)V&]^K!VEY M,MP;!Z@+ 9'1@)?T)^&4#59J89LWL[_3@]PN-YBP(-,B0W"VMHVILR=L3H#! MAJ1*J74DN\H-#N0@84-Y7^ODM>$NMR?P>;([^^@3KPB"BZ!*9N#0,##>Z^+) MOTYJQR=E#ZRZ6LM\NRU_Z./GYP=O_GBW_SM]YM6_]WL\BU[UG!T=3-^YQ%:G MU.N4[7GF-2,+!LE%(H@19-%L=&"CX4ZA#JQY,^7[%U:V77N]3?]R//WR.^:/ M^%OH)O67>X6\O7>8QF$^[TIW,A1H;[(\&]!&.RN#AQ(IU%.UA"M10+J"@\GW M#@![LVY.?_6"?IQ\_ -GW32?;ZMT)@=':TB.E4ROG_'5#"F3^J#:>D=D:'B8 M?VT9YX"$=O1FU:D*49('3AC "W3DD/.$EG/.3&C,SEO@M$T=UP8.K&97,M9^ MKS9Q\%P*8-'H(&S) EN;E5M2QP_KWK3BP-7W9/,=WXG>_FY1C#69:TXO7J U M\O7Q_\U6[(Z>IOWU74 MOWHYC6+]&MI'"_PY-_T\TF9W/[7]"E,/N*[ ML,#]4C M1B9GDQT96)\<&=AL)!%5<1#"$Y,THE.M,[:[76$#$UDA_#&;'G6V;E$?HJM)<"]G.K^ 3M<^.2 [J:!=0F 5$DGIN*_Z^Z?FRFX1)NHPO"RE*, C:UX(<1AYLL2#V2,HSVBUZQP$V MDCQ7+B 3L?6Q: _+&%)?@T=$^(,Y-UK!BS%.$:;VF_F 7I RI7 MBO)R*'[%_?>!'I$0\[(8[4U8G.;BEXWAOQTN6WC7IM[C\?R@[!V';ES;.+^< MSMZ'B]V<1S(;SRPBH(HU"5 D.)(<*.T,]YFB]]BZ*5@3X$,*&GIBY(IYF#L6 M>+OQ$:<(/TSW$NF/&:[J+#Z2W!H6=09K'$'33-?N+1)()K672Y0RM\[LK05L M4*4\NR); M^X])JS:R:W? MI4_5"Q+$HT"7NH%7TX[$YD28%W*&JUC(;?V-QJZTO??KJ\LY",+0+G)-.4%*A+ZU=BI5 AN0B[(Y7MP]ZV41&/@"%M),$XG$S,/N7EZ^B8L/TRVKR%I-I144Z5\]X0B M1L8G.U:@>%W=69;!H24K%0L:D:/BN77SH&;SHQY%@FXK1K67X4-D@F/0B2>G MP0F*H)2W$H+4 :S4+BG:!)5;-_K<-!.\N5_]#I>=-#],/X2OM:?)IY/*OQI* M?@HS_#40@%H$@)/YDG,C;VW2PHIZW=V"$H:B )YBO;^J,R]!(V^=5]P4ZSU] M@@?QN;S>='M&B"M63Y_,\)B>(5_6)2 M>Y?5KCPKR5_CT?EY+GZYEH//RTN^(Q-1&,\E<(D15& *8@@.K$?+&'G1L?G( MREX7-"0'95?$'0Q!&@979VG@@W)Q#-9HV0C8E50G09Q[=_1 ZLHE<^O9U5Q4-48070ZUM]T&2]<\A@3,F@8U<>>U"1M&Z M)<6F-6/WWX?KIZYG(WU.&_N-@BXB2'2$TM1NEC%!X%Q!L;E8I;B0J?5AQ)V@ MAI31ZHE)*UHE-!14NV:U-WC,I02O2#UH46N?)3?@N @4SF;.@V&!(N7&I-D\ MSME5&FM'3&D@DATTW=P[G,X6W?^>8#-<15GG4Z0B/&'+M'"-&C271C.C$7WK M$<;K(7L$+F%K^O0@LI:->JXHP1M&6HY4L=X9)DG[R3JMT'K:"UL@.\F,\>1X MAM8*:&UP0RK<>C#KU4)P;>];K5CSV27V]XM NUCS_A&#\=Z252TQU,8N&KRK MP]_)P)(ZU3GUTZ]T'7!#FDJZ(U[U([B&^HI<,_K(M[]FM%TOIE\F(^;0BEJP MF'QBH(J,$$0FDK/,C%18>//A]M=1#&D4Z;P?(Z+^0B+U:0% M*13&V@W#D%OO4O0@(K(@HDJ:MZX=6 _9.M2Q#YRZV('UVE9F/;4699H+5VN% M,D^2O#)+,2 S""4:+05+WC?7+O>^'^Y^+,6RN0 :3LG^/,/4G3CF$FU*+B7@ MVM6UJ'K0X!"X#\%'A1Z;MPBX^/QU&.!_+ 9LO/WM._\MG>EW=6L/"BUVJ9@N MAFUG+=I9$9)IFT%@+5W4M;7RLD\["R%*YHN1S=W8>V)<*\?'?BPF]2K''EV8 MO92F1_4F3_A6"Z-'M2]&R)&#\F%Y\$.6D 5.'G15+\$FAUAOCC0T^B0??(6G*MC(7,H];8A(W.:/-)/BH?^SQVNXUJ+1C]8 M1KFYO'IDTEF*[K)QS+8^\;T5T%K<>>B; M#OV39U,1[<" O<.$W?%2,\H4&#>D#VVJ/<@Y\3G4YN;>U G#!GW!UI?=U\&U M%H<>NG9@=W9L0X'UG0G[- %E67;%RP#)%U*FK%I?G0W( MHCPO6HK 6U^[V@SI6HPS/[P2:R[4K0E8NZW=4FKRV_089Y-ZGO+;+-3;4UE: M5)I!9CK5TBT!T:0(Y E&;K1E7-[9/>Y^CUR+.?;'T%4]"J/G?H,7/+P)+E[@ M(G3C^>5GK]=:DBN ;(1@T#S\^>Z@"R'(N2QOM:G)7)35$&/$8/EFGO M/87<(;3/C7Q_?K,CS7?ARYNPP%D7QB<]+^LH]=DQ<=T2L[,L&;AQ]1PDIWH] M2H),B=QY%Z47[<.NNU -J61P8S[<>*C91A@]G'M/9W]7.S=-.+\"C'$EA$D" M'"=E2*X4 NE"#4CN.QH6.+KV^9T[80VI7K ]31J)HSU/7G:3;OZIVK1IO@+, MR%(R,QE2E 54JMT;@V10FR_8F++5JGTL(14&MN=)(W'T[&54=%^Z\3A, MR.E:A,G'+HY/CDKF5W_>P@79X"EM_)-ME]?(>:E<6.#K[ABOP:A\2UJX7(H' M8^M%^&S)L944J"0?3%288F"M7\_;$6VKDV[Y]N6$MY'.7L9:7:]")(LJG#^9 M4!QRR%G8:+QJ'67?A6E(SDU#OES53TU%T\R(W8)J+Z6CPZ/E;>-+Q=-:)R&- MDU O-Q%.@NBY=* U$Q3%9<::)P/OCW)0%WD?AE4MY/=P1G!%P4 _=O"6!_5N M"M==Y);6<)F+N8TIUV%\F"[">&0%0R840A;"D5_-$#PY9,07G**[&<[/9_,3H]FH\1RECHHH.4&6C0YH4[0CR6H M+!5S%%BH+1=])X@AV,2=L.92NG!74MN)];R^.Q7KAR_34@0T@D[)>'NQ/J #%R^+24$5(H%8HJOW1\%AV"U MAZR-R)Y<@&!;EU!NAG0(J8I'PL%["_8AU2"1"D>R>$/.+P-;:D>&>OW;%5EG M6;.D$EI=>.MJ[PVA#N'6XR.AX?U%^T \?(>'H:MM8@[*RVY.,JWH1XQVA=%[ M EY8#4IG AXS@K E:!6#4T$]*"=7PA["["'+S@^QC?3 MR>+3?,0E*\+;3)@+O5]*2(CD?=">8>$E)R?*P]+T*N(AW-I\! S=2M ]9VNN MUTUOD9&Y^&$FG9MS$?I<5?858KN[XM(8;Q\W&8S[O283X#QSB* MP$2!S&M3 VX9A*+IQY!43LFD(EH?1:T);0B)CWYYTX>,VC8TN6W=C(>$&8KU MM>5>R1#KY"KI ^?&L\1RZWY+MR,:0HZB7[HTE$B[V7JG.N^T(?(*6"8%X83D M$+5)0'Z: F^C RX#!N=IS:+UZ?Z=H(:02.B7*VWETHPN'\)7/+LX>@ID;Y(O M#$5(Z)ECFD&10E=4Y.-GH2"2G8Q%&Z]$:^_E+DQ#B.K[)4M3J;0=<4+F\6C6 M33Z>%H^-,*HD;:GY?+2@C$X0')G"Q%6,+@8MF[>F6(5C"'%TOYS8>O=[#H-? MAFZV''01)OD%SKKC4%M,OYI4U">-U,\^U9EK=56_AGFW M3?#<&D*;D+O7C6D4J%_@ZCF:%]T\C:<5RL@P+,S8 @:E!\6,AVBT(IH9STL= ML^Y;GXO=CFC[[CIG8V=;(30S;2=OWJH%9JV5-"P QY!!90KZ'!E8X-%8+5/FG+>^VG,C MF'YF3:U:-0NU;H2V'IF@52?I(%K-(63ELR]<:-:Z%F-M<$-Z.]KP9KUY4MO* MJ=G+LG):*D?GBY::_(]$BJ"4"#'3:VNU2,&4H$WSCOH-QMD^0G)LO?L-6]2= MZ>_3:\V.\2P9&BC,(JEN^E.(H8"J36.8X!+ M V_#A8&WV]T87N=KV_CJ]UY (__[QDG!M1!>9U1*6P%"HP 5K(%F3-/9CFB5=MDR:%B M$9PERTK+M[(4R4,J.U4V#6W*B3A,E(P)92&P&F<;1N*H0[-+L=DHJS0V+TNX M'=$0E.LN:;/B\+F5O-KE1;Y?EKO8$9G^/,:E:":7[I[HY4SCN\$]3E<*TMPI,;OZM- M3+(>U$:!R%]+%F/>.\99^(AOCPYC+0M^T8V/Z+C*,3X=,+\'M+1:S M+AXM,WX?IM\' 9[.I]ZKI6H?E__=?.2<#UHG!SJHJE83KXVA#- &9>VX8-&W M3MMOCWI(@=$N*;EC>?=L4)?3#>9U.N5T4K%-R_(WV_.:1P5\H4\3Q1O2T%$*MY1F$R4TLSG8"RFK%MG^\X?WG9FR=E "QM+=J(8 M$+R^)"XS<,IH\(*6HNDUE:ZU5EH)9$BV;S-YWSY;9)/];C@TF"* .O_[^\H$ M=]D5U%"[I-99;!H;I]W8O;?IT^8C\8X M+2^/%D&M>Z*&-=;&U=C>^]_8/DC-ZF",G7 M=B,N4.A6D@5=I S).Z-9:_=IBY'0NW,W>F#,[=[(9B)I9IUN73&]I]U\.6RD M=NBOC7/W#NM/HU KM$N24)R2H&(1X(SED+V.W J?N&M]-V8CH,/R:G; K?[% MV=/@QN^O@0@\VI@#:*U5#=8M>&<5)!:U9)S\@^;<6DLS-5OAA?LI@7/R0WB M)&JF/[(,+OE \@XZ<7K[5?,6-G>"&I(^;L&1-=7OAE+I^W4XNQ*C39#9,@5< M*P_*.@0PSMACQ'487]+ 'C2^N+G;7 M$0;+S'+T]99JM;">&2#^&(@N".6$ MYN!C0) 8C(O6J6N3DW:V%T-JH-HKQ^[E-VXKQ-T$*VY*J#*2(PDY*0KI MJM\0 B>00DDFM'6#AT*Y#478IBSW5H0?IK_B'Z'+E]M8%QM8 M="6 -SS5"349/"H$D5$DE3CG.=WEX6WX["&U)NF50+N0SPTPS?+5B'U.=D4*IK*Z$^C*U<=O]%[K$XR0!9 M;?_A*&QW&"1D$^M$/Y/TU1$*N[66Z[9TWE4CE4&1;C,QKIDB.?U]_4>DY__K M'_\?4$L#!!0 ( ,Z J5:A0%Z3B4@ '(R P 5 9F]R;2TR,#(S,#0P M,5]D968N>&UL[;U;=]-)DB_Z/I^B3NW7$UUYO_2:GKTHH&J8H8!CJ*G=3UIY MB03MDB5&DBF83W\B=3%&MF3)RK\D&Z_53=G&*'\9$9D9]_C7__WY?/##)QQ/ M^J/A/W[D?V,__H##-,K]X?M__/C[NU_ _?B__^U?_N5?_Q^ __/SV66\LB:7V8<.^L,__U[_B&&"/]#FAI/9M__X\<-T^O'O/_WT MUU]__>US' _^-AJ__TDP)G]:_O:/BU__?.WW_Y*SW^;>^Y]F?WOYJY/^3;]( M'\M_^C^_O7R;/N!Y@/YP,@W#]'4!6CY/+__A533ZI_E?TJ].^G^?S/[]RU$* MTQE[;MW"#VM_HWX'RU^#^B/@ B3_V^=)_O'?_N6''^:4"^,T'@WP#,L/BR]_ M/WMQ'6E_./TI]\]_6OS.3V$P(,2S3YA^^8C_^''2/_\XP.7//HRQK$6_W'(% MI2N<_U4_[:>],7T@(.-T$1'HISBL MX0XTV?OC_FR\^"C"5<#*8-$5__[*9X M1^>AWY+ USZZ =K9!\$YGD<=>P;D$N8JP?F09C<]+2-/1^&]I=/[3 M#.#3UZ^>/7_U]ODS^N+MZY/_W/?W_] M\MGSL[?/_[_?7[S[Y^W;J M!O7R98K/C_K_NLLR579'X](?]>B.]I&\7:U7\ MW>\//T]QF#'_^$,__^/'?M".<1N\*R(H::WGPC"?D_+(,Z+OW67!NM'E5@>C M],WZ@WH5CRYE9Q B#F8_[5U,X'T('WMOI_0JU@>2:(,OZ,M)KUB?68H*K&$6 M5!0*@M0%A$LAZ:(1N;@N>9.E))__=%?_KE;#08_#(:_Q7&N<># M23)Q!^B0-LVB!.^9@1(PZ!2SPF(;;WI'B-]2Y*M0/QDO:;.X-^YXL51MJ*EL M3$>'8\E<+&A_/_XP&M/'_>-'MJ\$/1V=GX_F$-]^"&.(2C$(F"S3R$,HK<_()CR'EXU.F3GJB!/7I83O*R77=]TST>D@ MI0$9+ -5- /GT8,VP4?)HI6.-[\_5U$\;(G8D^K7Y4 TD8,7D\D%YF<78Q+, M-SCNC_)<7I^3EC/Z@CC[I3<7X_2!Z/-F$(:3GN-H@L0(4HD(*GD.(00&AGM5 M8HIHJ_;07EAVA_H=2%3'_+LN=K(CL?NO,+C M:A[G)L8M9*0E2]T9R8/T7($ MHY(RSG'M9&MEYTY OTN1:\B[ZP*G.KWG9G_^3$@S/=D?R1R>^8%^'8\FDYYT M,EN=&112$XE2])5/28!+LFA?8E3Z0#)W*];O4NS:K3#GK":1:])%W06@E*<\)J23\4,B$9,63!V/:&[(X@OTM9:\2SZT)F M.KW>SG R'??3%//LUYY4\KS"Z>M"I"K8GU[0[_18*MEIGR!$'8AFA( M(3.3--/J0$*W/>CO4@@[XNEUH;1=WGQ;X2=%M)2L(C#.J\Z@!?BEL MC O^@!?AHT@>E*/7)=(UD<@S_+A03/.383[#:7]\TPGKB9*%9*: L72$E+*. MSA&7X.A0<42NC5==2-^6^+X#2>N"4]>ERA]&JF:'I&<-0YX%@ZP#08T&(3)I M@8O,8U R.Z>/(E0S>(\R=1<^W>">W=N+_R3_WXO)M 8Q)N]&3W*>L2$,WH1^ M?C%\&C[VIV$PD_ZX:O2<(1%MTI_B6QQ_ZB><[^H,T^C]G)GS#3*1C+8B@5>% M-J@S!R<\J:ZJ^IZ-$*2T-A;$KO?TL*7WI"3B!I'?.R3Q>OH!QQ7W&#_4E(1/ M1,XT.L>79,3/%(EWX7-/^ZQ-D!H,1@+).(,8O09OO4V**,B%:RRVV^!ZV*+7 MG#,WB,_>D0P"\A55C[3)6&RTD*N_A]:V$#/]D1C+,119@F\=S/H&P,,6B+O3 M^@;.[QU,V!AGY=EFBTJ!\X;$4LH(T=@(9(=$=,:S(HX7\6X2MV5!CX10_ M3Y\/9@O^X\<)OJ]?-).$N6#59VY6_ G/4IBW>@; ?9K&L<'0MPB&1@&)M 6Y9IJX)LSI05<,.E$BQ6 M@Z:Y$VL#H(<@ NTHWL')?Y+2Q?G%H%;$K7-*+( J)D.2I#M;G>C2DX%#$$6 MX"'9D'@.-K06C6W!/0@QZ803'62XGN&4]HKY>1@/R0"?+%#YQ#B)L(;D9H*, MF:PLX8%L+B>-DZXTKQ:Y&H_1H-$VUZ//., MC\K3,=)U%X9S(3[K3_ZWJ?.ZVUY6JKM8MD8:E;C,2CDN M@E".;G=F.#(='.MMO\R^:MV5=>KG?O6)2*DXJ1L1BB"K5FE3@# BL* Q*^\] M]ZT?^O5H]E=?5S[Y#=G]](/P'GG/,,]B*0:P>#HS07*(AAFPZ)FTD4O+VVNR MZ_$<_G9J) 77-=M&1.^D9&L%V]RI8Y.2/,8"C&D%RL=$=ALFNI%E5-(S+7)K M7]?-2 [E##T4ZWX3H\A&;N0O0N) MN)A,R3P?7X.X,-N$*)ZC%*!]U8:*3>"4%5"\E3RQF'QHG6-S"Z03T$+ORKY5 ML6A(^T-HHC]_^1F'Z<-Y&/\Y.Q)/NY._ EW8=WQ+=XFAL@^]0.L<*MI-1//;@Z*WBTH =AU!!5G$*Z5(H MC"!&67,',0#]H#ZYEI%Q9Z72G5NZ!Q&7W961 TK++ESHHB5)&-2ZMD\XO,!7 M.%T\B!)99AX%2$5WJM*,'L24$# 5CL4K;6UIG?!S$Y 34$'VXM=JTL_>Q.Y M^UC@^85(09NGG:?I'_WIAZ7.M Q!%AT%)@W%D ZF,A/@#.GGSB215+16R-82 ML16P!R8A[9G133QX=#&6!RT83D#773R7C:^RW\W]%X*9GSI">!,0O'"4U",M*D1?!&1T## M, EN<\:M"@#HXZ\PG[[[ROB;5WX YD@#DC;L&531O KG^+I\@VDIREN VL7B MN(7?:X$,]O!B<-,R(G"9%A;;HA(FG#&$G "S>L*.;*5I4/ MI\7S-3;"P5B^"U4;LKHF./3>_37Z=H^+MX5GVJ8-!F*QG-Z6("%8R: HE7.B M[0>V8B!>3\[8M,#AWNB&M!\U)EQ#C7Z&Z<5PBLN\05Z)!AZR=-O+6[)K5#[WW3+LK@9J?NM#_*PS?XGD_C8;YHB89_1:&%S7=:%88 M_W3T\MVS!<[J9 @\<,@^ZEIIPL$+(8'4O:#)"" U3VQW$K=?]-XSNBL"-U2C M9S@O;X\S_#C&":F3!(ZSU^/?1F.BR;O1- P6=N'R@LE!,F9SA,1J(\FH-02> M%4AF<@HQJ()I*WG8?>U[+Q8=D[NA#CZ#^\W>^1)0UDRJ[,!@FCD Z*D)*@#G M$0D1UW8U!7\-_V_Z]'O/X;U)UK 5YG5 XC+H:&-.:$ :7GM1FP2!&4?FNXFE M8+""Q=UY*!XB#^]"LK5-)1NG-O\Z&N6_^H-!&&;2+,+P?3\.\,ED@M/)\J_V MR&W>X=.;)#??=3%J49.I\C5X%.72:SB(Z?)"XQA:*WPSK[^2J7G_;R M,JG1>&N2TJ3NH9&U!8. $$L&;K0B-="Q7%H[*:^!V-<#N_S JZTE[*RM@E6D MRXH$RNH,OE@'1017O)81D76TKZ,.GMB/PZN.UGTIVT& 9@FI5TK1224$B\S5 M8"2'H*T$KEF=WF59]JT#MLNUC\?6.S-B#6-WHF('P9,ECB?IOR]6NZ#UG%/< MT.,&/.E8"_WHI8R2)-<93C_B/#=/ MN$Y^%P?6]J=Y#7L\1&^\3^^^'3B_$8 MA^G+NW$83@;S5MI$LEFS'U][RRC%03OF:Y1'0LB>09(JT'L:A3%=O5FWHWLX M4M*8$QV,<+ARBZD8C ZT<"(<@;3@8)2"E*S(,J,UJG6'_)O?@CNDG*0/F"\& M9#$L/W$>-).Z*$S10#:2WFXYZXU%!U,XG5B,D07;O*72S5 .57K35G5I0==3 M*;FY[*WQ\\6$B#.9O)U_[CS\(HNR7-(33@:\!<5MK)%T#PZ+D)A)& M0$?K1]2"X^L:$^U-^2ZRU>98ELZ%+ A<&+""9T5XHY6M%?0U4!Z2PM6"VAUX M)VZ"-7>B+"ORM@'8D?IU*[CCJ&1-6+F%>.S/AP/=&M\"19LPA,Q :UU;5K,$ M(2E7V9O1UDVDUKT2CB0HMRARQY&37 LI(*^1!!F;%S_>ANGPEUMS"5E]KYJRH8.H^P9\5[IP/CD?C:?]_YG% MB'J6"T6VM2)KNUH!-5?0"S+;'"MD')0L19"'$YPU*+\O46K!J@YTY0V(7^&T M9W40*M5Y4%@'-@I2'EST#*SSG%0'QT5J'=_8C.C[$II=6="!]?W5T; !Y]SW M@"YR5,F#IXNRIJ[35XQKB$;$;*4G%:/YQ,RMT1TJDMJYN'3$D%.)MV[8U,]? MYKFX@S"9!QHTX]EEJR'I1%8-G0T((9!58XQU!B5SK/64KQW@'=\UV%9 MK^V M]F+481^YKT!KZOC"6MX&;D?^Q!VA'L>[V!GKMQ>Q9GP[ 7$K06_F<-ENKQ)[A)QR,/F)^A^G# M<#08O>]?UHC)H'5RM<>#582/&](K,$<(W'!G@\0H5U(TUS@UMUCLI-3Q_;DU MZI#47;1K7%0EG>$\-W3RH?_QLO+;66U\-H!HR&P(*D.4]&VQ*=4Y#QA5\W;0 MZ^$\3#EIS8<.WJ)WXY"Q;G.)1W!K(F(A/%R1.>D4^!#JL _AF)%*"VSM4US% M\+"%82^*=V# OQB^&8\23B9G.$'ZY ]/AGEQIUU)]+!,VY**@. X[5AF>D"E M24 4VU_;(UHG<:V%;"'+2OM>7.H.3H; D57W9O//]/KE#:TZ)0&L M\Z$^?CN3V)OJ:60./*G9H%BHO=U*!'K";*%-V<):>_9N1[5W\\ K!'U=5LG= MHPTRZ:LR5[($961US*L(+*,*LI!%H5L_E)L1'?XJ;"P9UUH)MF/ 8<-NKW!Z MPVFL-6!D+_P6:E.7Z9+J^BU(03/# K=7911M<.&#T M>B?L#T[DCL+4P[J8;MH$5MK3RM4E/$EA\$]2-GI6)&EMBA 32Z"JC1(M+Y"M MESH:SK1H7>+; /9)*80=RLP.D>4N&'YTF7U%JM.[OW#P"7\;#:T7-'J(_2V!EC&_:-NSOL7T87XYZ0/OJH34V9E/-3 M%(32=)]KJ21+*:PVESN".%:DC]+8%5O7-L"[8Q!T/>2*,JUD6#XI4QQ?XC:& M)VYU(AW8:\)-]WG0@@'C+%BO>3*K@R'6!$?W /&=2=I!>79=UDQ'LG;3\9BU M;.TE*9!SJR"I.C?21@F1RT"WM8C>V^3YZCBKG65L[>*/LM6>1]=ERK;+JEWK M\%IDZ*DZ^5%Z*+GFB)O,P/O"0(KB;2X"Z>>=Y=1NQG:HC-J.78*=L.)4LFE? M#-/H'"_;=;RL_V!9XQEDT)EE"5[R (J7 -[0?E@)$IWW2J?612(;X!P_6[8E M^Z_%>=NPH0.OW!IHB^#V-N ZRH3=".PX>:_-V+B=>.S!@X,+2O&I!!=K5QX\("9.F%+HY9T[SZ\!J(P^O!#9ET;7+K/A3N(#3^%F<:_*\X MQ'$8T%/Y))\3?2>SZ7.?<*%H+\%:&[DM+@-:05L/M3&8#05,8EJR5*VXYB-< M=P'XD$2E.\ZLO3D:)Y:=(8&]6 [&^1#&[W'R*HSG^/?((]OJV^@Y4L M,6>8#(XL7F*]";)XBM0VN_><07UEC]OFSLNVZVJN+>G#(5AC- MVZQ,G@_Z=,#J7\];>=.?=0QG+^LLG52U9T =$&)1@].,B!2BQT#DTJYUQEP# MV(>_"IO+V?4YQH=E9B=SL:\?]YYP/'N>,B19FU+$$"%*G4%)C5$1>:QNG;US M$XZ'+C%W(7<7/6TAM9AZ%$QC+88+@/*44G6Q>?'E00;O$#'E .=B!TZUKT)Y4'UX!= M#KF,OHCJDG)T =+&&3AE%*CDLR6YM$9N-U-RTRI'5C[ORH=1%T1LW3F] N/K M@$E1N,',B%\DP,H% \'2RR9RLCK*+*P+6W-WW2H/A+M-B-B%2;%QA@/S&Q,B$X<%XT=J(..W!-MWJ>^VXT44/N&\F#&P#YGL==K,3 MHS:./KD+E3L?=A-9C+P$#XQ+!BH$!4X7 R9Y'G(LD6/K9-Y3'W;3CN.[$/=0 MPVY,5(EED<%SJT%EE6OK 0>).Z.*D1;SK9&74QYVLQ/-MQEVLPO!#C+LAK1& MK5@1X*3DI&74Z3N&,6"*:T6:1F*F;,7!4QQVPSJU_.AI.1H-^ MGL6!9[[)V>42LY$F:@4IASH7UAAPPC&@[0DK$X^2;U571DM#4N^;D:TE/$M,.VB;NTL"\?0MEKQ:"/+]R!PY\=_F?M7K'&U!X9@ MQI/ER0+$K*I#(#,64S "MTK_/BFFK]&W#LGS7>C:2<[<^.-H3'?9J]'PVS>( MT9.6\K^,ZTFI]4H/ZM^/5M=2Y%H3N/*;_ M37AR)O%&"[2*-!NI:>'[^<3#Z M@O@6/^$X#!,N8+DD ^?<@@B:A#E:!!>L@I ,4\2'$FSK3JYKH-QW$6A)Z4Z, MB.&L3Q:C%[$ SYJ#\M% <(I!5%'[DJV, M:KO9INO7N.^\;4G"#CI O9Y^J#WEK^QUBR\ MTL)ZY-DGITIR1940;TSSW[38 >JII'>MS M??!ZJF5!!4N>Z<(4;5/0JQGI@@VL."!6L8(HG#&M4PGN4?W*+I*P5?W*+N3N MHF)X!R>>XU98'A-(DVM>G"!5*E@)6-"3:ATD2_:Q?F5O,>F*):=2O[(Y;<=E MFQC+#&PUV966%H*EM[U$+K3,2N7V1>GW/;]Q)RG8*;]Q%VYTGN2V#9CO-;]Q M)T9MS':["Y4[9[TE4UUG[T!FD^F59(5,>>M)UIUW5@D73?/2R1//;VS'\5V( M>ZC\1F$0M909LN,1E"H9HJ"O4N LQT37F]K.%7ZB^8T[T7R;_,9="':0_$89 M5)&BT+YDK:I"9.!U]<<;B:8V9LM);,7!4\QOO#/[]B;5X1J(S6\9AK$$4\ 5 M3= R]Q!C".!T0FFY*R&DQA?O2?>1;!YRQ R5@O3D20J!U//&?.6A<@WZ]VA-W)QRZD/T@[PCJ, MV432WG#\-1%K[LE M1$;[,TR#J27W*B,'YY,$79@KI IZM*:]N_DV6 ])+%ISH1-C?Y?NB#QJ3Q(\ MZPGO%\IWIJ]TR,P'=,$T'SAVK_M6[B,\W7%FK8YZ@)@L_6=(_YF.IA_P6XT^ MI?%%.SVZ[7&>QVCOM=R5NRZWC+CE6.$LJ\114Y%P5FSG)CY'BQO#6M@L? M((:;BD63@P$62@*5ZK1W9AQD:TJ.W >U.OSC_L5P%Q]>!WG\,AK_%<:95 ") M(3(&CBFZV;T1$$,="L1#IIM=*>]:&_"W0#K1R.XN\K$QLKLG$[JN:5G ZWD3 MBRJ>@2V!@1(H2"V4$NA,,Y=B3B(?0C".+ W[,FL+0=B)TEWW ENF'6AFN(TR M@='.@=)&0732@7"!8TS>2]UI([#3R/+HDOMWH70'?KLWX3Y)F MIE-.$(N/M7=2HBU'"?1S8ZVTW#0O/EF'Y6%)01.*=Y"U>M.>W^)T.L#\1W_Z M870Q?1HF'T1/6C)FLQHZ\PEIR$*$T!D;>LL!(:ETRK8&Y6';K/?:FZJ\8R#,\F0%4T& M=/3(0+(BG:P#L-M['>YI]ML^JG17+#F5[+?;2AY][5DE,=U!NM2 MR)(8&U.W[>/O97WY3I*P8WWY+APY:/GP-L >Z\MW9N'6=<1WH?]!!41E']%Z M#E(E30!KW8WV"J0UC#$3K,?6)O[]JB_O1BYV(7L'\K"N*E:K7"3+CA3'.KXJ MD#7JA0Z0+'>9K!&C@_G@G9FU9?[P+I9OGXFVJC'=*\ZQ-A&AJVIJ4 M 8)F")HK5Q0FJ_V*"< M!1Y1)TQJ*^[>C\+B._.V$0D/%<#\A3#^5QA<8*@!_''_TRSR^F)8*3)W-"U_ M83Y:_3<,DXLQYM'P#-/%N%*,!+F_3]%I:PA- IV=TF4E^!EEH8L[6!DU4UI7 MET\)R#PZ4X1EL=<:S'XJP.5B/X=!?9?>?D"<_CH>77RD=7[I#^EG_3"XS!=X M&C[.QJQ]M> Y2V3 NP*.%3H'2B%X[CT@%H$V6^5=Z]2L?3'OG9\6)C5%IOZG M#AC_% ;?L.U9?U+=!,2SGD"9FGG?#ZW1.!L%Y+W*,:'QKS_G6X Y_ M01]4UJZEO'7"M Y"L+^%\9]TM.. E$4Z[\03K(-G I=.")"&UVG!LOJ1(B^=:WC33B^,YG9FQ4=V&Q?GXSY\]#3W@2>8P:?5"3EQNN:267!&^0^ M>2Y-\S+850S?F5CLQ8(. K=S%#==94G2VEA[X:'SM;\9@JM76>1:*I:3B\WG M2*X%\YT)21NF=!#<_2J]+_LA]@?S6\V7Z&5, KA7H4ZGJN/HC0=;-$NVH$!L MK<;=".0[DY+]F=%!'/<*E)OD%[-CWF0)*3*RIJW60!9O 66*"\5G6WCKN--F M1-^9S#1DSW7AT?L*SU?2?+F)./,@'-UR2#H4!Z88;=_FF@=>W2@)A0N-'%9_F##J5>/F5C5U^^>]]'->*EB\O:SW+O&R.!^FE3D2LFEM% M;W$M90GM M%F [BJCO!/0X4?8N.+Y.J#ICU]%E+#EZKE-"8+&FJFB6(6HC $7&@$S$8%IG M7I^ ;-T2J#\YT=J%2UV*U(OAQXOI9$8!OBRR2R4P5C)8%A(H=(F@1<(7K8J) MAQ)-9T_==3A'5-/;,W*=R.S)A0[\R3=!$TMH KE- D&[5"L.:H]<&SQ45%I$ MEQAO[1_: .=[$Y"[<.% -XA<0$/-'9.V#FY*U82T%FCO!3@O*HK",DN'$!#Y M?0K(7;C0@7_YRI,[\VH^'83)O+-"V8[\%\VH/\7=0)X"W[M\$)OOCQZ"0EH@2%M#QUY(B+X6:6GON?1: MT"Z_:WG>WO:[%^*\ [L[$./?1D/\,D]A^.5BF)>)BZBXDU9[$"[7E%1MP6-) MP!53(2?.76K]9M^,Y(C:W%$YO9IDLC^;.K :GX[.STD'ZH?!FT#*T+)U+.,R M^V#!(:NF+&?@E2M >BTKI-EH&5M?8#<">12=1DSJI'O?8E[OSZ-A_IHWM9S% MDWFPM?FPSK5$.7O")0EA%CQXZ3DSK'E&Y"9 CY+4F&D=V!F_OWTWGE'IR\_] MP> :NIAJ1J8(@&1? PDX27XV"5@*107.36Z>&[D9T:-,M69;!VE03W$\[9<^ M_1I.7I=G^'$TZ2^[;&MI@V?%0LDU0TM*#E%XTB8156V5+G1J_LRMA_,H3DT9 MUD'"U.]O?QU]PO&P>@>?O$JFRJ&S_N3/F36L?)3H:TZZH M5<5.M8:T(:@PE M:R4#;RUFF_ \6,]L,R9TFN9[.?:6_N6R('(+;!TY6#?A.HZ3M!T7UXI'(Q9T M6DYR \9@)'=%1B ]7X *6M3>31HLJ68J*JMM\[;KAQ>/6WR.QY&.72C?A0=\ M-,;^^^'SSVG6E7<)<-D"7 1Z6.G*M$S0K@MWX#P]?6BU+U8YXW3K!/"-@ ZO MNK3CW:HONAGA._ )OAI-ZWS=A/V9,K8 55Q@VG$.@5=%B'$-7J$!X[@D92C[ M]A-O;P3R@*1@?T)W,JUEBF.<3,_( 'O[5_BXE,FLF5UG'BW!:Z.C(MUF(YC6+3@VZVB ML ?1.W@DUN(KUB%RQB"[6I46$SUC)5F03*>L+2;A6L=]#BL,MY@1AY2%76C= MB4DY!X3YR62!\:OIM'C*5*EQR)!!BFA N5DZ-,M@4K0R<18-MNXPMP6LPZL0 M;7AXS;)LRX"UIL3!VU?-K:.G%^,Q#M.716OMI?+5;=NJ[98^4+NJ.]!AI4U5 MEM)IK[VWS"J#+I!Z0E=.D)R'Y)+R]DA(PN#)^>AB.*63S\BT*PR*9Z8^"74*@#60 MB4M"RH38O*WS.BS'-*GNQN_U3K8]J-R!*^4KKKEYP'V0.20)PA8'9-4C!!$5 M,%FD<6A\2JV-J!4(AZI][X[#NU/R5"K7W]10]E(EY$86K#'%8(@$9.5K\+HH MB%Z5C%QSKW1C4;BZ_K&LZ+WXN#I7Y:[T[$ ;7F)93EC< DU'QO&W2(YC$M^= M,VM8O =9NV>V1VVX%QE2P1H>D@%<*@6R%]:[;$D#:YU'= @FWV+J=L7C7:C9 M 6]?CH;OEZEKRFDI60(M>*F^70;T^QZ*1.Y938W4K:LBOZY^>*5L'SZL]BZZ M&Q$[T,#>?AB-E\:PR,)+PV2=ED1OC4F"] ^-X(7,3DEKT+?FYY7E[S5#[TK& MA@=T,I[VEE;H[,X1W$NKZ;I!QA0H5@P$&1,XTO<3UYX$;"L+BC[X"BOINZ]L M7%WS/FM->]&O89PI+3#TG@P&"SPU^6XNH]M@VD)OFF#ZV_O1IY^6:\WYN_SN M*W\W83FLYK0?=T8=D;;A\=V(S3A1YR18T+J.70G*063! B:;O!,&@]P473Y= M=J_1H;KG]BX4[8++SW\_ZPD6/"?=#W1M9:""]>"MS<"3<5[GA $W#=C>F:NT MYN$>V7;47V7GKJ1KJ#5=8OB/-__L1<.$C#H"R[FV.V8UENT=H!;22^828YLR M?G9F'ZWY$-BW*^FZ.'W_>?9'CTLM@T@1I$]TI93:J#HP"\9C,=%C]AO;BNW, M/EKS(;!O5])UH1F]^^-9SR82&T'2$W7(H)QD$+,F;5T9@5PJ>A0VU6_OS#Y: M\R&P;U?2=9J2?T,J,3(EI*O[0KH45+$2G.")Y,OIS$FE5^)[J-EHZ09N1N]# MEV=L@^VQ/&-G+NZ2@'\7%AR\/$,QE;DO((.OKY&J8\VDAV!U+$(DGX.Y]^*Q M3WE&9]*Q"^6[+\]8I%XLO'!&<)/BS$2DIXTL1D$68P@0G!2"J8@RMDZMVH3G MU-*R=^',D:9V6&TUDN#UE:N/237N6/1GF*V,B;BBMIE]X-1J.OZFT M?GF9D.$8CX5(?G'%V(&O*J^S:4=Z+3W(A&SSE#AH!2$(TD&JC] MG$"J(DLQ4MGNQNWL"_[@,WF.+I7'X?NIY$)>J::[TG/[ES'^]\5E4,R:4BQ+ M"9C)M7641E*SN0=I6/%,*%OXIOC1GFVGU\$Z>OWA8>5E?9?J)GP[T/252X#+ M.KHM(!YPKL\*O*-WD6[#VBWFK;3@RY%$2 64G"YX<(@!E..*%%!6%8C,@TM< M!-NZU/%HHK-]P^:C2K]^^RN)^,%B$008AZ]S)7'5/) @970O#9 M6]8Z[7]+:*B9C%H?8\0W2$Q.JVDG&M(*(= SKP?#U)Z>+\ M8E#KSI_A1[I+^PO_-ET_,[(/\Y/ST7C:_Y_9S]=NIA>-3\YB 4,F"*C "D1F M-,3"(^82LU:M4R%:87]P(G<4IC94P^H3M)Y&KW#Z_',:7&27DJ'U>[\!SH.1F-:D[R"1:Y,\][(. MB616 U9?<)WH BXQ RGZZ#19OCHVK^7>@.?!R44SXG?0'^UM^H#Y8H"ORUJ4 M$=J8M&:M=N*SIY\.9((<:V#]DY!3K.B&5_ M>S2@:\&&\WYT<#%<;GK9 MH=2AMBX4" P)3JD.0Y\=8+#(-5V+2K1NRK("X>$)PCXT[L2C=O[Q8HKC55B2 MC#TO4VUZ@*Q.,"5)9+$ JT]BX)I%WGJBXQHH#T\$6M"\ S?:+Q=CHNS%&&G+ MO_0_UZ^6]Y)D3FL;-61G)2A9Z(9BW(*,NG;J#$:4YID1:]$\/(%H1/D./&@O M,4SPPVB0;WBLA!16Q1Q!AMH]K Y5\,(4,$5Y)#&VTK<.-F^ \_"DHA7MKXN% M[B0MYNUTE/ZL>'$\J;28?B%M>/;#GVDCN=YZ9*/-&^\W+GIKM723])I.Z+"2 M@F/IB1"*S M.GLTSTZIG,P%E-CZ(Q"$[8 )R,\!@C*YFU-E'V1[UWX*(RZ@P_ M7HS3!UID%FT+YT\NIA]&X_[_8)YWT.8]&;(L=2:!2KYZ1VL+[5P4)!%MD,A$ MTJVS\+>$=OCK^,"R=BW T0'+NNBY^2W,3._6&4[[8\S/+FK:Y1L<]T=Y1JA) MSZ@BR1@A-31*5LW1"$&H""DREB2*(FQK[] N^+YW&6O'O Y\"=MAG:4 ]W2) M62*=!'2"U:(7TF:4S: T:HS,1L%:]TO8 =ZCF#5B70?NBYMOW3.L9*[>MLOK M]^OO+"]BG00K7!LH10I"'B5$1L9WEHG94+04L749^=W1?N\RV!5C.W"C? UM MWTK"R3H:SF/?3G$5O+50Z+8&Q8P"SVOOG,)%T"D5'YH_OZW 'RIMY=AB>A1F MGTK>R]MIF,X^\>D@3"9$@WIH9Q%44G(9BUJ!1B-I-['0LR "9)=$D(8K;#YK M<"V8X^>X'%0VKEVD+7C4@8)X%<^R,]06B#K*=+F.YCB)+8W8M1IQ:$/KPTA! M%#XJ;@4(5\0@BR;)+ZV3,0_%_5MR4P[&_%U(W 731^?GH^$, MT#+PG7@(B7:EK4;2V9(%5XL+5$3N+&-%-1]&>@W$X77L?3ES/:ZX!UD[&?!" M;]IUGU@5:-+$M?2U.U2(C@2:T191"-:\6F,]FN]<0VC#I2ZL^QN1 M+4[*-M@Z4A8VX3J2VM"(AUN)QAX,Z,+1N DCMRP&4T)!2OII M4B%$WCI&?7CAN$VK.()L[$+WUJ6FK]-T1(\?,8;=[$5:/(X);=3"UEXGFIY$ M$>KTLX1@:B?ZF#TO>L4!N*:N=,L%C^3#:\*B4MZ;KV[!\O-^4,)]-Q/TUQ M_O>_T_)/TK3_B?[-83)4M@!PZ#R576FRDJT2N1-,HA#92R5).HQ.117EI#+< M1KM+MLH64(Z>L\)-$885!I[NOYK['R%:>F6M,]9&@XPW+[RY#?+I)_HT)YF@+4E6^DV]V^NICK85EI;W,$5B*]QT9J MB$C/?A&9<59,3KSUC)*#;>X>'9(#2.GA#]0=1*PK%T G&_V5/F(Z>3&E >WL\24Q+EZSX1?!TQ%U+6S)!YH'#3!,73.DC?[NWQ(!WE(.TA8%TD M@76V3^)"P?[5K:)$QC*3$)TCG3L+7A-]RVS"IF 14VH^*>B VWL\3D]O ZFS*)DW,5@:RB$KHY2(GAK(A0=;8J265U:5[T?R5XZ22[\@?WW'^B_ M3S[A.+S'F8+T+$SQLF/XU<-C4&I9+$*,M5,+YQQB$@5*T)I57FV>@WZBO-J% M!/?H?KPW;J+.1/!>V;[;DZ/GG6.A> G>*0'*D:+EG ST5/!"?UX,^F]GS[#VVF@G/52H0/#2@$5A2%;0RJ(GOF"FA7GFL\6.(%]GTX9 MO>&>UW8G8#Q#4(K7VKE2E40N0BG9>M_\"OT.R^CW\ND=A=FG4D9?&PB^"N?S MWN,LE$#:C08G4B"UAR7P(B,DEXVCC45>FL^)N++^_2^%VTD"5INWWY437?3U M7V!95EMM@::K*1#?(#G2P(<[72@L=H.1@ZS2E M )%K#9HQZ1)*R=)*:>*:\J.U2QRA)>X>A!\UIUH7 U9G[\QR3HBP3DL;"8R+ MM8;2D59O=80LO8K*K4^50/#Y&(/(N>W-T]],SK:&8$LDD3'3_ASH<5/C"T&5IFX\C MOS]R>XLR=.)BNPMK.Q#7&ZI )V=O?[^L0#;&5W#2<0_*DB829GU6$,>(9%D M!VM/QM/_LNFH@A>3R<5-3&-R4:DVAR@M8OCCE!/\/9N*XLW]E[NF*6G5%&]B&T]_TP6<']2[=*5 MZ-;B;_ -O6#8L[R@#*E6%0EZK*Q7X)P@74RGDB2I8D*?S#'?;6O?GZ2?H,BT M]D"N *.S/-O2L_XDU7[IOQ!/+H.V]9L:Q7U=ZO$/PX17>DKVHAY-MTG+:0OAN!/2(GNW"6-?,?2N83&B4A&=J-\IHV$A6= M+A$THF FI^8#D+[#V/Y>=^Q1F'TJL?UOW3ATY[-H0P92D\B"]K07SY4%#$R6 MI+)GNG5>[@,+&.PD QL#!KOPXOXX7&_?TV/ 8*> P4YBHF.X H+P#-CVC"&0C1W"MP;N=TI8'!R8KL+:[L8;7_5;;'P.FOT MTF2C(16TM3M^@:!EAH VE1"%*;&U\G@#C!.T83KG[Z@MNW3P*(O07(PW-"F4JY!;(? Z544 M.;#B[2.)BNC;GC6@?&U!MK2H;$%N(Z<5AN!'.,-NVM-)$%)5SK^8'70!Q> MRV_(I&NS(_>A< ?J^1E.D#[PPY-A?H:?<##Z6'>\L!T6$(.+4=M@ ;,G9<\F M05L/#K0K6;.B"Z8.\GQO@_60Q*(U%[H(1." _NK]KSC$<1@0T"?YG"@^F8Y# MK1U;8%U*=;"^9&8D6,\EU&%$X$BB@4O2N(11SK8?S;,+P(1^\ Y\ZD "E8'Z-'!STSY+"-$K#6HPBN(JDZPR8G% M8*7RNK46<;3-GF"PL>UY6!M:/&FQZD!_[FSC').1X"ZL"*:92AZKY6*L4!RM0\6B@2^ M> U<>%L"*FV+?DQ)/JIH'X?9IQ+<^391C,4DDE4!I&9T[E1$<$4315%&RZ40 M#EMK/P\L)7DG&=B8DKP++^Y+2NWI,2=XI)7DG,3E$;N==>'Q?Y%?&[&D7 M")*)4$>;(GCZ"40AT!0ZZ$4VN["V^QXF"S8PV.!9UZVE^-P(Y07NGE(F0@H&2&,04'@2H,,7C/241B&E2MK39WN5LM]QX+2$4\.5/X@ M1(I<*@LVU+B=DF1!F;CE#_O<,_LRYU#1L)=(!)F\"N-Y M_&Z/H-::3VH2F]H&Y6IGHI C\F*R=$6QH)UF(J<@E".33IO46_.9^YW)ESB9 M(,X^^AE.TKC_<;'=A8?#,&8E%W7ZJ"!]*=30*Q9Z=U1@#B,SPK0. ]T":=]; M:/[QK\E*)S(.W\_6>8?C\]?EZ6@X'1,CZS1<(1@*4A)+[2)?*WZR3E""$-F* M&#EOG5UZ.ZK#WU$M96/UNFG,A0YB%S8]KS63.3!(==(C M/4*9:$&/*3U)11LNF+.RL;SLBO%A"5"G'.J@(V*\3N2J'TY=%VB]AX?=S,MY@&#$J4Q MA2G04HO:S#>!-V0+LJ2CY(5[+EIW@=D YU QO^X?K/VI?2HANC?C$V 9B5].#;H=WI)%"K5F[K>CLR9YO;-&%9!'&'B46M6K2:([$7GAKZ9R7C: M.ZL>\IET(QJ,-FC2J1/9:R;7+L\Y00Q:!ZYCU#YNPVSZU"N,IN^^,OF;!1^* M6G%W*C:T>B]!+"1J&QB[* ?;,+7]>;W]X=^#^*OLVX-R#2_C53A!2ZYMIIO% M148VK^;@?**;HBB-SGBFXE9/]+$9N.;Y;<^_70C6F&^_$:7.+\X70.B%H V8 M!%85VHPN]$2$4A-DF XBM5ER\A@4EZ3XM6#>U47O(?/N3+.U)Z]Q?/L,/^'P I_D//NP M,'@QG&5V7.T4=X=@]S8?VR3RO3/^E3 X6ID+,T*$%.K()<>R45X'EH-G(L?> M-@OLFQ,W6^$R1' EN>9U'/3?7S80JTDV[_KG]"NU:\&T/ZG$^,:?*)-Q4J.% M(NO,!4\J,GU?@PL^R& %V66M.T2T0[]_;N$62'I:J*)4"J!Y;:9M=0(W&P.0 M3+T\ZS35UH[HK8 =WHP[DMQ=SSALS;9..G-L 7(1A@GOL9=8DF0*&8@&9_4Y M&7Q-*S!.\YP-3X*W+@W<$>*CO'7 RD[: ,WS4_[H3S\\O9A,1^?&0D!-.JDD$8]HZU#*@#*4D -K70JW$="C".W-I@XB^QO!71)P M6>S<0^5%*&0?\4QRKHHC0\U":!-=DB2(-@M2%J)6-%\PS;5MB_6U$]"O.O"[$^NA#/ M(R^<%^>%LV!E'5^GM8 @!(/LC Y,9.]\^QJY%L@/E6OU4,1V=W:?2@;7WEM_ M.PWC:9W@. MV<$9ZCHX1C(ET;H5B=?9>AA"P('>IN-BZJ4C;'1PK@'L,$6Q] M"NXN"B?D.>^MV'7-?.<]?C#O^>H>5OSGVLL89.;.)%(,B_7"6ZU#["- M_YR6>/2@/WK0'SWHCQ[T1P_Z0Y&W1P_ZHP?]T8/^Z$$_$=_FHP?]T8/^Z$%_ M]*!_3Z+ZZ$%_]* _>M /[T%O[&B\; /P=K[() SSBD+; M:PMEW[E0LP\[PX^C<5WERLI?SZ:MW1QYXE"XH[.91(:@4$&RDJ,Q(JKN2BZ)6J)8ZKT*2=J8*/7%. M>AE25B:VGCI^!YA':!?86H[6W/&=,:L#!^:OX]%D\F8\*OUI#Q/RH(P 9FL9 M3D$-SN=:AF.]B1BY:CZMZ,KR#U >[DK M*XX1L^"&<["V.%"F9(BN<-)B76&DUXJ26[N$[P#S8&-+NC[Z7;/HV-DQM0Z0 MWKC):-#/L[W,2#9+:U ),5DBFT,OZJ!)"9X+,K.1F2@8EQA*@R+*FU<_@2$D MW?![U)3NC4N@KR-:-,S8!E/#A@3K"D M,$G[O)5=<%HLOZ7!X*$XO@MQ6[N7WHQ'$9_6J;$+3(NW*CN,5G -@G9"]C-J M\)HE2#E87U")F+?S,:U9X&B.IKO0?-288*T'4KW],JFJR[> %+*"TF9(DEM0 M7&3PC@EP46)6DBNG^%8V60=VU[ M2O_T5QR]'X>/'_KIR1C#H>+M=\5U^#!\$PJN1.<3&LN-R9'YK+Q0P?CL(C5U6:#XZEV/FF,42H*A UCSYRV$FOX< M:CJACYK%U=F&>]],MV$Z1K!>EVRP%(3(6H]%VH3G M4%&\3F6D&<%/(51'%D>^2-/7X[ &/* M2O0I*TP-_/,WK7TLSUP[IHX:$K=Q0&:!9T+*Z@+1I4=Z"U -PW%K@1P^'K<_ MCZXSO!&!#\;]*(R+CI-4%T9V3^35V^0*Q)"R$;%XD[>J=C@MKF\(R!V(Z;O0 MM;7O[9?1Q3"/O[P^G!<)?QZ.+C\OFS"PC"[).+ZY99SQ:B)*V[4-))GDR M4Z6\S7#;8IW#!MP:<6+4#1E;.^:>G3WY[09(0;$H20L%71*IHRQZ@N0Y)+(: MF0I*,"FVXNS-GW_O.=J ;,W/ZB!,/MR ";FS5K$,04@+*EL!KF""'$-Q(I48 M5O,DUAW2FQ>X][QL0;B&D>H6V(UT%!\[+PZMTX#"<%QZ_+KZ-1_E:!L$*(HH6$'!P9E9++&J^+ M0$^!0&ZM@)XG%2(YNS=37SV MX$T'T;OMP&8Z2SS5/@^&U!85 CU\R.DT)8_%2!Z\:IU>=40!NB6QXC3D9Q>6 M="$W"W!CS$^F;T9$S1=# KX<\"."L8C2 VI%^I%CEAY3NHA+4DC/LPMQNW%& MNPC,1D2'#R-TP,9506G'@P["!E?0O?Z$XRO F$KH.:G,2N:J/ L/'NFL1)U9 M\;&V\FC=BFPMF 9;@&H8%E@+Y/!A@4:, M&G5%Y=;'?RTXH0F+T0%<#K5"@3D(5@9@PB:=I%"(6Y6'GA;K-\0&#LGY78C; MD.-I=#&K4I]WJ"Z6_O1Y]^ M6GSBG,.+;[XR^.MZAW50-2+\:"^J-=3=E@A^?]OCT7I:A .7@60Q:P61R0Q: MT./C6)!8-AW+W?CV^]N'P+<=J=;!>7OZJN>-09<(@<^FUOQ9!C5U#X+,VHL< M+>G]S?CV]-5#X-N.5&OHSELB^,^S7@B)S#5F0&?'ZP8,'?98(%I2TX-6:-(F MW^YN?/O/LX? MQVIUE"I72+X[9\]'5R81?2\1U9[YW!P-M##K4MVR$10:M.\ M]-WX]ML_'P+?=J1:PS:>2P3_\89,X5E2LP7)+%G9I'G134W7-2\E\<@E2W93 MJZK=^/8?;QX"WW:D6L/.E75/SR_&HX^7C@RF!5>"S.-@$)0A1"X;!Q[_M[^VDN)(P$0X&H^LZJ5Y#$*!!Z#\CG9 M[,6FE+#=SM_;7^\S]^Y(M>M\LWOE'9SA9/JZO/N ?XS&@[R,FO,B0DH)O"/Q M45&2#"G&R%KQQ<:LD.-VR4 W??I]9EH;DEWGH>NVD8)E#-'7V1*\.AZ"D>"% MUI"CCC(8'8MH7;5WDHT4.DLN:$?^#MJ;K]0M;@'F>^V8L!.C-M?/WX'*G7=, MR"337!H-+CI+H$0!AY;4/IV]%<$&VWQLUZEW3&C'\5V(>["."4HK::P"@;6[ M=^+TV 5-CYU1CF.L^>E^JW?\1#LF[$3SK3HF[$"P@W1,\%'GHF*=0A8SF6:, M@R^Z@+7.GHB9J@BA"P!!$NAY;,BO&F^X;%^7:WK[5MS(P(M23J4R MM20E6_/I%R"9+V4F$V""%*=C>ERV1.*<\R/Q(W!P'O_R/[_?+:)'793SU?)? M_X3^#/\4Z:5%YI56T;=Y=1O]5>GRCR@O5G?17U?%'_-'#L"_U3>]7MT_%?.;VRK"$,?/ M?UO\1:9??OKV[=N?OXMB M\>=5?'+C3#HI_^]R\??I6W M^HZ#^;*L^%): >7\+V7]PP\KR:L:\[-Z12>OL/\"Z\N _1% &,3HS]]+]:=_ M^Q]1U,!1K!;ZB\XC^]_?OKP_*9+]9*_X::EO[)/]K(OY2OU:\:+ZP(5>&.WK MT:JG>_VO?RKG=_<+O?[9;:'SX\,NBF)O5*LELUJBU&KY#Z>$_72!^H'TK0YU M#:!<;>['4#IV8?HQF+I?#3_HX17>$7.QRLT+]7:IQGIW-Z(N5GUXC4.]%JN* M+T9X+;9B=E1>V!]\,']KQ=B!.LBTEM-2]XZJ^GNEETHW;+DW=#17__HG\[?9 M0PEN.+^?O7HHYTM=EM?R_SS,R[DE[^OO\W(&J1 ,,0)XQE- E$9 ""Y!3DB& M(%?"?)YFU>;5GNDE^.W7M1:U*"WF"4M8N"1O]_6ZL9[>@9_6XU_?__Y:>M;?UQ78R%UF)Z0*WD MGCH+NUA8%<]A6$E7&+9SL#06U!CDO!2U$>T0!A",?]*+JES_!-B?U!/QG)2? M#I[R=;&V@!?RS$-HK_A)KLP:Z;X">\_#KBF]3*U67B]( [!1X4_1JE"Z,&O@ M(^8JD_5K2X^S+F8+XP077XTUCR82Y;5#%$E; M+)6 M.VKUCOA210VZ.ZI?15OEP[%-'\@"49"7Z%%YJ0\HS\FJUQC]&.S]4IH=?*G? MZ.:_[Y>_5BOYQ^UJ8<8HWQJRK)Z^K!:+=ZOB&R_4#)(4YRH50' : \(Y 2)) M., X0Y*E3#&.?$C,4_[4>&RM?O3#VH ?H_DRVK7AGZ+&BNAW:T?4&N*Y.O)] M3&Z<-R#X ]/> +A[TU]/] (QH*_T44FP)S3/>;#O,/VH\(-9'FK]Z5X7O)HO M;SY8B6O*??K,GZR_LWSSH&KJ%I%0D>?^5R%(S%?J *QE[/846G+%XSG?.5]_V6[3D./ MJSO]E7^_-F*K\J.N9@)*GBHD0:)0#HC(.> \0T"E#''*,X[3O,\>\U#4U%9B MFXU0Q;]'O-:RWY[R"*I^.\C+L!IKO]AH&1DUHT9/LT?4 VP.3Z,1>"MX1-"+ M;/Q.&WQJF]=QAQ]!*#V?O5U6AFRNE3)O3?EY59I/]/\WOW^]4GJ622HRED&@ M\LPZH#0%%#,%\BS&DC%."8(NY- M9FK$T&@:M:I>18VRD=$VLNJZD<099+L) M(AQ> Y-#7ZBGRBY9Z_LC%0O^B[X0N M9EBE1,"8 H$T- MCD0-J_RF)3$F6YH*3U&=A?%3*U#Y]!NJ[>5FNBJ=H:?2- MBHV^?DOCXY"ZD\MR,O%E37]^MBFK^7W6XW=OO]WI9:NL[-/OT7WCU M4-A/\?KS&$/$,IG$ "N: <(9!@QI!1BA4M.8ZPP)'[((I=C4^*6Q"]2&15O+ M=C>45]&N>5%KWU746ABM373Y1 _[T-WH["4>Y< ,./)3]*;/T) '8MQ@:HU* MTJ'!?,[KP<TIOI%YR0WD5U>J.L)G<@V7HG60C;!K;R#W#G?>0 M^W?UXXXOVE#0@[1\M+PQ_]#%HY[%*#-S)BAV=8WD+2]N? /VCF+*M91(9AF 4#) (*6 )ED"$IC$ MD(I49!S-[I^EA R.['.! ^/+%Q&O(J%OYLNEA7>51XT& 0!6"G(4,PI2;0%. M$0*<4 98)@R\D"9I1EN UWD+(\%[/"-C('"UH>Z0L+I]Z2X%:N#OVYYZ4:M? MN ]:E_6!/F-'18SZ\>HR\ODGJ_/:GOZ.5:'G-V8A;2AY>:-?KY;UTKEUST$L MLIB:12V7S'RQ8F[CE=(<0*(HXICC-/$*!>B4-K5/5ZMLI%MM(X/J_-'L.QYU M)%O-/3]AW6@[>@]"83BT2Z"%;ZUHM-9T .^H$R:A]NR=LL;=B+N8?;"[=KJI M'YNTJ[VW=_>+U9/6K_12Y_.J?-UF42C**#%[9L"U6;&17#"SEL@5H)(IE)G] M-(R]%L#=XJ;&)VLUH](&H$;W9MS;.MS17-40REP\6*]&66?"W^J%YT+C#/IN M]!(.TX'Y9;VSV,"Z5O4J>ATZ2\4-E$ $\_+6 M;-\?YTJK5T^_E=9/^'[Y:%9'9EUT+H[[>$IXI1"#& "$2!) ME@)&=0JPH#"5B90Y=ZIZ\&S MU'[?MK[9+2]L\)OY$L]EI55]V;7-8#7?]D_YNU61ZWEE6+6<(95+)*CYJG*L M ,%I!AB+!1!*4L$E9HHRG[E\L493(P!KBRVJ9P]XY.KN;K7 M5YMKBHV-[74/R]KML#1K<_/KYF=K%TZ4KXHZG^R'N1FVQNA'/Y:Y_ UPHZ91 MG^O@RPO[#!ICHL::J#'G*FH,NHJV)C4Y_U%M5!VK9A_CCF'A&#$8QH%H]')] M1N7>8/ ])^QP _=C^?U\W[]J6^94J^M'\],;_69>RM7#LOK"*VWTDK4K/=Z0F _,KPD]7<.T-<2I9G$&"F"2") M-(M9A1&@">($9IB(V"LBX;S(J3'=5N/HWJ@,S+)2-DI[GA:>!]OQQ# HA$.? M&F[1L]K:@D^MOM9-7J_]:Y4#GATZPQ/J_/"\P''/$)T!.#A'=+_3CW#,GNQN M]NM36>F[\E=]8SV/K3^5269VQ-CP2Y(;?J&Q @(2;C?+<<8@RV7L%-5_4L+4 MZ*35T8T[3N/6315!T!AZR]BH%[7ZG8]21:% MAB+M99;W8DA@W:'@'T[?. K5G=5[S6SG+^R;;_"HEP_ZB[:')\WVU8JR7JU/ M8C&_V61+V5WLU_F=/<_+?[5',+D]R%\MO]H,VAE%"*4,QX"PV+ ?2S- H4@! M-IRH(8:<0NV7H1!"K:E19FN5]2"U=D4[AD5;RZZBM6U18YSU*^V:%_U>&^B9 MKAKH8;NM[L9_A /S_(A/KT?$>TBP@\7(!U%JY*CZD$ >QN$'';UW'%Q3].N# MS9S,&=,\2Q" E&6 9-(L666, ,(9%AI"*(7PJ2>Z-[H7 8]0--1ZZ.>U=MZA M9SN0$9KJ.$L5D&EFXTX0 4*S'"@!D9AXX:/(A$NJFUG[+&#TP[-.A)C=N2B M2\HJ?VCJ.)>RF-]OES$0"Q%#9*8Q-YMU(K /$X)4!CE)&&8FCGM,XT[9$UM M4J\+_K8^^!UU^RTLNV!VF_J!P!N8""[ K6=QY$Y$@M9#/B[I!4H@=YI\O.IQ M]RT]SQ26U5S-%P\V;>]7+6V!D+DNWWZ7BP>EU3NC_.O5W?U#XS/YE+_EA5W1 ME69)5Q_^7M_9(XZ90I)@V[*""2W,QABG@',F %*,QD0AR&*O&)H@6DV-CK:& MV%)Q=KE16Q/Q,JIN]5/T;?6P4-$M?]21T'H9\1T0^H?'A'G CD<=8S^VH4]# M=I_ SN-;6]0D?>S89+? :ZOLMKD)IJE+.ST$3;@*"72HK.7I4UQ(]ISX+M1J(A(1R8'VM5HU;7<.SF MBD @XCHK;E1.]SLK^7*QN"G[79*/,L) $YKD .+1LM>U+%<43=..)BG 8F!W^(O$FA M$X) ;'!S%O%!VBH)8?.*%*:SE*';?(EA\4!^6V/&_OZ>6NJV-O9-G0_,7*BIOA M%"60"@X8UF;K(LW?:*(92+5M3$!)*CCU"0PX*6EJ00)-9]$^7?Q.@\D$2DDN M$1"4$@.F+66&!#;;0@DY2017RN\8( B88[B1:D6CN^8=5K8B:F[9Z-&J':V6 MT7*U!%M"$KRUM-X0MD4=;/0,ZS\]!$ M.*[/WA"@Z+6-C)WA7-0?UXMYO*I^7-GI4+-EH12 =*,9( (@@#E*0(Y2?,T5@;ZU*F[N[?D MJ1'/=H=^N8OZ.-3]G=07 SB:FWJWLJ?M!&\UCGYO_SO(VL8;KP$]U\?EOKCO MNA,.%^]U]P ]>RV:-^BC>:?J_3U'&E$..4@@HH#$6@$*E0(HRSA-(W1N8;%74:*WH5=,>^BKBN7E6 MT?5BL?I6Y^#;DJFO"ZWF5?0A:(M4%[@"<4.GJ%&YPL7HY]SA=$\_+OEWK6[F MRQNSSYG?+.O<@#:P*\X3DC&6 I*E$! B&> HER!-$BJ$CF6:>QVNGA(T-0YI M]8QV%.T9,'<26CJL+77]9/2J87?(@NDEF3'B'=G#45H#:C&AKQWHULZD:M&O+>I%C MS8FL/2,]%(_JV7T0HS7,U?L MX?Y^4?O"^,+VT7IG-B[OEW4)J%K4ND<=0X)F@N2 (FH^3:FB0&B!04JH6=A" M$F?0JTB[H]RI?8EVU:[+L#?15G6[C75_P6B^M<.SH:#KTW!;! ^ \<"?HSUX MZ]Z 5N=H1^E!6OUY A4J_=[>M[_7NGOY^Z4-@;+ROLS+ M/VK?L9(,8L%CH#)$ -$8 O,##5*=9)CF,8'$BZFZA$V-GK:Z1EME>[GC.R%V MHY]0P W,.;TPZ]$_[#P8P?J)=8@:N;_8>:,/^XTYW-,SK;5MXORK+A[G4M<) MM*]XJ95-HM/+LJ:HCZNZ.&6=>K'[^]>KLOJXJOZFJR]:KFZ6\__2 M:CM2<],G6Y;BZRU??JJ#'VSL$TT)(P1(IC0@L52 ;PM)5M$4A?+VG%W]@H?*A7\R.<7.N7_IQ M'>1UO[A"E\6]M.'G]IW:"?F MH]=QUS/PW#X-_2$9F*\]T.@= S/(,=:SP5\D#J;[R.K$5>&2?3[,N9@OYM53 M^Z$MF]+P9M!/^;MY*?G">AYG.,NU3E4.XM2&UV+, $M4 O(8424S3C!-+TT$ M(_;CT9]7*_5MOEA\V"3>)!"2 MF$(,$,\,/>8R S1)&4@YATK@!".>^-#C@82IL=Y:P0N2F0Y1=".TB[ 9F*?\ M8/$FG9.F!^*2P_%'I8B3YCV?^:G&.7F\$UC!!6"&J2I M[:MHW@% <8;-]D9(G5*)=B]3@WALS2%,=49 H0:9N\4)N8J,Q&"JD/),]LBE_69Z??AJ3VP+?:N791WNM.XP^5&;_--54FO]NML=4J#S.<@$$M4F&J:W%!A$&.N6$9JG0%'D%.EZN MTM1XI+8HDKLFK;L'_;"P75.OHJ6N-^05_^X9JAW@ ;H1T;B/96#>:I[(GC7[ M?6ROHH_-$S%6#>(;"0=G(!X,H-"HM!D.P.[A.%,9$8H(!B!+&" ::4"9U !E6N5IS&Q])I^F >ZBO:;X"%T$ M[(>U3E*[;W6/Q%.TV@10\(WB?E/?XUFX\<(P" ],&A;<^E3G\PZX/UC-S8KS MQYTXE>OS,'O3BC]B@3C'0_"HA.0/R'.VZC%"CV(1KV]M#/O[Y6M^/S<$4"

U21&!+YD4I'!'\"?M4B^B+862+">]#QZD+TM7>O&$3O M07IZ(H_'2[9]B6?FDT^I8@CD%$I H-* )4D&&,D@3YA4+/8ZF.P6-[5/S';= MMJB_-#M?$D]W83?*+,_C+,E3(-(T-M]U\W&G.9$@2S.S3\DHR?)XMM0W]M,U M&LZLP7E7[)"GP&7YEZAM@!W=VVHG*\_#GC,8.[I;@[V?0[M2.T+?6VT#>DV= M4 GE$>T6-JZWT\GP T^FVUV75K]HNG_-B.*Q1B('0B@,B$XYX&F&@*S[L$H5 MQ]S+4?E:=B@VR+>WJR\0&$;MQP"3 #L\$.)K5N0U2NV#+6*=O@7 MJE"Q;]SIJA3/KNL97RYOM7I8Z$^Y4[:O+2\L MQBC326:6#G%F>(#E'#!%$X"5Y%QAFN/I4R/^]TMPWV@=%:W:-1^HK>)^E.Z&O1M% M!T=T8,I]OXQ:A:,ONV#NZ#Q D*(72H%8TDWFJ*SG!<-S%O.[N6=5LG:7Y=61Y,92#OY^N)'N ME)[ZP'R]8VI=/:U^JK6U==V,C<%U-.9>@*;]M6>@PR!QG&,]K%#164.K.V[ MUTC@'\20C277[SO7G%K(IYE9XS<^7FD&;6MY*89Y#.,$,"X1(&F2 HX$!"*' M*-/23%7A%++1)61RWY/%(MKJZ%D3K1/-;B8/A='0[.L)CS,YNMC?D1/J_WKN#AWO*UTNL= MM0VZVE';(\C'!?%N8A@"Q8%)8@/?1MUH5]_SV^E^.'K$1P7&A==LTA\?S"!U M?R&[BRO+A[IUJ;1.:<_BEB2X_Y6_T_:J=1@Z9$V-1G95M72A&F4]6T1W8.M&$($0 M&Y@EGH/5ZCG \8<#'J$Z0'=(&KP0P1'&,$,HH@ M()!2L[Y(">!,,BJ@IA(KGS3#G;&]V&"$/,*ZV4#_2.A=U!P7!OVP&'HUX " M_\?^T-107_B=D$:9 M8BHU'VVL 1$I!N9'&"BA88Y3E6#M5';QK*2I?;RMJM&>KM%GYSI*YW%U\+N$ M0FO@"7T"J#Z.ED[$/#PLH9 ;R;7B^ZKY>5))TPTA MDK_^JN[36ONH53_:Z-]<$7WM0OW"="AWZ 9)D'(0_X(I4^[@="=1>8S38^GX1N?: M)M;^O#+#+^VG\N>"+ZM-YM8LX;%4(E<@@<+N[V0&F(A3@#%+!22"I,3)?^PD M;6HDM]8WNK%J>JR#SL(*8YR2F#*@268^)P+E@%*1@ SR-,LH1RE+/,Y)0P([ MSB%I'4I5:*GGCP9?.YG"@^RP1 \)W,#*M[5GKV5O/--?I^PLJBVK2Q^UBO#(/>W<\D7=34^ MB&(&$2$V(]!\NK#*@$@E!1(CFB=IRG#BY/GHE#*U3]:N?EX5#;NQ[*;28 @- M3*$^X#C/R;SU9'>[N&?N\/'LLFU^XZNG M[25M^F-=>_'#IJ^:2C(5&V(%4MF:+K&B@-$$@31/I29::_,3KT3ABU6:&GWL M9@7OVK2;1VH#WX]F#]?U0_OWP0OP@-T< .,^MH$Y;3?I]_P3>]7WB?EG_@8# M.52:[^4*C9O3&PS @P3><"/W;)ENCZ*M2+NT0"1.8@T5R#BGAI21M!D# @BS M1L.2:2F15UO!W<&G1J]KW7K5FMY#S8WI^F(Q,&>YPN#?)/V(O:%:I.\./6Z# M]"-&';1'/W9-S\E9K-2#K/[*+1]43]>VEBA?K-L(S[C*((^S!-#$-D!7L2V_ MQ!&@&:0*\9R:+=:Z8MM7CUG;*=7IW=TOV_9UC-62KJI%S9B>L2!G,':Z67-GVR53]:ZQ^U!EQ%F_JVN6WZU]H3D"2<< M%&]W" MQB42)\,/J,7MKK[=0LT2Y&ZUK!L,U8N.\M-#5=H79KZ\F=$\2P3E"PQZG37A9U&?S'?CX>B^31O?OCO M_X=G(G._I^&VZ!D,XX&)Z#)X^S7GD7FL6<8XI #&WA2Z@28#A+@Q3SW*R.,BVT M4XD%)VE3(ZQ:V7H*[:GK4G2E!]1N[!0,P('9Z +LO*G("9- U-,M:U2J<3+[ M.;6XW=3;KU-W?;$QM)61\7;=\>6K_EZ],JK_,5-4<8Q)71!1 :*P *G"&12 M93D2E"#LM2 Z+W)JI+*N;6D3V#YOVN1\WK3)V5C@[>\YA[VSSR<@HD.[>;L M;&O-1E;QJ-8\I!_8&:9P;IYS L=V]3@"<,3=XWJGO\OG31O=9=LAFM5+FNHL M3H&RO=U)0@7@$%(@TD1CA&5,H1/;/!]X:IRRUJUNK>GNK-G#ZKQ;IB\" W. MF_%>;I9CEO9RJ.P--)KKY)CZNTZ2H[_O]\G_6O!EV43>75>?5V8Y\7[Y=7ZG MUZF!3*=,"@D2J1 @-*: ,R) S&B&"*<:IEXGK]WBIC8M6[]V&55;M2-NOE+1 MO57=-M>KC/)^'_HSB+M]Y,/A./#D_KJ/W.G>#F$+7#[JLM+JRVJQ>+Q=SMZQ(2R8&_!Y>!Z%^ RQ&94%6XSHD;MQ27H_$'];A<[^MY4KA;)\/V M5;I>*MO:I'C4=< PD9F$5 BS;HZ5Y1D-J"8Y4"E+N$2YHMHIE,I1WM1H9K\Z MB_6M](K!/H>RXS%A..R&/BCTALW_?- -C% GA&>DC7M&Z&;ZP2FAXVT]8ZCF M9G>H/]B\_/?+RKP,<[%HNW_^PO]S5;Q>\++\:-Z9]F.:I3E),V'H)(8)(#Q! M0$@5 YHK!#,2$^Y7&<=3_M2(IE$?U/I'6P.:[K1F0U7;$-5&1-:*OK%5GD_) MC9@&Q'Y@H@H/NW_,53_P0D5=>4H?-^ZJ'S0'D5<]AYFLB_-9<9^Z*,(;7NE- M--F,4YIG4*0@2;4MW\@(8"D3(#=/@2H=QR0CL_NZF>:O%2^JR;@_SYKF0Q[/ M#1R.1U[IF_FRKI\E^*(N!__#?!FIU6+!BS(R>D2E!>;'R7E/S[]*.,+M7?\XNT-F^XU^AM'>*\IU M:9Q7#^5\JN&U?';U8HM(;^F#@"Y4_@+@"$8M9.6>-2GHO9!USD=)-_,;MU M3-KU4OVJB\>YW/3_C#'*4B@5@(C85CQ)!@2V[;XES!"E,:/8N9C=22E3(X5U MB0 ;.-YJZNDNZP:UFQF"034P(_1"R:N\W5D4+BAO=WKLTGAU::N.M_8\Q>_-4B@Y^>V6!G_J0S,8<:@ MJ'XH:Y/L?O@':U4T7_X8;>O>;RV[BK:V15OC!LEA#(MWH$54(*5&76V%!?+Y MLBSPZ'U+VOQZJQ<+NTGERZ<9-!R,4Y8"IM/<[.KR'#"N8I (27!F5VZ8^)6P MV1U^:L3:UENI58Q:'7WKT^S!U\V'EX,R,*]YX=&CV,PQLR\H+K,WW,C%9(Z9 M $*( IXDM(LX( M(ZE(4N:T[_(1.K5)W6K8O_6A$])N*Y_0^ T\_]?J1C^L%?[1)DBM$1VDEZ(/ M1(&6(DXB1UUH^(#P?!GA=6\H[EFW2/BB'_7R0<\RK!,>0PZT;1-#*&: 2\D M53F%B4(Q4UYQX6<"W%Z&;39(MAH/234GP!F, M9Y[+>V&2.6'^>88Y=6.@K).ZUL9,&B$0QQE00BE \BP&G",(4I0KB7FB*/:J M%W5R!,%2V2"/D97-$]@P] MFQFR?W7/)NVZ++7>[R6XZ;>TKM[[YD%_U-^KK]_TXE'_LEI6M^4LB05'."4 M:DH T3@%@JL,Y)@PEFDBA?:*Y^ZKR-1HQ+QHQ+/C>]]'X$8I8P [,.DT)ESM M^'?;OJ8;.ZZB:A4)'7WF'ZR:%'.UL_9]SN MT?K9:WM&W?&%+MM]U4==M:68,I8KJ-,$Y"3)@.U!!"C%&*02:\9DEJO,KZ+, M,2E3F_"M?M$F]=@SSNXHDFZKE8OQ&7B>'T S0 &K3@Q"A=8=E3%N2%V7F0>A M=)T7]R\Q^7F=Z6$#>&=2XCA&,@49320@)!- H(P#QI.4ID1!B9P\'R%![ N^^9R>7H_@R1R@-KIN#E(!-XOMB-=B)R@FQ+WRPT@W&^?.5 M,_>';)589Z'/\[E6KQ^,M&4UPQEFC+,<($IM9D^* >5: B8>@NU&30- .# SG>Z7V.HZ=(?$D^ ,VBKQ4.H$>B:> MA,*M>>+IV_OQ4%,"8Y8(EL4QBX'"' *",V)H1ABN@6FL&8?"4-"L6E5\X48S MS;!>++(9?+AY\-7*B'BMFQ^#M#"Y$82_\0//_^MNB[TG^;Z!@>9P.^BH4W3? MD.I>V MCR='@#/* &8P(P1!RJ%7Y8_C8J9'%HV646%K$I5&S\@@.7\T8#_JR#S>FJB] M/9A'$7:EBTMQ&YPI6LBLAI%5<8!3RFX4@O'#42$C4T.7H8>LT'EUSYW[06+) MVHT5F\4#S2$$<9XK0#*,@+#$D,$4QYR;7_J5U3TI:6JT<'&VV6E,49QBIB@$ M:6HK),CZE(AQVWLPSEG*DUQ3+P=)$$Q'\)D,B*FC-R4$4D,[6 Z3\@;PK9Y% M(I0GYJ2<<9TSY\P]\->I'M?[]LFI\ MGHL;UPR$]L#L$Q)H_\ T?\A"A:MY2!XWB,T?DH/0MAY#],[WJS=+7W5Q-U_6 MN]5VXR,@SB!+8L!2;98\/,X SQ$#L>"Q0*ED&16>*7_')4V-N-:*1CN:1O_( M[^[_N0WFJ,'WS@ \ ;,;,P4!;V >.HI;^$WF62C"90.>D#-V0F"WN4=R L_< MT#,M<+6\L6.^T:):+^%YJI#96B: 82D 83D"-!$:Y (F!"D&:>P5"G]$QN38 MH5$KNE\5]0MN/KI&[%VT6/'E5;34E?W)@QG!_OZ_;!6RLGRH2[E+?]HXAKD; M85R(Y,!48;4#5KW(ZK?9*T6_FIN%7L* M+FW5POO=JH4/1OTZ:#1?6[!353)(4F">.5,<[4%D6UVE&Q MT=O2FE4\XAO-(UZK[EN>W^TQ.+IWPH,[M&NGQG6K2M8[*O12YW/?;=EYQ-T(*2B. M U/16E=0M [E80^[G*$)%:-X5MZXP8JNYA]$+3K?V(]L_H,7<^MVKBNN6$?H MC(H=\"?->S[!3U]X23SRAU59 MOC-*':MN_TKGJT(WUWWEWW7Y]GM5<"/#[+J*I[K:RD=CI'4[KQ9&TLTZWFF& M)$\15!HDFC&S.U()X+DPNZ-80UL93A'AY>\94->I.8C:R%Y1V[-.F*BL17TB MH8=YO&Z4-9&'-C#YM<_K!VOGCTUKF.--1MHGVEY?FUMWW]PQ+UK;%SI\>]"' M$#3\>QA-7R!\?%#(CX>?#ROR G_:[6IA[BB;KIK;OE-I+ 2D"*1$$4!$!@&U MA;60IHEB(J-F]^KM0CLJ:FH+R5U-__$?*$;9/T>ZUM@S(:X#70_/V,68C>$, M:Y7\IW5?X^NJ*N;BH:H7GM4J^LSK@\0ALN7.@Q32%79KTZ#CSJ\NN_H M6R]#W_.Y>MOLM:Z7JH[$:3)T-W'O+,-*)!+$.I: I"0&+-D]:UCZN51VT)-LC]C[I[R[HNQ%-8$P'9IPUG*VZ-9I-"%BC M\2 %-)P!"E8\X[S$D0MG.$-P6#3#_=:>"YFF76];IY9E"4&009 I9-8NN<@ MSV@,".(,HI1D6>JW=MD=?6KDLNT?[57H]SARCNN2OG@,O11QAL)_E7',Y% + MB[VQQUU+'#/K8/EP]*)+LS9^7JW4M_EBT60": HUR5D"6(:8#6M.@9 X RE" M>98I)8G _3(T]N1,;O+N) FL%;TT[6(?6,<9?3E<0\_M/DA=D#=Q%(?@.1+[ M4EXH'^*HJ:=S'XY?'J8.SU?]O7IEM/QCQO*,Y#"#0#)M8Y@%-]204B Y-EMR ME*&<>1'"24E3HP0;'/=^6XFG5O:R0CQ;4!W/OT- -?2Y]Y%2/%;/J%9TP&(\ M!V ,5(UG*^=%R_$/#3XT#:@VCC8I>Q79. -@]]2^'9>#YOM8K M6 6=;HLO:-%Q9-#1FG.<-FBW+4?'57YSM7%>R:?9__K\MQE5<9JFC(%,9MC, M4,C-ICM#((LS0D2L1)HY?;!W!YW:O/Q?_)XO=:FCO^FEVVS<@ZA[#O8U?."9 M5]M\U6FQ\Z0[9F)'#?WUYTXU\1_A2R9?P)[M]7T M((@./.=/%S:_Y494+W> M">:^ME6R;^JB>^6KI^TU;2O ZV^\4/4?7XW4ZZ7Z;-["C^:]7+?P(S36E.8 MYG51)\$ 8Y@ S=-,"1)GJ:=3< EI\:#M::15;7O@< 03]+1"_G"SV=@5O5Y M-/Z>RP&Q"^7V'$+%<7VF X)\X' =4M9E*4V_ZN)Q+O5Q#3^NEH^ZK'2C1EE7 M]]_]O0V._KBJ_J:K+UJN;I8VXZII,?5N5;0_LM>A69HCG/*$@3B5MF(B3P$7 M#(,XTWFF$X54UBL_:ASU)_=A>#3?_1M=1TU(FRFTH^RZ=9I9X]F.S#WSKD9Z M+1R=V)-]V$,?E%E+06UJU+)"M,,:=51S8W146]UDA)B?5M&3KJ*MH5?KMR)? M%;LO2_ALLG&?4>#4M)&4?Y$\MW$?S*FDN9&UZ/=MW*L(9[^Z[;1F<99 MP9Z(H]-B6)R'7BWN0-SH#VH##O%N@ZVB0:(L+@ Q>$R6NP8O%*_E#='I6"[_ MH0*LCLP_S(K.+.NJ:J'57^?5[>JA+B"%9XQ!FL5* 0TS"8C("> 9$8 B*CA/ M8)S1?+;4-[:(PM>>BZ;3XIWF)6OFY8$2 T:$K9:@KDI7UBK?=64V7(1^CS75 MA6"^Q!JK5?DJ:I6.OC5:UR7I!EISG8=IB#58A]276Y.=AZ)SC>9P>]^2VW?W M#V958Q/D[NT<:RM!2C[8 MM[OV:XZ V)Z\R2'GS)]N@#3T::^UG&B^^!#5O'CF[E%HTZR06,0(NG3E&CKJ!-;GXDL L83=(<0F7VG;G"@ CS-[/KU$#%L2!QG#*9>Y7R[ O8""P:!C W MDNP)P\"52&.V+21H"FJ$W?7ZH.$_;B!8O2[U3AJ5;XDS.T(X&Y+VH P#CR++T(PR%GL$5P&/(/= ME?;B9Z]'3'T6$99P2;A1"7MI4J$P)0A3*0QI*J5"G(F!=;=-.K0L7CZTAY!8I^+E="O;=IA6R*Y_51E2N \0=S,:PH!R3("1,8T MP!AKEB9F-Z.HPTRD$NZ=T*%P&GM,[D$2MCGT"PDYA MY!$.%@"KD8+!>F'F%PIV!HS.0+!3]XX7!G9&^[T@L'/7]MO_U'6CRDTK(Q)C M)3C$ "9,VG ."7BJ$< *(K,;@EPHKV8+^\-/C>8:[5P:&;E@Y[:GZ8_(P 3G M#H;WQN6XS8'V*L\&'W5[37",*$[,\L>EV ME'- *6* )8)@2N-<)%['."?9V.XVIVYP.@M3 TWL+TEK) M0:;Z62@"S?K3"\S="9M;+U=W=ZME5%KEH_N'POZFLIT1;?$:.\7,-<7&QO:Z MA^7<=C-;ZLK^NOF935:]U8NF*E/%O_=H27G),W=CMS&?Y, D6"L9-;9$;]HJ M+;4U5U%MSU6TM2AJKF[K:GULGMN.78&[7@9 .&1OS$O4&;^#9@#PCO;9##%N M/T)_Q^=%+:LIX/"+64.:4=6GY1=MSXR-/J]X.2]_6ZZ$/<^W]1W>+^\?ZL)8 M2SE?S.N]_:NG^O;7"UZ6VQI6%*9Q"BA.I"5Z#(24TOR19$SPE)C_^1#]4(I. M[0-@[6Q((A)/31F5J%:W9V;08 _8C=6G\-@&9GNO9^1-VD,#&(C,!U-S5)(? M&NSGY#^XO!Y]E.;+^=W#7>LOC@5E1"0*,$HX(!@BP.,4 H803I.$"$TRYQ9* MNR-/C79;Y3S:)>WAU$V&%UD_,'NU>@5TF)^T]I(&27OCC=<;Z9@9>VV1CEYP M0?QTO=JSI6FNE_5_;$[V(U_8TMW7U6M>%$^&%&K*F"DH8(85 A#9*$>B8[.X M4A0D2%&J8<8H2KWCJ=WE3VT&[^RH9%=1IB#8NRU^!D1T8%;8 =/J7)?QJ?^R MH_T +=-[ A8R!MM#^O@QV?[0'(W1[C%,7W576Q9,W MSN\,:DQ8@D&*L 8D$V:UD;$88,093Q**E/"J=NPB=&KDM=&YK:G9:!VMU>Y] M=NCT %S]8.PJ$SS./>OM&5;^]T<6,( M[N=B]:VZM77 ^/)I1F.&<9SE /.4 9++!% ,!4ADGF+*[=;'R5]U1L[4B*>- M(5SK&C7*1JVVOG&6QZ'MYI> @ U,*3VQZA%QV8G$!5&7Q\<=.?*RT[C#Z,ON MRWO7[;Q;+6NG^F=>?"IJWFE\[NN>U#/*LYS9FE1,\A20!.: ,I0!(I7@E.8Q MYUXQ2@XRIT8.KW<.(*^B>UY$C[5C^H?Y,E*KQ8(79=UOOK3*G\YTZOT(W!8F M@8$=F$1:3']M,#4*VXCM1N76[;_I3A^T#*@K1.%*@IZ5.'9Y4%<(CI0*=;ZU M;^_>1[/H615/7_BW7\S@A5GWE/5)7YM&6\X22M.8200R044;'RXE!PG%2!(: M*PJ17]/>ANK:EO?]ZS^+IQ35C4!J::C;)7D<5NH^\FRF"M<\A6 MO*[X!.O!>U;@R,UW70$X[+KK?.>%)//78E[I-S8+BN%,65X!F#&SLDDY!T*0 M!!#%#-]0DB _U\NAB*F1R.=B]3@OK0/ QD+I[U*79>W=7(G2Z%#I:-[:T*,) M^ &^GJ32"[6Q2"2JM0,J2'+9>=-#\\-6P,OPP8&!)^?_X97]-SGSJN[Z:OV\ MJZ6-&=1+:5[L-_-2+E;VK'GC!.0LSYCY?Y!3A 1+ <,YA! @B5.4IX@Z91_ MUDOZU%AB1_GFZ&-7_6BK?V^_K-^S<=\'#8+X"#NB4&#WVAEY@Q9PC^0N>_3= MDC1V@]]!A:L2WV]IMG4JYL2+:,>/*1B=NDBUK6WR/IGH\ M,<>3JF&?P] '5X,\@@NZZWF#&+R[GKL&+]1=SQNBT]WU_(>Z,/![2\7EMHTE MR1.,4R4 RPP_$D2X[V>DX\'YI*]S5 M7[2>4=A'T7:CM6 8#DQ@._#M:&H8:H@FH$Z@A(YQ/BKK90*5N\P^&6W<>5./ MFB:_\/]<%>N"2*@-B660:TT5!DE,8T!2Q8"($PP0DS%%$E(LG2CDI(2IT4:M M8[0ITX4\RG4D3R63H]!XE#&Y%**1:ICX@.17NJ0+@,ZZ M)4=O'*]H29?>>Q5+.B_T#Q+Z6G!EUEV_/MV)U6*F9,R0SA'(8V[+,BD$J&8, M8&;^FJ5"$^RT1SP8>6KLU2H7-=JY!_[LP]7-61>!,#!7.=KO%X3O[ M(XT6L'/4@-T0G>,7](W,>S=?Z(\/3>)13IGB& *A4C/O8DX!93('2'.-<)IF M!'KV2MD./K6IU\:5606C1D/?N+L=X,[/P$O@&'@2>B#1(ZKNT.0+0NEV!ALY M?N[0C,.@N2/7]#TTKLP#FHM%FZ*XW3ILMZ^VVCKF3( LQ\B>(J> :Q@#*'*D MD- M> 4[#SZO,21#ZB=(3@\L7:_M:>3MEHO9/$S4#29FZ^T8]ZL;JWSJE6QHP*J8C6*8AED@'"% $TQBG0 M J(<)9)F4GJFA)^6-C5^6RM;K\'45EWO3/ .@-VH+1AL S/8'F([FJYK-P9- M[#Z/2+@T[@Y98R=MGS?[2(JVPTW]Z..-SG51:/7%#+Q\T&T"_TPG,DDS)4#* M46HSG&P9>JT!5 PE,#$4@KV2"XZ+F1IAK+6,BD9-/Z(X :4;0UP.T,#4L,&F MU7" 8@_=& 0B@Q-"1F6!;D.?3_\S5_>;][;"P_UN'P#.$19)#+#(KSI>Z>*J_='JMK-^$?XZAVTR_ )FAG:UK MS0;H(77"ZD"3^OGHH\[F$Z8]G\:G+NL9WFJ3#%_Q4BN; &T6 O76XKHHS .M M"R:\>MI>\ID_V1_5Y4*M&M733MS2I^I6%U]O^?+3?=VVZF?;,+M\OVS*CLXD M%H(P'H-8,T,,7,: ,A(#Q0G$&FDI1.X5$SN2XE-CG-J&,KJQ2IJOJ,V8KK.D M.QI"ONR#=V.S*3[.@6FRM@?4!D6[1D<[5M>1N#O7M9:OBSHWQN]&#T:U^5%E M[(]: *ZB!H+(O"H-" &#>4=^;*$B@,=2>]RPX9$?QD&L\=CR+RV'6&?>_V;K MVG_Y];=V\:5YCG.1<9#26)CO%.. (TJ7U<#HK'U^KV MK7AX#%YG/U<8T(;WFHTPI$#$* $\RQ-J*(;A-)X]ZD*LW!HO MN@CUF1F[HH>;(#MJG^@HXM-[T GX;H89!LR!:687Q1.4TZ>5HQ.=?2L7F-&755&_4%_FY1^OGE[I MI;R]X\4?U]_GY2R-B6"9UH 1% /";)RHS@E(DCA.(<^$(%YU2\X)G-H"<$_? MR"H<;?2-?K<:>]F//-M_%#5^V@:IFO56N%G/5' +."W5K_.;Y3R?2[ZL6A5M+TLSGBWWM$U<$5PB9?-IH4(V-)\( MZWGC9B,78TE5KE'LM98:VX"I<5_='\Z6"MHUMEYA[-@3;0V*UA9YMBX?^SUQ MX]PI/_V!*7S7]*MHS_CZ\>^]#WLM4+8(["98.;PR R5AO=1##-4B?FSUQ^T\ M_T(/YZ"A_4OI$YBW--?V1.YT7V55]'G\ZA=[J8\ L=0+LI= M42_KGCQB]%G7Y+%[>J[(;4R-#EO-'L^:7JSO]8566UMGP;K'Z]N]: MW>B?^7QI?WB=FWG[14O;_;?FM985O_+OLXQ@SG",@$X39/,Z)*!"(8 83D66 M2YAD7A5.0RHW-6;Z;6EV6(OY?VD5W1CMR^@'\\DH=?EC9.:M 1CT MR3JNCU_H>0V]]JV#)_?LBAK#HA^L%3]>-?Y5:UY4VW<560LWO^76S.BYG?4: MV%@:<&D[ /ZAEJTA51MW23H J ?+S2%D]/L@?"Y6ZD%6?^4V0+-Z,FO6XH$O M9GDJ8QXG$*19D@(22P@H,W^3,LE4R@C.,)_=UX&89B%<5&X$?UR8S]1_+G)( MU\>BC@7A523TS7RYM'M5L].][PZ>]@$YH8JI5"J0))P"@G0*A$ :L QJDE*= MIQ"W(+]=JG$A7@L+@O2S0A.MI9SN+4?W>P6O/J4/R^'-8MSE"".,,"4Q( 0I@ G0@*6VE*^:9)0[I6M MURUN:B2SJZV='O-MK3C>HS[H&:S=*"<<@@.SS7/PW(NK>I.,&R:!^.6,L%&I MQ->E_=S6I76WL2$P)4IF,04<"L,F,#=LHA0'(LDD)BBG$'K%$'7( MFAJ5[#8'V]0<%D]M@S ;$+;N".9)*EUXNS%*(!2']M<< [!IGA8-$MWB $OP M?FF'DEZH+]I)DT_W/SM]2^\"YMJFM'[FZW_6\5=:[(/D>A*Z;FM[ #+Z!:32+K&JV M4*]]!O?G\MJ_GCO.J*GNQ3@OP83.'*C>^- M/G9I\6.F'2DC?O2RGI7N>&$/@LK/NEA7,9G+&>;0+ HT!K8N""!Q3 "C4 &< M"X$@C;'"7A7!CTJ9VMROE:I+3ZG58L&+TI[?-&6H/*M0'0?5C0U,?KO+C?W/^@S=9#;_CZ@\V8 M^##G8KZ85T]M):/RS4-=B_NKP5W/-(9YG)$<(,X2VV:( R9%!A2'B60\C3/% M?'C!6X.I<89YKU(_;O 'W8TW!H5R8$YI=-]=.M3J7T4; ZZB:A4)W2Y!ZJ8 MM1'A2*LL.Y M&P+EJ'TUX[Q9W?'YOQP M4!C**AO]WJA[:6&M'9"=5Q0AH!M^1=$/M0YCFC*"$ M3*-WCH]94UN?MYUUI&6S1=M:Y]+SS6D@_>(]>(9Z+8;F\]$Z].P =!6M(8I: MC)K^/9%%::>8YW^')CY]GOOD6_QX&?5WT@"HSX,KAO7;-IC!&'G !-(0.$YN;+3&@&,#$_3QFEF73R>'?(F-JWTFKID9]X M KCNSU(@. ;^1E@%-VG9M8I]>G&< ,@CB?-RH$9*Y.P#F%\Z9S<4G2F=)VX= M+ZVS6_>]U,XSE_KQF]+SV=ME5?.L(1!N U*U(4Z^;C^=D3A&TB9QDAP"0J2P M)WH<()G$2F$)*78J!GU.T-28KM$UVE'6+L3XV:[5?NAV,V%(S :FP[YP.<]P M5RR.+"-++?]\LWK\R0S1K"#-7[8+Q[,#CT("KN:MF<#Y^GX.D,VRZ=536[3E MUUNM&[Z9+V_J])99GBHS^S-A>_FF@* X S1!*8@-,7"L"$\P\G%/N B=&DUL M]V57=D>XKG!3*QZM-6_S@3Q/^IR>@=L./S2R Y-)&%"]]\,^* 7:K3J)''4O MZ0/"\YV>U[T]B6F^G%?Z@R$[]3Q!]%J:=>S#@MM=X$XFZ4PSE@F:,I"GN>WL MJBA@-%8 TRS/$ZPYS;Q"#_Q5F!II[:@9[>KIR4_^C\*1K08%>&CNJI4'M?:' MN>57D3?V_C36&[Y0I.:OP+@4UQN@ \+K/]*E6>QF!WBOB^KI\\+6'5_6SK)[ MNXUOU@58T5PBID'*D09$QPA0GJ= "JQB)B!$S._HR%'PU*AN-SU[K?E55.O> M5-A;:]]OC>;\/!Q/8@9 >6"^NPS4"[+?W1 *G@I_1NP+Y<6[@7$Z2=[Q_E = MQS;)+6V"]+4H*[N'G9%493+7&8#(TA:"&@B:*R!L"<2$<2F%UUK-7?34B.OU MK3T>*6TR15/3IYY9BS8/:*[+OUS:E>SD0W#CJF&@'9BM3O0IVZ;5M:I'OZ^5 M#\A=_H@-UKSLI. 7[F)V#I#S[4V,W_ZS@O@_@\BUG(%A?W28C([40>H?+:C+L/UH\9?5DO]] LO_M#5NX>E*MLS;*A8 M(D@< QDK!@CA H@$?PBH;JL[XR#.GKC>%%0 M77KOQ4!U7MAO&?-%5WR^U&I=1ZI]YW@:IU)" C(J4\-G20ZHA@JDNFD@"(^A^B>4 4Z@#-1>2XAV<>(!P MXVF6*AG#'&*0Y38I!=H*3"K. ,I$DC"&F^2Q.;G@\3CL[L8!?6!:6QO11@5<[T4%?&P\THTIT:G:<>,\$(\] MY3@/9J2=YY /R&^S>CFLG5O:"X8?;^-[.09[V^, P_4MF,Q+_7I55K-<02Z$ M@B#A*0>$,@9$GE' *4.4"RBQ4#XE?#8C3^W+TE3N6=11!;HY6?&M=[S&S&V! MVPN)@>F^K49LM0I91$D \_.730&J;=YPO1@9?.>CS]RL;P3YAV6R#MUX:7!WF_O[A>K)ZU_U<7C MW&;5'*VHL*@?5=T\[8N6JYNE[3OSN:X*9EFEW#;@$KG@R)[*:3NW!-)T:K^R&D]:Z*BE_:WU".PT;;JRX5(/FSCVH1NZ#?0$@L? A];SA8+F!X+[=)3]4 +[ M?5X^/MAOE!6R;O6X[O0XPXAA05 *I%+VT#/+@-"0 B4Y4AG)&X.<\ MXW#'A4Z=^B.X76!HQCE))0%(I@P01'+ 5()!#G4F9)S+6&"_7E='Y4R-(G;7 M@):X5\NZO)_Y5VW >C'1TPGT#&-/EU!_Y,9S$ VZF#J#1&@/TC,I+^-/.F[J M2>_2B+?6-#3;ZZLX6YR4[O?ZL>?T/Y ]X\M+J:AE#-IZ9NNY[5-T6JX>; MV_9?Q<8H>VYY4_ [/T9Q>#)NY!((Z)'.'5MEZ^[$6W5;KC[O$_0F''=T G&/ M@\!1:<@=@.>,Y'%GW\X29DY;$:\7O"P_Y?68U]_GY4Q2A9DA)< 50X!0$@-! M$0-FT2(3E F=IQ"8#6TQ]P+IAZU M^\] $*R$_RDY(U?R/V/N84'_QCYSG7IU:VQ!V,_I-[D$(D^X._S#3N+BIR_*JI M->+X#UU6-DVV<:R>;Z60QAD4,:$V\<.L&%*5 )9H"'"B%,D9YTC+:?3B\+1L M:C35MN-XK*V8>#,.WY?(D32GHN^4^'JTEAP-1G6<8XW2WU-?CI[/?_*M.7SM M^COISM'S<8[7H*.O@GW/*^^*J+NQG+<:ZD5L#60 3$ M!J0]KUU"(8?H.? M7EA-KW;JA+7G&:VZT=;?'.--FX[Q M_S[PPDR4Q5-SO#J#&9>QT(9'< 8!@3$#0B6&6WB:"2@RAE.GPEX=,J9&(&LU MHXV>[9F_>S.,4VAV$T8@C 8F"7]XO)I?G &@5]^+4V..UO+BC%&[W2[.7=JS MKM]#L:P[B%TOU;OY][J76!OW3:1,2$X2D&$[S0F7@"J- 50Z2W.8QU1[G1&< M%C6UB;[1M(Z'S%M=/>OUG0;6;740!JZ!Y_P^4FLU!XBQ/X]&J+IYIP6-6QKO MK,$'U>_.W]&/(YH*>FUCG4V5W%@F,<*(V8X2"2"90$#(+ %IJIA*!41IIGSH MX:B4J3%#JUY;DMBS!/%Q'-W8X&)T!B:"=7N'-4!#U _NQ"#0]#\N8]29WVGF M\TG??7&_^;Z_C?C0EMQ^^FC4;]NV"9'B)*,)2%1F""#+-1"Q@B"&<8QYG,$< M>T4^GI4X-1[XL%K> .LWB%;[7H7="N5^[' >=1PG*B>Z=MW8 CPH!C2%9LL5 MPRS-."0Q36:/NA"K%\%]5_)PR+?IQB^!OQM3!\5T8-8^\.=LU+V*M@J'8W!G M; *Q^7EYHS*[L_G/6=[]1C_&+XMJ]L5ZN>OP)2:H$FG.0892&ZA*#;\(G@.2 MLT2G"4^3S.F(=V_4J3&W/9Z?E]5<&A;YQ:!I5LE-&(1')-@^;-VTT!N,H0\4 M^^'@/.6/VMTUK3,+6%*].Y4J6V+ MU,YRG:0L5PKPNNP0SS"@2@F@,Z8%11RF*+VD7.^AR*DQQV[I7A6B=.\1E-W8 M(RQV Y/(84G?'XX403X=>79Q?=_3Z Q4Z_>(P!>M^WL:@',U@#ON[.D!LG$L MFTW']?^E[EV7W,:Q=-%78<3>9TYU1*(W"0(D,/,KRW;5>-KM]+&S=D5'_5#@ MFM:,4LJ1E"Z[G_X O$A,72@ IFI1V;_;WX2QR&:V?9M+,[_XC\Y)!MN9[7F$ MX3QLCD<90PS&T$<:U3CL#S;V6M\D5N_$*I[L-(]XMN$+5JPS#F>YXYYU^,)Q M=.;A_8! [Y80ML3-YK,2:O[-QNQ_5-OF0'U6:(50#E.0EU+9PN?"ALQ1D)6& M]I3(H5EE>3FY>H1-C=%:72V+-5,RUT@E;F!&P#>ZK/%.Q5G*^31:KS495 M66/_.RMHY1$V/Q!/)UG?<#CZRB*!/+3+K,7WZZM=-?3PJ[..U-FQ253G8(,XM0Z@0I M&>4&;$D0HI1"1<)*UUT2/35^ZM8AJ75/3G=_W%S;V_SBH+CQTC!0#WU.?(3R MF1Z;EU&^HC*<*V#12[U=%/Q*M=M< 3E?C,WY"=<51KE?W8K_?IZO5=UZKR[+ M))[7U5INQB'#DA809"QC-JO0;!\-L0%9E"*#'*$RS=K:*&Y\YB37:7Z]K(PR M,)FU15&JY=/C3N5DL],YK/I)/_QNO!4/TI%KH)B==J-QLE:R*UT"!'*3=KJX(!PTVV M@:=2!%)2EGZ'Y[W2IK:<:M)#.Q7=KBJ.F\:N0Q#DP?Z[KM:B_G&4ME!$FCSB?JTG@LU*U61J[S( M@>)Y:NN20\#- @GD!:(0I1HK5?A%^(VDN<^L'"=.<)>TSIJD]5WUA*135\ZH M_KHE%CR_((X$.KU!'WJ7>GUYA%T!A([U)VH?M @D%003*'H0-F:O7=+ 4^O_ M&04+PH8B6CF"0/%AK\3[^>-\^7"G[XU:&VWK+O^Z6LF[=5/;O5KN888UEJH M,M.%>9UE E ,)4A5:EYSYKN$_.+7'&1.;55=JVPW]:W2]F>KMD$[:10/6FF[ M#(#;ZR(RK -3?11$O>G9 Z-(U.HB<51:](#@D-)\;@UH%_OF>;-=/9K9_%D] MF:^:X4,C+4OOUG]?K961:E-&/JMO:OF\3VY6DB/)"Z#3$AEJD@CP@FD@((-9 MF4*<<:>XE4#Y4Z.IG05)UX0D2_\?.ZFL&=6$JW)O6DL\^I,&#% _=8T ^\ T M%H+XY9#>*-![M(0==@A&:@4;]GJ\!CQVOUVNXS2]ZO%[QF/ J M.+_,-X(M_J'8^A?SE\T,<84*1B6@YIW15L'A'*0&WSZNUMOY/ZN74-/;YJ!)38XQ9"2EH"!2V,6D!B33&.""<5UH MF5/B5RGG"F6F1A?=^)&N\F%M@JX:)K?=\%C@#TQ#%V)U3@W%H(V)8L :J\3/ M-:J,6P0H FA'98)B//-*[_N'^5*]-S]N9E#C3)9E;L.J,X"X^8FS,@-*ISAG M)&>8AS4BV8F8'"'N*^];'9-*R5 O^QY(3]=Z$#Q#.W'\D GWIA\9']N%OA?P M.G[S(P//.LN/KYQ:HX*/JV5="[_N[SCCB.D"FR56GMK:0S K :6T *DHJX+*Q\[ K[37&=B MPB9#X!^M"$I4Y48NF#($L,?%50:1$NB6:%L#_?QC]^._S]7:/.CKCP]&TT5= MN5')O$"(F)TPE'5G'T92LR?&2''!=B8#NU!N ).?_> %SJQ' %N0L<]\O<"XNAPW^_NZ+[27]>KS696 MDI0H(@@HF& I0@#DF<"%#@G>5'R'%$4R1]:"9P:$55*17-LUIA>[;ST1NI5 M'90W23^(,?V/+Y 9WL=8BYN*'_&%\1Z^PI?W!3H-U,)\^O"K6AJ&6MPNY:TT MRZFY;6*P-3(;%^2,:)YEE!&0%ZGU$7(("+?-!R##$"J<93#W\A$ZB9T:J31: MWR0/M=[5JYB]T-SSE-8-?<4SS:1ZD[_MJGI;T:P0FG!%,"ZX 5!0:,8P@PIF:W M54+SJ5<[]%YI4Z.BXTZJ5E^PTN!YHT#=&^F:YAN'8+M14#0(!V:>XR:J+7I& MV7KY,U3'C3.@#-)MXU#6*W;:.&-V?Y>-%L%'S_/%XM]/9,F MY8(1)G&F4IN.),R.27' )2H S964,L5"4:\PJ'YQ4^.3W_[ZY:_)ME;8N]+1 M!63=N",>7@.3QV]?DE;3Q*K:J68T0,%_-U@BT<<%8:/RAYOAAP3B>%=PG=JV MR'?EO+0>T+7Z:E8Z9LGSOBHMW7SE[4DPS6$),DTT0(I(P/*4 )53+4M8:"[] M.C.Z2IX:KW0+V->1"R]43VK=DY]L957/$!?WT7 CH$$P'IB+;N_>O$]NM]OU MG#_7I=6VJ^03J_L_1N;9^MO,RH]6G^:3=[ C*4:0044Y10@C1&@ M-,]!2YTTIIWD]0&)I6%KS*$'LGFKS*4(^6@CSVD?FGJT9'OS5Z/)VV\ MI/;H"+W(=8__]!AGHJV' "HL5@^7HF#.Z-Z47@4'.-%_%5])K9O\99AQ/R+VY[4Y_ M5C9X6FR?U^;I;U2/6EG?0FYGX74C@BB@#4P&@7CYEVF[A$6LXFQGY8Q;DNV2N4>% MV"[>$%X;IRKN-K?+Y,_J:;7>SH@N$"&5>U249LN>4\#*W&8Q4))J5M),EK[% M<0Z%3(T8=M5?]HHFM:;^U7&. .WG@U@P#4P% 0@%U<8ET:4F6"+ "J0!(G;1CS &2E#->)III9V< M#*<>/K5)7>F75 I>2G&\#-SE27P-' -/7@\DO";M.9.#)NO1PT:;I.?,Z$[. ML]=O7D."LW-VS>E-F 2,@ 19"7!)=8YG&UM@3S/#?E> MAM<4W4D:8[=9=]D-W(=W0/3W,W5&;X%/S8_]@:\(^%UMM_')I[= M?)^X-&QVFP?9B +U5M7_?;]\O_QFWNPK&R:/?!TKBQ.?OJR M>MY^_4J3U+[_;R>I:VO^UGZ(O'C3(13QG0SK>3G\5Z'7]:JR )*5!2A)1LHTAP7)Y+7O M:1=%IO<";[1NO6>;*@MG587JU<.V34+2"0+'*?2]'PW[5UT0M&/15H.U0U%' M3=[V#T&$58(/@H,M'YR4>.5UA0]0EQ<<7D\+[ .]JD\@&Y<6@D3P-%6 4FY] M D@ 0B"W 7T:2IUE!#KY!$X_?FJKDU:[0,_@ 79N]!2.R,"TXPZ&?_OEDS;' MZK/\\N'C-E0^:=A1Y^335X5-V$ZT4!5DM+E[WFZVK"H-.2MYP:F@#&@.*4!( M977;I$)DBN!4HMPO[;%/V-0F\YM.<.Q-4Q@S6>WU#:^7V0NY0E+),L< Y]3V MA)4,4$@%R$B>*RDHSS7QKW<;"_C_D25J>_$N4J(4RC3@C"& )#+O*@L_RW2J M=:$HA]BWJFQR+Q8P2Q&2.4X Y,R_$DFI 5$E!GF>9YK2@ M4A"?%V+[X*F]_%J]_.;_#B8H(:/8L*@BN?5(:@%X9EN<0T5%E@E.T]+_)18" MUG@OK%:[FX0?OKH"42R1P!#:"*I28X P@X CD8)AV,X_&MH MCZ!Z\4(*A,_MA1,"R, OEXN3S_L=V5(7 B"F). ERLUX0W!T".-Q:Q@!?9@S/E]4%25VV5XV!6RQVCRO MU4QQC@A#)2!0V9AK1@"#D)M]+$]Q)F#)LETTR+U[\%>_U "7TOT(X6!UL][% M7G4_KKF M"8%R02B &L, =(B!X10!)0J$.6%@@QA'Y:/ /&8T;![;9/'JMR) MS3??OD@G7R;+U1*L;064=;UPV\SCCH$;U<=#=FB6WRMZT\WQW2L;C^?=0(E$ M\1>$C ^+Z3L+JQ1@2P!J:+ M)IS7J+ASU__4:!DQNO<"#O$<\2>EC.UI[S/UA"N]]W(_,MBLM[,OZL$N%G]5 MJX_HZ%VS1N'UU2DM49!)D.9$ 95 "5L@2B!QRR',*<^A$!;U2ID8$70T] MO>?]:/8S0#2,ACX1\H+'>>([F=\W[_+:?[OW/'F6R.YG73G6WB\/> M^FW S8Y&.FN,CVH[TTARS9$ D"C;\(N8#4:>:Y *Q4K-!49N4]Y1WM0F?ZNN M??.';^(N@>RV%H@(W<"!Z M6T"9O??+K5HT]29520I-RQ(H6MJH_SP#3)0YR N4BU(C74JG7E"'#YX:252J M)6]6ZZ?5NBK.Y5&^K(M7/PU<@\+@>P +P,5"F_W6>Y1?"T1AI )JCFCXU3T[ M87)OY;+N]>/5'CNAY8OJ8:<^#VS8(KXJ^;Q0=]ILU.6SV/[.;._5[8^6RG[< MVSJP]^K[]N=%5;63Y+),,0&:,T-&.4D!*2$&0N4(II+3M$B]6K=X*C UTFKU MKVOAV,$U2M=]FEEV;2>I M:4&]>?NL_J'8^A?S99YEF98:HPQ@5!0 $4H D4P"L[&CJLAA*4H_YY&G E.C M1/,U+3T]0[Z0._J*!@1R:.]1I?I-C%9O[.J2,Y4V.JYEQEIV?R1ZNI9RC3.5Q]O%-7H36.=\H+ MJ$#GU%D8HCJGCJ6\@G/JK*FGG5/G+P_L/R-EE63&%O8=\G[YACW-MZP]1R!, M%S+E!)3,YG6B0IF-7J:!("@KL58"*B]*Z)4V-6+8*UN]7X'9OS7Z>C:5Z878 MC1VB 3,2Z@Q.H7TRMKW!XQ+F8?]85QNBG@D+IW\7*_^EE9>;?: M3-C=PCV%&2QP(0!44 !DRTW2,I< :X10J5-<$B<_6*#\J?',_5>U5LQJZ'': M&P"[PY'XL&!.;+M40>ZP:8H"OL>)_+"#,-+!_5"#X7?2'PYEKT,@X+'C^0W" M;7[A7KCB,>'%QG^9;VP9U2H1[1?SM\T,2X&DQA*4-$, 45P"BO,2%%Q146I! M<^KD]^R5,K4WPJZ8=JUI4JN:5+KZ%QP_!K7_31 -JH'Y/@BEH*+C9U&XJNKX M\5-'+SM^UK!3=X( J08 M!EQR 73),YF)C#+LM>L\)VAJTWZO9R*,HC=5MD6CJ]^6\RRT;KO-&( -//D[ M6+VIL-IK&6^#>0F'2'O+LV)&W59>,O9P1WGQ^M!"19OMG;;)O9O;I?RBUM_F M0FV^K!9R5F(LN,YL\JV4 !&6FY\H!E!DN1(,ZK+(_?S,;DF]F+[)4[[?JT?9%$%0*0PL84@)0)BC@2J>@(%QC0DO% M2Z_J92=D3(T/]BHF?U@EDTI+3W_5*2S=^.!*A(;>%WB"$Q D?=;\:('1QQ)& M#H8^:^)Q /3Y2\,F^4%?U+JARIU^.U\\F[^>*%^H54I96@)64 :04!(PQC*@ MB&0Z*Z%$T(L /.5/CAQJ/!R$5ZE?A*'_4U$PC-X2LH M]#&!(1-"/#\^+VS1D[?J::U$'>IM?EXH^X-9\=X^KM;;^3^KOY^M(#.#!!8% M(QSDG&< 28[,>ZLH ,,%0H3;A:O:E7;Q"+*(I)_3%#XH C-&H1*UV?QKTC$R MD1TKJXT?ZYCG&:L1:VS=2'74H1HI J0S,%V;;I*=5=48=>VZ20[*B]V\K"\6 M,60D,N"QHDMBJ35N($ID,(]B5F(___HSAUUJYXQ R'D.*2#$!OSK%-H@%K/\ M)82F.LMUAHH \CXI;*),W-EH+\+RF4Y#ZW\(X8?4Z,<0E[.]KCJ#.+)^@%.( MO8Q7.XUW/5H]PN>&B]U$X1WFB=O5H]/JZ7- MJPI-P+X OQLI#0'JP,1T$L^;I%%[I$1K-[2B)UA?$/M*B=5N8)Q/J':\/R W MX)?5\U*N?WQ8/1%&[WA+V&+PY^?YPCHT;I>R M_?']X]-Z]:W*$-TT7V=--8&YI( 1A R>U3 8:9 (1#*F<:4^57K<9(Z-<)M M-:WVH[S]9=[1VV\AZ :]VRHP.J #<_(++'>_=%4>(-G3"Z1(*S\WF:,N^[Q@ M.%SS^=T<[!TUE+?=?%9"S;_9I60S%PJ:,H:1 MB&\"(-&6 %@0#E6%,B""IS MZI5+?D;0U)BGU3/9*^KMDSR-J+./\6J1U.GA$R-!?8Z)IN=DGX\^'W61YKT)T6, M.N'[C#R<[+W77MU?O&JE,D-;_9/,<,MCQG?_S6R?7C7ZM=\@OC>EHDO[PN])AA,U^JS>96_/?S?%.5 MD:E^7"O5M-^ 95'HG#% N< <0$!ERH%)&4I>\L<6JO]U;AI*/Q M3=+J[-GJQ!UWU_.%B&@.?K9P'9 !YPJ.X$0[4[@D;^3S!$?SC\\27&\,[LO; M+?-K]B?K9[9H?C7KE?K%,:.8"(;R$J@B+0$2D@/*J%UPY++,),'9+R6O2Y"Q^[:ZP'$B<:]/G<'1N/8U)*?S9="VH 2M=Q4WKM; M*^-!U5V"]Y6 MA/](NM2;#)FGPM5FYR"U\;N[IYXN]FHK:V1TLE8^'O3??UN M^;GMM/ZS;;1^$&&JD2B(%@247"N 8*$!25D*2"Y22%">*0K# GPC:#>UMW8W M:K73A[TV,&EMLAWN=U8E/_MWMX\[PHYOX]<:MZ'?J">'[*8=,[MKZYC7-X8C M!25'A#]ZY'(,W5XIO#DBK.=CH&,*"7LY["KM-MV)VQ R08N"F?T;4))I@$1F MC]89![C0.:<*%Z4H?&C^C)RI$?:^;O2FT=./B<_!Z<:I$4 :F!WW^+0J#A Q M'N %QP1\5+#*^SC!9L\_54AF5&8(8S!A3"!""B$"!E7H"R9(9F M%3(U"*C5]D@'/8-?/&+$0&9@C*@TC)$R>P<@G4_)ZK,9*D0S! MS#,ILA^,_FS(,_>.F ;9K_W+_,<+UP9&&YN'VO_; _YO;*&JQ(5N.X+;I7SY MA\Z5,\H@+U): BULO6##C8!1D@,LD=EM910K*6=/E4O@RY:MMVZ+K:MT\ID& MAYH--Q/JSAJV%TFB]KI61Z_KPUXE7#W,ETM[(+'22:VB9\#S56.J2BEM&7B0 ME4@"5 AMWG0T!06E J:J0$*P9DS?+>4D1[35:QKCJUO=/W[/NLE(B7F<0 B<*\805* 9$B Q@JDHHR$SAWVDL.J^;4=J,= M91.VT];7F37,B#KZPEY]G(9VI55!=B\L3&H3DY^LD7^Y21H[D];0I&-I1?#= M8=X;>Y,8<^TJRA@NW=!^P8=7)#<(N8@>PA?/3\9']@3F4O!SPEC. Z M85Y-^[[X_*;N3OY\_FDON]!?SUXVN MEV@?=MTU10;3D@AL.Q.:+314A:W$B("TL5Q"$,48]FML'DNUJ3%08YD]3FML M2SK&)7OK;I+6OJ0VL&KKUC'QB@:I$4?>C?1>9SP')LFQAS*@RWMLU*/UA8^F MV,B=Y&,#>MQ[/KJ$L)=#LS%_]UU\M;=]96O$1*XIP+H+0M@85P9M:. M60XH)RPED-"<>-6FZ!,V-0)O3\Q:99-&6S\&[H77C5-C@39TH,X9O :(ZG=! M)!*#]8H:E9-2 "*R$F:2 MT,(O OB,G*FQQ4V_Y'FE:G@?Y',8NQ^.78G<"*=@^WIZM9*#%M0[A4/\ MNGHOI+Q6>;U3IO94V3MY>:2&?5FN;G/Q-K3FC,L9%:")^=MHFK;J!Q7O[H7:CC&@ #DP; M5V#G31U.F$2BCWY9HU*(D]F'-.)V4^#)IV?%%'/!Q]5R_:* RG[A+17- CT8YTV1]5MW./I(6 ].L\>1(C?ZT.J^>S6O(RD?2'] MLF /,UT4RNQ1"="I,/Q?F)< +14&!>(L3=,BH]"I"_#1DZ=&VSOE$JN=&]$> MP]5/DE>!,##!.=KO3$EG;3U!)QLE_OJP^O9_S#TUDY@?]@1R_*11)O]9 ]J) M>_Z"L#7;1[5]4Z=C?YM+)7_^\=M&R?=+VP!\8X,L;\5V_JWN*Z:(3BG3#$!H M>SCEBMJ]H "24S-940%%07RR,-U%>TW;$5(N;0I'E6KY;&LVSY?F?XW."=LI M[;=L\A@'MS71,.@.S <6V#=-J85*;5L?^Z??:I3_DNR43VXOP^R]CO%'+-(B MQ4/PJ"L0?T .EQ0 P4S8 E((,(BH5B@G$&&?98"+T*DM .K\4/$B/W3>Y(5[*JJ./2EI;Z@"^I+4FL>9XUCH.&C$,+T8?LX71/<-<9H93<_&(4;0\E[G2=K_:;/8MX7Z6F&-8R MZY_3C5;MIFAC+EL\2]OPRNZ7FO:I,RPX1Y)H4*0% :C()6 I4F9\4@2AV>EP MY!4Q/JBV4R.PUMC$?HFJ;%=K[N;PR,B[%^75>46*^3G'\V'W2;7N, 8,5"JU-9#2 O J<8@RW5: MY#FD#/FU/PS38VJOCFYOY'TGT,]J\VQFF VC:@P([5[M-TB.GH3AH1_:E]!! MO5$SV1F1=*RXZ0S!2,VG@S"-WF;:3XM7:B@=!-7YUM%AC_./FG]GJ'O[HZEM MN)-FD[N>-S.B!>&(IT!G*00(HLPLQ"4%D/(L)SKG6#M5%KPD:&I$6.NZJ[VY MGXVUNNY!]KWH]A-<3,P&9K!0N+QB\EVP" K1[WWP:!'[+N9U _B=KK_R;' I MWR^W9J#GYDU3)_?L*R7O"N\6DA0I%0H4MO H@IG9K&O! $,9IH79R1?:*U## M2_K4B*-5OO*Z[=5O,^^Z-<0OU_.-,#B>1XRQ(1_IS#$*VN'GD#ZHQ3Z8=)+] M.B>5/K"L@5$2ID:?=5Q JS2,B#R]0A$-_JY&IJ!::9&I5;P)MFK&#F,]1P",>-6 MCV2,'ZAZSLR3D:EG+PYT6]0'IK;Q3=4F[5EL*Y_(C*18X((*H MB9CLUL[VJ M49-#5L)"""1Q.ENJ!V8+_WHX'L[(<_IRT_K+?21UP.@ FS;WU.CLZ2 XAZSC MV?XU0(UT+-^HF)A]>/)"R8CGZA=@B'4D?D[,N*?9%XP].HB^='U A_LO/S:V MZL")'N2[/X^41[_[*(B-U/$^$#F_GO<7 >GM>G_^[O'ZWE^TH"5" MQZO#ED9F6\4>'M:J;G)PIYM>")67828RB9'*-:":$X!@R0$M(009+DJ$&-22 M>9WQ] F;&B6^U-4Z:1IM&Q>,Y_E-+\YNBZ58Z U,G.' >:^;7!")M';J%37J M^LG%Z,,UE-,]802RRWPQCUS;((%V(85TCD5I ]%9"E!!,\"A,%3""O,_F I* M"A_N."-G:K2Q3_]J]:Q.*7]62Z7GOKNK<]BZ\44$Q(9V(!V#%3]9Y0(,D?CA MG)11J>&"J8>L<.GRL'HJ__%I1O-2E32W1<*EJ.MO4I)A )DVZP:"1<&?;C_&*YZRM^WJXBGF4:,63]FK?E@\ MI?-)8-M8M=DHM0N]^J#81MVK]>.=MOUJ*X\>IBS/D): *ZFLNQ4"A@L&,E8J M37BA,/+JUG%9Y-2FW#XR;6&5O4F,T,#K7RMYT MPOP^U&#>-V"^N02F?[=99WQB=9V]+'#<[K/. !QUH76_,VJ-CCK*]VQ.^V;& M65&HG F0Z1(#I,L24 HYH!HS5E*(2R%F9E'!5U?6Z;BDB<_4ZNHSW R[LE9' M>(.RT+%DG*="8@12FMFL/U$"@I0&)2XI2G,DM981*J[$',E1CL3CM(T+'16W M=\\(6 ]]S-Y34:7-?>F;+Q&+>%X)YK!552YJ,86Z*JY0.596<7Y/NYQ]&G3CDZ@SUP6X+R_$]L55VL#0UIQ MPF?UU++">O6P9H]MTSH!%2U$"G(,&4 %1X#*7()48[.F*1#-D--\]A$ZM4G> MJ)U8O9O7YU[SI%'=PYGMBGT_&0R%Z, ,X01F2(B *ZH> 0,#H#M2^,!U7UF_ M* )/E'IC"ER?-5Z$@:=U+^(-?.\-S4"SU6WJDEESV_V8;=6;^E3US4JJ&J%SC=U8SP#<])HGEC5 M?7/3^G'OI^\!T!S:T1@!R("L-2=XKDA>ZW_^R#EL3L8>I[*YW1:VPZMZ3-WI M6U%Y:NR^^W)73$VVVG&!_%@4EF!^!>Y9ND5C?YH_GO('G[?DA% MVG0Z"AUU+^H'Q.$6U?/NP' IK978WNEWW\UB:OF@/AO"NUO:# S[_W?__6QV MR0L;[E[%NL_%5DG[P>U2OOQ#Y\I9 9E9)>$28$C,4@F)#-!"9J"4C&%!H9"% MU\'5 #I.C>QJ$^UD58V1254UM_YY8UMBVBY=-W6O+K4WI(KF6N_,K#[W#.H: MX!O@QJBO/*Y#K_%V0]K:EWRNUG?+JB_83=T=K*/[3;(WJ[G$#N[!'U_>8?VN M\^5S769+U8N6B"Z( 4Y1?/"IO:^Z#5]29Y MLMI61*!:?7<=F9@0SX_/"YN7F4CUM%9B'K!*[A\$4F*(86%K\)8 B4(#AC$# M7.1Y3@7#3*0^Y;RC#<((];SOK8R(6+J]%6,A-/#K;?\-_;3[AK[;?T.-LE'K M/%Z$)%Z9QO.BQJZR>-'H$T42+]_C1]6;]796E_<1/VZ_SS96%??PP5.CX%:WY ^KG:/[Y BM_CE_#08#SV]7\YTG M\SE;^R:NN:/;SP)HP+T(MV\SS61F/[EHTY MC;/;"_MZ](;V$Q\&5W^Z5%O#OW),+P:Q2L><%C)N[9A>0X^*Q_1?'5(IPCH_ MCRH;-_YXPAB#@IC%.N44( UM RXH;<.,7*6*0*&<0F6MXMN9(HA"E:5 :54"!"$'))<% M$+0H,FXV-WF>MP6WW-92YT0Y?9%?UMH:_(QIOA3S)[9(UCN=[>ETE<>V6/7% MLON![+:,N@JX<[BBNGC] M=1T<5OJ7^7*^51_FW]11R<]?GK>VW.>CK7'\SXJ-7LC*GF[8,1CUB#@(O$G'ZR1Z7& M(%@.N2_L(5&K+/Q?MGA6W:YHNXY]LZ*4G&J4 \2@V28340#** 8I03DM<2$I M=VK $ZS!U$CN;%6%I^>U_61KFU6K1GM[T>JI/S0KTD Y+DZ'A'^, \PS"?J5 M 3=-DE9CPQ!])X/Q&S8GOT?^%++Q+\/CF(?O\*! 8CS9-K+3UO3G'_M+&F_. M[9]L7<59V-016PZ\/IRP70/NO[)EHZ%A=:W,DM8L9YNNV[GB/!?(QE31#*"L M1(#BC %>99C9&&F)_4X>1]1^>H>9E2&;1%A27EQ5(&7$[X C6T]L7$?B^4Z# MX1>.JH[A52/*4XV(K?4W26U_T@$@J7NH; T$[?OA)MFAD)CO3.PN\:\P>+%> M,B-J/N[K:?PA.7JQO8(*5W2E^KA:[N)K;'[DHVK.7&8V0%M@6Z<+%\B\RO(, ML%P50.;F[YJE0N=>J8K]XJ:V"ZC99%ZI6 5E!S2K.H^MV]LA'F(#$WH-5E?3 MI%8U^:E1]OR;.JR3U4548K:T.B]L_-Y6%PT_V>3J\EVASO=.EYPJF:3*6+@5 MV_FW^7:N.JWT.CXTJ+20F0(%889=TH(#C@M[[(#3G,A2(4E\B"5$B:G1S0L; MDC?F!?'@&^@8-!:N_OMA$1[&HNSN[T[7ZS3#6W8?N59? MS7)M_DTU?VV[;PM*H89F&97G=BU5$@DH*E*@(">\(()JY+66\I0_-:+9J5_7 ME^_HW6Y(0INB^PZ,J[=F,+@']]5$0#K .Q.$5S3?C)_TD3TS0= <^V7"'G-E M$ERS'=W,D."Y-LP%S*(( 90A#4B9R7%3 MC9Z!66X[(!V/F*Z!9^A3I1TF[RYA$I[4=FAW['RVW?-?)Y7MT+RS66Q'%_JG MDO^=?9\_/K<%9$N8%:DV:)GD)\WHII*?OB PI'5?+*8Z M[CWQPK9Q@Q^5>:O?L^^S#"*&95YU'L $5P +I0 (BMQ84]E9>X7U.HG?VHS MN*-^LJI<&>+%@G9A=/>,;?4<$+>7]8 P#TP5781K9]')+<-/5OV_5!5F[+;" MV! QPC4,O%@QKI[2QXUR#8/F*,XU\#&A 5VK];9YA^9*2,%* C(-"YN5Q0'A MYM<2";/N8!H5U*^OU/[94^.J+VKA6;>J"Y3CJ428^4.?.%BM!FC:>\+::&$V M^R>/' 9S9-)QF,KQ)0,T]CL=#?/KVO# K,@X4T45>5Y LPKA K 2$E"4F5"Y MEH)"IVI3URHRM2D>&H ^4.>XOB%T/>4H83>3ZU)A"W+HS6%YMY%R>=P77[ONCR,JKO9VO3P31 MS]*<:UBF LA4&HZE*0$<(PP@23'6)<8J1YY1Z.[2G:;NN"4QVK8^=55MJW;K MOGA!LMNOZ]7SPU=;.*.]X\FG=U7(4,E4IZK$"O!4V";V- 6$LLP,E4I3DJ$\ MY4YG94,-U)C5<5O0#\?EF]6V&3CY*J/D\;*+C_W@[KR7S:]D$R95HWTJ%ROR MB\P/L9CO+D?)X[^N_" Y^8;R?,050:#=DN('A<0_&IN;+&YH-N(<8P@(T6:C MGF69V:BC$M"BL!694B&A%]&YBYX:SW5*__OW=?! W(VTAL%Q8,XZ[)Y@&>NX MC<)>]T7EA5*L>$XGF>-&=OK Z+ 4@)2V/Y:.9)9CHG2J5?E[^[#I\8LM6[)/Q1;^W')"\3<*",4AX&9 MH8&@W5.-T;SO%!*19O^+1X\ZR4\9=3B73UX3&&I152K;50<3"B/SCYFSJ9FS MJ?F'<8S,Q%59JF#.2NX5K?CBZ5Z3=K1(Q685EK" 8HTOP7.;OL&0##Q_VU*( M\4MQG3(X5AC"BV>/&V1PRJRC$(*3%X7-U+=J,W]85AE?FW]7\J%*?6V3ZQM_ M.-::DZR@@",;#45R:J8NAH"7!2IXH66:.C7]]I YM5?Q7F4SI9.OM=+)?*>U MWPQW =UMWD>&(EBHV^G/,D <0L> $5B#Q>)HW**!P2'3.-S:QC_U!%/ M]^R[VGQB^$BT<$+ J"QP MWL##2=]S96B^][)*@_I]OOWZYGFS-4]??Y@S/E_,MS\^JV]J^:P^*[%Z6%8I MR:DN90$5!H(1LUTH. 0TU1SH(BUHBG1.I-?\]Q,_-6YH%$S6.PTM02R>95VN M2S3&^9XV^@V)X['C8$ /??[8*)[\:31/6M5ODIWRMC-U/0Q[_6.FDX?@%BW# MW$OXR$GG(< IF]7CVR^G&4J+R#)-" PUP I(0'-H0 X8QISALM" MI5YNA\LRIS:U.YHF.U63/VIE/>M$N$#NZ+>("^3 7!"(H;\/PQV56*X-!XGC M>CS<(3ARA'C<>D6$\M?5PMRQJ2N:?EQMU:G2HD=_SX5A\X3D:W>CT@1I?VS_.'K]L[_=NF M;EAUHE/5K!222,4XH!E4 )5%!@C!"*@R)9B5HF2%5U*;KP)3([?/2CZ+JKC[ M?)ELOZI$M#%/[-%VP+%Q_FMK%5AI\&S3,P+\RMZCY,9Q0V(_,-4=]87_W&)L M]*_;^-V<;-\W5-]X=_0&Z2CO(/X5>\V[@]/?A=[C.:$!:V>;]U7^K8*769$B M4(K4+.FHT(!6949D(172TE!BZA,.TR]N:O$Q?5Z;$#0=MXG1,!J8DB[U%(WJ M]')#)5KP6Z^PDM&2UL^VFJC989=!L*_/L:FS3,?#&WMC7-&?8 7=C MP-<8QH&Y".Z.2CE7)76<$6\.2^]T(?GDQ@K';'L6&.UIJ5"2U1DZW3[_3G^>:_?OYA__W%"%RM]^=0LM!"%&8) M*3,B 4HA!JS$%*"L4$(352I=>)T/^NLP-6+OMFAO_;UV?EMCV$/UYV; /0\' M X;'\9AP6-"'/C!LM:^+7'?TKZ VNM_8/G7VAZ2V(OFCZE4^3/[&%6!&;G+O MH\&K]+(/@.AU+0.]_?')? FWM\NJ(]R3==&<[*)4Y!F$AAEA M9BO_%Y( 2B$#>8;,7U)%L/"*)?,1/C5>;'4WBQVK?>4VV>D?$&CJ-1!N1#@4 MO ,S8"^RP[M-0E"+1'5>HD?EN!!0#LDMZ!E#UJRJ*V?-D)8"%5S;N/C<+/IP M#K@R)(>ASDHS1% AK\K$/L(GQVKG2B%=+H)T92E U]'R(M=2R+5 MVH]=$^DE9J,616I$3[ JTDM0PLHB'3PC\G+NWCRO"06CI/GAJE_/S\PX\I.BBY$4*8[2/,^P$2C8]MC323.P\> M=<(>&W0X+T]<$9P$O+:1&6]5_=_WRULA;-S3YK,2:O[-'A;.(-$\RQ$"J"RK ML D!2*9L;C"!DN19+C+L5ZG71:S3%W?4$KVMCC8CL%'2.T'X,MIN$SP:@J,E M$5=J)C^U"O_%!MSM$/U\&=&0Q&)GB.*E&E\6.7;RL3,()]*1W>_U3]K[HH39 MTFQ_9)#?S[?FF\\%0KDB N0%L66FJ]Z*60:4S#"6JJ!4.6TV3CU\:DN 2BE[ M>-:3 ;F!U\XO)+USMD=E*EW]+#1TO3.F='-T3M[ MC=_TK&;Y^L?L[_^8P9*6$&8"0)G;$F*< 5YJ#A2R-48+7B#H%-2T?^34IN+? MV8+]V,R9V]SK0-,_X\(,'GB>_?WVP^T_OKR_O7YB'9O7,YV:B^LIU?RRGU:= M1XTRF8Y5;Z?0B4\"S];8#_MVW)@]LWEGKI_98K-KO&:T]LJ8VU5I5JT.T5MG@GN=](#N>F\6!;F@G9RAJ_J=E ME_&(=4K6(VGK#_=OFU.@M&2XP)H!0BGVF&!'CH-;D[MI=/]:[#6*Y$5?BN"G!Z M%:Q?:# )S*]G_5"\ZE> O=OR>IZB-*NXW?MYHQ!]J)4MZP??'R.C=U1QFV.R6'2J$]0F&03-F] ME%=,B#TRM3_O]?CR,&[X[]+)G#. M__?7+7Q/V4-7ZV>QT]2,* M9]#=F&,(* >FDM^^)'N=DU;IQ&J=[-4>P+/KBU4DPG$6.RH#^8)Q2$G>]P>& MTZH'*^&S>K+)__[F: M,6E;F"@,9&G6;(@B! B4.5!<*,ERGGO&5@1I,35Z--\K'*WR6P_X;LNUP2$= MF%E[Z\1UZAUUC;FI6LDFQI!12LA=QG'XRG(].DREX-QEF#SJT#D\+#!#JG$> MS*N D^/"PKN0)ZQHSLWR#N0*F66?604"6C(,A$(L127*BU)[Y4\Y"IX:W7UX M?_OS^P_O[]^_^Y+_.W?[_[\/;=YR^[^N7_WV_O[__AF83E.A!N M/#@$O -37T?E71KL]L<@D6B^Z,1*^7(5.VY"F"<81^EBOO=?VVF6^J\E0S;59N1#&S@\42 20X!!R7!& D M&9104<*]_)?1-)L:UUG#DLHR6XNQ4;>:FUW]FZI?H:UBKAY.QX7A:PS2T(O% M..,3WH8F%I:QF]5?9QC?1!(11^._*EFA7\O:;6K,']?'9[N3O M=%UOY.YYNS&+7FGEMVL=5(@"0UH"@VII7;EFPYV:E6=>R*R$DD-=>G4H]U5@ M:H3%Y4.X?-O_IQM/=XN5'Q MD*,P,..VJB>-[LG'W0#4ZB<=_6^2M_/%L[UZB#5L*(J1N-9;_*B4&@K.(7,& M/^>Z2L&-A*KM5;?KU;O'I\7JAU+5(KNMD&;+I]R*[?R;66M7++V/P@BP,DL!AX+Q'#%-N5\H3%S]ID:OW0K#[[Y\^I2T:H<5%(XUBHZ. MZM<;FZ%=V9UAJ6P[T0_N)FGMJUO&);OZ@=;$F]U(CE*B./(01"Y?'$N[5REM M'!G: MH4/=AT^-B%O=S/8DH(#Q"]@,.@6EJ0T$I1H@;6L,*@2!DE+B+#,;B9SY9+8$ MPS9".DL'MBL0P9*MZE[/4 #3^(=-HV&-TFC8[SYW(]!I)E]1LBH<[S?T,/9?N'J MT!9H9G/\W.:RFG75@]K,".2YT (#G5?U.*D$M) :%"*5,L\IS8C7[V DLW:;]M0@-/.E?@O/F C@!C;O.6Q^M"=<)$2,WU#IOY'%S MK)YK8]7[O-M^5>M=-E+M?IBE9DV>E=B6*$($((8Y8#+G@*,,2E9"QB2YMN+G M*<%.7_91:WY66@8U?7:$VG4M'PV^5RWX6<.Y3WZ[[0N\.XZ-^5?+ )7VHS?UA69S>WW^>;F5E=B *CHG(A E2F&6"< M(8 XYXP*FLG01MG0'5CF>NA&IA5 E#RII!^ M$")1QADAHU)$OZ&'E'#AZI!Z9W^N_L[^<[5N.T6V67\I+3!&60:@M!F8HB@! MR6 *",^AD!2*/'7:=_0)F=KT-VHFE9Z[OIF.JXU>)/MG?2Q\!I[S)Z )*C=V M!B.?TF+78S56&3&/KY-GN;!^#/I+@YVY=\0R8/W:ORSY=>%:_X+G[Y;;^?;' M+_.%6K\Q6Y>'U?K'C*::%(PQ4.3,[+1D@0#G$($,:3/*+"W3U"EAZ]/P4@OTD%P&7@?G-#Q*OPN<]A@?5/C_UO-'*G_<8TZV WG?9 ML#&1-@A3S""A9:ZQ I AVR&29X"P @)N^]Y"*O."I3/S)+Z*'1)9R??Y8G>U M&.[[7:D5WO#1#WU-$60$4\ RVT*"9P9X6C*@4YKI$JF,(J^F[(-A_RJQJ <1 MJ&+U^/1<'$=>/X[P_G II_68S;&7RQ6R17#UO'7SZ:23,ZH&YX;>/[^_?V2S5V_MW7^+UY=C; M>'5?#O.H4?MR[%4_[,O1^>3:\.W?;/;,ZF$Y_^?+^,$WJ\WVXVKY36WLK/Z3 MK>7F(-B7,VQV;%0 QBDU*[Q" *YS#,HR)XJGN1(E#0O9#M9I:I.X&P_<-:J. M_ 7\*#@X-'P[?!3=%APCC\W 5-,-S?Y45\U.;M=K M'89C*C=E"F^L:V+\Q _[!SO4R<[.4/Z.,*B^1#[N4 W-Z"=&J;5L/SHWR,>O>"*%84O)O0<:/BO8 XBI+WNSN,E,RZ5[#-U_?5ZK'%?3=*A#*NI;:\)$J &&2 J$P D9.'BE=02I_I05$I)Q\X M6EA*GSG=N)3>Z\+6'V_5>OZM:BCP<657-6QQ^V@=)3-$2EWDN09$%&828V@F ML:]GC?)LM$T896J?HN)L\BZK1UBX#7P#.]" MU2J9W/9#Y;TJN(1#I$7 63&COO,O&7OXBK]X_95%6']F9L"%^O)5J>VOZ]7S MDUDZ[ YI=@&T-2_ZPIM5K\="*K*%CZT9?8X[8 MP#0WSF"%EV>]$N'855E#U7F=8JQ7@G>V!NNUS[VB!L/ M#=/ O-9!Z$V%4/3R*[T(Q"S'<"1C_'H,Y\P\69#A[,773OLJ-JIMX"TSA(M4 MFQE/"KL(RP"G9@<'.52V!R43F5?%I9-2)CSM*^=5\KR<^X86G(;3=]('@C3> MI*\K:,9O"MD+0?19WY7Q2K/^A)GG9_VIBP,2GX^K*[Q56ADRD?L.W;^NF7E9 M%1HSK!D%*98VG85A0%.% 2N$8%H23KD3#?B)G1HOM&HF#U8[CYQ?=Z#["6(X M^ 9FC#-56': [C5/?AT,6X\,ZT$P'BGG.AK6?@G9WI#UIFB[/VV\I&UO"U^D M/:GU]HG)/GQ_^E(246A;52O7C .$B@*P3)9 M8%4B!'/%"Z]>&9=%3HW)6XUOJIK?VUT3L4KK*P[&',!W6P+&A71@=H^ IO<" MT1V@2*M%!X&C+AW= 3A<1WK<&;"H_#O[8;&KEJB?U5-;^'R],HNFQV8;Q G$ M!!;*$!"& "G, "5E"I3FB/,T2S/E=+3O*G!J]&-43JS.S?9IKW72J.VQ_G'! MVV%5&1G%@1GG(H AE7E?9\Q:CVPI=GU MTY38K@B&ILLB,_O_7.>E5)SFRN_PSUN'J3%W8X+W8: _^*Y'A8-".OA!8J5] M8F?1+DLH^=,8L*L79D/;&QN2UHC$6!'SJ#$8PF@'D?X:C'Q,&0S1\2%F^*/" MF._-:OVT6K.M^GFUE$WT6]7,LGJA8R9XFDL*LIR7 .6$ LHQ 8;L$,-"EU)X M[85[I4V-S7;*)MQHZTEJ_;BZT5Q#-G&[R3\D_8T]DMMGS4B<:2XE2"%59O5CT[4Y%8#(-$=ER2'63AQQ].3I M\8%1+GEB#^JO[I'G+['JG_=7(3#X'+?&QTQ*.6MM4'CYRR>-%E=^TH!N0/GI M"ZX,&GV_?'K>;CZ8Q<(B;]XH(L\DL5;DD>&*1Y DNWMW,DA :>M]W0REK1FZ0!;("WLP,FL8,A3TAZG3C' M\R:?#6'LN26,(7Y=K>2?\\7B_>.3D5&=6J\VFYG$)>:$I$!FBIMEO!" *XA! MR81&:2XPI5[U-D^+F1HOM%K>)/.=GLG"*.K'%&1-"OT81.*#,T)&I8)^0P]9X,+5$5K$W2[E9[6P^?6WNWSMW5(4*D93SG.0 M9FD*D% (T+S 0)24<$6U+*A_R+*+Y*G1Q,M^:=8[VZB>['5W6?A>.1ZN)YH# MH#SX.68<@*]K5><"UA#]ZWKEOEY3.QCO=.3T@K(+N_>^S3/,]3HYU[-O^3.9;YZ0#33Q-AY@X\_^]OW_]^ M^S%>S=R]<5?7S#6/&K5F[E[UPYJYG4^N[''_^VK]7^^7G]8KH3:;CVI[I\V\ M5>MO:C.#B,H2JA*D')IWODH+0)@N0*IRKB7CK"BDSSO?0>;4IIW5%,R7X,EZ MCY7O7L %9+<7>63H!I["G6[P5E\;,=MH7+6'M^4*6ZT':!5_&:+8'>1[)+Y. M8_G+$)SM-^]PZR!!$_O:GR7*BQR6 @CS[0*&@PK A61 %RQ-988Y*9U>YKZ" MI\8]C=Y1HR-\*ZP.@=W@^X>+<1#)'X/41/4%:YR(AU>J9>H+AF=L0[12U.K! MGJ5\5D^K=563J]U@\T*(/%4B8[18,/,\Y"ZT8],0 ;F&J"L/(OM7P!B%AED\^)&;<$\@5CC\H97[H^='MD MYIK:;-]7G;.:RJ)F-323.I.Y4!A IB1 A=D849QF0*=<9!AKAI%7#OZ'K(1M\ ]2@];Y!Z]T.K8\]: 7L>?JA MB+;1.2-FY-U-O[''6YH+UWL>-S9]$F;WO[^=B93D9A4 0584 J LHX"0$@-% MF()<41 MCBA.V=IW&-ED9-_:A!N;A)%T=+])+C0IB)C[>R6*L3*" M0]48-T_X2K".LH>O?5X8SWZ8,SY?U#[895T QTHT%/2NFNVS4N!28D:!(+8; M8EE0P#@L *.I4K+,--9F>6,[DK@1Z26!7DN?G=@!F;)JMK+8:UW%(6PZ>O_+ M_R(P*_^MH4<_7KP(OQO_Q01U8)[[<(#DNW[4O$G,%8I(9'51W*BDY&K\(?DX MWQ<6EO'EUQFA*LVIV2#)%*4 09H#(C6SC8U)D7&*.'0*&ML_E@=[S_^>OOI[O.[>,$9>_NN#LXPCQHU.&.O^F%P1N>3 MZ^*R/YL-:-.5<<9AGF-,,2@@T@ Q1 %A90FDRG%&<@'3S,LK>D+&U"97JV+R MAU6R[4_IZ84XA:7;^_5*A :>C+[@!,=AGS _F3SY:PD!2?*S/-<5Z6B>0J8 MR$H <\8SE68XQ5YQUTY2IT8$M=+V-*)5V_YL%3>()XWJR1^U\I[\X#8,;HP1 M'=RA#SOCX.I-+5XX12(;-YFCTH\7#(>$Y'=S8'#$R1(ZGY5]M/6U/F^_KM:V M>?C^FKK=23:3:093R5)02DULTU8!:&:;=&<9S](T13S+O,(G@E69&IG5:B7K M5O5$F[FFG[?/:V7^V"KOVWP[?*3P)PIPW63[ Q)]I9T+XS=1.EZ M.&-%?80K,FYA0<8/??)ICSOC9\X?VQKK:'/_X'$/,8\, M.CJN/+XB-+9+K"LG&EN\63T^KI:5CV5SN]VNY_QY6W6X7^W]+HV/IN-\V\R* MC)+<[,R ^-L.UCNME:CR=2[XHZ/F\<3"/%KTV]4*C1PG%PO XXBZ:$\.H^Z[]0-;SO]9 M^<#?K):;U6(NJU]NE_*3T:0MZ7NGCUN[[7/G%8**PLP6)V29V9NB$I 48NN@ MDH*5:2&P5PQO%*VF1N!=HVZ2%V95+MRN898@3C1<#*^#$&>BG$UF[4U\- T!Z^*(82$Z_4*6R[KJ92:U84 ,D2F36^ M^8E2K8$HS >D2 DKX+6E3N%$#UVKRIWP^E*G\.I2IP$(#:OZR? ME>R$N[\U,A>KS?-:[>OA*$FHH&:%D"I&;%&RY]K'!<:AV)Y0ZNY)K9FMG/+!-E)N!?[X;2F-0*N5DN^^VUIP]8' M#*<,D90(0#+. ,HQ!DQS"')40HP99I2+@%3K(&6=;6EG]-YDWY"<^H MEZ!!<0R0&0SCD6)I*OUODIT%267"S8XF?]PD73.2VH[HP7M7X1@K3B=(AW%# M>JZ!Z2CZYZJ'A1'DW]GZOU3EU=YWPVI6K3-"I,X(T2"7" %44MLC T%08*@A MS0M4%%[+Q1Y94UL2[E7M!//XL5P?LFY<%@FO@1FK ]5>S9ND430>(SF@$8EW M^B2-RBX.)A]RB,LM@>?/\^5\:_CHFY+OEUOS#9C;99QAK*XSJL@R13'20$*H M %(D!S3-,R $@D@B)7#IE 9R('4&9,8%BB4GB5]3\C9VK4TZA511W+NK);8I:3=02R M9P#R.6@=XPVN!VQ@3FDU3(R*=>CO3=)H&3$(H!^&6,[\,U+&=7!-VQ<\\U%M=QW"V_3V688$%,2L3U*M($ LQX P60#)-9<,IH60GID-EX5. MC2GV.F_"JMM>AMF-*&*#-S!K'"T^ZFX?/^UT3EJES]-M2 E<9XSBE<.]+'+L MTKC.()PHD^M^;Z!/3O[G\V9;Q8C>KVZEG-N0(+;XQ.9F\=-$G55$QP\CB#[; M^FH;LU)JXHSJV*$FELA>4$4+S""7!66Y!CEF&*!"8K.D*0A@D*L"%H7 O/1R MW@VL\-08K\J%;6(^1<<:3U??T,/LZ!.)1V;(CH01P(^EJ=Q:'7'=4F.!/Z1[W(LN7ZOGLUZ.WN1P%#MJ&^_SS%N=%3(W>7R8!56HF?UA%'0_9 M>L#LI^0X$ U,H@'H.%/C90#ZR,SQ'H>/ KM7#:L)0J'*\-6E6^L MAK8S5$4F\\U__?SCWCRIGN.I-,9@ 4I)"X RK '1F '$"A M@9TGL'2CA.L0&I@).LH-X*<_;WK\RN2OXI4_;V!/]?$X/OB[[5>U?M%SOBVR M569*PDP!A4ILU@*R R5!=!<$88H9DQY^;O."9K:0J#2L]KN>\[LLTBZS>\8 M^ P\RVMH7N@X0,[7)2!BU3 X)V;X38X V^7=ALJPSYR^@%;!%\P(BV6W 2.O+&P0>(XSV$U]T#9%"T MO9W>/BN;W7;_YVJF=4K-C@(!3'-NF\?F@ DL ).RH#G#B&FOGM*>\J=&/^9K MB"-F1YP W'%#,AR,0^]6'#(BMJN$J\2>Q]_4F:S&A)%R( M0J_XH ORID99K;K)\8FAYP+J LZ.*Z=XZ V]9#H/W [+T=<8JV>+D@;=]GD M9OK1>LGQ-C]6T:OUX^SW%7]>+YOO=4%*+'*8@I19_LA2#B@G J#25MQ(<9JE M3L78CIX\-::H=7,CA6.8^J?_5<8//-%KM2[/Z0L R)5X?FRK#0X#Q L1K_9% M<.:VL[;6+&8_MM24IRC-*GHZON'_[^YJ>QNWM?3W^ROX:;<%3$ O%"7>!2Z0 MSF2Z@VTG@TZZQ:(?#+YFO'7L5';2R?WUEY1D6WZ13$J4HMT/G4XR%GG.0_/1 M(0_YG%&(J-'.'>4T?Z!;R'*TB636?7K!IW^GEWPZ3MI=_:%*!BR():21B"&B M,H($Z[^EE!"&[N:'%,;2R_4Y.MT7K$%84NF]8+;&*39 M 3)W KR*AB\N:^YH7%JZZO 9PUQ_HNNJ]D6NGN6^'N%GF9N%,]5^W+'EXJ'< M& FX%$&"0XCC4$#$$PHIB3@,N" I820(I-/%-ZM>IT8A-2/!>F^EXZ$G.[QM M%[&>41Q\%5O86R^#6L?T8//,NY::$U3>%K,V?8Z\FG6 X7PYZ_)P+SKZH"U_ MMUX595Y^6VR_[M(&U:YM$ 2*42,.R0T=I2*%F;F1&T8TC+D*$763.++J=6IT M5!D-S"B#G=G@+VTWV&?!?I K_O61YHY90[M1<"(I?]B.0U)VL Z04W3"RR]3 M7>GS+9C*#H8&IK)\N$.N\;U4,L^E^''](O.5V4+X,:>K[?Z\Q+W4'TH$Q@E/ M!&0941!%9AN-)0F,H@P'+(U4$EN=8;#N<6H,55@(=$^/#NDY*V@M\I:^ 1N8 M=G;F@H.]H,2O=L;J?@ H'3*@OB$=*3/:'UJWY*D+3*U)5:N&QDNVNOAUE(1U M>G" ([(_4Y.".=L4CTG&B$I3&*4(0Z1,%"GTHI;B ,=)2D,:)-Z.R5ZV86J, M7<]G?'C>FB( /^M8__'Y<;=MOC'2USH$*KQSO'+V.CF/,D%U2H+67J3%=:2BH3)SM_@*,L>!NY5"C MJAG8=N[R!M? [-09*:=*55>1Z%2JJKG5T6I5776L7JSJ^H<[+%9O#"1'9U$^ MZP&N-G%4&!MA< IC$L=&+3R$5 G]!X]8B(,D3(2T7J2V]30U C"FGES--<8Z M+*]:<;58H?I":^#YWP!4EZ.WK8@Y+$1](3?2 M3UJ^:VW+0!HW69V=K >,M+ M&S^.EI56#W36?#K;-=R'9O,P3E"&90(%%10BSBBDB9(PB@1&/,(\L:OG:=7; MU'CS>$N<5^;.]@(OCB?=VI&V6_UYPV]@)KV<3:@M\[PJ0%V'Q)\&5$M?8ZM M77?[@@Z4Q4/NNI"?\[70S'275]?"B_-!89(0%(4A3$020AUX(7/4-H9)2&,B M8J;!M=IT:NI@:G11V5@<5Z_,=-:$O AD.S7X@&=@-NB C),>9)O[/=0@+S8[ MFA9DFU-U)6NDJK7J.I&50W0N?H2-I1VC<=C!LI-SIX M%AXW?[)C%4.ZR O-]4.MZ5!FV>Z$;Q8O\N.+K1_GK*I=TN?BG%/^Y7A9%P72D M\=-:AQZK0QGEFWRQT?_TOMSM+PJY?)+;.W5/O\UC)D+,HQ"J%*40,;U4("Q$ M4*(@Q21B7$GEK+\\@*%3(Y.#/^!!>[(!WVFVWLC-]V"] O2%+I;F" I4ZQQN MZ%*"Q_YUV0?[#MCQV11&=F!>O'OW<0;>2[8]*@A_!0?VD&J-+?2Z =]JQA/>"0^-3 'L+,\36T!P3[H@;WD/WU MU4ZYX3Q_EJ)6*^#D%"KA<92R@,*,*!U@$I3!+-'KTQ ACI.()#3BW611KG4] MM;=%_81P93NH&=]5YN3J"-@Q^S"X#LS55R =27O$%C#OLB)7.WXCQ1!;0)K% M0*Q;Z%IH^T6_CM?YZV&%?9@O@8A#29G0T7"((4KTWTB"<7%C-@A)RA+LM"1N MZVQJ'+6S==&QL'8+K'8TY NL@8EG;V9MUTRSS1 \8X.(M[+9+5V-7"[[NM/G M9;(MGNF85*.;K^:_VS^?%R\Z]E]M-P=A(O,/I3Q=[1>U3QXVZ 5-59!0F&A$ M($K-;8&$(\A1$H01$D&0)CO12-4UAAA&% M$G.>T@AG 7.2:CIN?FI$6UK7.45Z@IT="W9'9& ZLP?#F8PN^^R)54X:'Y4> M+CMV.L\;/M5#G_%,([(F1_K#Z^$CU;7K0BVRM.+CRMQX*.YB%QMK]U_IZNZI MD"+[;TTU4GQ&FUN%%QOP4I@)OENLP,8XNOF^@W+D&&-ON5\VI?$<7PJX M[G1=#QBP5W!1,MBX/@,5S]:\!V6ESZWV'U0 S$ ) =!?E1($SX*9(PZ;3_G- M,

7\QSQ,&X* TZ9O_>=BOW<1?C68K#)(:21PJB0&20Q$S_J!B.N8I$3*U. MU%OT-;4 ]O(>7,=PM@WCSCN7$PQTNX+F8]MRH!BXK:>WWK2\%AW;/-)5L.2> M?OLH=.L+M> %L7UZ+B_A((XQ311D5,9ZF9L12 (#87%#:ZRI(25/+(PN97''P M7,SDV@/=H@G--/3A(9>EZ/"=JA0_3PX-\ 2Q2.+$*)8+'5,1B'6< Q MBP5-K<1-G'J=&F'4CQ<<.U!6K2GE;LV*1SZ8,- MY+ ;"+O@PSN\ Q-+,YI# M'MEP0LE3=&+7YZAQBA,,IQ&+V\,=-)?V(=''QR>ZR(OE577FGA.$.(LQ1"'2 MS!0@ O5/"@H222X"RBBQ.J=\I9^IT= A9J^9"OZ-/C[]1[5[K.U/%)V#?5V!O*(Y6A+GSJ,';286K!R4&+R@]E(.DP=L7.38[J.2*L84\OC MXTDQ7??A2(C)XN.#5(/8[VU$*F3$A'B2D! BH00D!'$8IYIIS792BISVCRS[ MG1K%VI0NZ+JU9#L4=I'> /S+N>L/5=#F*@W2C;7J=4$N+:+I7KXQTOMR]6 MBZW\:?%B-LZW^ANTT"'ES68CMYN;QW6^7?RS>,G=?C,[]54M'=WZG?JPV'"Z M_!])3?%Z@0AC&"J>1A#)0$&6L1"&(0]3HE)!,[<[\/UMFA[554::59=YBSI> MC?+QKWC[P_",RD CTUW8^6?UR]%*O3CZHON7YC*JRMQ^VTK=3^BT@K[ MC9J4J4F(\MQ(L;^7Y?]_62^7']:YR9C.:4AH)G$$TUC'F"C""22D8 ML/H:PO+Q&E[W&TIGZ/2/OB?Y]637J*\ SE*>O =_-=WL5 M''>TD)M+ZD@,B MKZ;/46$8_8/,7^0/K_>ZV3MESA74I3)0$"!$("$!AXAP 4D01I#&/.4LBA,= M\7<3][&V86JQ?_W,V''AHFJ-K_^_7;PX5WOI,CQV[Z*!01_XA=*,=^6 .9]G M7# ?,$Z,) KDC*5W=2!["]Y()L@9HF:](/>FO))DP>/%P:OBW%6-( .JO\$D M,S5K]))!90AF&$LH.$I1H'@JW0HE._8_-7(\GJ"%K69Z_B*?UGFIB]GI)*WK MJ/3B11]8#W[BH@YS&4G7C@6^!0->0VU8]FOL?0K,=PT:2]:[VDS7>GZ/CS+G M"[K\3)]D7IUS9$HF0C %,548(L1B2!FF,$RB1$F$.4VL[A"U]C(U]CH8"9Z, ME:[E^BX!:;E=T!>>H5?U!V0* P<0%&^%P%LYODM]C%R&K\7-\_)[;1_N>F_P MG31'O)8?5T)^^R_Y.LIC: M/*]NO556@L),H.UTO1]X"F3[7/<"S\#SW!F9#O< &[SOW?6/0YMLQ/L#76JL^D"N-WKWC.,0Q]WZ8)@]^I!US'Q742H MI<>WJ25T'8+&DD(6CTY-FNO3>E5J1_TF%P]?]?]O7F1.'^2/)J_\7B]X]L[5 M#Y^)D$8L% )B1C.(8I%!*H,02I3@ &.9H0@Y[;Q,R[^IT>C.=E 9#PKK@3$? M'&J,347QJ]M7RG+;:%I63^A%,9Y^V!ZI&;#[8@YRA&BBWX3)2Y)U\^[_B7)9 MKZ$=3^"LGYG>+XCIL(;^[SHO"JX6@79*TQ@A16$4ZY<^0BB##(<"2IY1J92* M%'(J.^/0]]1>S:TWCXK\2V$_*"L#=UKY. R,Y0IH&+@'?L%Y1=KG3:XFS(:_ ML776\U1N9C5!XG #J[&)OKGEJ[2]:>+M(K$W%PGF@1(QQ+%*(3(I&D8(@EF, MA)"1XAPYB3=YLVQJU%@_/%)&G:PU.MT55'\O0W[*YI[1$'<\1# M0#:KC$WK,N/J./9(BGO"W'NZO*]=;Y1(]P1GFR/[H%:Z_K',:Q3+%5,!8,;U(D#R#+(PRF"88!SC,DH1ESD7? M&[N;6N1?[AK3JF:L+%'O4HN]&6"[<-P?; ._!TK$+E39G8'*6,\US:^"XK,R M>7-GX]<7O^KXQ2KAUY]R/Q#VSI1NRB5]MQ9RGJ*4*2DSJ#(=8"*!&J/QU?OOK+_,4XR0A.-/3$D40Q3J29J%^)P8R(2A"@C)E M=7:RWNC49N3M<[X&[]?+98OB8#-"[9.QJ]\#3\'"Y?(DO7X#/J^V>1'BFE_W MGXR7?&YY$>X^7D[!W4^'Z7?4W"B3[I(#NZEV\=\ZIL*V=%OLKMZI+]LU_^/K M>JD?WIS6ZPTS%JLHTF$H,_5Z.84LB&*86F[ ;!,NGD&]JA$TH^4'5/$[F@Y"L%9-7GN.D=%QC.4C=.#W<6 MPN-2BHT1Q/Z9FNN79KG].9=/9?YG<[,2[^ARN;E3-R]TL329H _K_ M=RB^2 M5Q^?AUPP%;($IE&F-'U%%&;FG))FKCADF*8J=KI#Z<6JJ=';SJE2/?YQ[U9Q MJWFC3=^8&?I(\S]D>8%\LW?%65S/PYC:L>'H(S4P6QX/TL&C&:CY5(Q8X551 M3DNR+3@X,P-[1Z%:Y]"XZE7+SQ_>_L3^/-@TMAJ@/Q@OR 5Z;+Q7T9121GNQ M>O@L% MD.*'UU\W)EW]8;'2'1J-D5*Z;%'3&\81QSS@&"9,,Q]BDD 2!Q)RE!'*8R;" MS$GAR-V$J=%@(56IENN_JGA([4P'=&_[W]UHK\.XV#'?L&@/3'Y&0;8 >V>^ M.=7YG?$ +%;?@[T3X.#%(,OV[B!Z(L(.!HS*A=T!.J7#'BWU5E$H4@B'BRQ, M<)Y0R72T1R.(L(@AXYQ#Q1,<(LY)EC@%?XT]38W?"NOZW!9JA-2.L[P -48B M;ZA[/M?\]Z]_<-+/6ZD>7':W1>N@X0&?"@=SCH@DL410(I.%"*2$1"$),TQP MS!-%@]!-XO%B-U,C@6)OM;H$P^NW+*JC=#YN^O>Z<#\A,KAXT>1P@Z"XKE[H MWM]>P<[3#73?&83+G4S@/G9CCJ#]TQV3 M4^U?WZAO_YO,BE#E*>9+Y]_:R_ M#%M3KT?_]NFQ.'HKPTPHKF#$9%2J)Q)*%(R5"!7!@5($S5>FQ+H4EGO_UIU; MS0M2SHNZ"0.^*XW%FT7!'FL%GBK+9^#)V%YL&\N=]8Y[^O9#8KEQ[Q?FD7;G M=QOPVS6HS :?]R 7EI?E%FZOHNR^\^X,F*_M=?N.Q]U#=P;D;*/S"N$@^?*:NC5 M[-U?EO0O6NT D+>1\Z#64-PGONR?]2[HM2%2YF?Y+?M_5]R^2)_7J^V M7S=SHGA&2!C#*)891%R%.A0*.8Q(R%.48,J9FWQN+W.FQE;ZNXF\Z4C9#(?E M]O%H( _,9ZUJ4[."U8K2>76O9L"4A =W*X^;3'X '5Z*RL:8J:A3.0#G(%CE MTFI?#:M;FIOS"J:,W6Z[;<$-DR^6S_I;6:BC'"KR9!1+O5I4D."LN$P30!80 M!A,1HA!Q'(2<=%.L;E?)'UZ?I2YF9E5.+-:/RY6Q<^+ M%=@Y;0[]E#I'736IW(;1D>_-B[G6,] X42#FJ$U3-.E'=FNNX6C:*JW?JUTU)ZW=L2_4Z7+/]KB;HAW5^]V3805OT MDZD:NA,%>)VKD$B)(Z7I%7&(PDA"%J(4XB##29(%899BIU5T=UNF1K9[,\'2 MV#D#N?$-KA5\UHM#6E[-75<.&I:5N]K"2K-N\4SMC*OC]8,^8VJY6!]GI(9> MQ._&1/M11KK@KC8DM_4A.0QHXL\1#N1J/H/I:^/>P9-P-@?Z0G6T4>&BR MHU[#\W;]N-9-R:;0-L)S9Z[DO&X:S]<94R;'#OO(AETP<[YQ*;BN)^ M>C;MWZG/Z_*XT>9VN2AV3:30Z[;%6E07:>8XI0E!7$*1QOHEKJB !$<8,D&4 M)@ 28>QT-=N#35,CC,HL,T/^6N=_Z'B;2R#WMCNG)'N/F77*P9*E\P8[9T"!Z^*.X':K]W50*]Y3U\H^\N+]K9H[+RI+P@OY%6]->W&T9M\ M._^DO\]WJJR<\;S1@9S,WZ_-[<:Y2K!>+R4$1BK#$!$B(,,L@/JW:1#@@+' MZB1]:R]3XU%CJ)F@5668RE;P>VFMY>FQ=ES;F=$;6D/'8];06-.5E>MM!*0; MJ)&/_NE /.UMCT(E5N[MR,'NPTW3O3X6/^F__>-ON]_H/\PMD7_\[5]02P,$ M% @ SH"I5F7'ZO'.@ ?+P% !4 !F;W)M+3(P,C,P-# Q7W!R92YX M;6SDO6F7DTF2+OB]?T5.SM>Q2M^7.MU]3R1+%N>2P 6J\_9\T?'%''1+2+2D M(*%__9@K0D'LH<7?>)V:KDX(@D!NR^/F9NZV_.O_^/II]M,77*ZFB_F__=ID:?S#__V\]_?/P?W\__X]W_YEW_]OP#^]Z]O7_[T=)%./^%\_=.3 M)88UYI_^G*X__O1'QM4_?BK+Q:>?_E@L_S']$@#^??./GBP^?UM./WQ<_R28 MD-?_=OG79$+VVF8(WB90!A4X9P-P)GDQ20CGV?_SX:^29:$RSU"2$Z!0)7", M.;",>66\LB:7S8?.IO-__+7^$L,*?R+FYJO-'__MYX_K]>>__O++GW_^^9>O M<3G[RV+YX1?!F/QE^],_G__XUQL__Z?<_#3WWO^R^=N+'UU-;_M!^EC^R__^ M_>6[]!$_!9C.5^LP3W6!U?2OJ\TW7RY26&]D_B!=/]WY$_5/L/TQJ-\"+D#R MOWQ=Y9___5]^^NE,',O%#-]B^:G^_O>W+ZXL61;+3R6D]6+YE[3X]$O]D5^> M+ @0;\*'2O#F ];?/N.__;R:?OH\N_C>QR66?_NY_G.HFF6*;9;]O[__XU^^ M4_!YB2L"S8;CE_2-\\^HJQU*#7Y=XSSC&9_;=6:+=.6'9E7*B^7V7\Y"Q-GF MNY.,T\GFDT_B:KVD)2?2PB%:V#"1\6,<(F+J\Q7PE=$^48I M*TQ_^;#X\@M],"E'B/I%E8S82.7&8HLB^O=I7JRUH]6::?%LN,2S(BV^7",MW0\%4 G__$+Y_# MDCX(TL?I+&__=;4F+72U7C20W)E:B-R??R*N"RZ7F%^>:>5.YC: C0TC(N"A2>N2^B?*O+;P3 M#D3_.#A&GIU X@TNIXO\;)Z?TG$\85DYY^@0E85H5R82IEU.(#0/3EB6OS=?3];?GTQF^.OT4<3EA6AAA50"1.-&N4J03 MCWQOY;S&$,F)"\>Y.-=7W D%NE\4'"7!+K3_%C],JQ#FZU?A$T[(K>$^90V^ MN$!Q5 C@K,K@=&%2Q6B=.LX>W+;J3B@PO:/@"$EV@807%-8OR81M!/^.Y(]/ M%J?S]?+;DT7&B8SB Q6]!5=,@BBY"BI(F5EH M )!;EMX)'+YW2< M&;>B(2R^+[S;U17[05!QH$![PL3F:'R]?+-3-8K4.L_]W^OG,=>+*D<5S('@F MT21"NT]20(GD<0R1+#ANY@./VM5I!- MI !<6DFQ%TF&#D3/0K8ZEB/?:RZMMAL .K[B/%AT(ZN\OI/.WGQ91(AQ9_>^7 MH6:BO/OV*2YF$^.$K.D>((0E"8CBP3,>("54U@NK?3KNM?/*.L_NWK;H;!CJ^ MDCQ:E%V$ T].EU5<9R]P%=*D@]/51#LCDHL*I,19(I\8995) MAF"=AJ #3SY+Z9H8CRN+[I8VU?T=Y.&"[ ('[SZ%V>S7T]5TCJO5Q/ 4F$@& M,#(&JA@DRI4%Y P]RF!)3 UP<&71W7#0_6WCX8+L @?//N'R QUYORT7?ZX_ M/EE\^ASFWR:.6\TM!@J.R\:L%6+#&X@8>?8INFA:Y,C'V8"J)\&68OYAF__D_\-K%.1:NL!X?:U5Q1 M.O!0(!2,N?CBG<86F0[7EMT-!1U?6QXOS+%?*<\"Y.?350JS_\2PW!841 S1 M:97 \A)J=8D";U,$FQ2S44<1=3KNQ?*.E7?#1,?7F$U$VDF-QG:X5&HN&/AW4#1\05F"X%VA8FS\J,S)J)F M)0@O*%I*9.\$G8/1UM0NARIEGER6O"$J+BV]&RXZOK5L(]1FR/C77VX(\B5] MXXCR[->OGCY[]>[94_KBW>N7+YZ>O'_V]->3ER>OGCQ[][=GS]Z_N\K#CG7; M#W]JJX+N/>D_LM+[= 4?0O@\V23%55R\+L^G\S!/4P+'XJRVZP)S5AKTQ5H@ M==)YHC5%&28P*!1T2('6NG1?F%_"*F[@<+[HV=[#V7JU_<[W3;@/78?:F.T: M)ZL5KE<77&:FI=%T3"8N!9V:P=0, %8]JI!MMEX6VYC+JQ2,4T<^&!*VUJ>! MN$<\D*Y2?^YR73"!Y'UCL+7N43!0UC*(@AM(T:C"/5=6W>>F'(Z9:X2,"YUC M-'LK2(X11)6'T_FN?[V[+].IU_"C)A9G:R?A.7RVW3^X3_"[!0GUMA< MC)4@%8L4RN< 0++\1"Q,1!!>Y,,C&^6H^!?A,@:60RAG: RG* M^W*1#\'-Y?7':;$Q'$X.EFT'N'B+)(!I6F/>[0S6Y"!:Y31HEFH.-B_@ F,U MQ-#(E>">M3ZX]B1QG-8=PZ%K2 UU , W2_P#HW%.LP>Y>![M9BG M<\Z8<^>GJ([YH@J)G0.P#0;XM%_G,ZFTV2C<5I0W"7 MFN(#]!IMJTO(8P)'B":7/Y22D='_6KL[N]#50[C5!#S-E= ! ML)Z>+UM["'["]^'K!6L3%;*,3 O2>KT>%5E#-+* 88'E3(&!9JWA=#^_G8A&C)\GA/>UPR>03:(BCJP/)?XNG&%FC$RR2+D.L=(<>XA!,X@:^M* M0J&2NZ^8[DBP=95E-HSV[X;8,:KH %3;!(,WX5O-+KAH4!&]25+67OV!CF+K ML7;9CB0FR6V6(MC8_)WB5DJZ =-1>KXCJ^,(H?4IK7I#1A-ER7@3S6"" M]:!RHC.=U MI#5%YK)W% &(ZA:JJ&J/;I\A:3+73''E3>NG]EO(&/<-8B#<'"ON#A"SO75X MBU]P?GIA.RW3 H..@#6=4MFD:R=>)/EH%Z(K6HO[:KZ.N>*Y2LFX+P\#X::! MT#N SM77N*VHMFW.T%<-Q4UCJ;7.OTQ .]GL%>*H8ZO8X3 M=@^W1Y?.WTM7H"YD]I#LP4%M^GM!_T_5J6RYPV>I^WQ*!)";I_T#P M0%O"!PHLN-903.2&7$_A[IW?>\R)N M]W3CLPQ^/S=75 10O,3%1496<; 2I MD$C':,CX>E^O\64I:#AWK;.I+RT_;GK18[^^[27L#@+ >R1BHQ)&^ ">;"VH ML.D.KQD($42BOTFZ.6R.3!$8+.?H45#42!4=&)]+#6#/ZB^%X-JK32*5TK#) M$ ]&U?:?R(5-P5C7^C+\.@UC=REJH]OK/4*.$?3!0"%G+2Y:O=GFO$FT";,W M84J!ZI/P>4JV[1)CDZA#]EXP8#:2'76Y@.:.,X[;+FC[)T +) M5F_FIU7[[1RX:,CIT\5GJ02Z>_MW'I@HL ^)XUY;#06\ =74 0K?XCI,YYB? MA>5\.O^PNL0NQ2#3-%U/:",E;LE9#$[+ZC;ZFG2,$+T*QI2:=G/?;*/#ZFD? MHFK-> M7PT$GR.%W4'(]U P,W':AB*LARA3O>I@&BBH)4&I'(4R49?FV7(/T31ND<%C M7R(<6(5 E\U(1%5X*V:+74K2^H[R#E^-OX3D"R*@=IY^2B?Q;+'I]'K.U23%(+/UA6+0>JL15($@F +O3<(H'6V*UE?H M]Q(TKOO32.DW.X WTD '<'J'LUEMZ(ES$M6,6#K)GZ;S:173>OH%+[@J3!A' M F*Y3NN0GD'4M:A?6Z<"8SHW/\%VHVQ<%V@8@ V@DPZ0=D-6$YTU[8CBZQ,2 M'=TF4520E86,4B;#+?K4.GZ]0<2XSM$P^#E.TCTY2=_S#"?(&4J'":+EM5R1 MG+WHR:Y*[A2F&)WBK2^Z;R%CW"O)01VC V7= 5Q>S,E*X6I]QL$YZ&LQM5P[E4LYM?+>:+JQMA M>\HRKNB,-1RJH&K^6 (Z71%$$<4[6XR0K3WJ^RD:MWAO$!/43@,=X.F['=U> MD4[GI\34N:%=S%>_8EDL\:(#!*Z>?24ADN:F\[#\]H(DNZERK9>KBXTGN-UJ M$Q>#5LP4D+XHDK(DH=16-BHIF[.(16'K0W! =L8M(!S&)O:A^RX.Y7,6S[?Q MKQ3-U/LZ$5%939*UUA(;Q@J(0A;02;BH??!>MNZ8?P_XV3>@04E M)^*2,YH"3U$P!*X=.:/*J?K$CB"3KQG^7 C?&C!7"-CM"HO]2#@Y7, =&)9M MD= V._!"(IS5)LC, '=.UF: D?P$8\'KS"5:&;EH#92[:-D-,S_4LV\3L7=@ M7*[S\6M83=-$2$*Z#1$H\/6@L%I(3H=K-B*ZG&+RL74OM%L)&?>^O(V.'P#. M_@+O$#5/I[/3->:)M"(DB1+0H*UCU!-$4QPP8V+,F)GRK8OZ[B!EW(OP1T'. M(4+O #M_8)WIB?GD"P4!'_#5Z:>(R]?E1L[?=S/-D]=6,_"J]@"LM9"!\PS) M>L-0*)E6?6GR=&_N;F='>NVR40=":CA4E68#@ M'(=?W[F[?/_D8_\^(_G@V8XW[; M.H^5\/X@C^WKI\^._9-YOJ49S06<16+12520O*MS175U-KD&ARZ&(KG)VC2V M#WN2V/9^S.0@FBMB9?UJ;13_'L]^_%3MD5S4H@NUVG *G"@>(P#JY@*LYJ MXW/KVM7CJ>ZF?'IP>#ZRACO']//%DGR3^5F[@O3M_3+,5\1BU?L\;_XT.T-! M_C^GJW55T44KL^148CDXD+;4%M=!D!0L0C!6HG4VJ>O-Q ?%^>&U$OYOBUEUS7\+TWD5S>OY.TRGR[.F1\OIBO[J*?UQ M_N%,51=R<$K++#4'*>OX]I!\K9_7P 0J[5%ZZ9M/PAJ(EY%SB/O<)H\*D(XW M2F7Y25A]?#Y;_/DWS!]P*X>30HN_Q30+J]6T3%/8F@_B/3-4090(DI$NE+() M0BP,9(XA.LNYXJUO<%O2/W)2=)\;8G @=+X)+C:V%NBMOG_S/O[U^^?39VW?/_M?? M7[S_ST&N=F]9YK%N=A_BL/W%[CW]6\ED!>/%9@(>4KS%#'@Z4R$6ZT74.0AL M/>E[)\*.[Q!]OLC[VE5Q$AUWBDL)/-0D/)<9>&LIRLS%2N],3+&U0;M*03?7 MN(VP<+-)],'R[L QNZ#^3"+5#"_F],?5R=?I:N*-"S$7"4FK4BLD=$VF0K#1 M,NY3,LJV?JR_EZ!.L'2 IN\"S=%B[P!#UWAXNOA$ 4EQB0T2"%I M5YDZF<'P&JQH$YD+6;D!^TZ>$3%RLNSQBKV[(> !4NX )G<,*SIG!C''8&RB M@*!VQBB"04Q9 3=<*L&B]ZRUI;F7H)$S9IO#IYWT>X#2P^.'SAE33(8DA0*K M$QEG&3@$440="IIL2#P'V_JN=6?BQKT8& !B@VBE [A=GT!TSH5/C--VT9#< M9M-@AB"%!\.LD\9)5[[G. \T FH/( UVN=D>2 WDW0%J+KS&E\3+IG9W0I%H M9BD2[HEF4)%V0)"Z@' I)%TT8G/$W*2BDYR7AO'780+N "+7;_M?S&_>;[Q= MS&;/%\L_PS)/>#!))NX 7:UM85'6_#(#)6#0*6:%I77NR9XD=A*H'8B(FQ73 M@ZFG _3=VV*\[CTI58"@ZC!LKQ-$I1@$3)9IY"&4]JULC^SV/F3)['! V*?Q M^SY:.1AAGS9GP0H:,W@QX;L WUV(%/>.^N MW'9HP$T&"'V0UM'; M=(X-V;;:[!>UFZVY^;O7GS?]U9Y]Q66:$L<3X32+7I+G;*T$I3GQ9LF;%C(A MA8L4*]KV-S%[$CEZ5]"Q<=I(?_T"]&PCOL75>CE-M22Z_MA)%>G8 !Y(O_T">K-C M=^*77/52LHK .*]^D1;@<_: V@>FLZF]ZQ_1 #>#\Y =2<>&\S#:[07-;_'S MN>.>3^;Y+:ZGR]MV\T24+&1MM6IL;9>OK*,]RR4XVL W[$/?Z(U+ M'Q>E0VCMAT'D9D-.K&'(LV"0=4AU6#%"9-("%YG'H&1VKGUV\,[DC=\AM3- M[J^T_?'HS_ XQP\U&Z-1^M:VVGGU?G%'-M%FK\7K(>5;)"FOIFL\G]AW)H:W MF!8?YIM/.9,($\EH*Q)X54@B.F][NJOZKF&$(+>^>0;8L#R-W^GUT;#?%3PZ M,."[U=SYK$V0&@Q&XHEQ!C%Z#=YZFQ0)O'U3XF;%DH/V;WPTV#974P?0N]J) MB/SM6&RTD.LM'I%:ISO1+XFQ7"OZ2O"MGUH/Z #U3_&D=;C@.T#-O7D'/-ML M42EPWJ0Z7B)"-#8"17D1G?&LB/ZR0?XI7IV:J>7(1_QG\S9NY"VI""Q(;ICD M()Q 4,EFB#PJ,-$F(YBR0K4>HG1@,@C_YWD5.EP%38$T0O?-DW=_>_[R]1_O MKO+3JN?FQ:<_6J?-V_EI7X:];6_R?0RE*'2&Y5! 9:ROA#Q0#!L)1,K;R#1& MD5HWV[V/G@9^4_W,-\O%ERE)[M=O?Z=(Y<7\8@;B25I/OVPZ&]TVN^E[IP[+ M=8ZR%C>@IW,_U#M]3,"<\]QYC:*TEDH;RCO)W3T6:;=X98^MU@[P8"+@W--A''1U@Z=+=3AT_1Z+< MY-:_7]1+FGF:SO *>^\7.TK[0K*QCNGPU8^MTS]4Y *\($Y M-$_C)A=W@/BN0-/!)GJ*M'*:;B0\X8:G:&MUG#>LMO1*X*)Q(!D*+;27I7F' MJLOKCVN.^T+&HI&:.H#8D\6*O*??%HN\.IGG\^OTU3N*]$X^+9;KZ7^?<55I MQU 0@E.TJS4%D,&4"$:SXB,+FARMYI/1BQ2,;9Z?<2LEX]9J= W- M!JKK ( OYE](O(OEMS^6TS4^7?PYG[#,I>:2 5W>!<7>Q/D0A8D(VX<.='*EP!!$)\B MQ>RLDB:FUIF3.Q,W;K%%UQ =1L$=(/?FH]L%E^<92Q?R4]I$AS$"MZ* 8J% M+#)!\BQ*.@;0IM85Q+M3-VZ=1=?8'4C%78+W)*7%*6F!Y([3+YOV.EX(9CPO M$&H/;Y5K5M&M2#71;(Z@3N@4:E$;#[Q_%Z">FOQ\4A .U0EG2+LS1(_AVE^ M>D[1^>W R?RLS>#F]F UB49HC#4K6%??(]).\EASH61*,266,F]=4'88I;VU M^'@D3#978J=@O>8MG_%E1Y4B1QCKPT$KCBYR4EA\]J&W2CKK7W' M(X'Q:"5U"KZMA_$F?-NX%\%S#)G$I$5--, 4(>H2@>F"R&0TV0]O%*\1U5O[ MC4=V_@Y13:_AQO*4Z)B&.)UM(K9)T=Y++AA()7/MYIG!6;+F*G')K'*&N=;= MEG>AJ[=&&H^'N&,4U"7H-H9[ZT-L.?LVD" ME]9/++O2UEL3C,<\88]35)< W++T%BG$JG6\,>20M0,F69W^@;4L44E(SO B MT9'T6M]I/TA4;XTJ'@ERQZAF1*S5K/][N/EM\067\WJ]^MLRS-<3LMZ9!OO@%7>M)^GM3%QW+20>ZPQMH*L.0+A[,O*$!5LX!=M M3JD"944=#,(=E)Q8R;*8E :H4]B1NG$O[CI(Z1Y(D1U,$[Z#LWJ/OMI#N-9& MG15%\AEI=Q+7 ;Q(BF(L5KR3%'SIUNF);2CO9";((Y5^#:G6#NSMF_!MVX)&R8H&7@JM#V+[7NUW&(@<*Q*+E2Z#/S MMG7TLCMU71:-#8J=Q:,HLHN[ZQN\_1Z6_\!UO1I]A^ET>7Z,F'I+JA 8UGD7 M9 IJ^Q\&*=@L&-D%W[SKZ4Z$=5G=-2HTCU9?'ZA<+A)B7CTGF?\>UN=\;)XN MS_BE3?I:J2? J<@W.VT+AK>(LH2S9 MM^Y7MCMUXSYE=X#>@139;WCV?#H/\W1[TJCCM.\H!H5$C)$@/0/'0[V8\=XZ M8:7!1^K"<0^5XQK6[299D0_-CNMK;PN3SF8!%V4-BC!HDAGW9A\L1RRYRX5XDS&# M*OA25-:M*RL>IJK+^&XPQ+95TK&!W/OFZ'N+FZ'D[Q?OP]<_INN/M?<=B;%Z M[K>7?1;,1=0ATR4Z6:N-4Y4F0BZT"*/0U936?NZAM'89LPV-U$$5V@]^WU[$ MG:_+R\7\ WWRIZ<8UQ.9*(B4Q GG]1&'483IE+-0O,W(T;K(6P];NXN6+J.N MH?#71"%=7'3M+K@)C\;PG)!X2[1W[*;=;$30P0>,R3+;O+!B=^K&329^9/@- MI+0. OQGI6"B./395W(^YA_P+0']];PR6_^KSQQ?PNS,\F^G#]6_V S8N/R- M2S\Y\=[0UN,&M*Q[LF0)7F(&*YV3A27+6>M:M '8&->^#G9%,+;".XB-CF+V M;$C&S92A\YCQLEC/1#T)**.*RD$,)9.VC(3H3!61=B([1^:A]:/$XW(X[E$P MV$[I&"8='!S'68SD1"C)E=HUW]6A8!ZB+X+T(H*MZ;*H6L=YPQ\&@Q6R] GQ MO91X9.]ZDL!RW0%N36 EU_',6LB:9DH[U04=0-JDLHR66/_Q<#M8#4RGN-U' MB9T,[]CV=[EX49SGB^!CT_3E0JQ&%*.]])!8?6"T'B&HY($Y:]!;0_%R\Z!Q M5^+&+8\9[M5M$.6,71CS9..@7(R0V[0-R&=39LF-.:WD_'JZ?K58_R>NZ["Y MB2U2Y2PRY,+)@>')0N"<0RA:BR(D2Q4=!&37 M&I*^CNLPG=<+EJV;_'RQO*LD0W.1E!8D15D+:V4A5FOLF2W73 3EF&T]P^@( M]^R93K?BU%ZH8$T&%F,MOLT( ML?8#\EF(X"-Z95H_&^Q(VK@EAH,=R4,HI@.\G37S>Q^^XJK:^5>XGMCL$)VS MX$21H%*(X(QBX!(6YQ5+/K6V?S>I&'F T1#*OEDC>(SDN\ .?1;9_2WYNO9 MRU*)8G>+$Z<(I>/&0-S>,3DH@,4?BD?L@I6?(6W<=W(FPV?:;:+82,Z^2- M#[GCM=,=Q.HUTCD?5IED7!# ."=')'@.D9=49U\QQQEWQK-INUG. MS+_^_OWUQY?-OFS3_:UA-5XORYM('AGE^-_TP MGY9IJ@TGSCK8DH/R9C&;III]>X6IU?031:(/O:T=LLPOW[FZSN_Y:C?P. B' M^'6-\XSYYR,O-)8?POQ\U-V3Q7Q%:^6SS3;/EXE[7<[?1<+L(GRZ]#B"JB2O M,AC.:[HCTQ!53?%E]$TG B^F=6^,)H0??1UT#!%/IZLT6ZQ.EYOJN_LT_YZ4 M_>NL%C_)I*PS6@&Y1*QV:@YD8C2"2Y:%7#>W:SYT\I%Y'#_S]<.."JV=, M-?.&FA\9)*I:RWK6Q&!1GA!ATW4X'^GP=KKZQT$GQ Z?VNA V)?^1O9_\\F$ ME;_3ZLOZ+'UUW)7CT24"KM] (V &5\BY\%AD*DG[PEN_B-Q+T/%3J2\)N:[T M?;]\WP]%^9(=!:$H'6U>19&H4UF #N0^Y1QTY+RUP[P#7>/:Q78XN3E.NK%. M^K51EV8AS7%]B#VZ]@F-;,]]=#6R,Q>S12^=4%OTU)0L;E'0V6,3*!,T^*3I M\(PY!<6\X7FPN; WR6DV^/8V'"N34199ZED;0.6Z1XI7H+T@MK,@YZ!];L+= M](P]_*X-)NZ<8WNL!OJU)+\M%OG/Z6Q&#L(+^L#YAVF_DYGJWP"TFQWA-0U"%U[F>=5IL81*"*TX@LQ9=Z^>IO0ALD.IR MQPJ7SEATMO@0:#_4H$74"??*:]#6%&0F8K+M&*QUOJ1ZBKY&!.A^^59WJS8IA]MV?SERY(.GT$YO3SU)P'KQ3 M8)4VFA5G96I]S7,/.<<:GVOCQK8K7!'Q;7!'62<8< 2.JZ1:H6DZR;I,?36KYG:O+&P_'"8H;KU@Q.G!%.M#,NLA8'3/6ND#V$#I'OEX:!%^W M)@0,J;]^K=GS,%UNITK6$>-]]!QKVF[[[.][P/"2 MHS$:,DL4W=BZZ3AFD'26ZY*-EZ%U8\Q["1K76#7#Q77[U$X)_1JB/\*R3J_[ M=HB]N?BWC@O&4S@O MK>!"-A\JL@-=#7I27UKCUGM8DW,1(=7$J!J8".%$X=)PH@.?W>[]O$;&:'>:VQFHVRBOG7)P#[TC6ZN&N+G%ELUC)[ZM5J;_N:U?S0M5-E=?ZLIH?6; M-UMM'V#$]OGX1C;M8(X:F;BS-2_P6*PE6)0$-J7Z]FMJPUMCP F,H4X#-:QU MS':5@J.[:]R0YZO%&F_;$4XRXBPJ\*YN/182>&0&="Q&1564;3X+?F?BQC5; M1V#B1D^-0=31KX%ZA>NSK@]DF3?=[0\Q0S<_I)&Q>8"Z5B8E+.?3^8?:SG2S MR 60I D8B_ @8_&@C%#@4M+@4-(QE%/(I;6S=!EQ)Z+/ 0*%!8C4TL!"=-T!?T/\,0VQ^*;,K;6.G_[3'T,WD MGP&TU*_QN;"M[_##-GQY5ILO?EY.5_C'-..ESGR'F*C]%FADR([@JI&Y.U_X M+7Y>+#<=HR^.0U6$5AD!C=<4H4N"I2T)/-AKYFN?>VL= M%1W1Q6A-9[+-=:J;@$@2 )L"$]%(Q4WS"^:'R1JY[6X+;-RX9&ZLC'Y-U@$] M41ZY^TL'76!^@&XP/F!]W,U@=:BMW&2HSQX*N,\J:9Z9E:T]O2ZZP6RT^;I< MT]FWLU^_;U:1"E,IJ-H]454G)D%PS(%!'VH6,W>V=<[7;I3],W1>V0=[URWM M /KKH'O<.*:"Q>D8JV; M'.Q,W+@],3M X"!:[->G?+BMTOM-[>1ASX\[?O:CM8BZC9=':12%J@3G*?;P MP="9R(V$P)T'7GPH,3-N0GPXW1PQ\Z?%^J "@.(?D\+L$#I.$ MB$%($EI1S>MP'K4[U?<-LUWVTFN<\SD9[4!0]$$^@53@A')@;=8NI)Q9\\Y< M]Y#S(W6CV@7T"]Z^U;^SR$J2(9/GJ3/)3ZE4 M(/J:;6LI("ZI."-:7]$>0.:XMVEC@'$8#78 TGL8._E4W_W.[HPV(U7 M7;1F@83I18[D1@0+D:,!ADYY5S13MGDKBB/H'?<*[O%@^V@Z[0"_VRVZN&^+ M/C^M ]H?YCW0.<)%EL!$$;1W2X9@> 99C(ZY2.E=&,CZMJ!_W $VCV^6'UWG M_89"-_OC'1X!W?E9@[6Y'##>N:]%88UUG;<:<#,"6!H&01@*NDO0424ODFI] M=SQ@L\OOSLH= K[4)Y$GGKDHP)RJY?'.@)/< L^Y[DDCC6J>,;8S=?VVM-P' M+W>[DDVUTZ]%NJU#Y.$VZ9Y/&["CY9"O6COW'136H+8,(49.<$@4_T81 C"+ M405+&%&MF]$^6E_+[[OBCB6?+%;K2^493GCAC"W@0NVA;QT'+^O,#^7I?\JH MD(:[4=Z)Q+'3V8= U=VVK+W6.@HIKK%'?\#E%_SUVWOZG/K6MUI_9]&K7&)V M%A EL>AS /H6 RZ$MR:F[&7SI.3]R1SWWF94<#;37K\G[H.]2@\_?G?]Z,?J MNCK@P7QOC\TH''/,2D M"9@Z&0@\1>#%RBQ]\L8.EF V0+?$2_>;VU7.KXGF ME_W3\XRM_'K^%NLD8]I.FXS5:WZK\Y%,>_;@<3-[D"N*I), +X(K(6;O[7 V ML $#'?=VW0=W]UQB/[*2NSK+GR^6./TP?_8U?0SS#[BMQ%M=I#E>2GU\LUA- MJ]ZOOYI[*:1."4JV!I1RDHXEGL ;B10,BB1MZ_*"EO2/>_H_!KX?5\7]>@+; M/JN''_C7/J%QV^,A[_MV:64KN$LB44"B9- 4D!@!3A@),N2B12DL^ &Z:P[> M_/C[3KC6;W=KYK]=0WMDSGN'#(2I8Z.LU>!#9" ="T9D'9T9+IS>C<;1.XVV M1=/=QFL E?5KH.YK.7RXT=KA4Q^A9?*PQNV!QK><15.2C10YRPPJ9^-UZU3P\1HG7]H5UAE;\R5=JETN'=(6Y%Z#*#RQD'A1IOG8L@>I&MUT M-<3*SDV2#]-)OY9JCT;"AQNN_1=Y_#;) YJU:XUQG?%8BM$$%X*DDL[5GK@2 M2HG*:66\\[+Q9F[<+/GB4-_TTKPARLW%Y#2M\4S4?Y]/*1C_,RRW5Z'7S_R< MDBY*T4FO VU4U(6B(\$@9J6"L\(5.51:2B,6NFJ\O ^^[O;7'E^U75VGW,[^ M,[)VBV^(&^;?G"XI$%]A/2/N8-]K&:UU-442D<)M61N): T4:1MG0S ^/S:R M]V1AW$N51T3VD*KM"MD7C.+RRS3A[=(XF6T^\JS,#]/BPWSZWYC/ZNNOO7Z6 MG!F7F@,CY9";)6LO=I^@,$_^D9$FXG IW8V9&3>#=A"TCZGNKG#_]_GR@K/+ MO%?^7BWF7^ADP[PYRZZ_"60K=>'1 TIF0>F:,ESGKG!=D!5._^7A'GX.)GO< M;-E!L/PX*NPW6+LQB.'PD.RNCQIJ9,20X=6= P-DJ',!$+(-"E3BLG:_5N"4 M<"%[9C3^*(,C+MGS:RO41\QT,L]/I[-30O]U+R43V[501XI((LA)U$YVJ7[E M8]12"6Q=F7T@J;T.G=@#0_<7?-^W@/J MNM;)VT7O M"R8/+@EREDP*]!5&P"*8U9[B!=B*69 M1*>2\<"RDS4_48 S*9.S%M Z78)O/JSW #+'O0IIBK1A5=3OF;17E^O#CZY# MEAFCC_> !^'='9N3*9Y,%A2* @E(2,Y-HI@LD_B4M58FWCS);*ANWM^O%*^M M<$G&OWX[_\M+25@F!BF+ 5;G2RN-%APQ#[1U0Q Y%^.'<\KW(K77KM][8.B> M>^#!E-;!,?QTN@H?/BSQP\6MWF9(P_5KD>AX4+% CIP$:5R=IE>G_>KL7J^CWY;?,'EO'[N;S5=\<([ MGBB*O5QM)NT<1U""6XB('+SF/OMBBLKZ(<#NM-(_0\_X?2"TM9?MU7"PG:2U MX^+(\W@G=MXC_5!2B4=F:D=HJ\AC]?X6RU&@"#9+""%*4(45\($BA>1#SBPJ M([#Y%+XA&W5?D75=:>.I3FQ2DD=R4!G3YS,Z(L<$5LJHI&=:-.]'?CLE/;?; MW@<+-R?\'BWW#L+/&UR<%::??)VN)BB5,$$AR%+SLHEV"+[&.,IGY:Q2JGD7 MLGO(&7MR]/':?@A !XJ^1Q151IXN/M%^FT2?N$[:0,&L0:&2M,=T N^**M:D M7&+KDHA[R.D,18>J_$%;=)C\>X#2^332&RS]CI\B+B="%,]1"M#>DYB*3>"4 MK9/2K>3D39+I;AWM/D!29Y Z5/77(=50#SW ZN;.^Q7GZ>.GL/S'9OMQ14(Q MH69*^NH*D,"#-UC:9Q8[_'.?$.5T*7H-IR<[X!A70I%$:L M1)E ,:R/O[6^PENF/.T4I0=WPJ_1U)FU.@H!#\+K"'5T *]W88:K\^>'5[@^ M-[P266;U14/6YP>E&1G>E! P%8[%*VUMZS9\MQ+2&Y".T?7UI\>C!=\!>AZ8 M]G[.%!9-07#24 SY"2JSFBY"_J_A_^S6&YWP6KC#0B,63A.U">D $9:!&]TK'V/,0EN!!KI;=%8B&,#X<5\C;,MW<49 MC")#*+'F'A@.SFL'B@==IVUH(Q]\.KW^H>/XI0,I_%!AC:WD]V'Z9YB_PT_3 MM)C79F6+Y>]A?EI?H<^ZYB]>OG]ZSE>],P@\<,@^DEUTF8,70@)Y0D'7T2I< MB]TLP.Z+CN,]#&45!A+VV""ZL')O\5Q#Q QGKY>_+Y8DP_>+=9B=AVI;0YB# M9,SF"(F1^%2LTTIY5B"9R2G$H JFG;"T_]KC%(D/!*F!13\VLJ[(BF\9R)I) ME1T83)MXGH[3H )P'I$XX-HRLQ-V;OOTG="A?Q!T'"V^KO0O+M[+;,P)#4A3 M^U5[DR PXR@:-[$4#%:PN+_^Q1[Z-S^B_@\17P?78321NYM+QU/=!]]'3V%G2@SA^"TJ$*Z#?K^,6< MG"SZSA17@!LTQ3)!5:'[@6(T3-@ MO$2;>#*A^?BS>\@YUKIQ UK@OSX,CK)$^>H)8';Z\ M^EC+A!;Y&DO26FNB4H#"LL#&#F2-^[HX.,0:Z:,G MB!$7$Z71<*TDE.!I>UC/:R)M J:RT-DIT_KBAVN"@V5?"AZ.CWBX. MZ51OY\^'F_/GMW]UA*>]QZ13[Y=X^3F\K=@4=79-\XA%%\DQ67* M@C=,D(%Q4@=60HD[98SLL4GW(K!=*YOMLF=W)E(7A2D:R$8B[<$HP7L=03B= M6(R1A>8#(>\@95P/?3BTW-V?YG!-='#$7=1K_WJZFL[))]SVH]IDE&E;W$31RGZ,6*K\.HV;R[P%,9[2?OP!DQY+* MN@ SF9P#B^07&.E!^I!DT2GHTKKZX0H!(X.EG6*O0^9@*8_],D9A9\0GM>WW M.0_GKSO!,B]JP4=DD1P_]!J"KJ][Y% :'PL70C[D&-VW0!?MT0[1UZ*Q\,8& MP+MOJWHO?Y4!82RB$PPRDW0*)U$;IU(X@S;S=6$*'40IA-&B9=.V=Z^OD(0-6\*R(OVAE:\_U#E)& MALH SD4+F7<*G?KE$K>5SF@3AI 9:*T9':@Z,"9;Z_KR(DG >&N("3*N:.@@9;$^K94,W) ;5:)CN;0N M4;M!Q+A/ D.*6^@9-^89"C='2[XCJT)RP>F'^9-3HF&> MOKU?AOEJMM'0;^3#O5RL5A,?>51*".;JV(P.A"AB>@.QD$P2D%*5F1)@8%1K7-F]CK%!LMQ&/ 4 MVUVB1YYBS^9YI-R&DYPW,6:@#[Z8SS%,HL.]2PV?]; [IZ.D0'"?D("6P4I- MD#4\@(N$6RQ,6:;I#$RM+U0?-05BN]B+3Y_#=%DOQ#?F5O/DO1.6SG-';,M, MKB(W"J337'!A%(JA'*NKE/3ABK?'REWF[0@]]%L9<<_VOR'606S<7:L,;]YV MXF\2HR)OP)H^Z$LX!Z8NCL%K*F^.@@&[N'G MUV]G!;JSL#I+9=&,9Y>MAJ03 Z6$AA"" XIOK#,HF6.M4R[W(*^7C+&V"%D\ MCKKZ1N)WQFH5^OF;5@DZHS$&6*%?E/8%(G*$5*?-1,V]NM[T9T@TWD;BN(@< M#"J[0_)HO8W]$TO!A3[J//&MM+;-KIXBV?7AZN/T\\7 MC=>*JNH ?/<(\.5%ZHD.):%3 A3S@5S4E"#DFM.HI6+2Y.A$ZX2<7>CJ)95X MK*CS, 7U#;K?EO5Z6]C:;*S0@9^D/9L"$4P=&1B0;V:.Q^;C-QZBJ5OW_T 4 M[ ZS_572-\1.4CK]=$I.)^:33W6F_=GHW8GE0C'CR6/ FH=96V!Z03;HVSAB<,#MJXX?LEG&Y:WT[.MGG*]PH'22NQ=ZA&22';DY4-2>6V=8[DK;C_38N@^>[GYL;:BK#D[= M%W,R$WC1+>!E_0?;8KT@@\XL2_"2T_'!2P!OB!56@D3GO=*IM=]W#SF]/*6V MU/^-BY0VRN@75]O;)I]*<+%V"7"R#OFPX%0R(!,76EEE-;9^)KV7H+'[>C92 M^VYP.D ''0#JR6*U?ETVLS'/+Q1]E$;E',A^9]II*BJ@C18@2R]T<U(90_@^']U?X=?W^3YQ]P=\7\_7'U<2EFB(4 M.9#'+T"A$A CDV!9S%8XH65L?0M]',7=/@GWBO*C5/[# ;QNX?=_+BB0P.2C M*N",JK-MF %G70$A:J>ZXHU6>E1ROYA\3R\\7IT5)*E%*Z/JQT!RI72<48?_^!(WEO%8U?$U\TKD3M*CCB5BP7O-DTFZ5>$<0,GMVW% MS:#[29(".;<*DI*9^(L2(I>!3A41O;?)=B^^$2_O_1URVT5>_B9^;KR'G&.]PV>DW<4WQ$VEZQ7YGG4V7$^2 MQA D.WO5(WZY!L]8HC_&J'WQLF#KV/Q!HD9^NFJ$CNMN7%M==!!ZO ]?<74N MK7,62&:O%O-TSH\)2A([%$ )1?QP1=+"Q"#;P)A@OLZR:8RMAV@:^9EI(&@U MU40'R'JS7.33M/XC+)=A3G[ F:PV%;73,L6\W3 B!6M2IE,ZFTB_A )14;"3 M8G3!H)&2V73H?Q\/O9$ MDPWVQE%H(27Q0)%O'1"F(8JB="P<66G=\.4V.L:]4QL*/T=+O /4O%Y_Q.7- M8.C"KK*,098$664.*@8)SB0$K9R+3KKB5.L1Y?=3-.Z]UU!(:JB%#C!U-R.* M.6L+BV!5*=4KW(PKS: 965>;LHVBM?MT')(&NZD:^$P[4O;]WC)=L;E//H;E M!UR]JMYA32X_XL)II\]M=/>T/P^-KJ&N+$S(.[\8.$FT\ 8KW^LJ!8LE>44> M3S)D<6J6B&2V6AR&A>>LL?7(AIV):U>C>\>2M5+FO)M-L5F)5#S(%$+-ZW40 M0A)@B_?.2\.2:-V*=@_RQKVV&@9-=U?IMM56!^?D%89J(O"F/- *BBX*EX"U MY[TJ*H$7WA)/S&D1I/3-:^!N):27XMS&:K_/AS](!ST"Z;R.R^KD8U %N+<9 M5)TZ$QG+8(/A/J1$ON.@T=]W4CJR5( JG:'B$!TNAA!H#\C@=S$B1>$&,R-= MTV91+A@(EJRMR,GJ*+.P+NR,C+M6&??59!!D-!%H!X?-1='P=AST._Q0_WC6 MX9WYC%8["=JP6CI6ZOA8F3"\&!\ZPNC>PGJI?)U6"^FG4YZ -@9[>=[ M+K(8>0D>&)<,5 @*G"X&3/(\Y%@BQ]9YHU<(&-D-;J?8&W7ZATIY[-/IS7(1 M\4E8YJTPSNVHB2JQ+#)X;C6HK'+M1NP@<6=4,=)B?O :Z+X%1D;"X?I:-!;> MV !X]VU5"V2O,D >E5:L"'!2JZ]Z9'@W M9GB3%++9748+M(K.;:ES35$3Y*Q[S,#( Q$&:9-==T_;7L;>)&G[D'.F8!^\M>78H=%22"V];=QZ[DYB.;G:/ M5?GUS.OW*Y*Y2Z9Y5Q$=)(BXLA1-J!D=FFQ+[#+[@,\X3G;+@D ^?<@@B:-DZT M""Y8!2$9IC*6$FSKQ.0[2!DW(F\+GY92[P \Y"9NTC[>X_+3='YY%W#D)7-E M0,9Z=5&,A,AXO6D2W,9H.8;6+M"=Q(P;N0\#H#:2'_ML>C'_0A)<++^]^/0Y M3)>;Z^ZM&;48O8@%>-8& M99,E?44V6SZAO(N6<2L=AC$K3>3> M 7[N"0M>7G3=-#[[S)R&8@WM"1T3^!@I-A!<<.-2D,W;ZNY"U[BXZB!6/TQ# MO:'NJL1>G=9M]+J\6:RFF['0SV;3S<&-^0TNIXOZ:ZJY^UEGZ:2J PFY!V51 M@].,F _18R Q:-7 =BZ3ZP/H)B>\/R>>7"1#B>/4^Y5KS96IT4 M(4J=:XX;1G(JHM6M&UC<1D='*6.#H^T0T3>#SZ/4]-SVO<;E/?OG]&G\LVD6@8V'H[K#19]6 I MK"J1"RVSJITMNDN?[:((:"\8[)4^NX].>@#8E6PQBP%U]@YD-N071%8@,DNN MIG/>625<-,T+&'^4]-F]%'MO^NP^4A[[>O6N#%!A$+64&;+C$90J&:*@KU+@ M+$>*Y:W:[=7O!TB?W4M?NZ3/[B.\L0%P:QZH#*I(44@.LA;#(3+PNCY5&HFF M#M_*2>RD_=[39P]6_=%BZ^!LN&\LJ6,82S %7-'$2N8>8@P!G$XH+7WS0T#O/*,0(&$P&Z N4&;4OJG5<_D--!]Y+ MP0].!]Y'VAW I5ZV$@$?R48_Q2\X6VRFZ9WWV=ZRQ$@>AFDPM3@?)*@ M"W.%'!F/UC0&T YD]3P)^!A(M=9(!R#;;[@QC]K3;MDTFJ1W*CB707I%P4A0CKCS&9Q R;4L+/+6 M"3'-DABZJ)8[QJEOKJ'N4'?^^LB29V2H56U1R&CG: Z!%0=:6%80A3.F=6G^ MP0^_XZ89[*7M71Y^]Q']C_7P2[_-Z;?U8OT1K^[3LS:9C1^!=UUNP ?A@SA^ M],=A"@"D)+P2V$P=C*LE!,XC&&.#5TF;J%N/5NCR<5B5$(UGO';@I:TLR2>) M'AE(5J23=8!J>Z?NG^]Q>!\T'?,XO(^VNCMF;Q:N^=KM16(\:U2GI%/@O)@24A,;I$:DB6KM6_?A(D M:U&IBN*"PX.JVR^V),MUND 9@^7B:OL(UK/0=(A)$9JF;CV"J0UC#$3K,?6CP"/M(?T()7OW4-ZB/P[ M -)#'6M:Y2)9=I""DU!=7Q*3#I L=UD):U1N/R0> :.H;K90!@F8(FBM7%":KO?N9L]^F 7F$#M)CD-%6I&-C M8T?'6A(Z,2<0$2=,*F]D'%B ^ (C:%'XZ*1.#NX;O;* MM:1BT>1@@(5"H46J%S,S#K(U)4?N@VJ^/*M9[K.+@H:!'.7C--0;ZK;,O)M? M7+R:+_X9%GD2N,00ZZI#IL@3]$9 #'7W.0^Y"*F4=ZU]YI^0U*WG?"0&]MB[ M=:Q".L77Q)M85/$,; D,E$ !-64"7!7F4LQ)Y'. JB,DG:KH?9:W'2+UHY'S M9=T!^'X5%JOAWF8T,]Q&FM^';VALD>7S'SD3&3)YA3A"+CW70?2(110GTY\9::;EI/DKL(5K&=<>' M1% 3Z1^.(K]!T0P_5K_OPZ#7V'MTXNP-UB-1/=*!>SO*0M0FOPG3QG^'B$D,M7UQ,OZYK MQWZ;5:8W9OOJ+SQ;+K%F5,+RDCB8S]YANEQ4H?P2EM-3FM9;D]"HAF%0R32J M:[@FX<5TF2[F]?LWC\_1>,^LC!!,T*!"">"0"> 9T1L?)"NM,T2[Z#G5_%W_ M[%^^_1(NZGO ^T^(JU\7\\LO).M-4H?EA-()#H0N!&5SK7>L.;^$.3(EN12M M:^?WH6O<^+(92N[:QN8JZ2!8N,73]2__[Q07M<3[V^M:X+WI7^%!4IB3@*1$ MSBN7ZXX!#38X%0,J5E+K>W<_RCJ!6C-$/ RY5NKI"73;2^3[^^6:O^T327+% MYY006*R9:\TR1$T^#8J,@C^1T@K/V('@(;B=JI%-P MB2M6!'*;!()VJ685Z\!-2T%ZY4*+Z!+CK3,F.\@9-Z4[+KB.T4BGX));5E!S MQZ2MNUM2H8C=6B!9%>"\J"@*RRR= URRA^*+<<%UC$9Z M)*83JW4&[_\$)?2$IN]S1V_N MY([^G,UCS3A6P:V/$/WG^2Q-+Z9KG=Z6PM5II6-9R!< :;D"Y86$Z&M^6WO/ MI=>"I#$4&!OSTHE[=QK4'@+PF'KO /^_SV?X[?>P^"]"P)N&(JY,2Y2ZU-Z?V4=(*]45$R;ZZR#H#W?/[Y,R[2-%R\#5]P M<377C'&9?; U]5FC*,[ *U=J3I05NJ:TC*VMYKV$=')]]P2[TQ76!>JVVQ]_ MF<_R^RK-=9_@U7Z)S(.M4_5TKL_1V1,?DCC*@@&M2Y#V4E0)]%)7RAL MI< .T/CG^P^+M52__3*]N/B!FYC0>"4"((5V0(>)3EDV"5@*107.#?'7&(Z[ M*1JW8*5+/#9480> ?(Z+U;1,Z:_A\DUY@5_J/HFK;B]I@V?%0LG.UXX>#E%X M\K8159T]*G1J?C4_3,ZX=2Y=0K&5\CK X9_O?YU_Q<6L)L2>?4026=U9$%<_ MG"^*_QC'%"#*VF:6@X-02'S%2Q4YM];8UN\@^]*V%T+-OQ1"!U%K!W"]KRKI MW73Y7^LLA?)1HL\%A*BC)[BI60JMB+482M9*!MX:HKOHZ<2G'"HQV4P57<'J M>M$F_9_;C5?X/3C[.7?:3T ZHJAJ\F8(I!!IT-GF2 I%>[ >3*Y:+4O5CGCFF_5 MVDE0+X Z5>]W\\[-E- !HOZ8K^I^J833M0.Q9:*XP+3C' *OES?C&KQ" \9Q M21=X]NV'0=Y+R+@YO,$0=+K0.T#.;S/Z6;A7F[OS]E(SK)0V&G09B[P \_Q?SQSJG I=D26\FV5LI M@S*%C&=*Q(52&ISD"606=:AN<<1,8_#<3TDG:;*A7.P&XN\21-OS5:Q#Y(Q! M=DQ#K=VCV#-9D$RGK"TFT7SW[4.TC.L#M=#S3Z%SA- [ ,\5 YB?+;<\W00> M6Z.J2GW]"AFDB :46]>"L@PF12L39]%@ZYED>Y#5&Z2.T?\/,5I;972 KQL; M?H\%?S6=T9]-P\7U+/OGXS6:[_>OG_+LF=O?BNN/6F VXB4&;F,@?R M.^E""8;.O@T,@O->Y!CK"UKKAZ5]B>ND_.@LF+G[G#2( CM YJ9TJA[HFW>' MB16!T]$6($U]UE"R]JC7G*%&&PSC(39_:[^/CD[JCL; V\EJZ0!:-X'[YMEM MHKT)/).WX9.B\%IZ79>]6/ &N4^> NSF^Y7OTM#+@\\(D#I)'1W :4/U?28W MD:]AD#R1@/4]GP4D3X1,;N1:*G)37!2MNV@>)*:7=,<( &NCH..1-E^%B\:& MZ_4TQ.G%QOKZ$KV,20#W*I"7ZQ7X8CS8HEFR!07B<&^,MPCI)308U80=JYA^ MYB;=XN"^(X,4^WN3):18^@5R-T6=5/", ;N&JCH9 M?W>,W B3ES9OML\OB?19^K8=9G7U-#/LQ*7]/GVV24M'2.(<$Y:8H*C345R MAMN:CJEEMBJ!80E3MAY5&"S=-<"$I1O9;_).W >90Y(@;'&@T" $$14P6:1Q M%%ZGU/IEZPX)G>1!3M7]P[?KX8+N(#YX6RM\K]YEN)$%:[ED,!SK(ZX&KXN" MZ%7)R#6Y"JT7IMW^?B_U.D9>NT;UVS_ST%XZ+B>$T^ (DCQ-H!*%[/9Q^O^E&4TU*R!%KP4HM'&-#? M]U DX^7H?8#A&AW>]X^,$V@$4WG^:+Z[>1$467AHFZ\A=LI&& MPLGH- 4)0F:GI#7H6V/AUN?'S70W!,.Q(AT1#6DUF$5G= M\H3?]X%LPH-_=0.#N-WNISCS>7SA)BB-J/VUIGCR[ MN-C27_MP-B?!.%'W/?7A$LM@T@1I$]D^DI](0W,@O%8 M3/28_KGKXYSBOU<*H_5(P]J/[#7R\F-A%$!2$UZI!!.L#(" MN51T\>T:_'2PZNF;X[P?#Z?Z0\7805BXLW\2F1+253D@&2]5K 0G>"(L.YTY M.E<(NJ]E23&5N2\@@Z^&4-55LM)#L#H6(9+/P0R&H$?5 MJWR0U@_J53Y !1W Z4Z;[/:A<9ME,8*;%->A&)E4BLP$168A0'!2"*8BRMBZ MLV(7/;W Z52M[^Y4/EX%'<#I=A7-57F$,BIKE25@H,!,Z8(0'87[AEDFHR\Y M6S^847I]4-?#8,5SP]QFQ\FX*YC\,:\J"!?//L\O9ZM)L8QQ71@4STPMI:F[ M$JV!;- )*1-B:EV:]! MO5B;(Y7\(&A.D'@SY)R_M.A9SM,-W[_-Z@_8],0- M6%"T\X/G*B/:G^MS% ]9QJ,U.=,-ELCQ*^>Z9 T9_X8_Y;/'=6+#-;8">(4+;PP?8L/DQ6)T@\+V >7A?11'L] ?(^AK;AEPHH.2\>'")% M\XXK\)))4)YB>9>X",W7FN]!5B> ; 6%/5;"G:*73J&VO'U*K\;X<(Y"(((0 M]80R5Z-]NF(PN!*"S]ZRUA6@>Y+6">1:06*?+80GZJQ^THFG!3J/(=6- M%_6V"AI\%A&WG_C9[OPJS'!:9CM++K5R_)^#;;[-4=Z3@"]S\^]W\XF+[ MG#C)D;S?1(YVR8'\;N/7G<0!4#N72;>%ZL!T79SJ'];+B\Q3YA16ANEP-M"?DB2&3P*!)4-IIRS M<+*UD[,Z>_VB\20-=FL%WX9OZ]36A$N.:,EEM2EX\HL]^<6<0BB5DPI> MI633>:SA%47CUH3VB\.C--;/P* '3+U(2?%*O32BLF#)K5&20BE76*;X*675 M^IWOA,MXL.*M?F%WD(9.O(Q?SO*0$2XQ2-]9?7M[0?R1E.LHU"]5ZC-ZS6]^]#D^"2;'.8P3%/=8<2("8BX;,F98."W-J +=F M-U$G-]BG3Y@O+_!->?!3FSR\+2)8ZPP8518B@"9(G9>.6Y M%ZUS+7N0-2[:AL'#C[=D4^7TC+=;W0=F M==7T'F1U:MV.A<*^4#M2+QU [34Y+5=[82,7VD<',:E"84Q]O Y)@\Z9*>=S M++[U(+R;KW<*G&,5>_>]ZC@I=X"/7RY)<)NWO*M?_O;YRV(;'5VM%/9>),,B M0E#6D?U& 9XG"SR3RY"53ERT-D9[$3;R'*2!4=5>-QT [EI(5\N%'&KK0H' MD,@OK-25V XP6.2:S+=J/HS]#@GCYK^&!M$I\NX +L_GG[]%_#N T:O+Q6RZNEP@B>C5 M]._ZJRO[*9G3VD:*@)V5H&0A2\JX!1EU[94+1I3FA;\/4C/NL/ZAP=1("QW@ MZ77- W^:7^1[+F0AA54Q1Y"A3K6LV\Z\, 5,41[IR%CI16L_^V%RQIW#/[CC MW4@/'4#J05&]OBZI(YN;DZB;*Y0F29G@(21'H:[4RB9A;F[#=%'6:/CA2 M__O"ZW!E= "M9RE=?KZ\J(_9+Y"(2--MA_J7"UPK;):??9XO5M/_7O_Y@\Q/ MHO')622#K232B:V1"C,:8N$19CM-@>4Z]=+!L[GXN-C>%B2YP3_&32+Q.(!*F;G.A\^43 MDLM M*3HV7XRS@YY.\R,#^X&'*J*9F6I>$?9^-4__5>-U0F]E;_4MS/+Z#W^A0#[7 M;"/.EAN%-I[NU.K3C2K+!I%$H^JS#3W7)4-::A>*) .&,M4$#=V03!D@.%I7 MF(A>M"XU^YZ"=G5E[S_10?]1P+4 \^,F>?3+MYN_LZT ?E8K/3=9!*>X"MY: M*"CJZ$:CP/,Z8K1P$71*Q8?6;^C-B!\WACX!4P^7H9U3G1WIJ:7=ZU1K[$VNNH6=54#Q=8A@XO%@Y3TITF%$'GK MYZY=](Q\MS72^5Y0.D(!(X)IG6I^0W$\F5W2*%M;X1]XVIKEA#9J8>OT14W& M6(2ZW#0AF+K$)F;/B[XSV.J!?/^>'^P1-<>H=SZPK,?&S^_A6[4&._F10>IH M>28'P=?928X$AMJ 9\YP3X>/.[87=O;XV,CWW""X:2WC7BZP76[ 0U[ 36Y: MILB+R0RQ%C9"6SUE7\IU,][IME1V[8^73? ]KO/;G/+E>? MYHOI?V/>++K@=(BS+*5.@D^^5G7531>Y*$@B4D"%3"3=>IK!GJ1U]P-25"7ES6"8AO-Q..JF"7$Z.*C#X+\%&RVI<3(0@5(47& MDB0C(&SSIX(#Z.O@VN\&G^T4^6A NAZI.=$E9HETZM )5N<9(WAER8/6J#$R M&P5KG9T[@+R1K_[' -'#U=@?0K>WPSNL/G]M=[R^)F[^SM6%H9-@A9.77HJL M@^JBA,@HT,LR,1N*EB*VGA9]/+7C%D#UA=^AE-SO>-\#"CS>X7*UF*85;O[[ MG[/IZEE:3;].3QH.W): \Y>]'"J5@8I?7&$Q:0LAD8%5V7D(VC$HSF8?O,O! MM8XP>BU^,=SSZNZ \0Q!*5[?-@N9 TM_<^#[-XI<#,#5<\$WB1$9++QA%/=&\UG\9TZ_M/I<3E( C< MK58]5A\=86F;9[9>\"*" F&0U\A&"4H: M\*@R%UGL N,9 Q< >N, MM=$@X\VGK_Y/J40+5^',NG_,:+]RV&L?\UHK;U:??%.1&6?%Y,1;NTMG8^Z1'K S(/S\A_$( MN'6S_VTX\?Q:]_$L?YMM:BPFWHK",3OPWF=0K'@(GM>A'MD&;[(RN7F5S)EX M>Z158$_I+)X MB=])?[G6G_7.DH"E"DJ2H7!!^2A)"R9L;HI# ^FD/X M/6^/M,[M*1W"$\!VZF2ZSH\AZ:W@]+9P4")CF4F(SM7]=(+7>M@"48;SKNJ-DW,5@:R4<?NWX"AF!(/#]I0[!- M1-8UA3^7&I=.NBPSE%)GD,E0S6>*H'DQ12&7C#7OCNR"\R>?,7\")F P)#_I M\W] +*6<]5*A \-* 16%H:A**HB>^8*:%>=:#\7N@>\GGZ%_ F=_(!0WS>Z/ M.7WCY?NW;\\[;N.^+YY_OL9/^1YFH 9/V@<>"%3913HD-H$/L8"-AG^>W55%&R%LN)UEC;UQ!L7?RA7!00?43PAHZZ2$4Y MV=Q).([4SBUT8T3=-Q%V8/7V@.)CI;Q-U[W\&Q=INJSVXT[";OM?\.UBFG!B M>4$94FU/$1Z4]616R+>#K%-)TOHL=#>&_3#6'FEQ2:-3TB%\CCY5].$X;S&> M[PXK9#G60G@Q7:8Z,_H5:?$ZBUU_4]/:;THU-F&6\-;.Q$GT(F9)MW',WI ' M:.E*YJC!L.R"+\B]N..J/S#.KQE)C[2$XC2XCZC5)S$R_/X_/<_SQ>YOG_\A MXP!9#/.D@:4NH&,1A$._V8OH.180M1_&EL*P^5:"H9XTKOTP7'RE:^(!ZW"Q M_I'TJS?E':;YQUD=Y+]QYY[/EZOE)OH)+/H2) ?##3EN*=>)80Z!4RPO8;<(9@I*NGCD.P]O!3QUAJ[L __VU&-@:O-WB_WK*XR8TZ8PNZ ,P973=/ MT"5&(08@RL(-&F%2Z^%6.\CIY4ED-+#,A]%\'IR-TT &@ZA%[4]Z'"UQ>3=WV)LN2$CAF MZR +Z4MH=P.4=:8((^/1LEE_@5[R8 M?ZD2>OEW->>X92FX&+4-%C#[ LHF0:(*#K0K6;.B"Z8!1O;^C*QQDT/#0:JU M1CH V7N\H/_T\5><47A_08P]RY^GLVEU9.N&@"UO5R\X;34 03;N*XWJ2ZO4:F,#A+#6B!K&<2Z MSR(8QYT4CCG>/-)ORT(O3ZN]!!5C(J2# [+E#//]C&]/_T2XDF1="(.B[L!E M,M3=90&2PX!%<5U$\RTH>U$V_'#)#),^%RB8RL4#FD(1DZI1E-(%6.(Z\<"R]/\J'0'>:Z5B+'0< MZV A% E\\1JX\+8$5-H6W=H)?I(= 8=@:KB.@$/4V8,S\%VA,(M))$M7@]1, MD0@C@BN:$QLR6BZ%<-@Z_G^2'0$'@6!G1\ A&ND 3H-4!,N8/7&+()D(=50] M@J<_@2@$'742;!%GW\SSR#L"#H+5.3H"#M%Q!SB_LSQKFRFA>T9ED1#2NL\B MH(80/ ,M>8PV.!9UZS')]Q+2>GL"&6-O:J6(L?Z[UH"==_:MBU' M27(ZOB8"2D8)NTNZ/^>H?N+K),=_\I,W_='\^K^6+[1_7O\8D76((7!G).%'J7J,$S MGH!GA<:Y4F+S70#GY;#SP."1GKK3P=3OT]X?N-H4NWRY:@7%^EI86^#:7+AFZ]EJM9C&RU4-;3[, M?[PP;H5%$[22>R\TI!0HT/8R0S36@I?2&9:UI7B^?>G^B52/>TD/@M,SJ[(# M\#YP,E],+RZOBH)N'U#R%E@RTGI@!:MCXQ)$B8;P%4I)7EEA6B]4/9#$*2Y?_ITN+LG_J2W?:]CW1C&NT6,#*+$!A3!"05P$+S3%D4Z)HC,PFA(\["'T0O)Y?H?T& M)J^1;HKE'V&Q*8P_(2QYX"X7"*N?^8+7*;%=)W$VN2T2Y3&%*9 2TT@#F2* MO5$:6-)1\L(]%ZT'I.X@9]S0X@2]W[4PK43>@0?V=C'_@HO5M_J6MWHV6T]F M_[+),EW7VI1 !K@4!:EH)):"A!"-J#N7@C.9UPGLC5&T!UECHZD1!.;#ZJ-G MB%6&KF9F6BDBW:YFG^>Q^E-C[,(FH>2,P7$A1CP=2],YN35H2ZVD!N9VS*;B M7I?0/A 8TS*H;-Y"?F,K/OQ]B_"897T+EV D1E VLUK=4<=!)H]! M<4EN5 O%W_[H.":_F>*/EE\'CN']]]WKZXH)PYB57$3P5BBZ\^HP"J(4D@K, M862&8'Z61,GK@\HJ!WM(&"J\;:F';F#UAOQKTLSLXYJO#[CX_*8\G\\V>:90 MI! ,!4A=G6%1%S=DG: $(;(5,7+>.@#Y.54]YDZ.!,&] &NFD4XQ]@YG^,]P M41F;Y.+099(6SW7=",8"9,4-8"9&253!-&\N_ E)/88VPZ'K6%UT *WO&;GS MSOL.:VK@]AGB$Z\UDSDPH MMGI'X]5\]7=A56>N)]+%I!C#N5,!B@WDB'!F*(;-#J3(*8:H8FJ^)NA0&L=] M7A\-C:=JJ_<']5I ,)_5BJMY6?_)=E+1R>_K/_O!39_;#^)BF-=W1!,5A9* MR9$OENNN-$P&)$.#.I7 9.O9,6U?W[\_!E<#JTI.*6.4@.A#Q;H KYB&:(V5 MLH2<3>LYMO<2,K:??[2N=UN;8\3+ :QG76P-9<%)HUGQVT@]4C.VO-T/)B0+N "+_&1;3FF2Y82 XE2@BI4 B MUXI>'FNZ+EBHDZ)0H0E*MP[O?B!B;)^Z&4!.$V\'^+@A7'/K6:C#PH3WM=L^ M0%1)@-!6*LY3"*9U4!C0JVV&A^/$V:QH>2#O]*HG?EY>7:XN%[A]LMGV M"RS_)#=NL?F;)_NKAW^JJ0=[(J<#^;0.A7 5B]PD B0GA\27 FB5E\H%0F?K M),D0%:7?NUROR6Y.+Z:K;U>RW20<$717KCX!X;%A!<7-5H-S+A0UZI1 M;,EUAFRDY-DPDWE[JW0LM7UYQP>@9I^TY *Z^+^VX/3%Y?X!QWM#__$BZ_X M^WRV^K2<.)]D<4-6^IRK>.FX[Y"1UB(&QYHLACJ6U+W=\:%B>JJQ'!,IZ MX#[\)A0*BX08$JH1"U>"U?=+C(!+[U?< XFLJ_PXESH.U@]CPQ_K^:7BTDB MYR+RK( YP>A\*3I?N3"PT@9;;-1.MUY[?RB->Z%//S'T':R*[F3NP_P7 M?!NF^5FAKUVS)XUV1FH%!@.QIT.NO1(0^2.R9Y/(F-&Q.$CT3U!!:_!")DA2>"M#'68T5CBQ%]9LQU@;5!D=#!S8 MR=>?L[Q].\?\\N]$?W7;CYYL*;;6JAFI>)WL44B2G"QT(?D&;Y(?(*MT!*%[ MP<\]=O@U4=/A6/0;+,[P8UV:]&&@TIMK+B>N))V5+W24# DQUC$,=4=?1&3* M,B5]\\>G!TC9"U;^$<"JA:@[,&(/L/'\E ,J>! M@A/&@_#MO)O./:_E]?1R9UY'8.^CT[XR"^D=[F] M?B/]M^,%_PZ_XNP2G^6\GOH:+GZ;K;=-K+YF M:-6F?^6OZ>K3\\OE:OX9%S>KXU(11I4 3%I-WH..$#6=4R9Y9-EDDV)J;"+W M).WT147KSUS7M]_:5/(F7DP_AJM%H75CR8?I9_HK= G\_;C&Q M'(&)%JHHE0)H;APHJQ,XCAI,,G78!DK)6H]TW(NP1VZ_CT3-,> ]2(6/!9?; M+K_P$2>)).9/"UT]XXS7,V/ G>>C_,@20^J=8.4'MO MN+)KR#DW%@(YZ$!N>H)82["E"RA#"3FPUL4#.PD:M]ZN8_@=I[+>\7.6"78"\U& T._ MD3U>GHY[H-SO!Y_O_6R(A\?KM^WW^'']WAEF^>6,=/9E,5WB7].,M^AH_3S9 M[N.-E#"0-!H]=6Z)>H=?YHM*Y/7;DC36.,&03(BRH)S2X# BL!RMQ<293*WS MN0_1<@[6%V#7X+F@X &9B8)QB6&OT_:3@?#W?WUD% VM M\'E3Z7>'G^T2'5=D'487P"6.Y$84H+,,3I^ MJ)+]!(%W@)OWI(+U.N]?+I?3&2Z75^RL3U6D>"2(%$!(2V*)=3@ BQ:\DC*P MK+/US:/A702-^Y9^KJNKO6YZ -HVN-F>L?!V,8_X/"SRE3"V]C0[C%9P#8(XI^ "-7C- M$J06'AC ^#]MV6]FK]G0"&C(-)F2)+7 MAC.1:Z.J ! V>%_O;Y^ M%[9<)\4I)"SE8P4]MIN]IOOWL/@XO:JWGT2F#/ID0+% $.?2@G-UEI#6 ML1A-PBG[A5@__NPN_*;V(&@AR2?RN+^UJ=>OU]NBT'5_'G%(_^NO./^X"%\^ M3=.S!89SO?D?2]<8I0!-9#AX913/&0W=?!07)% RR+JZ'2$9*:T+-G#7.A@; MJD+@Q709/GYZ:"EC6$] XLBZ:+ M.V^ ,64EW0U9X5[#47[R,'O?M\>%2CNMSAN*N ^(+)_-\I:#J[?'*(R+CI,< M"B.W(_*:Y7?D*E!,04Y'H=.T5^? ?CCYD8#QGF-/U^F/ #E1P&,[Y:_FE[.\ M^/9Z_G&:MAR1=WGY99N=BRPC"U)"%#6^X-%"E"0F'THRR3M>I-S+0=_]G=$A M<:H6Y\.(=&QTO'CW[/=[6 B*1:E4!%U2I(@C>F+!M8A2U"EE7TEE1"R\3Y!B*$ZG$<+<2["'C M[YYX M\!/C=&\/!(8V@NP@Z7O5F/AA$6;+4AM/?IW/\_<.EA5"%"TDY. 3&Z=A\A><>9(V;)&X>L@RED/XQMCV+F43&4YU:8.@N5:&NX$!.0DL> MBY$\>-6Z8' OPL8-C9O#X3"X':&;'@"W98:^_&SU=CZ=K7Z;$:.X-=$B&(LH M/:!>M^/-*YC#JSXF.=:-%ZHMB#Q(Q[/9X54R=H8>0(>8B \5* C10[;RWE M$:&R7OFT^#;Y\->DNH"V9BI9EG6\#,G LYSK2#J,TC'IU:Y^B26F__UQ_O7? MMC]Q XWM;VZ0EFI(:,4"T1+;F_0"DW: ME9D[3.?_\6Z\%.XP.C]0@AWH_/=_3'1P8?WFY#VR6DO,P=E CHTNV2$302EL MIO/?_S'.2,OA='Z@!#O0^;^_I9#6E!"%!WX\QW'$[G!TIPY!#OY>5B_N4ZF<&TX$I0L!L,@C+$@;M7)])/HKK;WQQG,7-[[9\DRP[._?M?)REQ)((%.!5%K0P7$*- X#$HGY/- M7NRJ]#KLW+__=9R=R,.=^P,E./;K_#MP>[V 90_1UM06O2:Q@ M)'BA->2HHPQUM[QH7D=_\DR5P0;R#_8$WTX)/2#JNP;P3(+@TFAPL6[A#:* M0TM>D<[>BF"#;;YS[-$,3SE(L3N'IQPBY;$OG0?G?RBMI+$*!/KU,F4RR$&3 M03;*<8RULMKO=>\\@N$I!^EKK^$I!PAO; #<.P7$1YV+BG7A5\P4+C$.ONYI MM]9YS@IZF\)>VN]]>,K1JC]9;!W<#0_:MZ[(>W:"+MCAI,.3B$*4-W[>^_0_U'S$L\?_\K_\/4$L#!!0 ( M ,Z J591+O/]>0@ (4K 3 9F]R;7$Q,C-E>&@S,3 Q+FAT;>U:6U,C MMQ)^/[]",74VNU6^VV P+%5>>ZAU%0L$S-GD*26/-+8*S6@RTM@XOS[=THPO MV(#)V6Q," _&,VJUNJ6ONS_).OFA=]D=_'+ED;$));FZ_73>[Y)"J5+YVNA6 M*KU!CWP>?#DGS7*U1@8)C;0P0D545BK>18$4QL;$[4IE.IV6IXVR2D:5P74% M534K4BG-R\RPPND)OH%/3MGI?TY^*)5(3_EIR"-#_(13PQE)M8A&Y"OC^HZ4 M2IE45\6S1(S&AM2K]0;YJI([,:&NW0@C^6FNYZ3BGD\J=I"3H6*STQ,F)D2P MCP7!_6&KU3BL'?C[O,D.J\.ZWVI5#X(C/FS1HX/ZKS4PL@+BKH\V,\D_%D(1 ME<8U.B4HRB MMG6IX+KFS;Z2*FGO5>W?,;:4 AH*.6O_.! AU^2"3\FU"FGT8U'#,I0T3T3@ M!+7XG8--8)Y]G#J36Z!'BHCG+M3J:+1W/Q9#84BC!BNZ:O+SQF[PM _ZW<[@_[E!;D\(]W/?>^,>#][W=M!_W\>O()6[WKG';FZO;ZY M[5P,R."2U/;);?FFW"V3&Z^+CKW;JQU4CUOU9JU(.C<[[TNG=WDU\'IDV:<5 M3QK5.J[5X+-';CK7GSH7WDWI\N=S[Q?2Z0ZPI5ZMUM?+SQ(A@1LR8FG=[^X?'.V*N6YA'H153QB!IER0/ MH,<(S)>A M*+0$FH6,;2K,&!S4,?>M@:@W!M,4 SHSB*!9".L:4C,],:%\JG4(_3-2)D@YA<:)\SN"U)N\! M4(P#0AUJO'O@=-&(DP[DP.L4:%U6PANT5-M_SS^X1U12VV?NU0>K4R CCQS& M<22"*7,)^@Z*:-7+A@S6APQ@2/3]86B !%*3U\H[&P<[%#-T=V(&MO MU[#W ]#8DOX\MHO(-GR:ZNV[8-D?#%(^L'MSG M+++^$XSNVED6H M*=7(06R>T):PV$RO- >##%06[!0#%Q=^*BD6*'#+&K'@,M##,:-E0@??AAP% MH89 ?\Y>4#,0MR^O$#N%]N'NH#VK$*M@WSJYKF%^^[2\-?0A7":"(:*I5A'% M2D0U1 -R;X0Y35@..0@"08=""C-#+K-I6 Q BTX+/!<[*Z)+W-T6O/O,H3A- M8@"^MMS+]U7"K &6Q8]X!)1* OZAA<<86"@".Q2'<0A $=M*\Y90[N\.RO.< M[DVH3&WB0PSP( #2+":P>GH#^9WSI"T2N7O9Q"[8I M-70NS7%+$3R_>R3#?+-B Y6[F0![+"AQ@#<#3+8[P,S3KUOR'#H;3KCPQ",C MKIG(!J"^(/LBD5"^GR:(E*6JO4%KJ+2!]W@(#KJT#XHR\YR:,=5S3H(IT&*: M,UL;+/RRO#TC4MQQF1VU/) O_M\^E5\A!]^I?>M^V9F^_OGG]H_VW);ER"XN M$A#FPV50+7(19K(7D(\UKCLWC0+?-2K1\WIO7X#*,!3&H3:>5+X]TK![>[8.4((@ M@<16!&QPFXL!7?97A@R&15>@1311Q5#,.K=.Q;M_,LQ5)=8TEE;1';*;*=C M@/!(1*6A,D:%;;Q[,L$2!;PE&\2.YYJS:RF'S7+UH(DW4PR T[!\X.S22ME> M6JD8MM[6@M30>+2U6JX]VO:4UOI!N54_^.9J#^KEH^KC79?55NQ$N,F Z=8Q MC3X6&H4'<=JNQ_>DED>IFUW$Z,,9=Y/]_2/7WC;J032L5N3,^5?NUQ\'K'^;9N[TFI!;[2;[TNY\[WKF]]G'NW=Q<7J\XNR5.J^AS8:L)VD(TRT=& MQ6V0)?8XE>33\FOGZW$H&J_T=-<\A;'[EQK'([-[-HXG\.]IM-;:%@4GT MM_"D.Q8\(-X]]U,\;B&7;J?R"CUY?^6.$Z&TKKEC:5LOV[9\>'"M[H&JO MRI[^ 5!+ P04 " #.@*E6)\Z@+FP( "(*@ $P &9OVVELO.T!1*@ MB3))< !0LN;KMQL@=;&D1)[)9.7,YH$1B0;0#1RVG#Q]' U*IU>N?VX-Z_6)\0:[&OWPD':_1)&-%4RV,D"F-Z_7A=854(F.R M7KT^G4Z]:=N3ZJ$^OJMC4YUZ+*7F'C.L\-20 M0'%J.".Y%ND#^3,EVQV?L;$A CVOB+:/F4G?K=Q3)LG';_+C\/F<=#RC[H![P;!\7-S@8PNEQ5M@:Z0ZWO'>-@>#<>78X&_?'HYIK<7)+!U6AX22Y'U_WK MP:C_$3Y!Z?!N[P.Y_71W_ZE_/2;C&]+LDD_>O3?PR/UP@(&].6@>-DZ/6IUF M=>\#Z=^3_L7-[7AX099C6HFDW6CA7(VOAN2^?_>A?SV\K]W\^^/P5](?C+&D MU=@-LY$R0%BOAE_^EX75Q&$8D MHA-.%)\(/H4L9R).?LNI@I48S^!S)I4A,B674B5NV)N-VK^(#.V72QH8J:JN M8)0&'J#D9!M*ODS-^SMIK;V;M ]4PU3!K"0S\IC*:A2&'"$3N+":X"%L$G-PW&H>G>H"785^0>J082C@ MU4[AB%#%+5A@\H4?O:S+<+W+$+K$V)_#'2Q0%FS6?%MANM,6;*56 M^W"/P$WW!]RP]3W"<;C@&O8+,+LV1WX=A%5,WP'-]>Y5,(_Z'&!4].0RL\P5 M- 4-Q':$B=8\=2V@YN!!>4NT[;B,;6X+%+S E'5@M*Q4 #]@B]:QH+9@Q6= M^UHP097 (03$#:1I-A2KC&IVP6MK0*P-"LU!X<,T#I6RD"PBB"/*68'",LZ ML1 '4,-)C66%!+]\CH9 X%"?LV]$V'N%:7]_,%T0]BJD=^:Z-63OSI([ QP6 MQ40PQ"W5,J68&*@&S*-D13!3Q4I@ =0%]44LS SEPJ9N<9E9#%IXN16R8KHD M>6W^>2H"RG*5 ;RUE3=!(!6S#ECQ^\!34"TQH!Q*>(;+!TU V#LDPS(3F27^ M35C>BM=7SMS!_J"\9.[AA,:YI3?$ ]#T*5B K.G-^C+N6S9@:[=ZV;):5$- M%8%JM1.VOLS-=@]V22AT;LU1M8=?WW01O]P/V(7*W4B /Q:4V,'?!IAL?X!9 MTJ^;\A(Z&PY[\*"@T)&%R0:@OH!]42[((,@5(F4I-V]H-9':P'<\"(:V= - M%>ZY9B*JY\H#*=!BFC.;&RS\"MZ>D5@\\K@XH7AF7_W3,7G_/P;]?Z M^O./;>?L$28KD5U=$!#RX3*H%ER$3/8"\;&F:.>N45"U1BH]S_?V S29),(8 MSK_ ]KX$18'E3(!_MI&W@&0@5XWD#?^CMB[7"_\M%^"^71MY&MB3BW>O]51^ MKUAZ#S=^_1CT(>A5 3#''3GN\@/! 9>%!)AOP*:@\26##]SNWP129 M9^-AX-]/-.S?GJT/DB!40&Q5P :W7 SHLH?S!0RK+D&+="+C"<07;*8SGHBM4-F*YT"A!]$6O.E,3+IX>V+":8HT"U%)[8_5UQ(W# M#M[-, !.P\J.BVL;GKVV43=LO>P(J*&]M;3A-;>6?:G5UJ%WU#K\YLT>MKR3 MQO:JR\W6[4"XP8#AUAE-WU?:E6?KM-?*GDBS7*5N=!&CST?<#?;W7[GVOLT% MK(;5C%P$_\KC^H7.R$G57G'ZP2)[<] !:K%/W[NP0@E@+QVJT17E_<>!8&+Q[=K-POFKJ M-D^^\#3]V87&3+H;G3WWYX4)7[OBN%@S=E@;BRK4AX63F_4J7[D563S='4U[ M6_3\OU!+ P04 " #.@*E6YL"I<6L% #+&@ $P &9O!,>G?W2>& ;J\6@Q)YE$D2!8DA@M"IK-T-N8 M%!^08:RQNCQ?"3I+):K9-1>]Y>(#O<(E7%+)R.F&3\D-:T[]M\."&D!>DE3R!4C+RMS MFADI4?M[]9K9/,YE>TECF7J.;?]9T:BGG81G$O830%_^+=GL,)/D6AJ8T5GF M:94J)>D&'''&A7=DZU];08P$SRE;><]".B<%&I(E&O,YSIY5"W"#41!!DQ*Q MH)\(R 3BZ>6R%+D)?!C-R$8%IZ:$#JY3.J42N37PZ+;(WQ;V"WI^1Z((_$C$ M3[)+-QB'@_Z@ZX>#T1"-^@]?X+-!T$?!NZ![&0[^"D!DD#X8(W_80R6L/QCZ MP^[ /]_ 'KQ.%Y?CR:4_#%$X0LX)NC0G9M=$DZ"KG/+TR&G8;<<]MJL/7A%_ M@OS>Z"(,>NBV3EN:M.P&. :%9P&:^.-7_C"8&*-WY\%[Y'=#!:G9=FU'TZ_E MU(_6M?Y%70<9BGB6D4@U!K2D,D4R)>C- @MP %NA,H3A)18$> L@QXIY%25<:.8YB,IC1+(86H>?"\K6 M;*NZ4P"# B64 ?!&G@F)%@*:%RB.LQ@%UU&*LQF!'C.?TZ+0[ F.4B65PE\ M;U% ) $3GB0T@M5>B1% )4T4\WPAB@4&-TA^.X9+\]R*824BCGFNFM]MFBU, M%2-K>2983'%&"F-TS<@*^9%4$!4C58!C657$*2V0($6N>%P1]"'C2S#"C#P] M.CYI/Y!X*37;F\(YCF,8!0Q&$NFY#6"IDYJ".S+I&_ M>WO++(YM'BLSA! 7'V_R3)1YEBP8+"(^SYF*QYL$$.3C@@JBIB4=R'="\CE^ M4?Z%%'..G\>;57(W>VXR9QV"3LNME]$\U_D(L=9JJQP[W,4'30H/-S!J#S(P M: ;5"T,S\5ZU>XBDC&X0I M%U#!#7 #PWE!O,V?=DR+G.&51S-M3$W4GF,Q@W%_RJ7DJI$>8K3?1 M^Y7@]2G@! Y%C;HZ"$@(6QEO-EZ?$4Q]1K!DO MKFG;3W0NU369FMI0Y3& ',7.5MS*G0SV:ODU]=BY?& MOO^['L3]=M=<*__(]7J-5ZA53DF_F&9/C^K-=J&?Z/6@>^8'YZ@'D]=Y M,)F,QEO*'ABGMM*YW/ M),44P2/%C['PE26\?W-:^25*^(XZNH1_AOM1Q!>95!'-D4$L! A0#% M @ SH"I5GBF8BN'( T#P! !4 ( !7-D! &9O&UL4$L! A0#% @ SH"I5F7'ZO'.@ ?+P% !4 M ( !AQ<# &9O0@ (4K 3 " 8B8 P!F;W)M<3$R,V5X M:#,Q,#$N:'1M4$L! A0#% @ SH"I5B?.H"YL" B"H !, M ( !,J$# &9O&@S,C Q :+FAT;5!+!08 "0 ) $T" !KKP, ! end