0001628280-22-003338.txt : 20220222 0001628280-22-003338.hdr.sgml : 20220222 20220222161505 ACCESSION NUMBER: 0001628280-22-003338 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 92 CONFORMED PERIOD OF REPORT: 20211231 FILED AS OF DATE: 20220222 DATE AS OF CHANGE: 20220222 FILER: COMPANY DATA: COMPANY CONFORMED NAME: CALIX, INC CENTRAL INDEX KEY: 0001406666 STANDARD INDUSTRIAL CLASSIFICATION: COMMUNICATION SERVICES, NEC [4899] IRS NUMBER: 680438710 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 001-34674 FILM NUMBER: 22658225 BUSINESS ADDRESS: STREET 1: 2777 ORCHARD PARKWAY CITY: SAN JOSE STATE: CA ZIP: 95134 BUSINESS PHONE: 408-514-3000 MAIL ADDRESS: STREET 1: 2777 ORCHARD PARKWAY CITY: SAN JOSE STATE: CA ZIP: 95134 FORMER COMPANY: FORMER CONFORMED NAME: CALIX NETWORKS INC DATE OF NAME CHANGE: 20070713 10-K 1 calx-20211231.htm 10-K calx-20211231
0001406666false2021FYP1YP3YP5YP3Yhttp://fasb.org/us-gaap/2021-01-31#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2021-01-31#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2021-01-31#AccruedLiabilitiesCurrent100014066662021-01-012021-12-3100014066662021-07-02iso4217:USD00014066662022-02-09xbrli:shares00014066662021-12-3100014066662020-12-31iso4217:USDxbrli:shares0001406666calx:SystemsProductMember2021-01-012021-12-310001406666calx:SystemsProductMember2020-01-012020-12-310001406666calx:SystemsProductMember2019-01-012019-12-310001406666us-gaap:TechnologyServiceMember2021-01-012021-12-310001406666us-gaap:TechnologyServiceMember2020-01-012020-12-310001406666us-gaap:TechnologyServiceMember2019-01-012019-12-3100014066662020-01-012020-12-3100014066662019-01-012019-12-310001406666us-gaap:CommonStockMember2018-12-310001406666us-gaap:AdditionalPaidInCapitalMember2018-12-310001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2018-12-310001406666us-gaap:RetainedEarningsMember2018-12-310001406666us-gaap:TreasuryStockMember2018-12-3100014066662018-12-310001406666us-gaap:AdditionalPaidInCapitalMember2019-01-012019-12-310001406666us-gaap:CommonStockMember2019-01-012019-12-310001406666us-gaap:RetainedEarningsMember2019-01-012019-12-310001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-01-012019-12-310001406666us-gaap:CommonStockMember2019-12-310001406666us-gaap:AdditionalPaidInCapitalMember2019-12-310001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-12-310001406666us-gaap:RetainedEarningsMember2019-12-310001406666us-gaap:TreasuryStockMember2019-12-3100014066662019-12-310001406666us-gaap:AdditionalPaidInCapitalMember2020-01-012020-12-310001406666us-gaap:CommonStockMember2020-01-012020-12-310001406666us-gaap:TreasuryStockMember2020-01-012020-12-310001406666us-gaap:RetainedEarningsMember2020-01-012020-12-310001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-01-012020-12-310001406666us-gaap:CommonStockMember2020-12-310001406666us-gaap:AdditionalPaidInCapitalMember2020-12-310001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-12-310001406666us-gaap:RetainedEarningsMember2020-12-310001406666us-gaap:TreasuryStockMember2020-12-310001406666us-gaap:AdditionalPaidInCapitalMember2021-01-012021-12-310001406666us-gaap:CommonStockMember2021-01-012021-12-310001406666us-gaap:RetainedEarningsMember2021-01-012021-12-310001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-01-012021-12-310001406666us-gaap:CommonStockMember2021-12-310001406666us-gaap:AdditionalPaidInCapitalMember2021-12-310001406666us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310001406666us-gaap:RetainedEarningsMember2021-12-310001406666us-gaap:TreasuryStockMember2021-12-310001406666srt:MinimumMember2021-01-012021-12-310001406666srt:MaximumMember2021-01-012021-12-310001406666srt:SubsidiariesMembercalx:BrazilChinaAndUnitedKingdomMember2021-12-310001406666us-gaap:ComputerEquipmentMember2021-01-012021-12-310001406666us-gaap:ComputerSoftwareIntangibleAssetMembersrt:MinimumMember2021-01-012021-12-310001406666us-gaap:ComputerSoftwareIntangibleAssetMembersrt:MaximumMember2021-01-012021-12-310001406666us-gaap:EquipmentMember2021-01-012021-12-310001406666us-gaap:FurnitureAndFixturesMember2021-01-012021-12-310001406666us-gaap:CashMember2021-12-310001406666us-gaap:CashMember2020-12-310001406666us-gaap:CommercialPaperMember2021-12-310001406666us-gaap:CommercialPaperMember2020-12-310001406666us-gaap:MoneyMarketFundsMember2021-12-310001406666us-gaap:MoneyMarketFundsMember2020-12-310001406666us-gaap:CorporateDebtSecuritiesMember2021-12-310001406666us-gaap:CorporateDebtSecuritiesMember2020-12-310001406666us-gaap:USGovernmentDebtSecuritiesMember2021-12-310001406666us-gaap:USGovernmentDebtSecuritiesMember2020-12-310001406666us-gaap:CommercialPaperMember2021-12-310001406666us-gaap:CommercialPaperMember2020-12-310001406666us-gaap:USGovernmentDebtSecuritiesMember2021-12-310001406666us-gaap:USGovernmentDebtSecuritiesMember2020-12-310001406666us-gaap:USGovernmentAgenciesDebtSecuritiesMember2021-12-310001406666us-gaap:USGovernmentAgenciesDebtSecuritiesMember2020-12-310001406666us-gaap:CorporateDebtSecuritiesMember2021-12-310001406666us-gaap:CorporateDebtSecuritiesMember2020-12-310001406666us-gaap:MunicipalNotesMember2021-12-310001406666us-gaap:MunicipalNotesMember2020-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMember2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentDebtSecuritiesMember2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel1Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CommercialPaperMemberus-gaap:FairValueInputsLevel2Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CommercialPaperMember2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMemberus-gaap:FairValueInputsLevel2Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:CorporateDebtSecuritiesMember2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MunicipalNotesMemberus-gaap:FairValueInputsLevel1Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MunicipalNotesMemberus-gaap:FairValueInputsLevel2Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MunicipalNotesMember2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel2Member2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMember2021-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Member2020-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:FairValueInputsLevel1Member2020-12-310001406666us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Member2020-12-310001406666us-gaap:AllowanceForCreditLossMember2020-12-310001406666us-gaap:AllowanceForCreditLossMember2021-01-012021-12-310001406666us-gaap:AllowanceForCreditLossMember2021-12-310001406666calx:SECSchedule1209ReserveProductReturnsMember2020-12-310001406666calx:SECSchedule1209ReserveProductReturnsMember2021-01-012021-12-310001406666calx:SECSchedule1209ReserveProductReturnsMember2021-12-310001406666us-gaap:AllowanceForCreditLossMember2019-12-310001406666us-gaap:AllowanceForCreditLossMember2020-01-012020-12-310001406666calx:SECSchedule1209ReserveProductReturnsMember2019-12-310001406666calx:SECSchedule1209ReserveProductReturnsMember2020-01-012020-12-310001406666us-gaap:AllowanceForCreditLossMember2018-12-310001406666us-gaap:AllowanceForCreditLossMember2019-01-012019-12-310001406666calx:SECSchedule1209ReserveProductReturnsMember2018-12-310001406666calx:SECSchedule1209ReserveProductReturnsMember2019-01-012019-12-310001406666us-gaap:EquipmentMember2021-12-310001406666us-gaap:EquipmentMember2020-12-310001406666us-gaap:ComputerEquipmentMember2021-12-310001406666us-gaap:ComputerEquipmentMember2020-12-310001406666calx:SoftwareMember2021-12-310001406666calx:SoftwareMember2020-12-310001406666us-gaap:FurnitureAndFixturesMember2021-12-310001406666us-gaap:FurnitureAndFixturesMember2020-12-310001406666us-gaap:LeaseholdImprovementsMember2021-12-310001406666us-gaap:LeaseholdImprovementsMember2020-12-310001406666us-gaap:ComputerSoftwareIntangibleAssetMember2018-03-310001406666us-gaap:ComputerSoftwareIntangibleAssetMember2019-09-280001406666us-gaap:ComputerSoftwareIntangibleAssetMember2019-06-302019-09-280001406666us-gaap:ComputerSoftwareIntangibleAssetMember2021-12-310001406666us-gaap:ComputerSoftwareIntangibleAssetMember2020-12-310001406666calx:CloudImplementationCostsMember2020-01-310001406666calx:CloudImplementationCostsMember2020-01-012020-12-310001406666calx:CloudImplementationCostsMember2021-01-012021-12-310001406666calx:AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember2021-01-012021-12-310001406666calx:SanJoseCaliforniaMember2021-10-032021-12-310001406666us-gaap:FacilityClosingMember2020-01-012020-12-310001406666us-gaap:EmployeeSeveranceMember2020-01-012020-12-310001406666us-gaap:FacilityClosingMember2020-12-310001406666us-gaap:EmployeeSeveranceMember2020-12-310001406666us-gaap:FacilityClosingMember2021-01-012021-12-310001406666us-gaap:EmployeeSeveranceMember2021-01-012021-12-310001406666us-gaap:FacilityClosingMember2021-12-310001406666us-gaap:EmployeeSeveranceMember2021-12-310001406666us-gaap:RevolvingCreditFacilityMembercalx:BankOfAmericaMember2021-12-310001406666calx:ResearchAndDevelopmentEquipmentMember2018-12-310001406666calx:ResearchAndDevelopmentEquipmentMember2021-10-032021-12-310001406666calx:ResearchAndDevelopmentEquipmentMember2021-12-31xbrli:pure0001406666calx:ConsultingServicesMember2019-12-310001406666calx:ConsultingServicesMember2018-12-310001406666calx:ConsultingServicesMember2020-09-272020-12-310001406666calx:ConsultingServicesMember2020-12-310001406666calx:SanJoseCaliforniaMember2021-12-310001406666calx:BangaloreIndiaMember2021-10-310001406666calx:BangaloreIndiaMember2021-12-3100014066662021-11-300001406666calx:PublicStockOfferingMember2020-08-012020-08-310001406666calx:PublicStockOfferingMember2020-08-310001406666us-gaap:OverAllotmentOptionMember2020-08-012020-08-310001406666us-gaap:CommonStockMember2020-08-012020-08-3100014066662020-08-012020-08-310001406666us-gaap:RetainedEarningsMember2020-08-012020-08-310001406666calx:A2019EquityIncentiveAwardPlanMember2019-05-310001406666calx:A2019EquityIncentiveAwardPlanMember2021-12-310001406666calx:A2019EquityIncentiveAwardPlanMember2021-01-012021-12-310001406666us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedCompensationAwardTrancheOneMembercalx:A2019EquityIncentiveAwardPlanMember2019-01-012019-12-310001406666us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMembercalx:A2019EquityIncentiveAwardPlanMember2019-01-012019-12-310001406666calx:PerformanceBasedStockOptionsMembersrt:ExecutiveOfficerMember2020-02-012020-02-290001406666calx:PerformanceBasedStockOptionsMembersrt:ExecutiveOfficerMember2020-02-290001406666calx:A2020PerformanceTargetsMembercalx:PerformanceBasedStockOptionsMembersrt:ExecutiveOfficerMember2020-02-012020-02-290001406666calx:A2020PerformanceTargetsMembercalx:PerformanceBasedStockOptionsMembersrt:ExecutiveOfficerMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2021-02-012021-02-200001406666calx:A2020PerformanceTargetsMembercalx:PerformanceBasedStockOptionsMembersrt:ExecutiveOfficerMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2021-02-012021-02-200001406666calx:A2020PerformanceTargetsMembercalx:PerformanceBasedStockOptionsMembersrt:ExecutiveOfficerMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2021-01-012021-12-310001406666calx:A2020PerformanceTargetsMembercalx:PerformanceBasedStockOptionsMembersrt:ExecutiveOfficerMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2020-01-012020-12-310001406666calx:A2021PerformanceTargetsMembercalx:PerformanceBasedStockOptionsMembersrt:ExecutiveOfficerMember2021-02-012021-02-280001406666calx:A2021PerformanceTargetsMembercalx:PerformanceBasedStockOptionsMembersrt:ExecutiveOfficerMemberus-gaap:SubsequentEventMember2022-02-160001406666calx:A2021PerformanceTargetsMembercalx:PerformanceBasedStockOptionsMembersrt:ExecutiveOfficerMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2021-02-012021-02-280001406666calx:A2021PerformanceTargetsMembercalx:PerformanceBasedStockOptionsMembersrt:ExecutiveOfficerMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2021-02-012021-02-280001406666calx:A2021PerformanceTargetsMembercalx:PerformanceBasedStockOptionsMembersrt:ExecutiveOfficerMember2021-01-012021-12-310001406666us-gaap:EmployeeStockMembercalx:EmployeeStockPurchasePlanMember2021-12-310001406666us-gaap:EmployeeStockMembercalx:EmployeeStockPurchasePlanMember2021-01-012021-12-31calx:period0001406666us-gaap:EmployeeStockMembercalx:EmployeeStockPurchasePlanMember2019-05-012019-05-310001406666us-gaap:EmployeeStockMembercalx:EmployeeStockPurchasePlanMember2019-04-300001406666us-gaap:EmployeeStockMembercalx:EmployeeStockPurchasePlanMember2019-05-310001406666us-gaap:EmployeeStockMembercalx:EmployeeStockPurchasePlanMember2021-10-032021-12-310001406666calx:A2017NonqualifiedEmployeeStockPurchasePlanMember2021-12-310001406666calx:A2017NonqualifiedEmployeeStockPurchasePlanMember2021-01-012021-12-310001406666calx:A2017NonqualifiedEmployeeStockPurchasePlanMember2020-05-012020-05-310001406666calx:A2017NonqualifiedEmployeeStockPurchasePlanMember2020-05-310001406666calx:CostOfRevenueProductsMember2021-01-012021-12-310001406666calx:CostOfRevenueProductsMember2020-01-012020-12-310001406666calx:CostOfRevenueProductsMember2019-01-012019-12-310001406666calx:CostOfRevenueServicesMember2021-01-012021-12-310001406666calx:CostOfRevenueServicesMember2020-01-012020-12-310001406666calx:CostOfRevenueServicesMember2019-01-012019-12-310001406666us-gaap:SellingAndMarketingExpenseMember2021-01-012021-12-310001406666us-gaap:SellingAndMarketingExpenseMember2020-01-012020-12-310001406666us-gaap:SellingAndMarketingExpenseMember2019-01-012019-12-310001406666us-gaap:ResearchAndDevelopmentExpenseMember2021-01-012021-12-310001406666us-gaap:ResearchAndDevelopmentExpenseMember2020-01-012020-12-310001406666us-gaap:ResearchAndDevelopmentExpenseMember2019-01-012019-12-310001406666us-gaap:GeneralAndAdministrativeExpenseMember2021-01-012021-12-310001406666us-gaap:GeneralAndAdministrativeExpenseMember2020-01-012020-12-310001406666us-gaap:GeneralAndAdministrativeExpenseMember2019-01-012019-12-310001406666us-gaap:RestrictedStockUnitsRSUMember2021-01-012021-12-310001406666us-gaap:RestrictedStockUnitsRSUMember2020-01-012020-12-310001406666us-gaap:RestrictedStockUnitsRSUMember2019-01-012019-12-310001406666us-gaap:EmployeeStockMember2021-01-012021-12-310001406666us-gaap:EmployeeStockMember2020-01-012020-12-310001406666us-gaap:EmployeeStockMember2019-01-012019-12-310001406666us-gaap:EmployeeStockMembercalx:A2017NonqualifiedEmployeeStockPurchasePlanMember2021-01-012021-12-310001406666us-gaap:EmployeeStockMembercalx:A2017NonqualifiedEmployeeStockPurchasePlanMember2020-01-012020-12-310001406666us-gaap:EmployeeStockMembercalx:A2017NonqualifiedEmployeeStockPurchasePlanMember2019-01-012019-12-310001406666us-gaap:EmployeeStockOptionMember2021-01-012021-12-310001406666us-gaap:EmployeeStockOptionMember2020-01-012020-12-310001406666us-gaap:EmployeeStockOptionMember2019-01-012019-12-310001406666us-gaap:EmployeeStockOptionMember2021-12-310001406666us-gaap:EmployeeStockMember2021-12-310001406666calx:A2019PlanMember2021-12-310001406666us-gaap:EmployeeStockMembercalx:A2017NonqualifiedEmployeeStockPurchasePlanMember2021-12-310001406666us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2019-12-310001406666us-gaap:AccumulatedTranslationAdjustmentMember2019-12-310001406666us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2020-01-012020-12-310001406666us-gaap:AccumulatedTranslationAdjustmentMember2020-01-012020-12-310001406666us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2020-12-310001406666us-gaap:AccumulatedTranslationAdjustmentMember2020-12-310001406666us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2021-01-012021-12-310001406666us-gaap:AccumulatedTranslationAdjustmentMember2021-01-012021-12-310001406666us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2021-12-310001406666us-gaap:AccumulatedTranslationAdjustmentMember2021-12-310001406666us-gaap:DomesticCountryMember2021-12-310001406666us-gaap:StateAndLocalJurisdictionMember2021-12-310001406666calx:CaliforniaStateMember2021-12-310001406666calx:OtherStateMember2021-12-310001406666country:US2021-01-012021-12-310001406666country:US2020-01-012020-12-310001406666country:US2019-01-012019-12-310001406666srt:EuropeMember2021-01-012021-12-310001406666srt:EuropeMember2020-01-012020-12-310001406666srt:EuropeMember2019-01-012019-12-310001406666calx:AmericasExUSMember2021-01-012021-12-310001406666calx:AmericasExUSMember2020-01-012020-12-310001406666calx:AmericasExUSMember2019-01-012019-12-310001406666calx:MiddleEastAndAfricaMember2021-01-012021-12-310001406666calx:MiddleEastAndAfricaMember2020-01-012020-12-310001406666calx:MiddleEastAndAfricaMember2019-01-012019-12-310001406666srt:AsiaPacificMember2021-01-012021-12-310001406666srt:AsiaPacificMember2020-01-012020-12-310001406666srt:AsiaPacificMember2019-01-012019-12-310001406666country:US2021-12-310001406666country:US2020-12-310001406666country:CN2021-12-310001406666country:CN2020-12-310001406666country:IN2021-12-310001406666country:IN2020-12-310001406666calx:ProductAndServicesMember2021-12-310001406666calx:ProductAndServicesMember2020-12-310001406666calx:ExtendedWarrantyMember2021-12-310001406666calx:ExtendedWarrantyMember2020-12-3100014066662021-10-032021-12-3100014066662022-01-012021-12-310001406666us-gaap:CustomerConcentrationRiskMemberus-gaap:RevenueFromContractWithCustomerMembercalx:LumenTechnologiesIncMember2020-01-012020-12-310001406666us-gaap:CustomerConcentrationRiskMemberus-gaap:RevenueFromContractWithCustomerMembercalx:LumenTechnologiesIncMember2019-01-012019-12-310001406666us-gaap:CustomerConcentrationRiskMembercalx:OneCustomerMemberus-gaap:AccountsReceivableMember2020-01-012020-12-31

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, DC 20549
FORM 10-K
(Mark One)
ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the fiscal year ended December 31, 2021
OR 
TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from             to             
Commission File Number: 001-34674
Calix, Inc.
(Exact Name of Registrant as Specified in Its Charter)
Delaware 68-0438710
(State or Other Jurisdiction of
Incorporation or Organization)
 (I.R.S. Employer
Identification No.)
2777 Orchard Parkway
San Jose, California
(Address of Principal Executive Offices)
95134
(Zip Code)
Registrant’s telephone number, including area code (408514-3000

Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading symbolName of each exchange on which registered
Common Stock, $0.025 par valueCALXThe New York Stock Exchange
Securities registered pursuant to section 12(g) of the Act:
None
(Title of class)
Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.   Yes:  o    No:  x
Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.   Yes:  o    No:  x
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:  x    No:  o
Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    Yes:  x    No:  o
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.
Large Accelerated FilerAccelerated Filer
Non-accelerated filerSmaller Reporting Company
Emerging Growth Company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act). o
Indicate by check mark whether the registrant has filed a report on and attestation to its management’s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    Yes:     No:  x
The aggregate market value of the Common Stock held by non-affiliates of the registrant based upon the closing sale price on the New York Stock Exchange on July 2, 2021, the last business day of the Registrant’s most recently completed second fiscal quarter, was approximately $2,532 million. Shares held by each executive officer, director and by each other person (if any) who owns more than 10% of the outstanding common stock have been excluded in that such persons may be deemed to be affiliates. This determination of affiliate status is not necessarily a conclusive determination for other purposes.
As of February 9, 2022, the number of shares of the registrant’s common stock outstanding was 64,438,795.
DOCUMENTS INCORPORATED BY REFERENCE
Portions of the registrant’s definitive proxy statement for its 2022 annual meeting of stockholders are incorporated by reference in Items 10, 11, 12, 13 and 14 of Part III.





Calix, Inc.
Form 10-K
TABLE OF CONTENTS
PART I
Item 1.
Item 1A.
Item 1B.
Item 2.
Item 3.
Item 4.
PART II
Item 5.
Item 6.
Item 7.
Item 7A.
Item 8.
Item 9.
Item 9A.
Item 9B.
Item 9C.
PART III
Item 10.
Item 11.
Item 12.
Item 13.
Item 14.
PART IV
Item 15.
Item 16.

2


SPECIAL NOTE REGARDING FORWARD-LOOKING STATEMENTS
Calix, Inc., together with its subsidiaries, is referred to in this document as “Calix,” “we,” “our” or “us.” This report includes forward-looking statements that involve substantial risks and uncertainties. All statements other than statements of historical facts contained in this report, including statements regarding Calix’s future financial position, business strategy and plans, product projections, anticipated market and industry trends and objectives of management for future operations, are forward-looking statements. In some cases, you can identify forward-looking statements by terminology such as “believe,” “could,” “expect,” “may,” “estimate,” “continue,” “anticipate,” “intend,” “should,” “plan,” “predict,” “will,” “would,” “project,” “potential” or the negative of these terms or other similar expressions. Forward-looking statements include Calix’s expectations concerning the outlook for its business, productivity, plans and goals for future operational improvements and capital investments, operational performance, future market conditions or economic performance and developments in the capital and credit markets and expected future financial performance.
Forward-looking statements involve a number of risks, uncertainties and assumptions, and actual results or events may differ materially from those projected or implied in those statements. Important factors that could cause such differences include:
our ability to predict our revenue and reduce and control costs related to our products or service offerings;
fluctuations in our gross margin;
our ability to manage our relationships with our third-party vendors, including contract manufacturers, or CMs, original design manufacturers, or ODMs, logistics providers, component suppliers and development partners;
our ability to forecast our manufacturing requirements and manage our inventory;
supply chain constraints and cost increases for components, shipping and logistics, which may continue to cause component shortages, longer lead times, supply interruptions and significant cost increases, and which may be exacerbated by the COVID-19 pandemic, our dependence on sole-, single- and limited-source suppliers, some of which are located primarily or solely in China, and other factors, including increasing demand for components for computing needs;
our ability to build and sustain an adequate and secure information technology infrastructure;
the quality of our products, including any undetected hardware and software defects or software bugs;
our ability to ramp sales and achieve market acceptance of our new products and broadband service providers’, or BSPs’, willingness to deploy our new products;
the capital spending patterns of BSPs, and any decrease or delay in capital spending by BSPs due to macro-economic conditions, regulatory uncertainties or other reasons;
the impact of government-sponsored programs on our customers and the impact to our customers of a U.S. government shutdown;
intense competition;
our ability to develop new products or enhancements that support technological advances and meet changing BSP requirements;
the length and unpredictability of our sales cycles and timing of orders;
our lack of long-term, committed-volume purchase contracts with our customers;
our ability to increase our sales to larger BSPs globally;
our exposure to the credit risks of our customers;
the interoperability of our products with BSP networks;
our ability to estimate future warranty obligations due to product failure rates;
our products’ compliance with industry standards;
our ability to expand our international operations;
our ability to protect our intellectual property, or IP, and the cost of doing so;
our ability to obtain necessary third-party technology licenses at reasonable costs;
the regulatory and physical impacts of climate change and other natural events;
the attraction and retention of qualified employees and key management personnel; and
our ability to maintain proper and effective internal controls.
We caution you against placing undue reliance on forward-looking statements, which reflect our current beliefs and are based on information currently available to us as of the date a forward-looking statement is made. Forward-looking statements set forth in this Annual Report on Form 10-K speak only as of the date of its filing. We undertake no obligation to revise forward-looking statements to reflect future events, changes in circumstances or changes in beliefs. In the event that we do update any
3


forward-looking statements, no inference should be made that we will make additional updates with respect to that statement, related matters or any other forward-looking statements.
4

PART I

ITEM 1.    Business
Company Overview
Calix was founded in 1999. We develop and market cloud and software platforms, systems and services that enable BSPs of all types and sizes to innovate and transform their business. For our customers to successfully transform their businesses into the winning broadband providers of the future, they require actionable data for critical business functions such as network operations, customer support and marketing. However, this data is often trapped in disparate systems or departmental silos. Our Calix Cloud platform gathers, analyzes and applies machine learning to deliver real-time insights seamlessly to each key business function. Our customers utilize these data and insights to simplify network operations, marketing and customer support and deliver experiences that excite their subscribers. This enables BSPs to grow their brand through increased subscriber acquisition, loyalty and revenue and to reduce their operating costs, creating value for their businesses and the communities they serve.
This is our mission; to enable BSPs of all sizes to simplify, excite and grow.
We believe our platforms offer a competitive edge to BSPs at a critical time of increasing competition from direct-to-consumer device providers as they expand their reach and focus on owning the connected home experience. For example, these competing device providers are entering the home by offering Wi-Fi enabled devices, and then leveraging behavioral insights to expand their direct relationship and brand with the subscriber by offering additional consumer services. Over time, we expect this competition can erode a BSP’s brand and relationship with their subscribers, by reducing broadband to an easy-to-replace commodity, which can increase churn and reduce revenue. Our platforms enable BSPs to compete with higher value managed services offerings for their subscribers.
Innovative BSPs, who are embracing our platforms, understand this competitive threat and that their brand’s central position in the home is strategic. As such, they must protect and expand continually. Our Intelligent Access EDGE network solution and Revenue EDGE subscriber solution are designed to allow BSPs to simplify their business and reduce operating costs, while launching exciting new services in a matter of days and weeks instead of months and years. Our role-based clouds enable BSP teams, such as marketing, operations and support, to leverage real-time behavioral analytics to anticipate the subscriber’s needs, whether that is optimized broadband speed or a new, differentiated service offering. The BSP’s teams can then utilize these insights to offer new and innovative services to those subscribers who have the propensity to buy, thereby growing revenue as they deliver a connected home experience at significantly lower operating costs. To expand our reach in the market, we will continue to pursue strategic technology and distribution relationships that align with BSPs’ strategic priorities. At the same time, we offer our Calix Customer Success and Support Services along with a growing portfolio of market activation resources that provide the BSP with best practices and programs to strengthen and grow their brand with their subscribers, thereby increasing subscriber loyalty and opportunities to grow their subscriber base.
Strategy Overview
Our strategy is to position Calix as the key partner providing cloud and software platforms, systems and services to enable and facilitate the transformation of BSP networks into networks that utilize real-time data generated in the access network and subscriber home network in order to provide an exceptional broadband experience for their subscribers. Most BSPs will require significant transformation of their business and operations to become an essential provider of data-driven, high-value managed services to their subscribers. The principal elements of our strategy are:
Starting with the data – The principal way we gather, analyze and deliver actionable insights for BSPs is via the Calix Cloud. Our role-based Cloud platforms enable critical functions within a BSP’s business, such as marketing, operations and support, to leverage real-time data to continually understand and optimize the experience for their subscribers.
Building and evolving our platforms – Our product strategy centers on our strategic platforms. These platforms simplify BSPs’ businesses by delivering intelligence and automation across the entire subscriber facing network – from the data center edge to the subscriber’s devices. Our strategy is to continually augment and extend these platforms with features and services directly or through partners to allow our customers to deliver cutting-edge services to their subscribers.
Engaging Directly with Customers – We continue to invest in our direct sales capabilities so that we can engage deeply with our customers to help them understand the differentiable value that our platforms provide. As we deploy new solutions, we are building the expertise of our team by adding specialized resources in areas such as marketing, cloud platforms and network operations. Our direct model is complemented with selective programs for our channel partners, who have established local
5

market expertise and have demonstrated the ability to generate new market opportunities and support sales of cutting-edge technologies for BSPs.
Expanding Customer Footprint Across Our Total Addressable Market – Our total addressable market includes BSPs of any type and size, including local and competitive exchange carriers, cable multiple system operators, or cable MSOs, wireless internet service providers, or WISPs, fiber overbuilders such as municipalities and electric cooperatives and hospitality providers. In 2021, we added 130 BSP customers purchasing directly or through our partners. Our diverse and growing customer footprint is a critical source of our future growth as we expand our portfolio and sell additional platforms to both new and existing customers. Our platforms expand our total addressable market and recurring revenue streams by allowing us to address the needs of not only traditional wireline-focused BSPs, but also emerging service providers. As such, we intend to continue to engage emerging providers that are creating entirely new customer segments, including fiber overbuilders, utilities and municipalities. We will also continue to pursue service provider segments where our current share is relatively low, such as cable MSOs, large CSPs and international markets.
Extending Portfolio of Calix Services – Our services team, Calix Services, supports our BSPs as they define their transformation strategies, build new skills, implement new technologies and deploy new subscriber services. Calix Services’ capabilities address the BSP’s entire network and service delivery lifecycle. These services allow BSPs to benefit directly from our deep expertise working with service providers to optimize their operations and leverage our advanced analytics to improve the operational efficiency of their teams.
Pursuing Strategic Relationships – We will continue to pursue strategic technology and distribution relationships that help us align with BSPs’ strategic priorities. We continue to invest to provide interoperability across the ecosystems that support our customers’ most critical business processes through our partner programs. By adding new solutions to our platform ecosystem, we significantly enhance the value that our platforms deliver to BSPs. In addition, we are expanding our relationships with organizations that help our customers plan and execute in market. Examples of these partners are Conexon Connect, LLC, CCI Systems, Inc. and The Pivot Group, LLC.
Product Overview
Our product strategy centers on increasing the market adoption of our three product platforms - Calix Cloud®, which comes in three role-base editions: Calix Marketing Cloud, Calix Support Cloud and Calix Operations Cloud; EXOS®, which is marketed as the Experience Innovation Platform; and AXOS®, which is marketed as the Network Innovation Platform. These platforms are sold independently and are also offered as two strategic solutions that make BSP adoption simple and quick: the “Revenue EDGE” and the “Intelligent Access EDGE.”
The Revenue EDGE
The Revenue EDGE is a subscriber experience solution designed to enable BSPs to rapidly deploy new subscriber services to grow their business. The solution is built on EXOS, our carrier-class premises operating system, and fully integrated with our GigaSpire® family of systems to be ready for deployment as a complete subscriber experience solution for a BSP’s residential and business subscribers.
The Revenue EDGE also integrates real-time subscriber insights via our Calix Marketing Cloud, Calix Support Cloud and Calix Operations Cloud offerings, which are configurable to display role-based insights. These insights enable BSPs to anticipate and target new revenue-generating services and applications through our mobile application, CommandIQ®, and expanding EDGE Suites offerings. Our Cloud offerings are also being integrated with other market leading platforms and solutions like Facebook, Mailchimp and HubSpot to further simplify BSP processes and accelerate their time to market.
We offer additional cloud-based services with the Revenue EDGE, which we refer to as EDGE Suites. Today they include features for network security and parental controls. We continue to expand these services with integrated third-party cloud offerings from our ecosystem Revenue EDGE partners such as Arlo Technologies, Inc., or Arlo, and Service Lee Technologies Private Limited, or Servify.
Finally, we offer Revenue EDGE Enablement resources to provide BSP teams with resources to quickly deploy, manage and monetize the services that they provide to subscribers. These resources include marketing content that can be easily customized with on-line tools, training programs, success services and professional services.
The Intelligent Access EDGE
The Intelligent Access EDGE solution is built on the award-winning Calix AXOS software platform and redefines the access edge of the network by simplifying its architecture and operations. AXOS is implemented in our E-Series family of modular, non-blocking systems, enabling BSPs to meet a wide variety of deployment scenarios.
6

The Intelligent Access EDGE allows BSPs to collapse multiple network elements in the access network into a single system and by using specialized software modules to add functionality and remove complexity, the solution reduces the total cost of ownership and the time to market for new services.
In addition, insights delivered through Calix Operations Cloud enable BSPs to more effectively monitor network performance and more efficiently address performance issues. Intelligent Access EDGE Enablement services are designed to ensure BSP teams are fully enabled to deploy and manage next generation networks. We offer a range of training, professional and success services to assist BSPs in every domain of network management from strategy to deployment and management.
Traditional Products
We continue to support and offer customers our traditional family of EXA and GigaCenter® Systems that are widely deployed in customer networks, primarily in North America. We expect that these products will continue to be utilized in our customers’ networks for many years to come.
Customers
We market and sell our cloud and software platforms, systems and services to BSPs of all types and sizes. To date, we have focused primarily on BSPs in the North American market. Our customers span all sizes of broadband subscriber count from a few hundred to more than six million. Our customers include: ALLO Communications; CityFibre Holdings Limited; Cox Communications; Gibson Connect, LLC; Jade Communications; Lumen Technologies, Inc. (formerly known as CenturyLink, Inc.), or Lumen; Silver Star Communications; TDS Telecommunications LLC; Windstream Holdings, Inc., or Windstream; and Verizon Communications, Inc.
We classify BSPs into large, medium and small based on the number of broadband subscribers they serve. Large BSPs are those with wide geographic footprints and broadband subscribers of 2.5 million or more. Medium BSPs also operate typically within a wide geographic footprint but are smaller in scale with broadband subscribers that range from 250,000 to 2.5 million. Small BSPs consist primarily of over 1,000 predominantly local independent operating companies, or IOCs, typically focused on a single community or a cluster of communities. They include a growing number of municipalities, electric cooperatives, fiber overbuilders and WISPs. These entities range in size from a few hundred to 250,000 broadband subscribers.
Historically, Lumen has accounted for more than 10% of total revenue, representing 11% in 2020 and 15% in 2019. Our efforts to grow our product platforms, add new CSP customers and shift away from low value deployment services have all contributed to Lumen representing less than 10% of our total revenue in 2021. No other customer represented more than 10% of total revenue in 2021, 2020 and 2019. Sales to customers outside the United States represented 17% of our revenue in 2021, 13% of our revenue in 2020 and 14% of our total revenue in 2019. Our sales outside the United States have been and are currently predominantly to customers in the Americas and Europe.
Customer Engagement Model
We market, sell and support the success of our cloud and software platforms, systems and services predominantly through our direct sales force, supported by marketing, product management and customer success personnel. We have expanded this model to include select channel partners in North America and more than 40 international channel partners. Even in circumstances where a channel partner is involved, our sales and marketing personnel are generally selling side-by-side with the channel partner. We believe that our direct customer engagement approach provides us with significant differentiation in the customer sales process and customer engagement programs by aligning us more closely with our customers’ changing needs and successful implementation of our solutions.
Research and Development
Continued investment in research and development is critical to our business. We have made significant investments in our product portfolio, and we intend to continue to dedicate significant resources to research and development to develop, enhance and deliver new platform features and capabilities, including investments in innovative technologies that support our business strategy. Our research and development team is composed of engineers with expertise in software and cloud platforms, optics, wireless technologies and systems engineering. Our research and development team is responsible for designing, developing and enhancing our cloud and software platforms and systems, performing product and quality assurance testing and ensuring the compatibility of our products with third-party hardware and software products. Increasingly, our engineers are focused on enhancements to our cloud and software platforms. Our teams of engineers currently remain concentrated in San Jose and Petaluma, California; Bangalore, India; Minneapolis, Minnesota; Nanjing, China; and Richardson, Texas. We also outsource a portion of our software and cloud development to domestic and international third parties, and we depend on these partners to meet our development plans. In particular, certain of our research and development efforts may be extended by co-development partnerships with third-party developers such as Infosys whereby we can utilize their substantially larger product development teams to bring cutting edge, software-based products to market while creating new revenue opportunities for both parties.
7

Manufacturing and Supply Chain
We rely on contract manufacturers, original design manufacturers, original equipment manufacturers and third-party logistics partners for the supply and distribution of our products. Our global supply chain management organization oversees these third parties to source and procure materials, manufacture and deliver our products. Our global supply chain management organization consists of planning, sourcing, logistics, test and manufacturing engineers and new product introduction personnel. We tightly integrate our supply chain management and new product introduction activities with the activities outsourced to these third parties. We believe that our relationships with and our reliance on third parties allow us to improve new product introduction time, conserve working capital, reduce product costs and minimize delivery lead times while maintaining high product quality as well as the ability to scale quickly to handle increased order volume. Over the past three years, we have reorganized our global supply chain to better align with our platform strategy as well as to reduce the impact from the imposition by the U.S. government of tariffs on goods imported from China. Such changes include the transition of manufacturing previously conducted in China to different manufacturing partners outside China in Taiwan and Vietnam as well as shifting a higher proportion of hardware systems design, management of raw materials used for manufacture and transition of specific supply chain operations to our ODM partners. Order fulfillment is performed primarily by our logistics provider located in Texas. We continue to qualify and utilize other vendors for various portions of our supply chain from time to time.
As a result of the current semiconductor and other component shortages, global restrictions and uncertainty related to the COVID-19 pandemic, we have experienced product supply delays as we and our supply chain partners experience longer lead times and shortages of components and materials. We believe the impact of these shortages along with the COVID-19 pandemic and government responses to the pandemic will continue to impact the ability of our third-party manufacturers to supply products to us at the cost and in the time frames and volumes required by us. We also continue to face challenges in managing global logistics and transport services for our products.
Seasonality
Fluctuations in our revenue occur due to many factors, including the varying budget cycles and seasonal buying patterns of our customers. More specifically, our customers tend to spend less in the first fiscal quarter as they are finalizing their annual capital spending budgets, and in certain regions, customers are also challenged by winter weather conditions that inhibit outside fiber deployment. Over the last couple of years, as our revenue from our large customers decreased, we have seen a reduction in year-end budgetary spending. This combined with an increase in recurring revenue, has resulted in smaller seasonal fluctuations, and we expect this trend to continue.
Competition
The communications software and systems equipment markets are highly competitive. Competition is largely based on any one or a combination of the following factors: functionality and features, price, existing business and customer relationships, product quality, installation capability, service and support, long-term returns, scalability, development and manufacturing capability.
We compete with several companies within the markets that we serve, and we anticipate that competition will intensify. Vendors with which we compete include: ADTRAN, Inc.; Casa Systems, Inc.; Ciena Corporation; Cisco Systems, Inc.; CommScope Inc.; DZS Inc.; eero (an Amazon company); Huawei Technologies Co., Ltd.; Juniper Networks, Inc.; Nest (a Google company); Plume Design, Inc.; Nokia Corporation and ZTE Corporation. In various geographic or vertical markets, there are also several smaller companies with which we compete. As we expand into adjacent markets, we expect to encounter new competitors. Many of our competitors have the financial resources to offer competitive products at a below market price, which could prevent us from competing effectively.
Intellectual Property
We rely on a combination of IP rights, including patents, trade secrets, copyrights and trademarks as well as customary contractual protections. These rights and protections are accomplished through a combination of internal and external controls, including contractual protections with employees, contractors, customers and partners, and through a combination of U.S. and international IP laws.
As of December 31, 2021, we held 107 U.S. patents and had two pending U.S. patent applications. As of December 31, 2021, we had no pending international patent applications. U.S. patents generally have a term of twenty years from filing. The remaining terms on our individual patents vary from less than a year to 17 years. U.S. patent, copyright and trade secret laws afford us only limited protection, and the laws of some foreign countries do not protect proprietary rights to the same extent.
8

We believe that the frequency of assertions of patent infringement has and continues to increase in our industry. Any claim of infringement from a third party, even claims without merit, could cause us to incur substantial costs defending against such claims, could require us to pay substantial damages or include an injunction or other court order that could prevent us from selling our products. In addition, we might be required to seek a license which may not be available on commercially reasonable terms or at all. Alternatively, we may be required to develop non-infringing technology, which would require significant effort and expense.
Human Capital
We employed 954 employees globally as of December 31, 2021, with 74% employees located in the United States and 24% primarily in Canada, China and India. Except for one employee located in France and subject to customarily local collective bargaining arrangements, we do not have any employees represented by a labor union with respect to their employment with us. We have not experienced any work stoppages and consider our relations with our employees to be good. We consider our talent to be very important to our operations and execution of our business strategy as well as the overall success of our business. As such, we invest significant management attention, time and resources to attract, engage, develop and retain our talent. Our talent strategy focuses on our culture and core values, our talent programs and the overall wellbeing and safety of our talent.
Our culture and core values. We believe that by nurturing a robust culture based on our core values we are able to attract, hire and retain a highly engaged team. Our cultural pillars – to collaborate, create and communicate – reflect the way we lead and work with one another internally as well as externally with our customers, partners, suppliers and other stakeholders. We seek to embed our core values to act responsibly and with integrity, to instill a sense of individual role and purpose at Calix, to communicate openly and honestly and to “take care of our own” in how we lead and conduct our business. Our culture of collaboration creates an inclusive working environment and inclusive engagement with our stakeholders; our culture to create encourages innovation from a diversity of experiences, backgrounds and characteristics; and our culture to communicate encourages open and honest discussion.
Our talent programs. We invest in talent programs to identify and hire candidates who embody our culture and core values and will further our mission. We focus on onboarding and assimilating our hires into the Calix culture while encouraging them to express their own diverse views and talents, in turn strengthening our culture. Although we do have facilities for our employees, we embrace a “work from anywhere” environment which allows us to hire top talent regardless of their physical location. Our compensation and rewards programs are designed to foster an energized, engaged, motivated and high-performing workforce. We hire and compensate our talent based on their role, experiences, contributions and performance, regardless of their gender, race or ethnic background or other personal characteristics. For example, our current programs include cash incentive bonuses designed to reward corporate and individual performance and cash bonus opportunities for internal promotions to leadership roles. In addition to performance stock option grants for senior executives, we offer two employee stock purchase plans, because we believe stock ownership rewards employees for corporate performance aligned to our stockholders’ interests. Our programs are regularly reviewed and adjusted based on benchmarks against competitive industry programs. We encourage open communications with our teams and conduct both internal and third-party run surveys to improve how we engage with and support our talent.
Our wellness, safety and health programs. A centerpiece of our culture is “taking care of our own,” which means we foster a collaborative and supportive environment so that every member of our team has the opportunity to thrive. This mindset starts with our CEO and is embedded in how we lead as well as in our wellness, safety and health programs. Our programs seek to support wellbeing broadly, with comprehensive health benefit offerings, a 401(k) plan for retirement savings available upon hire and with employer match in the U.S. and pension programs for most of our non-U.S. locations, sick leave days and leave programs, unlimited time off, disability benefits and reimbursements under our wellness fund and remote office program.
Throughout the COVID-19 pandemic, our approach has been a combination of education and actions designed with the goal of ensuring we have a very safe work environment for all our employees globally. We increased support and attention for our team in Nanjing, China, closely monitoring wellbeing and providing flexibility and tools to enable business continuity, while keeping our team safe. We initiated CEO-led sessions in an open forum with all employees addressing the impact of the pandemic and our response to support our workforce and business. We host a communications hub to provide and to enable our teams to share, resources and information such as public health and safety updates, resources for self-care, managing education and school-related challenges and leading remote teams, as well as interesting articles related to the pandemic. We implemented work and safety protocols, including a COVID-19 vaccine mandate, that put the health and safety of our team first and transitioned our remote work program to apply to all employees in the U.S. and Canada. We also reconfigured our offices and adjusted our office and health screening protocols to create a safe place to conduct essential tasks. We supplemented our wellness fund to cover broader health and wellness services, including in-home programs and child/family care, and expanded our home office program with ergonomic furniture, collaboration tools, virtual learning resources and telecommunications services to enable our teams.
Corporate Information
9

Our principal executive offices are located at: 2777 Orchard Parkway, San Jose, California 95134, and our telephone number is: (408) 514-3000. Our website address is: www.calix.com. We do not incorporate the information on or accessible through our website into this Annual Report on Form 10-K, and you should not consider any information on, or that can be accessed through, our website as part of this Annual Report on Form 10-K. Calix®, the Calix logo design, AXOS®, Calix Cloud®, CommandIQ®, EXOS®, GigaCenter®, GigaSpire® and other trademarks or service marks of Calix appearing in this Annual Report on Form 10-K are the property of Calix. Trade names, trademarks and service marks of other companies appearing in this Annual Report on Form 10-K are the property of the respective holders. The Securities and Exchange Commission, or SEC, maintains a website at www.sec.gov that contains reports, proxy statements and other information regarding issuers that file electronically with the SEC. We post on the Investor Relations page of our website, www.calix.com, a link to our filings with the SEC free of charge, as soon as reasonably practical after they are filed electronically with the SEC.
ITEM 1A. Risk Factors
We have identified the following additional risks and uncertainties that may affect our business, financial condition and/or results of operations. Investors should carefully consider the risks described below, together with the other information set forth in this Annual Report on Form 10-K, before making any investment decision. The risks described below are not the only ones we face. Additional risks not currently known to us or that we currently believe are immaterial may also significantly impair our business operations. Our business could be harmed by any of these risks. The trading price of our common stock could decline due to any of these risks, and investors may lose all or part of their investment.
Business and Operational Risks
We have risks associated with being materially dependent upon third-party vendors; certain factors that affect our business as a result of those dependencies have in the past and could continue to disrupt our business and adversely impact our gross margin and results of operations.
We materially depend upon third-party vendors for our complex global supply chain operations, including for services to develop, design and source components and materials, as well as manufacture, transport and deliver our products. If any of these vendors stop providing their services, for any reason, we would have to obtain similar services from other sources, which may not be available on commercially reasonable terms, if at all. We also have limited control over disruptions that may occur at the facilities of those providers, such as supply interruptions, labor shortages, strikes, shipping backlogs at ports and similar disruptions to transportation infrastructure, design and manufacturing failures, quality control issues, systems failures or even facility closures arising from the COVID-19 pandemic or natural disasters. In addition, switching development firms or manufacturers could delay the manufacture and availability of products and/or require us to re-qualify our products with our customers, which would be costly and time-consuming. Any interruption in the development, supply or distribution of our products would adversely affect our ability to meet scheduled product deliveries to our customers and could result in lost revenue or higher costs, which would negatively impact our gross margin and operating results and harm our business.
Particular risks associated with management of our global supply chain operations include the following:
Manufacturing constraints, shortages and other disruptions. We do not have internal manufacturing capabilities and rely solely on a small number of CMs to manufacture and supply our products. Our business operations and ability to supply our products are highly dependent upon our ability to secure adequate third-party manufacturing capabilities and capacity and to effectively manage those third parties to meet our business needs. Our dependence solely on third-party manufacturers makes us vulnerable to possible supply and capacity constraints and reduces our control over manufacturing disruptions due to component availability, extended lead times delivery schedules, quality, manufacturing yields and increased costs. Some of these risks have occurred from time to time in our business. If these disruptions and constraints are prolonged, or if these manufacturers do not have the ability or business continuity plans to fulfill their obligations to us, our business could be disrupted. We also expect to face increasing competition for manufacturing capacity and resources as other companies seek to move manufacturing operations out of China due to uncertainties around tariffs, trade disputes or other factors. If we cannot effectively manage our vendors or if we fail to invest adequate resources to manage our supply chain operations, our ability to meet customer orders and generate revenue may be negatively impacted. A substantial portion of our manufacturing is done at facilities outside of the U.S., largely in Asia, which presents increased supply risk, including the risk of supply interruptions, delays, shortages or reductions in manufacturing quality or controls. In addition, these supply interruptions, delays and shortages could impair our ability to meet our customer requirements, require us to pay higher prices or incur expedite fees, which would harm our business and negatively impact our gross margin and results of operations. Our international manufacturing also creates risks and uncertainties associated with regulatory changes or government actions such as local business requirements, trade restrictions and tariffs, economic sanctions or related legislation, which may complicate our export and import activities, be disruptive to the operations of our manufacturers and logistics partners or result in higher product and shipping costs and variability of supply. For example, substantially all our silicon suppliers have extended their lead times to 52 weeks or more and increased prices. Manufacturing in Asia further
10

heightens our risk of meeting customer delivery requirements as we rely upon third-party logistics companies to transport and import significant volumes of products to the U.S. where we generate a substantial majority of our revenue. These supply chain risks are further increased by shipping backlogs at ports and similar disruptions to transportation infrastructure due to a growing surge in global demand for goods.
Limited sources and sole-sourced supply. We are dependent upon sole-source or limited-source suppliers for some key product components such as chipsets and certain of our application-specific integrated circuit processors and resistor components, including certain components sourced solely through suppliers located in China. Any of these suppliers could stop producing our components, be subject to higher costs or tariffs, epidemics or other conditions that disrupt their operations, cease operations or enter into exclusive arrangements with our competitors, consequently affecting our operations and results. For example, we have experienced disruptions in our supply of certain components that we source from suppliers in China, Southeast Asia, Mexico and other countries as a result of the COVID-19 pandemic, causing delays in supply of our products due to production disruptions, factory closures and longer lead times for components and from uncertainty around trade and tariff policies between the U.S. and China. Being dependent upon these suppliers limits our ability to mitigate these disruptions in our supply chain and such disruptions, particularly if prolonged, may adversely affect our ability to obtain components and materials needed to manufacture our products at acceptable prices or at all. These risks would adversely affect our ability to meet scheduled product deliveries to our customers, increase costs and in turn harm our business and results of operations.
Limitations on ability to manage third-party risks. Our business with third-party manufacturers typically represents a relatively small percentage of their total revenue. Consequently, our orders may not be given adequate priority if such manufacturers have to allocate limited capacity among competing customers. This could delay supplies of product to us or limit our ability to ramp product volumes within desired timeframes. If any of our manufacturing partners are unable or unwilling to continue manufacturing our products in required volumes and at high quality levels, we would have to identify, qualify and select acceptable alternative manufacturers. Having to take the time to qualify new contract manufacturers could disrupt our ability to maintain continuous supply of product to meet customer requirements. An alternative manufacturer may not be available to us when needed or may not be in a position to satisfy our production requirements at commercially reasonable prices and quality. In addition, we and/or our manufacturers may not be able to negotiate commercially reasonable terms and sufficient quantities of component supplies with component and materials suppliers to meet our manufacturing needs because our purchase volumes may be too low for us to be considered a priority customer for securing supplies, particularly when there are shortages or limited availability of key components and materials. As a result, suppliers could stop selling to us and our manufacturers at commercially reasonable prices, or at all. Any such interruption or delay may force us and our manufacturers to seek components or materials from alternative sources, which may not be available, or result in higher prices. Switching suppliers could also force us to redesign our products to accommodate new components and could require us to re-qualify our products with our customers, which would be costly and time consuming. A significant interruption in manufacturing or supply availability for any of these reasons would reduce supply to our customers, which would result in lost revenue and harm our customer relationships.
Ability to forecast and manage inventory liability with vendors. We have experienced unanticipated increases in demand from customers, in part as a result of higher consumer demand for internet services and improved WiFi due to COVID-19; in turn, this has resulted in our shipments being delayed. If we underestimate product demand from our customers, our manufacturers may have inadequate component inventory to meet our demand. If we are not able to adequately anticipate demand, this could interrupt our product manufacturing, increase our cost of product revenue associated with expedite fees and air freight and/or result in delays or cancellation of customer orders. If we are unable to deliver products timely to our customers, we may lose customer goodwill or our customers may choose to purchase from other vendors, all of which may have a material negative impact on our revenue and operating results. If we overestimate our product demand, our manufacturers may purchase excess components and build excess inventory, and we could be required to pay for these excess parts or products and their storage costs. Long lead times for component supply, which have been magnified by factory closures and shortages due to the COVID-19 pandemic as well as higher demand for certain components, and unanticipated demand for our products have in the past and are expected to continue to impact our ability to accurately forecast our production requirements. We may incur liabilities for certain component inventory purchases that have been rendered excess or obsolete, which may have an adverse effect on our gross margin, financial condition and results of operations.
Our business and results of operations have been, and are expected to continue to be, negatively affected by the COVID-19 pandemic that has severely impacted the global economy.
Since late 2019, the COVID-19 pandemic has severely impacted the global economy, disrupting financial markets, global manufacturing activities, customer purchasing patterns and general business operations, resulting in business closures,
11

significant unemployment rates and substantial and prolonged government restrictions on business, travel and personal activities. These measures have disrupted our global supply chain activities, including our third-party manufacturers, logistics providers and suppliers and significantly limited our business travel, customer engagements and normal business activities, all of which heighten our business and operational risks. As the effects of the pandemic persist, we may continue to experience a sustained shortage of components and materials, which may have a material negative impact on our ability to supply products to meet customer requirements and could materially adversely affect our business and results of operations. Our customers’ purchasing decisions may be impacted by the pandemic, which could in turn impact our sales and results of operations. Although demand for our products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers’ purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy. For example, BSPs may not invest in our new platforms or delay infrastructure improvements due to the uncertainty in the global economy. A prolonged disruption to our business and operations and other adverse impacts of the COVID-19 pandemic or further future disruptions could have a material adverse effect on our business, results of operations and financial condition.
With the increased availability of vaccines in the U.S., we reopened our offices in July 2021 for fully-vaccinated employees who choose to work at the office and resumed business travel with safety precautions as we continue to monitor evolving pandemic regulations and focus on the safety, well-being and productivity of our workforce. The recent emergence of the Omicron variant has made it more likely that COVID-19 related effects on our business will continue for the foreseeable future. There are no assurances that the global economy will recover from the on-going effects of the pandemic quickly or at all, or that impacted areas will be able to adequately contain COVID-19 infections.
Security breaches and data loss may expose us to liability, harm our reputation and adversely affect our business.
As part of our business operations, we collect, store, process, use and/or disclose sensitive data relating to our business, including in connection with the provision of our cloud services and in our information systems and data centers (including third-party data centers). We also engage third-party providers to support various internal functions, such as human resources, finance, information technology and electronic communications, as well as the development and delivery of our products and cloud services, which includes collecting, handling, processing and/or storage of data on our behalf. These internal and external functions involve an array of software and systems (including cloud-based) that enable us to conduct, monitor and/or protect our business, operations, systems and IT assets. Our cloud-based solutions enable us to host our customers’ subscriber data in third-party data centers. While we and our third-party providers apply multiple layers of security to prevent unauthorized access to, use, alteration or disclosure of data, including encryption and authentication technologies, these security measures may be compromised by malicious hackers. Hackers could steal proprietary or personal information related to our business, products, employees and customers; hold data ransom; or otherwise interrupt our systems and services or those of our supply chain partners, vendors, customers or others. There have been increasing instances of cybersecurity attacks and security breaches, including sophisticated supply chain attacks. As we and our third-party providers continue to increase our reliance on virtual environments and communications systems and cloud-based solutions to support our work-from-anywhere culture and overall business needs, our exposures to third-party vulnerabilities and security risks also increase. Despite our on-going enhancement of security precautions, hackers are increasingly more sophisticated and aggressive, and our efforts may be inadequate to prevent all incidents of data breach or theft due, for example, to the increased use by attackers of tools and techniques that are specifically designed to circumvent controls, to avoid detection, and to remove or obfuscate forensic evidence.
We and certain of our third-party providers have in the past been subject to cyberattacks and security incidents. The theft, loss or misuse of proprietary or personal data collected, stored or processed by us or our service providers to run our business could result in significant security and remediation costs, regulatory fines and penalties, and/or litigation costs. Even if we and our third-party providers allocate, implement and manage reasonable security and data protection measures, we could experience data loss, unauthorized data disclosure or a breach of our systems, products or those of our third-party data centers that materially impact our business. The continued growth of our cloud-based platforms and services portfolio and increase reliance on third-party development partners and third-party software and cloud-based solutions, increases the likely risks arising from security breaches or data loss. Any data loss or compromise of our systems, including our product platforms that collect and process personal data, or third-party data centers upon which those platforms rely, could result in loss of confidence in the security of our offerings and loss of customers or customer goodwill, damage our reputation, lead to liability given the increasing development of strict privacy and data security laws and regulations around the world, and adversely affect our business, financial condition, operating results and cash flows. Although we maintain insurance that may apply to cybersecurity risks and liabilities, there can be no guarantee that any or all costs or losses incurred will be partially or fully insured.
Business and operational risks associated with our international operations could harm our business.
We are subject to business and operational risks associated with our international operations, including our global supply chain operations and our international offices located in Nanjing, China and Bangalore, India. In addition, we are exposed to risk arising from dependence upon third-party development contractors in India, and, to a lesser extent, dependence upon our international sales operations. The risks associated with our international operations also include costs of complying with differing and changing laws and regulatory requirements, tariffs, export quotas, custom duties and other trade restrictions; effects of inflation, currency controls and/or fluctuations in currency exchange rates; limited, inadequate or non-existent IP protection; and uncertainties associated with political conflicts and instabilities, variable economic conditions, terrorist attacks
12

or acts of war. Our development operations and activities in China and India involve these and other significant risks, including: local labor conditions and regulations; knowledge transfer related to our technology and exposure to misappropriation of IP or confidential information, including information that is proprietary to us, our customers and third parties; heightened exposure to changes in the economic, security, political and pandemic conditions; international trade agreements and U.S. tax provisions that could adversely affect our international operations; complexities of managing development timelines and deliverables from abroad; and differences in local business practices and customs that may not align with our expectations and standards.
Along with the foregoing risks, our international sales operations involve risks associated with greater costs and complexity localizing and supporting our products and platforms in local markets; trade regulations, compliance requirements and incremental costs applicable to the qualification, production, sale and delivery of our products; longer collection periods, financial instability and other difficulties impacting collection of accounts receivable in certain jurisdictions; more intense competition including from local equipment suppliers; and our reliance on value added resellers to sell and support our products in international markets given our limited presence and infrastructure outside the U.S. To expand our international operations, we will need to invest resources to attract key talent, build operational infrastructure, execute on our international strategy and drive international market demand for our products. If we invest substantial resources to expand our international operations and are unable to do so successfully and in a timely manner, our financial condition and results of operations may suffer.
If we do not successfully execute our business strategy to increase our sales to new and existing BSPs, our operating results, financial condition, cash flows and long-term growth may be negatively impacted.
Our growth depends upon our ability to increase sales to existing and new BSP customers of all types and sizes, and the execution of our strategy to increase sales to BSPs involves significant risk. The majority of our revenue is not recurring, and our customers generally have no committed purchase requirements, may cancel orders or cease purchasing our products at any time. If our customers stop purchasing our products for any reason, our business and results of operations would be harmed. If we are unable to increase our sales to new and existing BSPs, our operating results, financial condition, cash flows and long-term growth may be negatively impacted. Our strategy includes investing in regional sales teams and select channel partners to sell to smaller regional BSPs. A large portion of our current sales are to customers with smaller regional networks and limited capital expenditure budgets. The spending patterns of many of these customers are generally less formal and often characterized by small and sporadic purchases, and the potential revenue from any one of these customers is limited. We rely primarily on channel partners, including value added resellers, internationally and for certain U.S. markets. We face fierce competition for business with key channel partners. If we are unable to engage channel partners that we believe are key to our strategy, we may fail to grow our sales as planned. Furthermore, we rely on our channel partners to promote and sell our products. The loss of a key channel partner or the failure of our partners to provide adequate services could have a negative effect on customer satisfaction and could cause harm to our business.
Our selling efforts to larger BSPs require substantial investments of technical, marketing and sales resources through lengthy equipment qualification and sales cycles without any assurance of generating sales. We may be required to invest in costly upgrades to meet more stringent performance criteria and interoperability requirements, develop new customer-specific features or adapt our products to meet required standards. We have invested and expect to continue to invest considerable time, effort and expenditures, including investment in product research and development, related to these opportunities without any assurance that our efforts will result in revenue.
The quality of our support and services offerings is important to sustain and increase our sales to new and existing customers. Our services to customers have increasingly broadened to help them deploy our products within their networks. Once our products are deployed within our customers’ networks, they depend on our support organization to resolve any issues relating to those products. If we do not effectively assist our customers in deploying our products, succeed in helping them quickly resolve post-deployment issues or provide effective support, it could adversely affect our ability to sell our products to existing customers and harm our reputation with potential new customers. As a result, our failure to maintain high quality support and services could result in the loss of customers, which would harm our business.
If we do not successfully increase our sales through adoption of our platform offerings, our operating results, financial condition, cash flows and long-term growth may be negatively impacted.
We have platform offerings that are new and early in their life cycles and subject to uncertain market demand. If our customers are unwilling to adopt these new offerings, install our new products or deploy our new services, or if we are unable to achieve market acceptance of our products and platforms, our business and financial results may be harmed. Moreover, adoption of our cloud product offerings, such as our Revenue EDGE, is dependent upon the success of our customers in investing, marketing, selling and deploying broader services—including ancillary services—to their subscribers, and our ability to differentiate our products from competing or substitutive product and service offerings. For example, our Revenue EDGE Suites include network security, parental controls and a growing ecosystem of services from partners like Arlo and Servify. However, if subscriber demand for such services does not grow as expected or declines, or our customers are unable or unwilling to invest
13

in our platforms to deploy and market these services, demand for our products may decrease or fail to grow at rates we anticipate.
We may have difficulty evolving and scaling our business and operations to meet customer and market demand, which could result in lower profitability or cause us to fail to execute on our business strategies.
In order to grow our business, we will need to continually evolve and scale our business and operations to meet customer and market demand. Evolving and scaling our business and operations places increased demands on our management as well as our financial and operational resources to effectively manage organizational change; design scalable processes; accelerate and/or refocus research and development activities; expand our manufacturing, supply chain and distribution capacity; increase our sales and marketing efforts; broaden our customer-support and services capabilities; maintain or increase operational efficiencies; scale support operations in a cost-effective manner; implement appropriate operational and financial systems; and maintain effective financial disclosure controls and procedures. If we cannot evolve and scale our business and operations effectively, we may not be able to execute our business strategies in a cost-effective manner and our business, financial condition, profitability and results of operations could be adversely affected.
Changing market and customer requirements may adversely affect the valuation of our inventory as well as our supplier purchase commitments.
Customer demand for our products can change rapidly in response to market and technology developments. We may, from time to time, adjust inventory valuations downward or end of life certain of our products in response to our assessment of our business strategy as well as consideration of demand from our customers for specific products or product lines. We also periodically evaluate our supplier purchase commitments, which have increased significantly due to extended lead-times in the current supply chain environment. We record a liability for excess and obsolete components based on our estimated future demand for our products, potential obsolescence of technology and product life cycles. If we fail to accurately plan our inventory levels, which becomes more challenging as component lead times increase, we may have to write off excess or obsolete inventory, or accrue a liability for component inventory held by our suppliers, both of which could have a material adverse effect on our financial condition and results of operations.
We could become subject to litigation that could harm our business or negatively impact our results of operations.
In the ordinary course of business, we are subject to legal claims, or may become involved in regulatory proceedings, related to disputes over commercial, competition, IP, labor and employment and other matters. Regardless of the merits of any such claims, litigation and regulatory proceedings are inherently uncertain, and can be costly, disruptive to our business and operations, harmful to our reputation, and distracting to management. In particular, as a technology company, we may be subject to IP claims asserting patent, copyright, trademark and/or other infringement claims that are costly to defend and could limit our ability to use some technologies in the future. The risk of such claims is heightened as we expand our products and services and increasingly rely on more technologies, including third-party IP rights that we license and incorporate into our products and services. Third parties from whom we license IP may be unable or unwilling to indemnify us for such claims or offer any other remedy to us. Increasingly, patent infringement claims are asserted by patent assertion entities and non-practicing entities, or NPEs, that do not conduct business as an operating company and hold and own patents only for the purpose of aggressively pursuing royalties through infringement assertions or patent infringement litigation. Further, in our industry, the number of assertions by NPEs continues to increase due in part to patent sales by operating companies to NPEs and availability of litigation financing. We have received and expect to continue to receive assertions from NPEs and other third parties alleging that we may be infringing their patents or other IP rights; offering licenses to such IP; and/or threatening litigation. Any claims asserting that our products infringe the proprietary rights of third parties, with or without merit, could be time-consuming, result in costly litigation and divert the efforts of our engineering teams and management. These claims could also result in the suspension of our ability to import, market and sell our products and services, product shipment delays or requirements to modify our products or enter into costly settlements or licensing agreements. Such royalty or licensing agreements, if required, may not be available to us on acceptable terms, if at all. Furthermore, we may additionally be financially responsible for claims made against our customers, including costs of litigation and damages awarded, under indemnity obligations which could further negatively impact our results of operations. Protracted litigation could cause us to incur significant defense costs, which would negatively impact our results of operations.
We have a history of losses and fluctuations in our gross margin and operating results, which make it difficult to predict our future performance and could cause the market price of our stock to decline.
We have a history of net operating losses and fluctuations in our quarterly and annual gross margin and operating results, including losses and fluctuations due to factors outside of our control. Factors that impact variability of our operating results include our ability to predict our revenue and reduce and control our costs, our ability to predict product functions and features desired by our customers, the impact of global economic conditions, our ability to effectively manage our global supply chain operations, our ability to effectively manage third parties upon whom we depend to conduct our business, our customers’ spending patterns and purchasing decisions, the impact of competition, customer adoption of our products, our ability to
14

manage our legal, contractual and regulatory obligations and liabilities, and other risk factors identified in the lead-in to “Management’s Discussion and Analysis of Financial Condition and Results of Operations” above and in this “Risk Factors” section. Our gross margin is further impacted by customer, geographic and product mix, the impact of competition on our prices, our ability to manage our costs associated with components and materials, excess and obsolescence, expedite fees and logistics-related activities, contractual commitments and other product costs. Fluctuating results make it difficult to predict our future performance and could cause the market price of our stock to decline. We expect to continue to incur significant expenses and cash outlays as we expand our business and operations and target new customer opportunities. Given our anticipated growth and the intense competitive pressures we face, we may be unable to adequately control our operating expenses or maintain positive operating income. Comparing our operating results on a period-to-period basis may not be meaningful, and you should not rely on our past results as an indication of our future performance. If our revenue or operating results fall below the expectations of investors or securities analysts, or below any guidance we may provide to the market, the market price of our stock would likely decline.
We cannot guarantee that we will achieve sustained profitability. We will have to generate and sustain significant and consistent increased revenue, while continuing to control our expenses, to maintain profitability. If we are unable to sustain our operating income and positive cash flows from operations, our liquidity, results of operations and financial condition will be adversely affected, and we may be forced to limit our development activities, reduce our investment in growth initiatives and institute cost-cutting measures, any of which would adversely impact our business and growth.
We are exposed to customer credit risks that could adversely affect our operating results and financial condition.
We generally extend credit terms for sales to our customers which exposes us to credit risk. If we are unable to collect our accounts receivable balances as anticipated, our operating results and financial condition will be harmed. A number of factors contribute to this risk, including our ability to adequately assess a customer’s creditworthiness and financial condition, changes in a customer’s financial condition and/or liquidity, our ability to timely collect our accounts receivable from customers, disagreements with customers on invoiced balances and economic downturns or other unanticipated events impacting a customer’s ability to pay. Furthermore, some of our international customers operate in countries with developing economies, volatile financial markets or currency regulations that impact their ability to make payments in U.S. dollars. The COVID-19 pandemic has also presented financial challenges to numerous businesses, including delays in collections from some of our international customers in emerging markets and, if prolonged, may result in liquidity issues leading to heightened difficulties with collections. While we take measures to pursue collections on our accounts receivable, we have from time to time written down accounts receivable and written off doubtful accounts and may need to do so in future periods. The determination of allowances for doubtful accounts involves significant judgment, and if we underestimate our allowance for doubtful accounts, we will have to make further write-downs. Such write-downs or write-offs could negatively affect our operating results for the period in which they occur and could harm our cash flow or our financial condition.
If we lose any of our key personnel, or are unable to attract, train and retain qualified personnel, our ability to manage our business and continue our growth would be negatively impacted.
Our success depends, in large part, on the continued contributions of our key personnel who are highly skilled and would be difficult to replace. Competition for skilled personnel, particularly in software development and engineering, is intense. We cannot be certain that we will be successful in attracting and retaining qualified personnel, or that newly hired personnel will function effectively, both individually and as a group. If we are unable to effectively recruit, hire and utilize new employees to align with our company objectives, execution of our business strategy and our ability to react to changing market conditions may be impeded, and our business, financial condition and results of operations may suffer. In the first half of 2020, we transitioned to a “work-from-anywhere” model, and if we do not effectively manage our distributed workforce, we could face challenges maintaining our corporate culture, which could increase attrition or limit our ability to attract personnel. None of our key personnel are bound by a written employment contract to remain with us for a specified period. In addition, we do not currently maintain key person life insurance covering our key personnel. If we lose the services of any key personnel, our business, financial condition and results of operations may suffer.
If we experience disruptions with our enterprise resource planning system, we may not be able to effectively transact business or produce financial statements, which would adversely affect our business, results of operations and cash flows.
In January 2020, we migrated our Oracle enterprise resource planning, or ERP, system to Oracle’s cloud platform. With that migration, we are highly dependent upon Oracle to host, manage and maintain our ERP system. Any disruptions to their business or processes, or delays in their ability to provide services to us, may in turn disrupt our business operations or increase costs. Furthermore, we receive quarterly system updates and enhancements on the cloud platform according to Oracle’s release timeline and change management processes, which if not managed properly may disrupt our business operations and delay our ability to process transactions and produce reports necessary to conduct our business. We are highly dependent upon our ERP system for critical business functions, including order processing and management, supply chain and procurement operations, financial planning, accounting and reporting; accordingly, protracted disruption in functionality or processing capabilities of the
15

ERP system could materially impair our ability to process transactions timely or produce accurate financial statements on a timely basis. If our systems suffer prolonged interruption, our results of operations and cash flows would be adversely affected.
As a public company we are subject to significant accounting, legal and regulatory requirements; our failure to comply with these requirements may adversely affect our operating results and financial condition.
We are subject to significant accounting, legal and regulatory requirements, including requirements and rules under the Sarbanes-Oxley Act, or SOX, and the Dodd-Frank Wall Street Reform and Consumer Protection Act, or Dodd-Frank, among other rules and regulations implemented by the SEC, as well as listing requirements of the New York Stock Exchange, or NYSE. We incur significant accounting, legal and other expenses and must invest substantial time and resources to comply with public company reporting and compliance requirements, including costs to ensure we have adequate internal controls over accounting and financial reporting, proper documentation and testing procedures among other requirements. We cannot be certain that the actions we have taken to implement internal controls over financial reporting will be sufficient. We have in the past discovered, and may in the future discover, areas of our internal financial and accounting controls and procedures that need improvement, particularly as we enhance, automate and improve functionality of our processes and internal applications, including Oracle’s cloud platform. New laws and regulations as well as changes to existing laws and regulations affecting public companies, including the provisions of SOX and Dodd-Frank and rules adopted by the SEC and the NYSE, would likely result in increased costs to us as we respond to their requirements. We continue to invest resources to comply with evolving laws and regulations, and this investment may result in increased general and administrative expense.
If we fail to maintain proper and effective internal controls, our ability to produce accurate financial statements on a timely basis could be impaired, which would adversely affect our operating results and our stock price.
Our management is responsible for establishing and maintaining adequate internal control over financial reporting to provide reasonable assurance regarding the reliability of our financial reporting and the preparation of financial statements in accordance with U.S. generally accepted accounting principles. Our management does not expect that our internal control over financial reporting will prevent or detect all error and all fraud. A control system, no matter how well designed and operated, can provide only reasonable, not absolute, assurance that the control system’s objectives will be met. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that misstatements due to error or fraud will not occur or that all control issues and instances of fraud, if any, within our company will have been detected. If we are unable to produce accurate financial statements on a timely basis, investors could lose confidence in the reliability of our financial statements, which could cause the market price of our common stock to decline and make it more difficult for us to finance our operations and growth.
Risks Related to Our Products
Our products are highly technical and may contain undetected hardware or software defects or software bugs, which could harm our reputation and adversely affect our business.
Our products, including our smart home and business systems and our cloud and software platforms, are highly technical and, when deployed, are critical to the operation of many networks. Our products have contained and may contain undetected defects, bugs or security vulnerabilities, which risks may be exacerbated as we continue to expand our cloud and software portfolio and include services from third-party partners. Some defects in our products may only be discovered after a product has been installed and used by customers and may in some cases only be detected under certain circumstances or after extended use. Any errors, bugs, defects or security vulnerabilities discovered in our products after commercial release could result in loss of revenue or delay in revenue recognition, loss of customers and increased service and warranty and retrofit costs, any of which could adversely affect our business, operating results and financial condition. In addition, we could face claims for security and data breach, product liability, tort or breach of warranty. Our contracts with customers contain provisions relating to warranty disclaimers and liability limitations, which may not be upheld. Defending a lawsuit, regardless of its merit, is costly and may divert management’s attention and adversely affect the market’s perception of us and our products. In addition, if our business liability insurance coverage proves inadequate or future coverage is unavailable on acceptable terms or at all, our business, operating results and financial condition could be adversely impacted.
If we are unable to ensure that our products interoperate properly and as required within our customers’ networks, our business will be harmed.
Our products must interoperate with our customers’ existing and planned networks, which often have varied and complex specifications, utilize multiple protocol standards, include software applications and customizations and products from multiple vendors and contain multiple generations of products that have been added over time. As a result, we must continually ensure that our products interoperate properly with these existing and planned networks. To meet these requirements, we must undertake development efforts, including test protocols, that require substantial capital investment and employee resources. We may not accomplish these development goals quickly or cost-effectively, if at all. If we fail to maintain interoperability, we may face substantially reduced demand for our products, which would reduce our revenue opportunities and market share. We rely
16

upon interoperability arrangements with equipment and software vendors for the use or integration of their technology with our products. If these relationships fail, we may have to devote substantially more resources to developing alternative products and processes and our efforts may not be as effective as the combined solutions under our current arrangements. In some cases, these other vendors are either direct competitors or companies that have extensive relationships with our existing and potential customers and influence the purchasing decisions of those customers. Some of our competitors have stronger relationships with some of our interoperability partners, and as a result, our ability to have successful interoperability arrangements with these companies may be harmed, which in turn may harm our ability to successfully sell and market our products.
Our estimates regarding warranty or product obligations are highly subjective. If our estimates change, the liability for warranty or product obligations may be increased, impacting future cost of revenue.
Our products are highly complex, and our product testing may not be adequate to detect all defects, errors, failures and quality issues. Accordingly, our estimates regarding future warranty or product obligations are highly subjective, and if our estimates change, the liability for warranty or product obligations may be increased, impacting future cost of revenue. Quality or performance problems for products covered under warranty could adversely impact our reputation and negatively affect our operating results and financial position. The development and production of new products with high complexity often involves problems with software, components and manufacturing methods. If significant warranty or other product obligations arise due to reliability or quality issues arising from defects in software, faulty components or improper manufacturing methods, our operating results and financial position could be negatively impacted by cost associated with fixing software or hardware defects; high service and warranty expenses; high inventory obsolescence expense; delays in collecting accounts receivable; payment of liquidated damages for performance failures; and loss of customer goodwill and future sales.
Our business and operations depend on proprietary technologies, and our financial performance may suffer if we cannot protect and enforce our IP rights.
Our success and ability to compete depend on proprietary technology. We rely significantly upon patent, copyright, trademark, trade secret and other IP laws, IP registration rights and agreements with our employees, customers, partners, suppliers and other parties, to establish and maintain IP rights necessary for our business and operations. U.S. IP laws afford us only limited protection, and the laws of some foreign countries do not protect proprietary rights to the same extent or at all. Our patent applications may not result in issued patents, and our issued patents may not be enforceable. Our IP rights could be challenged, invalidated, infringed or circumvented any of which could impair or harm our business and operations and be costly to defend. Our failure to adequately protect our IP rights could result in our competitors offering similar products, resulting in the loss of our competitive advantage and decreased sales.
We and our third-party providers may be unable to adequately prevent unauthorized third-party copying or use of our IP. For example, contractual provisions protecting our IP could be breached, our IP could be reverse engineered or unlawfully distributed. It may become more difficult to adequately protect our IP as we expand our reliance on third parties for the design, development and/or manufacture of our products. In addition, we may become subject to increased risks arising from or related to security breaches, data loss or theft of our data or our IP, and have greater difficulty protecting our IP as our work-from-anywhere workforce and work product become more distributed. Policing the unauthorized use and distribution of our IP is difficult and costly. Litigation, which could result in substantial costs, diversion of resources and harm to our business, may be necessary to enforce our IP rights, protect our trade secrets or determine the validity and scope of proprietary rights.
If we are unable to obtain third-party technology licenses needed for our products and platform solutions, our business and operations will be impaired, and our operating results could be adversely affected.
We increasingly rely on technology licensed from third parties for our products and platform solutions. We may not be able to secure or maintain necessary technology licenses from these third parties on commercially reasonable terms or at all. Third parties may also choose to not renew licenses with us, demand unreasonable license fees or cease to offer technologies that we require. The inability to obtain necessary third-party licenses or to secure reasonable license terms at a cost acceptable to us could harm the competitiveness of our products and solutions, result in lost revenue and adversely affect our operating results. For example, we may be forced to forego product features or platform offerings, including features and offerings we believe are critical to our strategy, accept substitute technology of lower quality or performance standards or incur higher costs, or the time-to-market of our products or product features could be delayed. Furthermore, our ability to utilize third-party technology may be disrupted by disputes over IP rights, including claims of IP infringement, which could prevent us from offering or selling the products that utilize the disputed technology and adversely affect our operating results.
Our use of open-source software could impose limitations on our ability to commercialize our products.
We incorporate open-source software into our products. The terms of many open-source software licenses have not been interpreted by the courts, and there is a risk that such licenses could be construed in a manner that could impose unanticipated conditions or restrictions on our ability to sell our products. In such event, we could be required to make our proprietary software generally available to third parties, including competitors, at no cost, to seek licenses from third parties in order to
17

continue offering our products, to re-engineer our products or to discontinue the sale of our products in the event re-engineering cannot be accomplished on a timely basis or at all, any of which could adversely affect our revenue and operating expenses.
Macroeconomic and Industry Risks
Adverse global economic conditions, geopolitical issues and other conditions that impact our increasingly global operations could have a negative effect on our business, results of operations and financial condition and liquidity.
As a global company, our performance is affected by global economic conditions as well as geopolitical issues and other conditions with global reach. In recent years, concerns about the global economic outlook have adversely affected market and business conditions in general. Macroeconomic weakness and uncertainty make it more difficult for us to manage our operations and accurately forecast revenue, gross margin and expenses. Geopolitical issues, such as ongoing conflicts between the United States and China, tariff and trade policy changes, increasing potential of conflict involving countries in Asia that are critical to our supply chain operations, such as Taiwan and China, and the tensions between Russia and NATO countries over the Ukraine, have resulted in increasing global tensions and create uncertainty for global commerce. In particular, we incurred substantial costs and diversion of resources realigning our supply chain operations to move substantially all of our product manufacturing to locations outside of China as a result of U.S. tariff and trade policy changes. The global impact of the COVID-19 pandemic continues to create shortages in component and supplies and otherwise disrupt and delay our global supply chain operations. Moreover, shipping backlogs and similar disruptions to transportation infrastructure due to an increasing surge in the global demand for goods has exacerbated supply chain challenges. Sustained or worsening of global economic conditions and geopolitical issues may increase our cost of doing business, materially disrupt our supply chain operations, cause our customers to reduce or delay spending and intensify pricing pressures. Any or all of these factors could negatively affect demand for our products and our business, financial condition and result of operations.
We face intense competition that could reduce our revenue and adversely affect our financial results.
The market for our products is highly competitive, and we expect competition from both established and new companies to increase. Our ability to compete successfully depends on a number of factors, including our ability to successfully develop new products and solutions that anticipate BSP and market requirements and changes in technology and industry standards; BSP acceptance and adoption of our products and solutions; our ability to differentiate our products from our competitors’ offerings based on performance, features, cost-effectiveness or other factors; our product capabilities to meet customer network requirements and preferences; and our success in marketing and selling our products and platform solutions.
Many of our current or potential competitors have longer operating histories, greater name recognition, broader product lines, larger customer bases and significantly greater financial, technical, sales, marketing and other resources than we do and are better positioned to acquire and offer complementary products and services. As the broadband access equipment market has undergone and continues to undergo consolidation, our competitors have merged, grown and been able to offer more comprehensive solutions than they individually had offered. Potential customers may also prefer to purchase from their existing suppliers rather than a new supplier, regardless of product performance or features, because the products that we and our competitors offer require a substantial investment of time and funds to qualify and install. The recent demand on network capacity due to the shift towards a remote workforce may attract new market entrants with competitive or substitutive products, which may lead to increased sales cycles, cause pricing pressure and impact adoption of our platforms due to the broader availability of product offerings. Some of our competitors may offer substantial discounts or rebates to win or retain customers. If we are forced to reduce prices to retain existing customers or win new customers, we may be unable to sustain gross margin at desired levels or profitability. Competitive pressures could result in increased pricing pressure, reduced profit margin, increased sales and marketing expenses and failure to increase, or the loss of, market share, any of which could reduce our revenue and adversely affect our financial results.
Our industry is characterized by rapid technological advance, and if we fail to develop new products or enhancements that meet changing BSP requirements, we could experience lower sales.
Our industry is characterized by rapid technological change, changing needs of BSPs, evolving industry standards and frequent introductions of new products and platforms. We invest significant amounts to pursue innovative technologies that we believe will be adopted by BSPs. For example, we have invested and continue to invest resources in our cloud and software platforms. In addition, on an ongoing basis, we expect to reposition our product and service offerings and introduce new offerings as we encounter rapidly changing BSP requirements and increasing competitive pressures. If we cannot increase sales of our new platforms and services, keep pace with rapid technological developments to meet customer needs and compete with evolving standards or if the technologies we choose to invest in fail to meet customer needs or are not adopted by customers in the timeframes that we expect, our financial condition and results of operations would be adversely affected.
Developing our products is complex and involves uncertainties, including pricing risks for key materials, component shortages and limited suppliers. We may experience design, manufacturing, software development quality, support, marketing and other difficulties that could delay or prevent the development, introduction or marketing of new products and enhancements. If we
18

fail to meet our development targets, demand for our products will decline. If we are unable to anticipate and develop new products or enhancements to our existing products on a timely and cost-effective basis, our products may become technologically obsolete more rapidly than anticipated over time, resulting in lower sales which would harm our business. Furthermore, the introduction of new or enhanced products also requires that we manage the transition from older products in accordance with customer requirements. If we fail to maintain compatibility requirements in our customers’ networks, demand for our products would decline, which would reduce our revenue opportunities and market share.
Increasingly, we have relied on third-party development partners to remain competitive. Investment in third-party development services for our product and service platforms reduces our direct control and may result in increased challenges in product design, integration and support of third-party features in our products. In addition, these investments may take several years to generate positive returns, if ever. We have engineering services arrangements that include future revenue-share payments on our sale of the developed products and that require us to make minimum payments whether or not we achieve the desired revenue levels. If our actual demand falls short of expectations, we will be obligated to make the minimum payments, and we may be required to write-down the value of the developed products, which could adversely affect our financial results.
Our sales cycles can be long and unpredictable, and our sales efforts require considerable time and expense. As a result, our sales are difficult to predict and may vary substantially, which may cause our operating results to fluctuate significantly.
The timing of our revenue is difficult to predict. Our sales efforts often involve educating BSPs about the use and benefits of our products, platforms and services. BSPs typically undertake a significant evaluation process, which frequently involves not only our products, platforms and services, but also those of our competitors and results in a lengthy sales cycle. Sales cycles for larger customers are relatively longer and require considerably more time and expense. We spend substantial time, effort and money in our sales efforts without any assurance that our efforts will produce sales. In addition, product purchases are frequently subject to budget constraints, multiple approvals and unplanned administrative, processing and other delays. The timing of revenue related to sales of products and services that have installation requirements may be difficult to predict due to interdependencies that may be beyond our control, such as BSP testing and turn-up protocols or other vendors’ products, services or installations of equipment upon which our products and services rely. Such delays may result in fluctuations in our quarterly revenue. If sales expected from a specific customer for a particular quarter are not realized in that quarter or at all, we may not achieve our revenue forecasts and our financial results would be adversely affected.
Our business depends upon the capital spending patterns and decisions of BSPs, and any decrease or delay in capital spending by BSPs due to the timing and availability of capital and other causes would reduce our revenue and harm our business.
Demand for our products depends on the magnitude and timing of capital spending by BSPs as they construct, expand, upgrade and maintain their access networks as well as BSPs’ adoption of our platforms and cloud-based services. Capital spending is cyclical in our industry, sporadic among individual BSPs and can change on short notice, which gives us little visibility into changes in spending behavior in any particular quarter. Capital spending for network infrastructure projects could be delayed or canceled in response to factors outside our control, such as reduced consumer spending, challenging capital markets or declining liquidity trends. BSP spending is also affected by reductions in budgets, delays in purchasing cycles, access to government funding programs or capital markets, and seasonality and delays in capital allocation decisions. Historically, our customers may spend less or have less deployments in the first quarter due to pending annual budgets or, in certain regions, due to weather conditions that inhibit outside fiber deployment, resulting in weaker demand for our products in the first quarter. Softness in demand in any of our customer markets, including due to macro-economic conditions beyond our control or uncertainties associated with regulatory reforms, has in the past and could in the future lead to unexpected decline or slowdown in customer capital expenditure. Further, BSPs may pursue capital investment in network technologies other than those offered by us or may choose not to adopt our products and platform solutions in their networks. Reductions in capital expenditures by BSPs, particularly our significant customers, would have a material negative impact on our revenue and results of operations and slow our rate of revenue growth. As a consequence, our results for a particular period may be difficult to predict, and our prior results are not necessarily indicative of results in future periods.
Historically, our customer base has been concentrated, and the loss of any of our key customers may adversely impact our revenue and results of operations, and any delays in payment by a key customer could negatively impact our cash flows and working capital.
Historically, a large portion of our sales has been, and in the future may be, to a limited number of large customers. Changes in the BSP market, such as financial difficulties, spending cuts or corporate consolidations that impact purchasing decisions by these customers have and may again negatively impact our revenue, and as a result, revenue from such customers may remain flat or continue to decline. For example, sales to Lumen, our only greater than 10% customer in 2020 and 2019, declined in 2021 and sales to other BSP customers increased such that Lumen was not a 10% customer. There is no assurance that purchasing levels by Lumen will increase from current levels. Historically, we experienced delays or declines in purchases by certain BSPs due to deterioration in their financial condition. For example, Windstream and Frontier, two of our medium-sized
19

customers, each completed a financial restructuring and emerged from Chapter 11 bankruptcy in September 2020 and April 2021, respectively. Any decrease or delay in purchases of any of our key customers, particularly if prolonged or sustained, or our inability to grow our sales with them, may have a material negative impact on our revenue and results of operations.
In addition, some larger customers may demand discounts and rebates or desire to purchase their access systems and software from multiple providers. As a result of these factors, our future revenue opportunities may be limited, and we may face pricing pressures, which in turn could adversely impact our gross margin and our profitability. The loss of, reduction in, or pricing discounts associated with orders from any key customer would significantly reduce our revenue and harm our business. Furthermore, delays in payment and/or extended payment terms from any of our key or larger customers could have a material negative impact on our cash flows and working capital to support our business operations.
Over the years, the BSP market has undergone substantial consolidation, reducing the number of potential customers and delays or decreases in capital spending. Continued consolidation of the BSP industry and among independent local exchange carriers and IOC customers, who represent a large part of our business, could make it more difficult for us to grow our customer base, increase sales of our products and maintain adequate gross margin.
Government-sponsored programs and U.S. federal government shutdowns could impact the timing and buying patterns of BSPs, which may cause fluctuations in our operating results.
We sell to BSPs, including U.S.-based IOCs, which rely significantly upon interstate and intrastate access charges and federal and state subsidies in the form of grants and other funding such as the Federal Communications Commission’s, or FCC’s, Rural Digital Opportunity Fund, the CARES Act or the American Rescue Plan Act. The FCC and some states may change such payments and subsidies, which could reduce IOC revenue. Furthermore, many IOCs use or expect to use government-supported loan programs or grants, such as Rural Utility Service loans and grants, to finance capital spending. These government-supported loan programs and grants generally include conditions such as deployment criteria, domestic preference provisions and other requirements that apply to the project and selected equipment as conditions for funding. For example, the U.S. government recently introduced legislation imposing domestic content requirements for infrastructure programs that receive federal funding. Changes to the terms or administration of these programs, including uncertainty from government and administrative change, increasing focus on domestic requirements by the U.S. that may require re-assessment of compliance, potential funding limitations that impact our ability to meet program requirements or delays due to U.S. federal government shutdowns could reduce the ability of IOCs to access capital or secure funding these programs to purchase our products and services and thus reduce our revenue opportunities. Customers may curtail purchases if they receive less funding than planned, are negatively impacted by federal government shutdowns or changes in government regulations and subsidies, or as funding winds down, any of which could have an adverse effect on our operating results and financial condition.
Government and Regulatory Risks
Increasing data privacy regulations could impact our business and expose us to increased liability.
Government authorities in the United States and around the world have implemented and are continuing to implement broader and more stringent laws and regulations concerning data protection. The interpretation and application of these data protection laws and regulations are often uncertain and changing, and it is possible that they may be interpreted and applied in a manner that is inconsistent with our data practices. For example, the General Data Protection Regulation, or GDPR, adopted by the European Union, or EU, imposes specific duties and requirements upon companies that collect, process or control personal data of EU residents. Although we currently do not have material operations or business in the EU, we would incur substantial costs in order to expand our business and operations to the EU. Furthermore, the GDPR imposes significant penalties for noncompliance of up to the greater of €20 million or 4% of a company’s worldwide revenue; accordingly, any non-compliance with the GDPR could result in a material adverse effect on our business, financial condition and results of operations. In January 2020, the California Consumer Privacy Act became effective, imposing significant new data privacy rights for consumers and requirements for the handling of consumer personal data. In July 2020, the Court of Justice of the EU invalidated the EU-U.S. Privacy Shield as a valid mechanism for the transfer of personal data from the EU to the United States. Additionally, in November 2020 California adopted the California Privacy Rights Act, which creates further obligations relating to consumer data beginning in January 2022, with enforcement beginning July 2023. Complying with new and changing laws could cause us to incur substantial costs in order to market and sell our cloud-based solutions in the U.S. and internationally, deter customers from adopting our cloud-based solutions or require us to redesign our platform in order to meet customer requirements related to such laws. Regulatory actions or claims involving our practices in the collection, storage, processing, use or disclosure of consumer information or other personal data, even if unfounded, could damage our reputation and adversely affect our operating results. The failure or perceived failure to comply may result in government or civil proceedings or actions against us, or could cause us to lose customers, which could have an adverse effect on our business.
If we fail to comply with evolving industry standards, sales of our products would be adversely affected.
20

Our products are subject to a significant number of domestic and international standards, which evolve as new technologies are developed and deployed. As we expand into new global markets, we are likely to encounter additional standards. Our products must comply with these standards in order to be widely marketable. In some cases, we are required to obtain certifications or authorizations before our products can be introduced, marketed or sold in new markets or to new customers. For example, our ability to maintain Operations System Modification for Intelligent Network Elements certification for our products will affect our ongoing ability to continue to sell our products to large BSPs. In addition, our ability to expand our international operations may be limited by standards in countries or may require us to redesign our products or develop new products to meet local standards. We may not be able to design our products to comply with local requirements, which would impede or prevent our ability to grow our business in those locations. Moreover, as we expand our business and operations globally, we must increase investments to maintain compliance with evolving standards across all of our markets. The costs of complying with evolving standards or failure to obtain timely authorizations or certification could prevent us from selling our products where these standards or regulations apply, which would result in lower revenue and lost market share.
Our failure or the failure of our manufacturers to comply with environmental and other legal regulations could adversely impact our results of operations.
The manufacture, assembly and testing of our products may require the use and disposal of hazardous materials that are subject to environmental, health and safety regulations, or materials subject to laws restricting the use of conflict minerals. We substantially depend upon our third-party manufacturers to comply with these requirements. Any failure by us or our third-party manufacturers to comply with these requirements could result in regulatory penalties, legal claims or disruption of production of our products. In addition, any failure to properly manage the use, transportation, emission, discharge, storage, recycling or disposal of hazardous materials could subject us to increased costs or liabilities. Existing and future environmental regulations and other legal requirements may restrict our use of certain materials to manufacture, assemble and test products. Any of these consequences could adversely impact our results of operations by increasing our expenses and/or requiring us to alter our manufacturing processes.
We are subject to governmental export and import controls that could subject us to liability or impair our ability to compete in additional international markets.
Our products are subject to U.S. export and trade controls and restrictions. International shipments of certain of our products may require export licenses or are subject to additional export requirements. In addition, the import laws of other countries may limit our ability to distribute our products, or our customers’ ability to buy and use our products, in those countries. Changes in our products or changes in export and import regulations or duties may create delays in the introduction of our products in international markets, prevent our customers with international operations from deploying our products or, in some cases, prevent the export or import of our products to certain countries altogether. Any change in export or import regulations, duties or related legislation, shift in approach to the enforcement or scope of existing regulations, or change in the countries, persons or technologies targeted by such regulations, could negatively impact our ability to sell, profitably or at all, our products to existing or potential international customers.
Regulatory and physical impacts of climate change and other natural events may affect our customers and our manufacturers, resulting in adverse effects on our operating results.
As emissions of greenhouse gases continue to alter the composition of the atmosphere, affecting large-scale weather patterns and the global climate, any new regulation of greenhouse gas emissions may result in additional costs to our customers and our manufacturers. In addition, the physical impacts of climate change and other natural events, including changes in weather patterns, drought, rising ocean and temperature levels, earthquakes and tsunamis may impact our customers, suppliers and manufacturers, and our operations. These potential physical effects may adversely affect our revenue, costs, production and delivery schedules, and cause harm to our results of operations and financial condition.
Our customers are subject to government regulation, and changes in current or future laws or regulations that negatively impact our customers could harm our business.
The FCC has jurisdiction over our U.S. customers, and FCC regulatory policies that create disincentives for investment in access network infrastructure or impact the competitive environment in which our customers operate may harm our business. For example, adoption of regulations that affect providers of broadband Internet access services could impede the penetration of our customers into certain markets or affect the prices they may charge in such markets. Similarly, changes to regulatory tariff requirements or other regulations relating to pricing or terms of carriage on communication networks could slow the development or expansion of network infrastructures, which could adversely affect the sale of our products and services. Many of our customers are subject to FCC rate regulation of interstate telecommunications services and are recipients of government stimulus payments. The imposition of limits or restrictions on access to these programs could affect the ability of IOCs to access capital, which would in turn reduce our revenue opportunities. In addition, many of our customers are subject to state regulation of intrastate telecommunications services, including rates for such services, and may also receive funding from state universal service funds. Changes in rate regulations or universal service funding rules, either at the U.S. federal or state level,
21

could adversely affect our customers’ revenue and capital spending plans. Moreover, various international regulatory bodies have jurisdiction over certain of our non-U.S. customers. Changes in these domestic and international standards, laws and regulations, or judgments in favor of plaintiffs in lawsuits against BSPs based on changed standards, laws and regulations could adversely affect the development of broadband networks and services. This, in turn, could directly or indirectly adversely impact the communications industry in which our customers operate.
Risks Related to Ownership of Our Common Stock
Our stock price may continue to be volatile, and the value of an investment in our common stock may decline.
The trading price of our common stock has been, and is likely to continue to be, volatile, which means that it could decline substantially within a short period of time and could fluctuate widely in response to various factors, some of which are beyond our control. These factors include those discussed above and others such as quarterly variations in our results of operations or those of our competitors; failure to meet any guidance that we have previously provided regarding our anticipated results; changes in earnings estimates or recommendations by securities analysts; failure to meet securities analysts’ estimates; announcements by us or our competitors of new products, significant contracts, commercial relationships, acquisitions or capital commitments; developments with respect to IP rights; our ability to develop and market new and enhanced products on a timely basis; our commencement of, or involvement in, litigation and developments relating to such litigation; changes in governmental regulations; and a slowdown in the communications industry or the general economy.
In recent years, the stock market in general, and the market for technology companies in particular, has experienced extreme price and volume fluctuations that have often been unrelated or disproportionate to the operating performance of those companies. Broad market and industry factors may seriously affect the market price of our common stock, regardless of our actual operating performance. Recently, the COVID-19 pandemic has severely impacted U.S. markets, causing dramatic swings in the U.S. stock exchanges that resulted in increased volatility in the trading price of our common stock. Historically, following periods of volatility in the market price of a company’s securities, there is increased risk that stockholders may initiate securities class action litigation against the company. Such litigation, if instituted against us, could result in substantial costs and a diversion of our management’s attention and resources.
Provisions in our charter documents and under Delaware law could discourage a takeover that stockholders may consider favorable and may lead to entrenchment of our management and Board of Directors.
Our amended and restated certificate of incorporation and amended and restated bylaws contain provisions that could have the effect of delaying or preventing changes in control or changes in our management or our Board of Directors. These provisions include: (1) a classified Board of Directors with three-year staggered terms, which may delay the ability of stockholders to change the membership of a majority of our Board of Directors; (2) no cumulative voting in the election of directors, which limits the ability of minority stockholders to elect director candidates; (3) the exclusive right of our Board of Directors to elect a director to fill a vacancy created by the expansion of the Board of Directors or the resignation, death or removal of a director, which prevents stockholders from being able to fill vacancies on our Board of Directors; (4) the ability of our Board of Directors to issue shares of preferred stock and to determine the price and other terms of those shares, including preferences and voting rights, without stockholder approval, which could be used to significantly dilute the ownership of a hostile acquirer; (5) a prohibition on stockholder action by written consent, which forces stockholder action to be taken at an annual or special meeting of our stockholders; (6) the requirement that a special meeting of stockholders may be called only by the chairman of the Board of Directors, the chief executive officer or the Board of Directors, which may delay the ability of our stockholders to force consideration of a proposal or to take action, including the removal of directors; and (7) advance notice procedures that stockholders must comply with in order to nominate candidates to our Board of Directors or to propose matters to be acted upon at a stockholders’ meeting, which may discourage or deter a potential acquirer from conducting a solicitation of proxies to elect the acquirer’s own slate of directors or otherwise attempting to obtain control of us. We are also subject to certain anti-takeover provisions under Delaware law, which prohibits a corporation, in general, from engaging in a business combination with any holder of 15% or more of its capital stock unless the holder has held the stock for three years or, among other things, the Board of Directors has approved the transaction.
We may need additional capital in the future to finance our business.
Our working capital needs and cash use have continued to increase to support our business operations and growth, and we may need additional capital if our current plans and assumptions change. In January 2022, we terminated our loan and security agreement with Bank of America, N.A. If our financial position deteriorates, we may not be able to secure a similar source of financing to support our working capital needs on acceptable terms or at all. If future financings involve the issuance of equity securities, our then-existing stockholders would suffer dilution. If we raise additional debt financing, we may be subject to restrictive covenants that limit our ability to conduct our business. If we are unable to sustain positive operating income and cash flows from operations, our liquidity, results of operations and financial condition may be adversely affected. Furthermore, if we are unable to generate sufficient cash flows to support our operational needs, we may need to seek additional sources of liquidity, including borrowings, to support our working capital needs, even if we believe we have generated sufficient cash
22

flows to support our operational needs. There is no assurance that any other sources of liquidity may be available to us on acceptable terms or at all. If we are unable to generate sufficient cash flows or obtain other sources of liquidity, we will be forced to limit our development activities, reduce our investment in growth initiatives and institute cost-cutting measures, all of which would adversely impact our business and growth.
We do not currently intend to pay dividends on our common stock and, consequently, our stockholders’ ability to achieve a return on their investment will depend on appreciation in the price of our common stock.
We do not currently intend to pay a cash dividend on our common stock for the foreseeable future. We currently intend to invest our future earnings, if any, to fund our growth. Therefore, our stockholders are not likely to receive any dividends on our common stock for the foreseeable future.
Our failure to adequately address and resolve risks and uncertainties associated with acquisitions could have a material adverse impact on our financial condition and results of operations.
We may in the future acquire businesses, products or technologies to expand our product offerings and capabilities, customer base and business. We have evaluated and expect to continue to evaluate a wide array of potential strategic transactions. Such investments may involve significant risks and uncertainties, including distraction of management from current operations, unanticipated costs, and legal and regulatory challenges, all of which could have a material adverse impact on our financial condition and results of operations. In addition, the anticipated benefit of any acquisition may never materialize or the process of integrating acquired businesses, products or technologies may create unforeseen operating difficulties and expenditures.
23

ITEM 1B.    Unresolved Staff Comments
None.
ITEM 2.    Properties
We currently lease our corporate headquarters in San Jose, California. In addition to our headquarters site, we lease additional office space in the United States, China and India.
We believe that our facilities are in good condition and are generally suitable to meet our needs for the foreseeable future. We believe that prior to expiration of our current office space leases that we can renew or obtain suitable lease space on commercially reasonable terms for our business needs. In addition, we may continue to seek additional space as needed, and we believe this space will be available on commercially reasonable terms.
ITEM 3.    Legal Proceedings
From time to time, we are involved in various legal proceedings arising from the normal course of business. We are not currently a party to any legal proceedings that, if determined adversely to us, in our opinion, are currently expected to individually or in the aggregate have a material adverse effect on our business, operating results or financial condition taken as a whole.
ITEM 4.    Mine Safety Disclosures
Not applicable.
24


PART II
ITEM 5.    Market for Registrant’s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities
Comparative Stock Prices
Our common stock has been trading on the New York Stock Exchange, under the trading symbol “CALX” since our initial public offering on March 24, 2010. Prior to this time, there was no public market for our common stock.
Number of Common Stockholders
As of February 9, 2022, the approximate number of holders of our common stock was 560 (not including beneficial owners of stock held in street name).
Dividends
We have never declared or paid a cash dividend on our common stock, and we do not currently intend to pay any cash dividends on our common stock in the foreseeable future.
Recent Sales of Unregistered Securities
None.
Performance Graph
The following graph shows a comparison of the cumulative total stockholder return on our common stock with the cumulative total returns of the NYSE Composite Index, Russell 2000 Index and the S&P 500 Communications Equipment Index. The S&P 500 Communications Equipment Index replaces the Morningstar Communication Equipment Index in this analysis and going forward, as the latter data is no longer accessible. The latter index has been included with data through 2019. The graph tracks the performance of a $100 investment in our common stock and in each of the indexes during the last five fiscal years ended December 31, 2021. Data for the Russell 2000 Index and S&P 500 Communications Equipment assume reinvestment of dividends. Stockholder returns over the indicated period are based on historical data and should not be considered indicative of future stockholder returns.
calx-20211231_g1.jpg
This performance graph shall not be deemed “soliciting material” or to be “filed” with the SEC for purposes of Section 18 of the Securities Exchange Act of 1934, as amended, or otherwise subject to the liabilities under that Section, and shall not be deemed to be incorporated by reference into any filing of Calix, Inc. under the Securities Act of 1933, as amended.
25

ITEM 6.    [Reserved]

ITEM 7.    Management’s Discussion and Analysis of Financial Condition and Results of Operations
The Management’s Discussion and Analysis of Financial Condition and Results of Operations contains forward-looking statements regarding future events and our future results that are subject to the safe harbors created under the Securities Act of 1933 (the “Securities Act”) and the Securities Exchange Act of 1934 (the “Exchange Act”). All statements other than statements of historical facts are statements that could be deemed forward-looking statements. These statements are based on current expectations, estimates, forecasts and projections about the industry in which we operate and the beliefs and assumptions of our management. In some cases, forward-looking statements can be identified by the use of words such as “believe,” “could,”expect,” “may,” “estimate,” “continue,” “anticipate,” “intend,” “should,” “plan,” “predict,” “will,” “would,” “project,” “potential,” or the negative thereof or other comparable terminology. In addition, any statements that refer to projections of our future financial performance, our anticipated growth and trends in our business and industry and other characterizations of future events or circumstances are forward-looking statements. Readers are cautioned that these forward-looking statements are only predictions and are subject to risks, uncertainties and assumptions that are difficult to predict, including those identified in the Risk Factors discussed in Item 1A, in the discussion below, as well as in other sections of this Annual Report on Form 10-K. Therefore, actual results may differ materially and adversely from those expressed in any forward-looking statements. All forward-looking statements and reasons why results may differ included in this report are made as of the date hereof, and we assume no obligation to update these forward-looking statements or reasons why actual results might differ.
Overview
We are the leading global provider of cloud and software platforms, systems and services that focus on the access network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. These cloud and software platforms enable BSPs of all types and sizes to innovate and transform their businesses. Our BSP customers are empowered to utilize real-time data and insights from Calix platforms to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their brand through increased subscriber acquisition, loyalty and revenue and to reduce their operating costs, thereby increasing the value of their businesses and contributions to their communities.
We market our cloud and software platforms, systems and services to BSPs globally through our direct sales force as well as select resellers. Our customers range from smaller, regional BSPs to some of the world’s largest BSPs. We have enabled approximately 1,700 BSP customers purchasing directly and through partners to deploy passive optical, Active Ethernet and point-to-point Ethernet fiber access networks.
Our revenue increased to $679.4 million in 2021 from $541.2 million in 2020 and $424.3 million in 2019. Our revenue and potential revenue growth will depend on our ability to sell and license our cloud and software platforms, systems and services to strategically aligned customers of all types such as wireless internet service providers, fiber overbuilders, cable MSOs, municipalities and electric cooperatives in the United States and internationally. Our growth is also highly dependent on the speed and willingness of customers to adopt these platforms.
Revenue fluctuations result from many factors, including, but not limited to: increases or decreases in customer orders for our products and services, market, financial or other factors that may delay or materially impact customer purchasing decisions, non-availability of products due to supply chain challenges, including component and labor shortages and increasing lead times as well as disruptions as a result of the COVID-19 pandemic, contractual terms with customers that result in delayed revenue recognition and varying budget cycles and seasonal buying patterns of our customers. More specifically, our customers tend to spend less in the first quarter as they are finalizing their annual budgets, and in certain regions, customers are challenged by winter weather conditions that inhibit fiber deployment in outside infrastructure. Our revenue is also dependent upon our customers’ timing of purchases, capital expenditure plans and decisions to upgrade their network or adopt new technologies, including adoption of our software and cloud platform solutions, as well as our ability to grow our customer base.
Cost of revenue is strongly correlated to revenue and tends to fluctuate due to all of the above factors that may cause revenue fluctuations. Factors that have impacted our cost of revenue, and that we expect will impact cost of revenue in future periods, also include: changes in the mix of products delivered, customer location and regional mix, changes in the cost of our inventory, including higher costs due to materials shortages including components, supply constraints or unfavorable changes in trade policies, investments to support expansion of cloud and customer support offerings as well as our customer success organization, changes in product warranty and incurrence of retrofit costs, amortization of intangibles, asset write-offs, support fees for silicon-related development work for our products, allowances for obligations to our suppliers and inventory write-downs. Given the ongoing supply chain disruptions related to component shortages, longer lead times as a result of increased
26

global demand for certain components and disruptions related to the COVID-19 pandemic, we have experienced and are continuing to experience product supply delays and related challenges, and we expect these delays and related challenges to persist in the foreseeable future. Similarly, challenges in supply chain logistics have persisted due to greater global demand for transport services as well as labor shortages and resulted in increases in our global freight charges. In addition, we periodically elect to ship by air in order to meet delivery commitments to our customers, and air freight rates have increased from prior year levels. Cost of revenue also includes fixed expenses related to our internal operations, which could increase our cost of revenue as a percentage of revenue if our revenue declines.
Our gross profit and gross margin fluctuate based on timing of factors such as changes in customer mix and changes in the mix of products demanded and sold (and any related write-downs of existing inventory) and have in the past been negatively impacted by increases in mix of revenue from channel sales rather than direct sales or other unfavorable customer or product mix, shipment volumes and any related volume discounts, changes in our product and services costs, pricing decreases or discounts, new product introductions or upgrades to existing products, customer rebates and incentive programs due to competitive pressure or materials shortages, supply constraints, investments to support expansion of cloud and customer support offerings, tariffs or unfavorable changes in trade policies.
Our operating expenses fluctuate based on the following factors among others: changes in headcount and personnel costs, which comprise a significant portion of our operating expenses; variable compensation due to fluctuations in shipment volumes or level of achievement against performance targets; timing of research and development expenses, including investments in innovative solutions and new customer segments, prototype builds and outsourced development resources; investments in marketing programs; asset write-offs; investments in our business and information technology infrastructure; and fluctuations in stock-based compensation expenses due to timing of equity grants or other factors affecting vesting.
During the third quarter of 2021, we recognized a discrete tax benefit of $162.0 million based on our reassessment of the amount of our U.S. federal and state deferred tax assets that are more likely than not to be realized, primarily as a result of actual and projected increases in U.S. profitability in the current and future periods.
We had net income of $238.4 million in 2021 and $33.5 million in 2020 and a net loss of $17.7 million in 2019. As of December 31, 2021, we had an accumulated deficit of $430.7 million as a result of losses in previous years. Further, as a result of factors contributing to the fluctuations described above among other factors, many of which are outside our control, our quarterly operating results fluctuate from period to period. Comparing our operating results on a period-to-period basis may not be meaningful, and you should not rely on our past results as an indication of our future performance.
COVID-19 Pandemic
We are subject to risks and uncertainties as a result of the COVID-19 pandemic. The extent of the impact of the COVID-19 pandemic on our business is highly uncertain and difficult to predict, particularly as variants of the coronavirus continue to spread around the world. In March 2020, we instituted office closures, travel restrictions and a work-from-anywhere policy for substantially all our employees due to shelter-in-place mandates. In July 2021, we reopened our U.S. offices to fully-vaccinated employees, who choose to work in the office, and we lifted certain travel restrictions. The COVID-19 pandemic has had a prolonged impact on our supply chain operations due to restrictions, reduced capacity and limited availability from suppliers on whom we rely for sourcing components and materials and from third-party partners on whom we rely for manufacturing, warehousing and logistics services. Although demand for our products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers’ purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy, which could in turn impact our revenue and results of operations. Furthermore, our supply chain continues to face constraints primarily due to challenges in sourcing components and materials and managing global logistics and transport services for our products due to shortages and delays. The prolonged impact of COVID-19 could exacerbate these constraints or cause further supply chain disruptions.
Critical Accounting Policies and Estimates
Our financial statements are prepared in accordance with U.S. generally accepted accounting principles. These accounting principles require us to make certain estimates and judgments that can affect the reported amounts of assets and liabilities as of the date of the financial statements, as well as the reported amounts of revenue and expenses during the periods presented. We base our estimates, assumptions and judgments on historical experience and on various other factors that are believed to be reasonable under the circumstances. To the extent there are material differences between these estimates and actual results, our financial statements may be affected. We evaluate our estimates, assumptions and judgments on an ongoing basis.
We believe the following critical accounting policies affect our significant judgments and estimates used in the preparation of our financial statements.
27

Revenue Recognition
We derive revenue from contracts with customers primarily from the following and categorize our revenue as follows:

Systems include revenue from the sale of access and premises systems, software platform licenses and cloud-based software subscriptions.
Services include revenue from professional services, customer support, software- and cloud-based maintenance, extended warranty subscriptions, training and managed services.
Revenue is recognized when a performance obligation is satisfied, which occurs when control of the promised goods or services is transferred to the customer, in an amount that reflects the consideration we expect to be entitled to in exchange for those goods or services. Revenue from sales of access and premises systems is recognized when control is transferred to the customer, which is generally when the products are shipped. Revenue from software platform licenses, which provides the customer with a right to use the software as it exists, is generally recognized upfront when product is made available to the customer. Revenue from cloud-based software subscriptions, customer support, maintenance, extended warranty subscriptions and managed services is generally recognized ratably over the contract term. Revenue from professional services and training is recognized as the services are delivered.
A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Our hardware products contain both software and non-software components that function together to deliver the products’ essential functionality and therefore constitutes a single performance obligation as the promise to transfer the individual software and non-software components is not separately identifiable and, therefore, not distinct. Our contracts may include multiple performance obligations. For such arrangements, we allocate the contract’s transaction price to each performance obligation using the relative stand-alone selling price of each distinct good or service in the contract. We generally determine stand-alone selling prices based on the prices charged to customers or our best estimate of stand-alone selling price. Our estimate of stand-alone selling price is established considering multiple factors including, but not limited to, geographies, market conditions, competitive landscape, internal costs, gross margin objectives, characteristics of targeted customers and pricing practices. The determination of estimated stand-alone selling price is made through consultation with and formal approval by management, taking into consideration the go-to-market strategy.
Inventory Valuation and Supplier Purchase Commitments
Inventory, which primarily consists of finished goods purchased from CMs or ODMs, is stated at the lower of cost (determined by the first-in, first-out method) and net realizable value. Inbound shipping costs and tariffs are included in the cost of inventory. In addition, we, from time to time, procure component inventory primarily as a result of manufacturing discontinuation of critical components by suppliers. We regularly monitor inventory quantities on-hand and record write-downs for excess and obsolete inventory based on our estimate of demand for our products, potential obsolescence of technology, product life cycles and whether pricing trends or forecasts indicate that the carrying value of inventory exceeds our estimated selling price. We also evaluate our supplier purchase commitments, which have increased significantly due to extended lead-times in the current supply chain environment, and record a liability for excess and obsolete components based on our estimated demand of our products, potential obsolescence of technology and product life cycles. These factors are impacted by market and economic conditions, technology changes and new product introductions and require estimates that may include elements that are uncertain. Actual demand may differ from forecasted demand and may have a material effect on gross profit. If inventory is written down, a new cost basis is established that cannot be increased in future periods. The sale of previously reserved inventory has not had a material impact on our gross margin.
Income Taxes
We evaluate our tax positions and estimate our current tax exposure along with assessing temporary differences that result from different book to tax treatment of items not currently deductible for tax purposes. These differences result in deferred tax assets and liabilities on our Consolidated Balance Sheets, which are estimated based upon the difference between the financial statement and tax bases of assets and liabilities using the enacted tax rates that will be in effect when these differences reverse. In general, deferred tax assets represent future tax benefits to be received when certain expenses previously recognized in our Consolidated Statements of Comprehensive Income (Loss) become deductible expenses under applicable income tax laws or loss or credit carryforwards are utilized. Accordingly, realization of our deferred tax assets is dependent on future taxable income against which these deductions, losses and credits can be utilized.
We must assess the likelihood that our deferred tax assets will be recovered from future taxable income, and to the extent we believe that recovery is not more likely than not, we must establish a valuation allowance. Management judgment is required in determining our provision for income taxes, our deferred tax assets and liabilities and any valuation allowance recorded against our net deferred tax assets. Prior to the third quarter of 2021, we maintained a full valuation allowance against all deferred tax assets, because there was insufficient positive evidence to overcome the existing negative evidence, primarily consisting of
28

several years of consecutive reported pre-tax losses, such that it was not more likely than not that the deferred tax assets were realizable. In the third quarter of 2021, we reported positive operating performance for five consecutive quarters and continued to maintain a cumulative three-year pre-tax profit. In addition, we expect continued positive operating performance into the foreseeable future to allow for utilization of all operating losses and substantially all tax credit carryforwards prior to their expiration. After considering these factors, we determined that the positive evidence overcame the negative evidence and concluded that it was more likely than not that a substantial portion of our U.S. federal and certain other state deferred tax assets were realizable. We currently maintain a valuation allowance of $29.2 million for certain U.S. federal and California state deferred tax assets.
Recent Accounting Pronouncements Not Yet Adopted
There have been no additional accounting pronouncements or changes in accounting pronouncements that are significant or potentially significant to us.
Results of Operations for Years Ended December 31, 2021 and 2020
Revenue
The following table sets forth our revenue (dollars in thousands):
Years Ended December 31,2021 vs 2020 Change
20212020$%
Revenue:
Systems$642,577 $508,552 $134,025 26 %
Services36,817 32,687 4,130 13 %
$679,394 $541,239 $138,155 26 %
Percent of total revenue:
Systems95 %94 %
Services%%
100 %100 %
Our revenue is principally derived in the United States. Revenue generated in the United States represented approximately 83% of our total revenue in 2021 and 88% in 2020.
Our revenue increased by $138.2 million, or 26%, during 2021 compared with 2020 mostly due to higher systems revenue of $134.0 million. Services revenue increased $4.1 million in 2021 compared with 2020. The increase in systems revenue was primarily due to higher revenue from our small, regional customers and, to a lesser extent, our medium-sized customers, as service providers adopted our All Platform offerings and sought to provide a better Wi-Fi experience, partially offset by a decrease in revenue to large customers. The increase in services revenue was due to the continued ramp in our service offerings aligned with cloud and software products for our customers.
No customer accounted for more than 10% of our total revenue for 2021. Lumen accounted for more than 10% of our total revenue in 2020. See Note 12 “Revenue from Contracts with Customers” to the Consolidated Financial Statements set forth in this report for more details on concentration of revenue for the years presented.
Gross Profit and Gross Margin
The following table sets forth our gross profit and gross margin (dollars in thousands):
Years Ended December 31,2021 vs 2020 Change
20212020
$
%
Gross profit:
Systems$345,474 $256,914 $88,560 34 %
Services11,113 10,105 1,008 10 %
$356,587 $267,019 $89,568 34 %
Gross margin:
Systems53.8 %50.5 %
Services30.2 %30.9 %
52.5 %49.3 %
29

Gross profit increased by $89.6 million to $356.6 million during 2021 from $267.0 million during 2020. Gross margin increased to 52.5% during 2021 from 49.3% during 2020. The increase in systems gross margin in 2021 compared to the 2020 was mainly due to continued growth in our All Platform offerings along with favorable product and customer mix as well as a credit for previously paid tariffs due to product re-export of $4.3 million, or 70 basis points. This was partially offset by increased costs due to higher component costs and global freight charges due to the global supply-chain disruption and shortages.
Services gross margin decreased in 2021 due to continued investments in our customer success organization. This was partially offset by better service revenue mix as we shifted away from low gross margin deployment services to higher gross margin services aligned with our platform offerings.
Operating Expenses
Sales and Marketing Expenses
Sales and marketing expenses consist of personnel costs, employee sales commissions, marketing programs and events, software tools and travel-related expenses. The following table sets forth our sales and marketing expenses (dollars in thousands):
Years Ended December 31,2021 vs 2020 Change
20212020$%
Sales and marketing$125,909 $94,185 $31,724 34 %
Percent of total revenue19 %17 %
Sales and marketing expenses increased by $31.7 million during 2021 compared with 2020 primarily due to increases in personnel expenses of $19.7 million, mainly related to investments in sales headcount and higher sales incentive compensation, marketing expenses of $4.9 million, stock-based compensation of $2.5 million, software costs of $1.8 million, travel expenses of $1.1 million and outside services expenses of $0.9 million.
We expect our investments in sales and marketing will increase in absolute dollars, but be relatively consistent as a percentage of revenue, as we extend our market reach and grow our business in support of our key strategic initiatives.
Research and Development Expenses
Research and development expenses include personnel costs, outside contractor and consulting services, depreciation on lab equipment, costs of prototypes and overhead allocations. The following table sets forth our research and development expenses (dollars in thousands):
Years Ended December 31,2021 vs 2020 Change
20212020$%
Research and development$101,747 $85,258 $16,489 19 %
Percent of total revenue15 %16 %
The increase in research and development expenses of $16.5 million during 2021 compared with 2020 was mainly due to increases in outside services expenses of $7.7 million, personnel expenses of $6.7 million, stock-based compensation of $2.0 million and depreciation and amortization of $1.2 million. These increases were partially offset by lower facilities expenses of $1.2 million.
We expect our investments in research and development to increase in absolute dollars, but remain relatively consistent as a percentage of systems gross profit, as we expand the functionality and capabilities of our platforms.
General and Administrative Expenses
General and administrative expenses consist primarily of personnel costs related to our executive, finance, human resources, information technology and legal organizations, outside consulting services, insurance, facilities and fees for professional services. Professional services consist of outside audit, legal, accounting and tax services. The following table sets forth our general and administrative expenses (dollars in thousands):
Years Ended December 31,2021 vs 2020 Change
20212020$%
General and administrative$55,779 $44,444 $11,335 26 %
Percent of total revenue%%
30

The increase in general and administrative expenses of $11.3 million during 2021 compared with 2020 was mainly due to increases in stock-based compensation of $5.3 million, personnel expenses of $3.1 million, outside services expenses of $1.6 million and unallocated-facilities expenses of $1.4 million. Beginning in the third quarter of 2020, we changed our facility allocation to align with our work-from-anywhere initiative, and consequently, most of our facilities expenses are retained in general and administrative expenses. These increases were partially offset by a decrease in our bad debt expense of $1.0 million.
We expect our general and administrative investments to increase in absolute dollars but decline slightly as a percentage of revenue over time as revenue continues to grow.
Restructuring Charges (Benefit)
Responding to changes caused by the COVID-19 pandemic, we initiated a restructuring plan in June 2020 to accelerate our all-platform future and to align with a work-from-anywhere culture. We incurred restructuring charges of $6.3 million in 2020, consisting of facilities-related charges and severance and other termination related benefits. In 2021, we reversed $0.8 million in facilities-related charges as a result of subleasing the abandoned portion of our San Jose headquarters. See Note 4 “Balance Sheet Details” of the Notes to Consolidated Financial Statements included in this Annual Report on Form 10-K.
Interest and Other Expense, Net
The following table sets forth our interest and other expense, net (dollars in thousands):
Years Ended December 31,2021 vs 2020 Change
20212020$%
Interest and other expense, net$(1,284)$(2,562)$1,278 (50)%
Interest and other expense, net increased by $1.3 million in 2021 compared with 2020 mainly due to lower interest expenses and lower foreign currency losses.
Income Taxes
The following table sets forth our income taxes (dollars in thousands):
Years Ended December 31,2021 vs 2020 Change
20212020$%
Income taxes$(165,724)$800 $(166,524)(20,816)%
Effective tax rate(228)%%
During 2021, we recognized an income tax benefit of $162.0 million offset by current income taxes, based on our reassessment of the amount of our U.S. federal and other state deferred tax assets that are more likely than not to be realized, primarily as a result of actual and projected increases in U.S. profitability in the current and future periods. In performing our analysis, we used the most updated plans and estimates that we currently use to manage the underlying business and calculated the ability to utilize our deferred tax assets. We continue to maintain a valuation allowance of $29.2 million on certain U.S. federal and California state deferred tax assets that we believe are not more likely than not to be realized in future periods.
As of December 31, 2020, the total expense was primarily related to foreign activity. In 2020, based on a review of the positive and negative evidence, we concluded that the deferred tax assets were not more likely than not to be realized, which resulted in an immaterial domestic provision as the deferred tax assets were fully offset with the valuation allowance.
Our income taxes may be subject to fluctuation during the year and in future years as new information is obtained, which may affect the assumptions used to estimate the annual effective tax rate, including factors such as actual results differing from our estimates of pre-tax earnings in the various jurisdictions in which we operate, which could impact the recognition of our deferred tax assets, the recognition or de-recognition of tax benefits related to uncertain tax positions and changes in or the interpretation of tax laws in jurisdictions where we conduct business.
2020 Compared to 2019
For a comparison of our results of operations for the years ended December 31, 2020 and 2019, see Item 7 “Management’s Discussion and Analysis of Financial Condition and Results of Operations” of our Annual Report on Form 10-K for the year ended December 31, 2020 filed with the SEC on February 22, 2021.
31

Liquidity and Capital Resources
We have funded our operations and investing activities primarily through cash flow generated from operations, sales of our common stock, including an underwritten public offering in August 2020, and various borrowing arrangements. As of December 31, 2021, we had cash, cash equivalents and marketable securities of $204.3 million, which consisted of deposits held at banks and major financial institutions and highly liquid marketable securities such as U.S. government agency securities and commercial paper. This includes $3.6 million of cash primarily held by our foreign subsidiaries. As of December 31, 2021, our liability for taxes that would be payable as a result of repatriation of undistributed earnings of our foreign subsidiaries to the United States was not significant and limited to withholding taxes considering our existing net operating loss carryovers.
The following table presents the cash inflows and outflows by activity during 2021 and 2020 (in thousands):
Years Ended December 31,
20212020
Net cash provided by operating activities$56,793 $51,409 
Net cash used in investing activities(110,661)(60,801)
Net cash provided by financing activities24,383 42,147 
Operating Activities
Our operating activities provided cash of $56.8 million in 2021 and $51.4 million in 2020. The increase in net cash provided by operating activities during 2021 as compared to 2020 was due primarily to a favorable change in our net operating results of $44.1 million after adjustment of non-cash charges partially offset by a $38.7 million net cash outflow resulting from changes in operating assets and liabilities. We had a non-cash benefit from deferred income taxes of $168.4 million offset by non-cash charges of stock-based compensation of $24.2 million and depreciation and amortization of $15.0 million.
In 2021, cash outflows from changes in operating assets and liabilities primarily consisted of increases in inventory of $36.6 million to support revenue growth and to mitigate supply chain shortages and disruptions; in prepaid expenses and other assets of $27.1 million mainly due to advance payments to our supply chain partners and capitalized sales commissions; and in accounts receivable of $15.8 million due to increased revenue. These changes were partially offset by increases in accounts payable of $16.0 million due to increased inventory purchases; in deferred revenue of $10.4 million due to Calix Cloud subscriptions, support contracts and extended warranties; and in total accrued liabilities of $0.7 million, mainly related to component inventory held at suppliers and accrued freight.
Investing Activities
In 2021, cash used in investing activities of $110.7 million consisted of net purchases of marketable securities of $100.2 million and capital expenditures of $10.5 million, primarily related to purchases of test equipment and computer equipment.
Financing Activities
In 2021, net cash provided by financing activities of $24.4 million primarily consisted of proceeds from the issuance of common stock related to our equity plans of $25.6 million. This was partially offset by payments related to a financing arrangement of $1.2 million.
2020 Compared to 2019
For a discussion of our liquidity and capital resources and our cash flow activities for the years ended December 31, 2020 and 2019, see Item 7 “Management’s Discussion and Analysis of Financial Condition and Results of Operations,” of our Annual Report on Form 10-K for the year ended December 31, 2020, filed with the SEC on February 22, 2021.
32

Working Capital and Capital Expenditure Needs
We generated positive operating cash flow for three consecutive years and ended fiscal 2021 with $204.3 million in cash, cash equivalents and marketable securities. In January 2022, we terminated our loan and security agreement with Bank of America, N.A. The BofA Loan Agreement provided for a revolving facility up to a principal amount of up to $35.0 million and would have expired in January 2023. As of December 31, 2021 and 2020, we had no outstanding borrowings.
In the third quarter of fiscal 2020, we completed an underwritten public offering of 3,220,000 shares of our common stock at $20.00 per share, including a full exercise by the Underwriters of their option to purchase an additional 420,000 shares of Common Stock, for net proceeds of $60.1 million after deducting the underwriting discount and expenses paid by us. We used the net proceeds to repay the line of credit and increase our capital available to invest in our future growth, especially during uncertain times.
Our material cash commitments include non-cancelable firm purchase commitments, normal recurring trade payables, compensation-related and expense accruals, operating leases and revenue-share obligations. We believe that our outsourced approach to manufacturing provides us significant flexibility in both managing inventory levels and financing our inventory. In the event that our revenue plan does not meet our expectations, we may be required to curtail or eliminate expenditures to mitigate the impact on our working capital.
We believe, based on our current operating plan and expected operating cash flows, that our existing cash, cash equivalents and marketable securities will be sufficient to meet our anticipated cash needs for at least the next twelve months. If we are unable to execute on our current operating plan or continue to generate operating income and positive cash flows, our liquidity, results of operations and financial condition will be adversely affected, and we may need to seek other sources of liquidity, including the sale of additional equity or borrowing, to support our working capital needs. In addition, we may choose to seek other sources of liquidity even if we believe we have generated sufficient cash flows to support our operational needs. There is no assurance that any other sources of liquidity may be available to us on acceptable terms or at all. If we are unable to generate sufficient cash flows or obtain other sources of liquidity, we will be forced to limit our development activities, reduce our investment in growth initiatives and institute cost-cutting measures, all of which may adversely impact our business and potential growth.
Contractual Obligations and Commitments
Our principal commitments as of December 31, 2021 consisted of our contractual obligations under non-cancelable outstanding purchase obligations, operating lease obligations for office space and a revenue share obligation. The following table summarizes our contractual obligations as of December 31, 2021 (in thousands):
Payments Due by Period
TotalLess Than 1 Year1-3 Years3-5 Years
Non-cancelable purchase commitments (1)
$281,831 $241,557 $33,056 $7,218 
Operating lease obligations (2)
18,034 4,473 9,031 4,530 
Revenue share obligation (3)
14,010 4,731 9,279 — 
$313,875 $250,761 $51,366 $11,748 

(1) Represents outstanding purchase commitments to be delivered by our third-party manufacturers or other vendors. See Note 6 “Commitments and Contingencies” of the Notes to Consolidated Financial Statements included in this Annual Report on Form 10-K for further discussion regarding our outstanding purchase commitments related to our third-party manufacturers.
(2) Future minimum operating lease obligations in the table above primarily include payments for our office locations, which expire at various dates through 2026. See Note 6 “Commitments and Contingencies” of the Notes to Consolidated Financial Statements included in this Annual Report on Form 10-K for further discussion regarding our operating leases.
(3) Represents remaining payments related to a revenue-share obligation, including imputed interest associated with developed software product and related enhancements by an engineering service provider. The schedule reflects our expected revenue-share and true-up payments based on our revenue projections for the developed products over a sales period through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. See Note 4 “Balance Sheet Details” of the Notes to Consolidated Financial Statements included in this Annual Report on Form 10-K for further discussion regarding our outstanding liability.
33

ITEM 7A.    Quantitative and Qualitative Disclosures About Market Risk
Interest Rate Risk
The primary objectives of our investment activity are to preserve principal, provide liquidity and maximize income without significantly increasing risk. By policy, we do not enter into investments for trading or speculative purposes. As of December 31, 2021, we had cash, cash equivalents and marketable securities of $204.3 million, which was held primarily in cash, money market funds and highly liquid marketable securities such as U.S. government agency securities and commercial paper. Due to the nature of these money market funds and highly liquid marketable securities, we believe that we do not have any material exposure to changes in the fair value of our cash equivalents and marketable securities as a result of changes in interest rates.
Foreign Currency Exchange Risk
Our primary foreign currency exposures are described below.
Economic Exposure
The direct effect of foreign currency fluctuations on our sales and expenses has not been material because our sales and expenses are primarily denominated in U.S. dollars, or USD. However, we are indirectly exposed to changes in foreign currency exchange rates to the extent of our use of foreign CMs whom we pay in USD. Increases in the local currency rates of these vendors in relation to USD could cause an increase in the price of products that we purchase. Additionally, if the USD strengthens relative to other currencies, such strengthening could have an indirect effect on our sales to the extent it raises the cost of our products to non-U.S. customers and thereby reduces demand. A weaker USD could have the opposite effect. The precise indirect effect of currency fluctuations is difficult to measure or predict because our sales are influenced by many factors in addition to the impact of such currency fluctuations.
Translation Exposure
Our sales contracts are primarily denominated in USD and, therefore, the majority of our revenue is not subject to foreign currency risk. We are directly exposed to changes in foreign exchange rates to the extent such changes affect our expenses related to our foreign assets and liabilities with our subsidiaries in China, India and the United Kingdom, whose functional currencies are Chinese Renminbi, or RMB, Indian Rupee, or INR, and British Pounds Sterling, or GBP.
Our operating expenses are incurred primarily in the United States, in China associated with our research and development operations that are maintained there, in India for our new center of excellence and in the United Kingdom for our international sales and marketing activities. Our operating expenses are generally denominated in the functional currencies of our subsidiaries in which the operations are located. The percentages of our operating expenses denominated in the following currencies for the indicated fiscal years were as follows:
Years Ended December 31,
2021 2020 2019
USD92 %92 %90 %
RMB
GBP
INR— — — 
100 %100 %100 %
If USD had appreciated or depreciated by 10%, relative to RMB, GBP and INR, our operating expenses for 2021 would have decreased or increased by approximately $2.3 million, or approximately 1%. We do not currently enter into forward exchange contracts to hedge exposure denominated in foreign currencies or any derivative financial instruments. In the future, we may consider entering into hedging transactions to help mitigate our foreign currency exchange risk.
Foreign exchange rate fluctuations may also adversely impact our financial position as the assets and liabilities of our foreign operations are translated into USD in preparing our Consolidated Balance Sheets. The effect of foreign exchange rate fluctuations on our consolidated financial position for the year ended December 31, 2021 was a net translation gain of $50,000. This gain is recognized as an adjustment to stockholders’ equity through “Accumulated other comprehensive loss.”
Transaction Exposure
We have certain assets and liabilities, primarily accounts receivables and accounts payable (including inter-company transactions) that are denominated in currencies other than the relevant entity’s functional currency. In certain circumstances, changes in the functional currency value of these assets and liabilities create fluctuations in our reported consolidated financial position, cash flows and results of operations. Transaction gains and losses on these foreign currency denominated assets and
34

liabilities are recognized each period within “Other income (expense), net” in our Consolidated Statements of Comprehensive Income (Loss). During the year ended December 31, 2021, we recognized a net loss related to these foreign exchange assets and liabilities of approximately $0.2 million.
35

ITEM 8.     Financial Statements and Supplementary Data

36

Report of Independent Registered Public Accounting Firm
To the Stockholders and Board of Directors
Calix, Inc.:

Opinions on the Consolidated Financial Statements and Internal Control Over Financial Reporting
We have audited the accompanying consolidated balance sheets of Calix, Inc. and subsidiaries (the Company) as of December 31, 2021 and 2020, the related consolidated statements of comprehensive income (loss), stockholders’ equity, and cash flows for each of the years in the three-year period ended December 31, 2021, and the related notes (collectively, the consolidated financial statements). We also have audited the Company’s internal control over financial reporting as of December 31, 2021, based on criteria established in Internal Control Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission.
In our opinion, the consolidated financial statements referred to above present fairly, in all material respects, the financial position of the Company as of December 31, 2021 and 2020, and the results of its operations and its cash flows for each of the years in the three-year period ended December 31, 2021, in conformity with U.S. generally accepted accounting principles. Also in our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December 31, 2021 based on criteria established in Internal Control Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission.
Basis for Opinions
The Company’s management is responsible for these consolidated financial statements, for maintaining effective internal control over financial reporting, and for its assessment of the effectiveness of internal control over financial reporting, included in the accompanying Management’s Report on Internal Control Over Financial Reporting. Our responsibility is to express an opinion on the Company’s consolidated financial statements and an opinion on the Company’s internal control over financial reporting based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (PCAOB) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.
We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audits to obtain reasonable assurance about whether the consolidated financial statements are free of material misstatement, whether due to error or fraud, and whether effective internal control over financial reporting was maintained in all material respects.
Our audits of the consolidated financial statements included performing procedures to assess the risks of material misstatement of the consolidated financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the consolidated financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the consolidated financial statements. Our audit of internal control over financial reporting included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, and testing and evaluating the design and operating effectiveness of internal control based on the assessed risk. Our audits also included performing such other procedures as we considered necessary in the circumstances. We believe that our audits provide a reasonable basis for our opinions.
Definition and Limitations of Internal Control Over Financial Reporting
A company’s internal control over financial reporting is a process designed 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. A company’s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company’s assets that could have a material effect on the financial statements.
Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.
Critical Audit Matters
The critical audit matters communicated below are matters arising from the current period audit of the consolidated financial statements that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the consolidated financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate opinions on the critical audit matters or on the accounts or disclosures to which they relate.
37

Evaluation of the recognition and realizability of deferred tax assets
As discussed in Note 10 to the consolidated financial statements, the Company assesses the estimated future realizability of the gross carrying value of its deferred tax assets at each reporting period. A valuation allowance is required when, based upon an assessment of various factors, including recent operating loss history, anticipated future earnings, and prudent and reasonable tax planning strategies, it is more likely than not that some portion of the deferred tax assets will not be realized. In addition, the Company recognizes the financial statement effects of uncertain tax positions when it is more likely than not that such positions will be sustained upon audit. During 2021, the Company recognized an income tax benefit of $165.7 million based on management’s reassessment of the amount of its U.S. federal and other state deferred tax assets that are more likely than not to be realized. The Company’s deferred tax assets include U.S. federal net operating loss and research and development carryforwards (hereinafter, collectively referred to as “carryforward assets”) of $388.2 million and $37.1 million as of December 31, 2021, respectively. The Company had unrecognized tax benefits of $26.0 million as of December 31, 2021, primarily related to the carryforward assets.
We identified the evaluation of the realizability of the carryforward assets, and the related unrecognized tax positions associated with these carryforward assets, as a critical audit matter. Subjective and challenging auditor judgment was required to: (i) evaluate the realizability of the carryforward assets based on the projected future taxable income over the periods in which those carryforward assets will be utilized, and (ii) assess the application of tax laws to utilize the carryforward assets, which have begun to expire.
The following are the primary procedures we performed to address this critical audit matter. We evaluated the design and tested the operating effectiveness of certain internal controls related to the Company’s evaluation of the realizability of the carryforward assets, and the related unrecognized tax positions, including controls related to the application of tax laws and the projections of future taxable income. We evaluated positive and negative evidence used in assessing whether the carryforward assets were more likely than not to be realized in the future, including evaluating the nature, frequency, and severity of current and cumulative taxable income or losses, as well as future projections of taxable income. We evaluated the reasonableness of management’s projections of future taxable income considering (i) recent financial profitability trends of the Company, (ii) consistency with industry data and economic trends, (iii) whether these assumptions were consistent with evidence obtained in other areas of the audit, and (iv) the Company’s ability to project future earnings based on comparisons of the Company’s previous annual projections to actual results. We performed a sensitivity analysis over the amount and timing of future taxable income to assess the impact on utilization of the carryforward assets. We read historical financial information to evaluate the more likely than not tax position associated with the U.S. federal net operating loss carryforwards. We involved income tax professionals with specialized skills and knowledge, who assisted in assessing the Company’s application of tax laws to utilize the carryforward assets, which have begun to expire, and evaluating the recognition and realizability of the carryforward assets.
Evaluation of net realizable value of inventory and excess and obsolete inventory liabilities
As discussed in Notes 1, 4 and 6 to the consolidated financial statements, the Company has finished goods inventories with a carrying value of $88.9 million and excess and obsolete inventory liabilities of $7.6 million as of December 31, 2021. The Company adjusts the inventory carrying value for excess or obsolete inventory based on assumptions about future demand for products, potential obsolescence of technology, product life cycle, and whether pricing trends or forecasts indicate that the carrying value of inventory exceeds the estimated selling price. These factors are impacted by market and economic conditions, technology changes and new product introductions and require significant estimates that may include elements that are uncertain. The Company also records a liability and a charge to cost of systems revenue for estimated losses on inventory the Company is obligated to purchase from its manufacturers when the inventory has been rendered excess and obsolete due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of products by its suppliers, or in cases where the Company has committed inventory levels that greatly exceed projected demand.
We identified the evaluation of net realizable value of inventory and excess and obsolete inventory liabilities as a critical audit matter. Evaluation of the Company’s forecasted demand, including the Company’s determination of the effect of market and economic conditions, technology and design changes, new product introductions, and discontinuation of products by its suppliers required significant auditor judgment.
The following are the primary procedures we performed to address this critical audit matter. We evaluated the design and tested the operating effectiveness of certain internal controls related to the Company’s inventory process. This included controls over the forecasted demand and the Company’s determination of the effect of market and economic conditions, technology and design changes, new product introductions, and discontinuation of products. We evaluated the Company’s forecasted demand for a selection of products by assessing historical sales trends and customer order backlog. For a selection of inventory items, we (1) reperformed the analysis provided by the Company to assess the accuracy of the net realizable value of inventory by comparing historical sales activity, customer order backlog, or demand forecasts to the inventory on hand quantities, and (2) performed inquiries of Company’s personnel and inspected documents regarding market and economic conditions, technology and design changes, and new product introductions. We evaluated the reasonableness of management’s assumptions used to estimate the excess and obsolete inventory liabilities considering (1) inquiries of Company’s personnel regarding market and economic conditions, technology and design changes, or supplier discontinuations, (2) historical reimbursements to suppliers for excess and obsolete component inventory, (3) the excess and obsolete liabilities and purchase commitment trends, and (4) the sensitivity of the assumptions to the impact of the excess and obsolete liabilities.

38

/s/ KPMG LLP
We have served as the Company’s auditor since 2015.
Santa Clara, California
February 22, 2022
39

CALIX, INC.
CONSOLIDATED BALANCE SHEETS
(In thousands, except par value)
 
December 31,
20212020
ASSETS
Current assets:
Cash and cash equivalents$51,333 $80,807 
Marketable securities153,002 52,982 
Accounts receivable, net85,219 69,419 
Inventory88,880 52,268 
Prepaid expenses and other current assets30,811 11,414 
Total current assets409,245 266,890 
Property and equipment, net21,783 20,381 
Right-of-use operating leases12,182 11,741 
Deferred tax assets168,962  
Goodwill116,175 116,175 
Other assets13,685 12,165 
$742,032 $427,352 
LIABILITIES AND STOCKHOLDERS’ EQUITY
Current liabilities:
Accounts payable$29,061 $13,115 
Accrued liabilities71,597 68,736 
Deferred revenue27,478 19,189 
Total current liabilities128,136 101,040 
Long-term portion of deferred revenue22,016 19,904 
Operating leases12,376 12,946 
Other long-term liabilities11,076 13,137 
Total liabilities173,604 147,027 
Commitments and contingencies (See Note 6)
Stockholders’ equity:
Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of December 31, 2021 and 2020
  
Common stock, $0.025 par value; 100,000 shares authorized; 64,274 shares issued and outstanding as of December 31, 2021, and 62,122 shares issued and outstanding as of December 31, 2020
1,607 1,553 
Additional paid-in capital997,855 948,055 
Accumulated other comprehensive loss(320)(191)
Accumulated deficit(430,714)(669,092)
Total stockholders’ equity568,428 280,325 
$742,032 $427,352 

See accompanying notes to consolidated financial statements.

40

CALIX, INC.
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (LOSS)
(In thousands, except per share data)
 
 Years Ended December 31,
202120202019
Revenue:
Systems$642,577 $508,552 $393,231 
Services36,817 32,687 31,099 
Total revenue679,394 541,239 424,330 
Cost of revenue:
Systems297,103 251,638 211,309 
Services25,704 22,582 25,096 
Total cost of revenue322,807 274,220 236,405 
Gross profit356,587 267,019 187,925 
Operating expenses:
Sales and marketing125,909 94,185 82,553 
Research and development101,747 85,258 81,184 
General and administrative55,779 44,444 37,115 
Restructuring charges (benefit)(786)6,286  
Loss on asset retirement  2,474 
Total operating expenses282,649 230,173 203,326 
Operating income (loss)73,938 36,846 (15,401)
Interest and other expense, net:
Interest expense, net(402)(1,585)(958)
Other expense, net(882)(977)(173)
Total interest and other expense, net(1,284)(2,562)(1,131)
Income (loss) before income taxes72,654 34,284 (16,532)
Income taxes(165,724)800 1,162 
Net income (loss)$238,378 $33,484 $(17,694)
Net income (loss) per common share:
Basic$3.77 $0.57 $(0.32)
Diluted$3.51 $0.54 $(0.32)
Weighted-average number of shares used to compute net income (loss) per common share:
Basic63,277 59,074 54,993 
Diluted67,856 61,998 54,993 
Net income (loss)$238,378 $33,484 $(17,694)
Other comprehensive income (loss), net of tax:
Unrealized loss on available-for-sale marketable securities, net(179)  
Foreign currency translation adjustments, net50 663 (101)
Total other comprehensive income (loss), net of tax(129)663 (101)
Comprehensive income (loss)$238,249 $34,147 $(17,795)

See accompanying notes to consolidated financial statements.
41

CALIX, INC.
CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY
(In thousands)
Accumulated
AdditionalOtherTotal
Common StockPaid-inComprehensiveAccumulatedTreasuryStockholders’
SharesAmountCapitalLossDeficitStockEquity
Balance as of December 31, 201853,955 $1,482 $876,073 $(753)$(684,882)$(39,986)$151,934 
Stock-based compensation— — 11,181 — — — 11,181 
Issuance of common stock under equity incentive plans, net of forfeitures2,493 63 8,645 — — — 8,708 
Net loss— — — — (17,694)— (17,694)
Other comprehensive loss— — — (101)— — (101)
Balance as of December 31, 201956,448 1,545 895,899 (854)(702,576)(39,986)154,028 
Stock-based compensation— — 13,960 — — — 13,960 
Issuance of common stock under equity incentive plans, net of forfeitures2,454 60 18,067 — — — 18,127 
Issuance of common stock in connection with public offering, net of expenses3,220 82 59,981 — — — 60,063 
Treasury stock retirement(134)(39,852)— — 39,986  
Net income— — — — 33,484 — 33,484 
Other comprehensive income— — — 663 — — 663 
Balance as of December 31, 202062,122 1,553 948,055 (191)(669,092) 280,325 
Stock-based compensation— — 24,230 — — — 24,230 
Issuance of common stock under equity incentive plans, net of forfeitures2,152 54 25,570 — — — 25,624 
Net income— — — — 238,378 — 238,378 
Other comprehensive loss— — — (129)— — (129)
Balance as of December 31, 202164,274 $1,607 $997,855 $(320)$(430,714)$ $568,428 

See accompanying notes to consolidated financial statements.

42

CALIX, INC.
CONSOLIDATED STATEMENTS OF CASH FLOWS
(In thousands)
 Years Ended December 31,
202120202019
Operating activities:
Net income (loss)$238,378 $33,484 $(17,694)
Adjustments to reconcile net income (loss) to net cash provided by operating activities:
Stock-based compensation24,230 13,960 11,181 
Depreciation and amortization15,012 13,718 10,316 
Deferred income taxes(168,426)  
Asset retirements and write-downs 3,914 2,636 
Changes in operating assets and liabilities:
Accounts receivable, net(15,800)(22,910)20,517 
Inventory(36,612)(12,116)9,998 
Prepaid expenses and other assets(27,074)773 (63)
Accounts payable16,025 2,190 (29,440)
Accrued liabilities3,273 11,922 (1,836)
Deferred revenue10,400 3,596 2,401 
Other long-term liabilities(2,613)2,878 (3,362)
Net cash provided by operating activities56,793 51,409 4,654 
Investing activities:
Purchases of property and equipment(10,463)(7,819)(13,353)
Purchases of marketable securities(298,092)(72,982) 
Maturities of marketable securities197,894 20,000  
Net cash used in investing activities(110,661)(60,801)(13,353)
Financing activities:
Proceeds from common stock issuances related to employee benefit plans25,624 18,127 8,708 
Payments related to financing arrangements(1,241)(5,758)(2,737)
Proceeds from the sale of common stock in connection with public offering, net of expenses 60,063  
Proceeds from line of credit 30,000 143,300 
Payments related to the line of credit (60,285)(143,300)
Net cash provided by financing activities24,383 42,147 5,971 
Effect of exchange rate changes on cash and cash equivalents11 595 (89)
Net increase (decrease) in cash and cash equivalents(29,474)33,350 (2,817)
Cash and cash equivalents at beginning of year80,807 47,457 50,274 
Cash and cash equivalents at end of year$51,333 $80,807 $47,457 
Supplemental disclosures of cash flow information:
Interest paid$631 $1,686 $1,123 
Income taxes paid$5,197 751 403 
Non-cash investing activities:
Changes in accounts payable and accrued liabilities related to purchases of property and equipment$194 $(597)$(2,435)

See accompanying notes to consolidated financial statements.
43

CALIX, INC.
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
1. Description of Business and Significant Accounting Policies
Company
Calix, Inc. (together with its subsidiaries, “Calix” or the “Company”) was incorporated in August 1999 and is a Delaware corporation. The Company is the leading global provider of cloud and software platforms, systems and services that focus on the access network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. These cloud and software platforms enable broadband service providers (“BSPs”) of all types and sizes to innovate and transform their businesses. The Company’s BSP customers are empowered to utilize real-time data and insights from Calix platforms to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their businesses through increased subscriber acquisition, loyalty and revenue, thereby increasing the value of their businesses and contributions to their communities.
Basis of Presentation and Accounting Guidance
The accompanying consolidated financial statements have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) and U.S. generally accepted accounting principles (“GAAP”). All significant intercompany balances and transactions have been eliminated in consolidation. Any reference in these notes to applicable accounting guidance is meant to refer to the authoritative U.S. GAAP as found in the Financial Accounting Standards Board (“FASB”) Accounting Standards Codification (“ASC”).
Risks and Uncertainties
The Company is subject to risks and uncertainties as a result of the COVID-19 pandemic. The extent of the impact of the COVID-19 pandemic on the Company’s business is highly uncertain and difficult to predict, particularly as variants of the coronavirus continue to spread around the world. Although the availability of vaccines has increased, there are no assurances as to when the pandemic will become endemic. In March 2020, the Company instituted office closures, travel restrictions and a work-from-anywhere policy for substantially all of its employees due to shelter-in-place mandates. In July 2021, the Company reopened its U.S. offices to fully-vaccinated employees who choose to work in the office and lifted certain travel restrictions. The COVID-19 pandemic has had a prolonged impact on the Company’s supply chain operations due to restrictions, reduced capacity and limited availability from suppliers on whom the Company relies for sourcing components and materials and from third-party partners on whom the Company relies for manufacturing, warehousing and logistics services. Although demand for the Company’s products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers’ purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy, which could in turn impact the Company’s revenue and results of operations. Furthermore, the Company’s supply chain continues to face constraints primarily due to challenges in sourcing components and materials for the Company’s products. The prolonged impact of COVID-19 could exacerbate these constraints or cause further supply chain disruptions. As of the issuance date of these condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact the Company’s financial condition, liquidity or results of operations remains uncertain.
Use of Estimates
The preparation of financial statements is in conformity with U.S. GAAP, which requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. For the Company, these estimates include, but are not limited to: allowances for doubtful accounts and sales returns, excess and obsolete inventory, allowances for obligations to its contract manufacturers, valuation of stock-based compensation, useful lives assigned to long-lived assets, standard and extended warranty costs, realizability of deferred tax assets and uncertain tax positions and contingencies. Actual results could differ from those estimates, and such differences could be material to the Company’s financial position and results of operations.
Revenue Recognition
The Company derives revenue from contracts with customers primarily from the following and categorizes its revenue as follows:
Systems include revenue from the sale of access and premises systems, software platform licenses and cloud-based software subscriptions.
Services include revenue from customer support, software- and cloud-based maintenance, extended warranty subscriptions, professional services, training and managed services.
44

Revenue is recognized when a performance obligation is satisfied, which occurs when control of the promised goods or services is transferred to the customer, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those goods or services. Revenue from sales of access and premises systems is recognized when control is transferred to the customer, which is generally when the products are shipped. Revenue from software platform licenses, which provides the customer with a right to use the software as it exists, is generally recognized upfront when made available to the customer. Revenue from cloud-based software subscriptions, customer support, maintenance, extended warranty subscriptions and managed services is generally recognized ratably over the contract term. Revenue from professional services and training is recognized as the services are delivered.
A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The Company’s hardware products contain both software and non-software components that function together to deliver the products’ essential functionality and therefore constitutes a single performance obligation as the promise to transfer the individual software and non-software components is not separately identifiable and, therefore, not distinct. The Company’s contracts may include multiple performance obligations. For such arrangements, the Company allocates the contract’s transaction price to each performance obligation using the relative stand-alone selling price of each distinct good or service in the contract. The Company generally determines stand-alone selling prices based on the prices charged to customers or its best estimate of stand-alone selling price. The Company’s estimate of stand-alone selling price is established considering multiple factors including, but not limited to, geographies, market conditions, competitive landscape, internal costs, gross margin objectives, characteristics of targeted customers and pricing practices. The determination of estimated stand-alone selling price is made through consultation with and formal approval by management, taking into consideration the go-to-market strategy.
Cost of Revenue
Cost of revenue consists primarily of finished goods inventory purchased from the Company’s contract manufacturers, payroll and related expenses associated with managing the relationships with contract manufacturers, depreciation of manufacturing test equipment, warranty and retrofit costs, excess and obsolete inventory costs, allowances for obligations to its contract manufacturers, shipping charges and amortization of certain intangible assets. It also includes contractor and other costs of services incurred directly related to the delivery of services to customers.
Warranty and Retrofit
The Company offers limited warranties for its hardware products for a period of one, three or five years, depending on the product type. The Company recognizes estimated costs related to warranty activities as a component of cost of revenue upon product shipment or upon identification of a specific product failure. Under certain circumstances, the Company also provides fixes on specifically identified performance failures for products that are outside of the standard warranty period and recognizes estimated costs related to retrofit activities as a component of cost of revenue upon identification of such product failures. The Company recognizes estimated warranty and retrofit costs when it is probable that a liability has been incurred and the amount of loss is reasonably estimable. The estimates are based upon historical and projected product failure and claim rates, historical costs incurred in correcting product failures and information available related to any specifically identified product failures. Judgment is required in estimating costs associated with warranty and retrofit activities, and the Company's estimates are limited to information available to the Company at the time of such estimates. In some cases, such as when a specific product failure is first identified or a new product is introduced, the Company may initially have limited information and limited historical failure and claim rates upon which to base its estimates, and such estimates may require revision in future periods. The recorded amount is adjusted from time to time for specifically identified warranty and retrofit exposure. Actual warranty and retrofit expenses are charged against the Company’s estimated warranty and retrofit liability when incurred. Factors that affect the Company’s warranty and retrofit liability include the number of active installed units and historical and anticipated rates of warranty and retrofit claims and cost per claim.
Stock-Based Compensation
Stock-based compensation expense associated with stock options, performance stock options (“PSOs”), restricted stock units (“RSUs”) and purchase rights under the Amended and Restated Employee Stock Purchase Plan (the “ESPP”) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the “NQ ESPP”) is measured at the grant date based on the fair value of the award, and is recognized, net of forfeitures, as expense over the remaining requisite service period (generally the vesting period) on a straight-line basis.
The fair value of stock option and employee stock purchase right under the ESPP is estimated at the grant date using the Black-Scholes option valuation model. The fair value of RSUs and employee stock purchase right under the NQ ESPP is based on closing market price of the Company’s common stock on the date of grant.
45

Stock-based compensation expense associated with PSOs with graded vesting features and which contain both a performance and a service condition is measured based on fair value of stock options estimated at the grant date using the Black-Scholes option valuation model, and is recognized, net of forfeitures, as expense over the requisite service period using the graded vesting attribution method.
Compensation expense is only recognized if the Company has determined that it is probable that the performance condition will be met. The Company reassesses the probability of vesting at each reporting period and adjusts compensation expense based on its probability assessment.
Loss Contingencies
From time to time, the Company is involved in legal proceedings arising from the normal course of business activities. The Company evaluates the likelihood of an unfavorable outcome of legal proceedings to which it is a party and accrues a loss contingency when the loss is probable and reasonably estimable. Assessing legal contingencies involves significant judgment and estimates, and the outcome of litigation is inherently uncertain and subject to numerous factors outside the Company’s control. Significant judgment is required when the Company assesses the likelihood of any adverse judgments or outcomes, including the potential range of possible losses, and whether losses are probable and reasonably estimable.
Because of uncertainties related to these matters, the Company bases its estimates of whether a loss contingency is probable or reasonably possible, as well as the reasonable range of possible losses associated with each loss contingency, only on the information available at the time. As additional information becomes available, and at least quarterly, the Company reassesses the potential liability on each significant matter and may revise its estimates. These revisions could have a material impact on the Company’s business, operating results or financial condition. The actual outcome of these legal proceedings may materially differ from the Company’s estimates of potential liability, which could have a material adverse effect on the Company’s business, operating results or financial condition.
Credit Risk and Inventory Supplier Concentrations
Financial instruments that potentially subject the Company to significant concentrations of credit risk consist primarily of cash, cash equivalents, marketable securities and accounts receivable. Cash equivalents consist of money market funds and marketable securities with a maturity at the date of purchase of ninety days or less, which are invested through financial institutions in the United States. Deposits in and investments held by these financial institutions may, at times, exceed federally insured limits. The Company has not experienced any losses in such accounts. The Company also has approximately $3.6 million of cash held by its foreign subsidiaries in Brazil, China and the United Kingdom. Management believes that the financial institutions that hold the Company’s cash and cash equivalents are financially sound and, accordingly, minimal credit risk exists with respect to these cash and cash equivalents.
The Company depends primarily on a small number of outside contract manufacturers (“CMs”) and original design manufacturers (“ODMs”) for the bulk of its finished goods inventory. The Company generally purchases its products through purchase orders with its suppliers. While the Company seeks to maintain a sufficient supply of its products, the Company’s business and results of operations could be adversely affected by a stoppage or delay in receiving such products, the receipt of defective parts, an increase in price of such products or the Company’s inability to obtain lower prices from its CMs, ODMs and other suppliers in response to competitive pressures.
Fair Value of Financial Instruments
The carrying amounts of cash and cash equivalents, trade receivables, accounts payable and other accrued liabilities approximate their fair value due to their relatively short-term nature. Marketable securities are valued using quoted market prices in active markets to determine fair value.
Cash, Cash Equivalents and Marketable Securities
Cash equivalents and marketable securities are stated at amounts that approximate fair value based on quoted market prices.
The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as U.S. treasury bonds, corporate debt instruments, commercial paper and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent highly liquid U.S. treasury bonds, corporate debt instruments, commercial paper and U.S. government securities with maturities greater than 90 days at date of purchase. Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.
The Company’s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of comprehensive loss in the stockholders’ equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific
46

identification method and are reclassified from accumulated other comprehensive loss to results of operations as “Other income (expense), net.” Realized loss was de minimis for 2021.
For the Company’s available-for-sale debt securities in an unrealized loss position, the Company determines whether a credit loss exists. In this assessment, among other factors, the Company considers the extent to which the fair value is less than the amortized cost, any changes to the rating of the security by a rating agency, and adverse conditions specifically related to the security. If factors indicate a credit loss exists, an allowance for credit loss will be recorded to “Other income (expense), net,” limited by the amount that the fair value is less than the amortized cost basis. The amount of fair value change relating to all other factors will be recognized in other comprehensive loss.
See Note 2 “Cash, Cash Equivalents and Marketable Securities.”
Allowance for Doubtful Accounts
The Company maintains an allowance for doubtful accounts for expected credit losses at contract inception resulting from the inability of its customers to make required payments. The Company records a specific allowance and revises the expected loss based on an analysis of individual past-due balances. Additionally, based on historical write-offs and the Company’s collection experience, the Company records an additional allowance based on a percentage of outstanding receivables. The Company performs credit evaluations of its customers’ financial condition. These evaluations require judgment and are based on a variety of factors including, but not limited to, current economic trends, payment history and a financial review of the customer. Actual collection losses may differ from management’s estimates, and such differences could be material to the Company's financial position and results of operations.
Inventory Valuation and Supplier Purchase Commitments
Inventory, which primarily consists of finished goods purchased from CMs or ODMs, is stated at the lower of cost (determined by the first-in, first-out method) or market value. Inbound shipping costs and U.S. tariffs are included in cost of inventory. In addition, the Company, from time to time, procures component inventory primarily as a result of manufacturing discontinuation of critical components by suppliers. The Company regularly monitors inventory quantities on hand and records write-downs for excess and obsolete inventories based on the Company’s estimate of demand for its products, potential obsolescence of technology, product life cycles and whether pricing trends or forecasts indicate that the carrying value of inventory exceeds its estimated selling price. The Company also evaluates its supplier purchase commitments, which have increased significantly due to extended lead-times in the current supply chain environment, and records a liability for excess and obsolete components based on its estimated demand of our products, potential obsolescence of technology and product life cycles. These factors are impacted by market and economic conditions, technology changes and new product introductions and require significant estimates that may include elements that are uncertain. Actual demand may differ from forecasted demand and may have a material effect on gross profit. If inventory is written down, a new cost basis is established that cannot be increased in future periods. Shipments from suppliers before the Company receives them are recorded as in-transit inventory when title and the significant risks and rewards of ownership have passed to the Company.
Contract Costs
The Company capitalizes certain sales commissions related primarily to multi-year cloud-based software subscriptions and extended warranty support contracts.
Capitalized commissions are amortized as sales and marketing expenses over the period that the related revenue is recognized, which can be up to five years for extended warranty. The Company classifies the unamortized portion of deferred commissions as current or noncurrent based on the timing of when the Company expects to recognize the expense. The current and noncurrent portions of deferred commissions are included in “Prepaid expenses and other current assets” and “Other assets,” respectively, in the Company’s Consolidated Balance Sheets.
Property and Equipment
Property and equipment are stated at cost, less accumulated depreciation, and are depreciated using the straight-line method over the estimated useful life of each asset. Generally, computer equipment is depreciated over two years; purchased software is depreciated over three to five years; test equipment is depreciated over three years; furniture and fixtures are depreciated over seven years; and leasehold improvements are depreciated over the shorter of the respective lease term or the estimated useful life of the asset. Maintenance and repairs are charged to expense as incurred.
Goodwill
Goodwill was recorded as a result of the Company’s acquisitions of Occam Networks, Inc. in February 2011 and Optical Solutions, Inc. in February 2006. The Company records goodwill when consideration paid in a business acquisition exceeds the fair value of the net tangible assets and the identified intangible assets acquired. Goodwill is not amortized but instead is subject
47

to an annual impairment test or more frequently if events or changes in circumstances indicate that it may be impaired. The Company evaluates goodwill on an annual basis as of the end of the second quarter of each fiscal year. Management has determined that it operates as a single reporting unit and, therefore, evaluates goodwill impairment at the enterprise level.
At the end of the second quarter of 2021, the Company completed its annual goodwill impairment test. Based on its assessment of certain qualitative factors such as market capitalization, management concluded that the fair value of the Company was more likely than not greater than its carrying amount as of June 27, 2021. As such, it was not necessary to perform the two-step quantitative goodwill impairment test at the time.
There have been no significant events or changes in circumstances subsequent to the 2021 annual impairment test that would more likely than not indicate that the carrying value of goodwill may have been impaired as of December 31, 2021. There were no impairment losses for goodwill for the years ended December 31, 2021, 2020 or 2019.
Deferred Revenue
Deferred revenue results from transactions where the Company billed the customer for products or services and when cash payments are received or due prior to transferring control of the promised goods or services to the customer.
Payment terms to customers typically range from net 30 to net 90 days and vary by the size and location of customer and the products or services offered. The period between the transfer of control of the promised good or service to a customer and when payment is due is not significant.
Income Taxes
The Company evaluates its tax positions and estimates its current tax exposure along with assessing temporary differences that result from different book to tax treatment of items not currently deductible for tax purposes. These differences result in deferred tax assets and liabilities on the Company’s Consolidated Balance Sheets, which are estimated based upon the difference between the financial statement and tax bases of assets and liabilities using the enacted tax rates that will be in effect when these differences reverse. In general, deferred tax assets represent future tax benefits to be received when certain expenses previously recognized in the Company’s Consolidated Statements of Comprehensive Income (Loss) become deductible expenses under applicable income tax laws or loss or credit carryforwards are utilized. Accordingly, realization of the Company’s deferred tax assets is dependent on future taxable income against which these deductions, losses and credits can be utilized.
The Company must assess the likelihood that its deferred tax assets will be recovered from future taxable income, and to the extent the Company believes that recovery is not more likely than not, it must establish a valuation allowance. Management judgment is required in determining the Company’s provision for income taxes, our deferred tax assets and liabilities and any valuation allowance recorded against its net deferred tax assets. Prior to the third quarter of 2021, the Company maintained a 100% valuation allowance against all deferred tax assets, because there was insufficient positive evidence to overcome the existing negative evidence, primarily consisting of several years of consecutive reported pre-tax losses, such that it was not more likely than not that the deferred tax assets were realizable. In the third quarter of 2021, the Company had reported positive operating performance for five consecutive quarters and continued to maintain a cumulative three-year pre-tax profit. In addition, the Company expects continued positive operating performance into the foreseeable future to allow for utilization of all operating loss and substantially all tax credit carryforwards prior to their expiration. After considering these factors, the Company determined that the positive evidence overcame any negative evidence and concluded that it was more likely than not that a substantial portion of its U.S. federal and certain other state deferred tax assets were realizable. The Company currently maintains a valuation allowance of $29.2 million for certain U.S. federal and California state deferred tax assets.
Newly Adopted Accounting Standards
The Company did not adopt any new accounting standards in 2021 that were significant to the Company.
Recent Accounting Pronouncements Not Yet Adopted
There have been no accounting pronouncements or changes in accounting pronouncements that are significant or potentially significant to the Company.
48

2. Cash, Cash Equivalents and Marketable Securities
Cash, cash equivalents and marketable securities consisted of the following (in thousands):

December 31,
20212020
Cash and cash equivalents:
Cash$26,442 $30,745 
Commercial paper21,582  
Money market funds2,320 10,068 
Corporate debt securities989  
U.S. government securities 39,994 
Total cash and cash equivalents51,333 80,807 
Marketable securities:
Commercial paper80,812  
U.S. government securities60,279 52,982 
U.S. government agency securities5,527  
Corporate debt securities3,576  
Municipal securities2,808  
Total marketable securities153,002 52,982 
$204,335 $133,789 
The carrying amounts of the Company’s money market funds approximate their fair values due to their nature, duration and short maturities. The above amounts in 2021 are net of $0.2 million in unrealized losses. Unrealized losses in 2020 were de minimis. As of December 31, 2021, all marketable securities were due in two years or less.
3. Fair Value Measurements
The Company measures its cash equivalents and marketable securities at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. The Company utilizes the following three-tier value hierarchy which prioritizes the inputs used in measuring fair value:
Level 1 – Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.
Level 2 – Observable inputs other than quoted prices included in Level 1 for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-driven valuations in which all significant inputs and significant value drivers are observable in active markets.
Level 3 – Unobservable inputs to the valuation derived from fair valuation techniques in which one or more significant inputs or significant value drivers are unobservable. The fair value hierarchy also requires the Company to maximize the use of observable inputs, when available, and to minimize the use of unobservable inputs when determining inputs and determining fair value.
The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands):
As of December 31, 2021Level 1Level 2Total
Money market funds$2,320 $ $2,320 
U.S. government securities60,279  60,279 
Commercial paper 102,394 102,394 
U.S. government agency securities 5,527 5,527 
Corporate debt securities 4,565 4,565 
Municipal securities 2,808 2,808 
$62,599 $115,294 $177,893 
49

As of December 31, 2020Level 1
Money market funds$10,068 
U.S. government securities92,976 
$103,044 

4. Balance Sheet Details
Accounts receivable, net consisted of the following (in thousands):
December 31,
20212020
Accounts receivable$85,944 $70,824 
Allowance for doubtful accounts(725)(1,405)
$85,219 $69,419 
The table below summarizes the changes in allowance for doubtful accounts and product return liability for the periods indicated (in thousands):
Balance at Beginning of YearAdditions Charged to Expenses or Revenue Net of RecoveriesWrite Offs and ReturnsBalance at
End of Year
Year Ended December 31, 2021:
Allowance for doubtful accounts$1,405 $(201)$(479)$725 
Product return liability1,888 3,681 (3,733)1,836 
Year Ended December 31, 2020:
Allowance for doubtful accounts$374 $1,085 $(54)$1,405 
Product return liability919 3,391 (2,422)1,888 
Year Ended December 31, 2019:
Allowance for doubtful accounts$370 $168 $(164)$374 
Product return liability880 1,620 (1,581)919 
Inventory consisted of the following (in thousands):
December 31,
20212020
Raw materials$130 $34 
Finished goods88,750 52,234 
$88,880 $52,268 
Property and equipment, net consisted of the following (in thousands):
December 31,
20212020
Test equipment$39,476 $37,670 
Computer equipment11,156 9,062 
Software9,013 16,093 
Furniture and fixtures1,812 2,069 
Leasehold improvements1,351 1,345 
62,808 66,239 
Accumulated depreciation and amortization(41,025)(45,858)
$21,783 $20,381 
Depreciation and amortization expenses were $15.0 million, $13.7 million and $10.3 million for the years ended December 31, 2021, 2020 and 2019, respectively.
50

Other long-term assets consisted of the following (in thousands):
December 31,
20212020
Intangible asset$6,885 $9,517 
Other long-term assets6,800 2,648 
$13,685 $12,165 
Intangible Asset Acquisition
In March 2018, and as amended in December 2020, the Company entered into an agreement with a vendor to develop a certain software product and related enhancements pursuant to which the Company is obligated to make revenue-share payments under the program, subject to aggregate fixed revenue-share payments of $15.8 million. The payments are based on a revenue-share rate applied to revenue from the developed-product and the corresponding hardware sales through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. The Company had its first sale in August 2019, and as a result, the Company capitalized an intangible asset with a value of $13.2 million in the third quarter of 2019 and also recognized a liability of $13.2 million (a non-cash investing activity). The intangible asset has an estimated five-year useful life and is being amortized using the greater of the ratio of current gross revenue for the products to the total of current and anticipated future gross revenue for the products or the straight-line method. As of December 31, 2021, the liability, including accrued interest, was $13.2 million of which $4.7 million is included in “Accrued liabilities” and $8.5 million in “Other long-term liabilities” in the accompanying Consolidated Balance Sheet. As of December 31, 2020, the liability, including accrued interest, was $13.9 million of which $2.9 million was included in accrued liabilities and $11.0 million in other long-term liabilities.
Capitalized Cloud Implementation Costs
In January 2020, the Company went live with its cloud-based enterprise resource planning (“ERP”) system. As a result, the Company capitalized $7.5 million of implementation costs in both “Prepaid expenses and other current assets” and “Other long-term assets” in the Company's Consolidated Balance Sheet. This amount is being amortized over a period of 29 months, representing the remaining contractual term. The amortization expense for the years ended December 31, 2021 and 2020 was $3.1 million.
Accrued liabilities consisted of the following (in thousands):
December 31,
20212020
Compensation and related benefits$23,165 $23,740 
Component inventory held by suppliers7,611 3,992 
Current portion of warranty and retrofit7,076 9,208 
Professional and consulting fees4,819 4,497 
Customer advances or rebates4,742 8,374 
Current portion of revenue-share payments4,731 2,925 
Taxes payable4,251 3,476 
Freight3,997 1,955 
Operating leases3,596 2,994 
Product returns1,836 1,888 
Operations1,400 950 
Other4,373 4,737 
$71,597 $68,736 
51

Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):
 Years Ended December 31,
202120202019
Balance at beginning of year$9,208 $7,294 $8,547 
Provision for warranty and retrofit charged to cost of revenue3,370 5,888 4,425 
Utilization of reserve(2,984)(3,974)(5,678)
Balance at end of year$9,594 $9,208 $7,294 
Accrued Restructuring Charges
Responding to trends caused by the COVID-19 pandemic, the Company initiated a restructuring plan in June 2020 to accelerate the Company’s All-Platform future and to align with a work-from-anywhere culture. The Company incurred restructuring charges of approximately $6.3 million, consisting of facilities-related charges and severance and other termination related benefits for the year ended December 31, 2020.
In the fourth quarter of 2021, as a result of subleasing the abandoned portion of the Company’s San Jose headquarters, the Company reversed $0.8 million in facilities-related charges due to the expected recovery of accrued common areas maintenance fees.
The following table summarizes the activities pursuant to the above restructuring plan (in thousands):
FacilitiesSeverance and Related BenefitsTotal
Restructuring charges$5,112 $1,174 $6,286 
Asset write-down(3,748) (3,748)
Cash payments(120)(1,042)(1,162)
Balance as of December 31, 2020$1,244 $132 $1,376 
Restructuring benefit(786) (786)
Cash payments(277)(132)(409)
Balance as of December 31, 2021$181 $ $181 
5. Credit Agreements
Line of Credit
In January 2022, the Company terminated the loan and security agreement with Bank of America, N.A. (“BofA Loan Agreement”). The BofA Loan Agreement provided for a revolving facility up to a principal amount of $35.0 million and would have expired in January 2023. As of December 31, 2021, the Company had no outstanding borrowings.
Financing Arrangements
During 2018, the Company entered into financing arrangements to purchase lab and test equipment for approximately $5.1 million, which were non-cash investing activities. In the fourth quarter of 2020, the Company paid $1.4 million to settle the remainder of the balance. The weighted average interest rate was 6.2%.
The Company entered into financing arrangements for consulting services of $2.0 million in 2019 and $1.8 million in 2018 in connection with the Company’s ERP implementation, which were non-cash investing activities. In the fourth quarter of 2020, the Company paid $1.4 million to settle the remainder of the balance. The weighted average interest rate was 6.3%.
52

6. Commitments and Contingencies
Lease Commitments
The Company leases office space under non-cancelable operating leases. Certain of the Company’s operating leases contain renewal options and rent acceleration clauses. Future minimum payments under the non-cancelable operating leases consisted of the following as of December 31, 2021 (in thousands):
Year Ending December 31, Future Minimum Lease Payments
2022$4,473 
20234,600 
20244,430 
20253,971 
2026560 
Total future minimum lease payments18,034 
Less imputed interest(2,062)
$15,972 
As of December 31, 2021, the operating lease liability consisted of the following (in thousands):
Accrued liabilities - current portion of operating leases$3,596 
Operating leases12,376 
$15,972 
The Company leases its headquarters office space in San Jose, California under a lease agreement that expires in December 2025. The future minimum lease payments under the lease are $9.6 million and are included in the table for the year ended December 31, 2021 above.
In October 2021, the Company entered into a lease for a facility in Bangalore, India. The lease commenced in October 2021 for a term of 60 months. The future minimum lease payments of $2.2 million are included in the table for the year ended December 31, 2021 above. The Company recorded a right-of-use operating lease asset and operating lease liability of $2.0 million in the fourth quarter of 2021.
The above tables also include future minimum lease payments for the Company's office facilities in Petaluma, California; Plymouth, Minnesota; Richardson, Texas; Nanjing, China; and West Jordan, Utah, which expire at various dates through 2027.
In November 2021, the Company entered into a sublease for a portion of the San Jose headquarters office space that was previously abandoned. The sublease commences in August 2022 for a term of 39 months. Future minimum payments consisted of the following as of December 31, 2021 (in thousands):
Year Ending December 31, Future Minimum Sublease Payments
2022$308 
2023750 
2024773 
2025661 
Total future minimum sublease payments$2,492 
The weighted average discount rate for the Company’s operating leases as of December 31, 2021 was 6.1%. The weighted average remaining lease term as of December 31, 2021 was 3.9 years.
For the years ended December 31, 2021, 2020 and 2019, total rent expense of the Company was $4.1 million, $4.0 million and $4.7 million, respectively. Cash paid within operating cash flows for operating leases was $3.9 million for year ended December 31, 2021.
Purchase Commitments
The Company’s CMs and ODMs place orders for certain component inventory in advance based upon the Company’s build forecasts in order to reduce manufacturing lead times and ensure adequate component supply. The components are used by the CMs and ODMs to build the products included in the build forecasts. The Company generally does not take ownership of the components held by CMs and ODMs. The Company places purchase orders with its CMs and ODMs in order to fulfill its monthly finished product inventory requirements. The Company incurs a liability when the CMs and ODMs convert the
53

component inventory to a finished product and takes ownership of the finished goods inventory. In the event of termination of services with a manufacturing partner, the Company has purchased, and may be required to purchase in the future, certain of the remaining components inventory held by the CM or ODM as well as any outstanding orders pursuant to the contractual provisions with such CM or ODM. As of December 31, 2021 and 2020, the Company had approximately $247.3 million and $123.7 million, respectively, of outstanding purchase commitments for inventories to be delivered by its suppliers, including CMs and ODMs, within one to two years.
The Company has from time to time, and subject to certain conditions, reimbursed certain suppliers for component inventory purchases when this inventory has been rendered excess or obsolete, for example due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of products by its suppliers, or in cases where the Company has committed inventory levels that greatly exceed projected demand. The estimated excess and obsolete inventory liabilities related to such manufacturing and engineering change orders and other factors, which are included in accrued liabilities in the accompanying Consolidated Balance Sheets, were $7.6 million and $4.0 million as of December 31, 2021 and 2020, respectively. The Company records the related charges in cost of systems revenue in its Consolidated Statements of Comprehensive Income (Loss).
Litigation
From time to time, the Company is involved in various legal proceedings arising from the normal course of business activities. The Company is not currently a party to any legal proceedings that, if determined adversely to the Company, in management’s opinion, are currently expected to individually or in the aggregate have a material adverse effect on the Company’s business, operating results or financial condition taken as a whole.
Indemnifications
The Company from time to time enters into contracts that require it to indemnify various parties against claims from third parties. These contracts primarily relate to (i) certain real estate leases, under which the Company may be required to indemnify property owners for environmental and other liabilities, and other claims arising from the Company’s use of the applicable premises, (ii) agreements with the Company’s officers, directors and certain employees, under which the Company may be required to indemnify such persons for liabilities arising out of their relationship with the Company, (iii) contracts under which the Company may be required to indemnify customers against third-party claims that a Company product infringes a patent, copyright or other intellectual property right and (iv) agreements under which the Company may be required to indemnify the counterparty for certain claims that may be brought against them arising from the Company’s acts or omissions with respect to the transactions contemplated by such agreements.
Because any potential obligation associated with these types of contractual provisions are not quantified or stated, the overall maximum amount of the obligation cannot be reasonably estimated. Historically, the Company has not been required to make payments under these obligations, and no liabilities have been recorded for these obligations in the accompanying Consolidated Balance Sheets.
7. Stockholders’ Equity
Preferred Stock
The Board of Directors has the authority, without a further vote of the stockholders, to designate and issue up to 5.0 million shares of preferred stock in one or more series and to fix the rights, preferences, privileges and restrictions thereof. These rights, preferences and privileges could include dividend rights, conversion rights, voting rights, terms of redemption, liquidation preferences, sinking fund terms and the number of shares constituting any series or the designation of such series, any or all of which may be greater than the rights of common stock. The issuance of the Company’s preferred stock could adversely affect the voting power of holders of common stock and the likelihood that such holders will receive dividend payments and payments upon liquidation. In addition, the issuance of preferred stock could have the effect of delaying, deferring or preventing a change in control of the Company or other corporate action. Since the Company’s initial public offering, the Board of Directors has not designated any rights, preference or powers of any preferred stock, and no shares of preferred stock have been issued.
Common Stock
Holders of the Company’s common stock are entitled to receive dividends, if any, as may be declared from time to time by the Board of Directors out of legally available funds. No dividends have been declared or paid as of December 31, 2021. In the event of the Company’s liquidation, dissolution or winding up, holders of the Company’s common stock will be entitled to share ratably in the net assets legally available for distribution to stockholders after the payment of all of the Company’s debts and other liabilities and the satisfaction of any liquidation preference granted to the holders of any then outstanding shares of preferred stock.
54

In August 2020, the Company completed an underwritten public offering of 3,220,000 shares of its common stock at $20.00 per share, including a full exercise by the underwriters of their option to purchase an additional 420,000 shares of Common Stock, resulting in net proceeds of $60.1 million, after deducting the underwriting discount and expenses paid by the Company.
Treasury Stock Retirement
In August 2020, the Company’s Board of Directors authorized the retirement of the 5,329,817 shares of common stock held as treasury stock. Under Delaware law these shares return to the authorized but unissued common stock pool. As a result, the Company eliminated the $40.0 million treasury stock balance, offsetting this against common stock by $0.1 million and additional paid-in capital by $39.9 million.
Equity Incentive Plans
2019 Equity Incentive Award Plan
At the Company’s 2019 annual meeting of stockholders, the stockholders approved the 2019 Equity Incentive Award Plan (the “2019 Plan”). The 2019 Plan supersedes and replaces the 2010 Equity Incentive Award Plan (the “2010 Plan”) and preceding plans. No further awards will be granted under the 2010 Plan following the effectiveness of the 2019 Plan; however, the terms and conditions of the 2010 Plan will continue to govern any outstanding awards granted under the 2010 Plan.
Employees and consultants of the Company, its subsidiaries and affiliates, as well as members of the Company’s Board of Directors, are eligible to receive awards under the 2019 Plan. The 2019 Plan provides for the grant of stock options, stock appreciation rights, restricted stock, RSUs or other stock or cash-based awards and dividend equivalents to eligible individuals.
The number of shares available for issuance under the 2019 Plan included an initial reserve of 1.7 million shares of common stock, any shares of common stock that are available for issuance under the 2010 Plan as of the effective date of the 2019 Plan and any shares of common stock subject to issued and outstanding awards under the 2010 Plan that expire, are cancelled or otherwise terminate following the effective date of the 2019 Plan. At the Company’s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the 2019 Plan by 3.8 million shares. As of December 31, 2021, there were 6.8 million shares available for issuance under the 2019 Plan.
Stock options granted under the 2019 Plan are granted at a price not less than 100% of the fair market value of the common stock on the date of grant. Stock options issued under the 2019 Plan generally vest 25% on the first anniversary of the vesting commencement date and on a quarterly basis thereafter for a period of an additional three years. The options have a maximum term of ten years.
In February 2020, PSOs exercisable for up to an aggregate of 0.8 million shares of common stock were granted to certain Company executives with a grant date fair value of $9.16 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net income for 2020 (collectively, the “2020 Performance Targets”) during the one-year performance period. Under the 2020 Performance Targets, if non-GAAP net income is below 80% of target or bookings are below 90% of target, no shares are awarded. From this base, shares are awarded on a 50% weighting for both non-GAAP net income and bookings up to 100% for each 2020 Performance Target using a sliding scale. In February 2021, the Compensation Committee of the Company’s Board of Directors certified the full achievement of the 2020 Performance Targets subject to the four-year services condition. As such, 25% of the shares of the PSOs were vested on that date, and the remaining 75% of the shares of common stock will vest substantially equal quarterly installments over the subsequent 36 months, subject to the executive’s continuous service with the Company through the respective vesting dates. Stock-based compensation expense of $0.8 million and $1.6 million was recognized for the years ended December 31, 2021 and 2020, respectively, related to these awards.
In February 2021, PSOs exercisable for up to an aggregate of 0.7 million shares of common stock were granted to certain Company executives with a grant date exercise price of $36.74 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net income for 2021 (collectively, the “2021 Performance Targets”) during the one-year performance period. Under the 2021 Performance Targets, if the non-GAAP net income is below 80% of target or bookings are below 90% of target, no shares would be awarded. From this base, shares are awarded on a 50% weighting for both non-GAAP net income and bookings up to 100% for each 2021 Performance Target using a sliding scale. In February 2022, the Compensation Committee of the Company’s Board of Directors certified the results against the 2021 Performance Targets and awarded 97% of PSOs subject to the four-year services condition. As such, 25% of the awarded shares of the PSOs were vested on that date, and the remaining 75% of the shares of common stock will vest substantially equal quarterly installments over the subsequent 36 months, subject to the executive’s continuous service with the Company through the respective vesting dates. Stock-based compensation expense of $6.3 million was recognized for the year ended December 31, 2021 related to these awards.
55

Stock Options
The following table summarizes the activity of stock options under the Company’s equity incentive plans (in thousands, except per share data):
Weighted-
Average
Weighted-Remaining
AverageContractualAggregate
Number ofExercise PriceLifeIntrinsic
Stock OptionsSharesPer Share(in years)
   Value (1)
Outstanding as of December 31, 20206,801 $9.76 
Granted1,578 42.89 
Exercised(1,450)7.70 
Canceled(281)24.18 
Outstanding as of December 31, 20216,648 $17.46 7.34$415,597 
Vested and expected to vest as of December 31, 20216,484 $17.13 7.31$407,477 
Options exercisable as of December 31, 20213,191 $8.61 5.91$227,689 
                                                                                  
(1) Amounts represent the difference between the exercise price and the fair market value of common stock at December 31, 2021 of $79.97 per share for all “in-the-money” options outstanding.
During the years ended December 31, 2021, 2020 and 2019, total intrinsic value of stock options exercised was $59.6 million, $6.7 million and $0.2 million, respectively. Total cash received from employees as a result of stock option exercises in 2021, 2020 and 2019 was $11.2 million, $0.9 million and $0.4 million, respectively.
Employee Stock Purchase Plans
The ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 15% of their eligible compensation subject to certain Internal Revenue Code limitations. In addition, no participant may purchase more than 2,000 shares of common stock in each offering period.
The offering periods under the ESPP are two six-month offering periods from August 15th through February 14th and February 15th through August 14th of each year. The price of common stock purchased under the ESPP is 85% of the lower of the fair market value of the common stock on the commencement date and the end date of each six-month offering period. At the Company’s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the ESPP by 1.3 million shares. The total shares authorized for issuance under the ESPP increased from 9.8 million shares to 11.1 million shares. As of December 31, 2021, there were 3.6 million shares available for issuance under the ESPP. During the year ended December 31, 2021, 0.3 million shares were purchased under the ESPP. As of December 31, 2021, unrecognized stock-based compensation expense of $0.3 million related to the ESPP is expected to be recognized over a remaining service period of 0.1 years.
The NQ ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 25% of their eligible compensation. Eligible employees have the right to (a) purchase the maximum number of whole shares of common stock that can be purchased with the elected payroll deductions during each offering period for which the employee is enrolled at a purchase price equal to the closing price of the Company’s common stock on the last day of such offering period and (b) receive an equal number of shares of the Company’s common stock that are subject to a risk of forfeiture in the event the employee terminates employment within the one year period immediately following the purchase date. The NQ ESPP provides two six-month offering periods from November 15th through May 14th and May 15th through November 14th of each year. At the Company’s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the NQ ESPP by 0.8 million shares. The maximum number of shares of common stock currently authorized for issuance under the NQ ESPP is 5.5 million shares, with a maximum of 0.5 million shares allocated per purchase period. As of December 31, 2021, there were 2.8 million shares available for issuance under the NQ ESPP, including the stockholder-approved 0.8 million share increase. During the year ended December 31, 2021, 0.3 million shares were purchased and issued. As of December 31, 2021, unrecognized stock-based compensation expense of $8.0 million related to the NQ ESPP is expected to be recognized over a remaining weighted-average service period of 1.1 years.
Stock-Based Compensation
The following table summarizes stock-based compensation expense (in thousands):
56

 Years Ended December 31,
202120202019
Cost of revenue:
Products$790 $575 $507 
Services668 450 389 
Sales and marketing6,728 4,273 3,415 
Research and development6,769 4,736 3,913 
General and administrative9,275 3,926 2,957 
$24,230 $13,960 $11,181 
The following table summarizes the weighted-average grant date fair values of the Company’s stock-based awards granted in the periods indicated:
Years Ended December 31,
202120202019
Stock options$26.55 $8.55 $3.66 
RSUs$ $11.22 $6.62 
ESPP$12.93 $5.52 $2.04 
NQ ESPP$55.50 $19.40 $7.24 
The Company values employee stock purchase rights under the NQ ESPP at the closing market price of the Company’s common stock on the date of grant.
The Company estimates the fair value of stock options and employee stock purchase right under the ESPP at the grant date using the Black-Scholes option-pricing model. This model requires the use of the following assumptions:
(i)Expected volatility of the Company’s common stock – The Company computes its expected volatility assumption based on a blended volatility (50% historical volatility and 50% implied volatility from traded options on the Company’s common stock). The selection of a blended volatility assumption was based upon the Company’s assessment that a blended volatility is more representative of the Company’s future stock price trend as it weighs the historical volatility with the future implied volatility.
(ii)Expected life of the option award – Represents the weighted-average period that the stock options are expected to remain outstanding. The Company’s computation of expected life utilizes the simplified method in accordance with Staff Accounting Bulletin No. 110 due to the lack of sufficient historical exercise data to provide a reasonable basis upon which to estimate expected term. The mid-point between the vesting date and the expiration date is used as the expected term under this method.
(iii)Expected dividend yield – Assumption is based on the Company’s history of not paying dividends and no future expectations of dividend payouts.
(iv)Risk-free interest rate – Based on the U.S. Treasury yield curve in effect at the time of grant with maturities approximating the grant’s expected life.
The following table summarizes the weighted-average assumptions used in estimating the grant-date fair value of stock options and of each employee’s purchase right under the ESPP in the periods indicated:
Years Ended December 31,
Stock Options202120202019
Expected volatility56 %53 %47 %
Expected life (years)6.046.116.11
Expected dividend yield   
Risk-free interest rate1.11 %0.48 %1.67 %
Years Ended December 31,
ESPP202120202019
Expected volatility63 %70 %48 %
Expected life (years)0.490.390.49
Expected dividend yield   
Risk-free interest rate0.05 %0.12 %2.03 %
57

In addition, the Company applies an estimated forfeiture rate to awards granted and records stock-based compensation expense only for those awards that are expected to vest. Forfeiture rates are estimated at the time of grant based on the Company’s historical experience. Further, to the extent the Company’s actual forfeiture rate is different from management’s estimate, stock-based compensation is adjusted accordingly.
As of December 31, 2021, unrecognized stock-based compensation expense by award type, net of estimated forfeitures, and their expected weighted-average recognition periods are summarized in the following table (in thousands).
Stock OptionESPPs
Unrecognized stock-based compensation expense$31,512 $8,355 
Weighted-average amortization period (in years)2.11.1
The Company expects to recognize stock-based compensation expense of $19.6 million in 2022, $10.9 million in 2023, $6.8 million in 2024 and $2.6 million in 2025.
Shares Reserved for Future Issuance
As of December 31, 2021, the Company had common shares reserved for future issuance as follows (in thousands):
Stock options outstanding6,648 
Shares available for future grant under 2019 Plan6,846 
Shares available for future issuance under ESPP3,589 
Shares available for future issuance under NQ ESPP2,802 
19,885 
8. Employee Benefit Plan
The Company sponsors a 401(k) tax-deferred savings plan for all employees who meet certain eligibility requirements. Participants may contribute, on a pre-tax basis, a percentage of their annual compensation, but not to exceed a maximum contribution amount pursuant to Section 401(k) of the Internal Revenue Code. The Company, at the discretion of the Board of Directors, may make additional matching contributions on behalf of the participants. The Company made matching contributions totaling $3.2 million, $2.7 million and $2.5 million in 2021, 2020 and 2019, respectively.
9. Accumulated Other Comprehensive Loss
The table below summarizes the changes in accumulated other comprehensive loss by component:
`Unrealized Gains and Losses on Available-for-Sale Marketable SecuritiesForeign Currency Translation AdjustmentsTotal
Balance as of December 31, 2019$ $(854)$(854)
Other comprehensive income 663 663 
Balance as of December 31, 2020 (191)(191)
Other comprehensive income (loss)(179)50 (129)
Balance as of December 31, 2021$(179)$(141)$(320)
Assets and liabilities of the Company’s wholly owned foreign subsidiaries are translated from their respective functional currencies at exchange rates in effect at the balance sheet date, and revenue and expenses are translated at the monthly average exchanges rates. These translations result in differences called foreign currency translation adjustments. Realized foreign currency transaction gains or losses were not significant during the years ended December 31, 2021, 2020 and 2019 and are recorded in “Other income (expense), net” in the Company's Consolidated Statements of Comprehensive Income (Loss).
10. Income Taxes
The domestic and foreign components of income (loss) before incomes taxes were as follows (in thousands):
58

Years Ended December 31,
2021 2020 2019
Domestic$70,776 $33,777 $(17,935)
Foreign1,878 507 1,403 
$72,654 $34,284 $(16,532)

Income taxes consisted of the following (in thousands):
Years Ended December 31,
2021 2020 2019
Current:
State$2,818 $285 $313 
Foreign438 507 835 
Current income tax3,256 792 1,148 
Deferred:
Federal(157,355)  
State(11,631)  
Foreign6 8 14 
Deferred income tax(168,980)8 14 
$(165,724)$800 $1,162 
The differences between the statutory and effective tax rates, expressed as a percentage of net income (loss) before income taxes, were as follows:
Years Ended December 31,
2021 2020 2019
Federal statutory rate21.0 %21.0 %21.0 %
Impact of state taxes(15.6)0.1 5.6 
Foreign operations(0.2)0.6 (2.8)
R&D tax credits1.4 (4.8)6.2 
Foreign income inclusion  (1.3)
Stock-based compensation(12.8)(4.1)(5.1)
Other permanent items(0.3)0.6 (2.0)
Tax true-up(0.2)(0.4)(11.8)
Valuation allowance(208.3)(48.1)(16.8)
Net operating loss expiration(13.1)37.4  
(228.1)%2.3 %(7.0)%
59


The significant components of the Company’s deferred tax assets were as follows (in thousands):
December 31,
2021 2020
Deferred tax assets (liabilities):
Net operating loss carryforwards$82,672 $114,973 
Tax credit carryforwards52,538 49,978 
Depreciation and amortization(1,511)681 
Accruals and reserves10,302 10,753 
Deferred revenue11,351 9,219 
Stock-based compensation4,921 4,821 
Intangible assets37,692 (568)
Other233 (18)
Gross deferred tax assets198,198 189,839 
Valuation allowance(29,236)(189,858)
$168,962 $(19)

All deferred taxes, along with any related valuation allowance, are classified in the Consolidated Balance Sheet as long-term.
A valuation allowance is required when, based upon an assessment of various factors, including recent operating loss history, anticipated future earnings, and prudent and reasonable tax planning strategies, it is more likely than not that some portion of the deferred tax assets will not be realized. At each reporting period, the Company assesses the estimated future realizability of the gross carrying value of its deferred tax assets. The Company’s periodic assessments take into consideration both positive evidence (future profitability projections for example and recent financial performance) and negative evidence (historical financial performance for example) as it relates to evaluating the future recoverability of its deferred tax assets. During 2021, the Company recognized an income tax benefit of $165.7 million, based on management’s reassessment of the amount of its U.S. federal and other state deferred tax assets that are more likely than not to be realized, primarily as a result of actual and projected increases in U.S. profitability in the current and future periods. In performing its analysis, the Company used the most updated plans and estimates that it currently uses to manage the underlying business and calculated the ability to utilize its deferred tax assets. The Company continues to maintain a valuation allowance of $29.2 million on certain U.S. federal and state deferred tax assets that the Company believes are not more likely than not to be realized in future periods.
As of December 31, 2021, the Company had U.S. federal and state net operating losses of approximately $388.2 million and $52.3 million, respectively. The U.S. federal net operating loss carryforwards have begun to expire and will continue to expire at various dates through 2039 if not utilized. The state net operating loss carryforwards have begun to expire and will continue to expire at various dates through 2039 if not utilized. Additionally, the Company has U.S. federal, California and other U.S. states research and development credits of approximately $37.1 million, $42.1 million and $3.0 million as of December 31, 2021, respectively. The U.S. federal research and development credits have begun to expire in 2021, and the California research and development credits have no expiration date. The credits related to other various U.S. states have begun to expire and will continue to expire at various dates through 2036.
Uncertain Tax Positions
ASC 740, “Income Taxes,” prescribes a recognition threshold and measurement attribute to the financial statement recognition and measurement of a tax position taken or expected to be taken in a tax return. The guidance also provides guidance on derecognition, classification, accounting in interim periods and disclosure requirements for uncertain tax positions. The standard requires the Company to recognize the financial statement effects of an uncertain tax position when it is more likely than not that such position will be sustained upon audit. The Company recognizes accrued interest and penalties related to unrecognized tax benefits as interest expense and income tax expense, respectively, in its Consolidated Statements of Comprehensive Income (Loss).
60

The following table reconciles the Company’s unrecognized tax benefits (in thousands):
Years Ended December 31,
2021 2020
Balance at beginning of year$23,516 $22,264 
    Reduction for tax positions related to prior year(1,427)(163)
    Additions for tax positions related to prior year1,947  
    Additions for tax positions related to current year1,956 1,415 
Balance at end of year$25,992 $23,516 

As of December 31, 2021 and 2020, the Company had unrecognized tax benefits of $26.0 million and $23.5 million, respectively, $13.7 million of which would affect the Company’s effective tax rate if recognized. There were no accrued interest or penalties for uncertain income tax as of December 31, 2021.
The Company files tax returns in the United States and various state jurisdictions, the United Kingdom, China and Brazil. The tax years 2000 through 2021 remain open and subject to examination by the appropriate governmental agencies due to tax attribute carryforwards.
11. Net Income (Loss) Per Common Share
The following table sets forth the computation of basic and diluted net income (loss) per common share for the periods indicated (in thousands, except per share data):
 Years Ended December 31,
2021 2020 2019
Numerator:
Net income (loss)$238,378 $33,484 $(17,694)
Denominator:
Weighted-average common shares — basic63,277 59,074 54,993 
Effect of dilutive potential common shares4,579 2,924  
Weighted-average common shares — diluted67,856 61,998 54,993 
Basic net income (loss) per common share$3.77 $0.57 $(0.32)
Diluted net income (loss) per common share$3.51 $0.54 $(0.32)
Potentially dilutive shares excluded, weighted-average1,006 753 6,607 
Unvested restricted stock awards are included in the calculation of basic weighted-average shares because such shares are participating securities; however, the impact was immaterial.
Potentially dilutive shares have been excluded from the computation of diluted net income (loss) per common share when their effect is antidilutive. These antidilutive shares were primarily from stock options and RSUs. For each of the periods presented where the Company reported a net loss, the effect of all potentially dilutive securities would be antidilutive, and as a result diluted net loss per common share is the same as basic net loss per common share.
61

12. Revenue from Contracts with Customers
The Company develops, markets and sells communications access systems and software, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is considered to be in a single reporting segment and operating unit structure. The Company’s chief operating decision maker is the Company’s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance.
Geographic Information:
The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):
Years Ended December 31,
202120202019
United States$565,964 $473,779 $365,701 
Europe45,879 22,925 11,464 
Americas excluding U.S.45,719 27,802 24,821 
Middle East & Africa19,018 14,075 18,617 
Asia Pacific2,814 2,658 3,727 
$679,394 $541,239 $424,330 
The Company’s property and equipment, net of accumulated depreciation, are located in the following geographical areas (in thousands):
December 31,
2021 2020
United States$19,900 $19,383 
China1,840 998 
India43  
$21,783 $20,381 
Contract Asset
The primary contract asset is revenue recognized on professional services contracts where the services are transferred to the customer over time, which has yet to be billed, and is classified within accounts receivable. Amounts are billed in accordance with the agreed-upon contractual terms. The balance as of December 31, 2021 was $1.7 million of which the Company expects to bill 91% of the balance during 2022. The balance as of December 31, 2020 was $2.3 million of which $0.2 million remained in the Company's Consolidated Balance Sheet at December 31, 2021. The decrease in the contract asset was driven by billings for past services as well as the timing and volume of professional services contracts.
Contract Liability
Deferred revenue consisted of the following (in thousands):
December 31,
20212020
Current:
Products and services$22,586 $14,651 
Extended warranty4,892 4,538 
27,478 19,189 
Long-term:
Products and services3,137 1,879 
Extended warranty18,879 18,025 
22,016 19,904 
$49,494 $39,093 
62

The increase in the deferred revenue balance for the year ended December 31, 2021 is primarily driven by cash payments received or due in advance of satisfying the Company's performance obligations, offset by $19.2 million of revenue recognized that was included in the deferred revenue balance at the beginning of the year.
Revenue allocated to remaining performance obligations represent contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. This amount was $125.3 million as of December 31, 2021, and the Company expects to recognize 34% of such revenue over the next 12 months and the remainder thereafter.
Contract Costs
The Company capitalizes certain sales commissions related primarily to multi-year subscriptions and extended warranty support for which the expected amortization period is greater than one year. As of December 31, 2021, the unamortized balance of deferred commissions was $7.4 million. For the year ended December 31, 2021 the amount of amortization was $1.4 million, and there was no impairment loss in relation to the costs capitalized.
Concentration of Customer Risk
No customer accounted for more than 10% of the Company’s total revenue for the year ended December 31, 2021. Lumen Technologies, Inc. (formerly CenturyLink, Inc.), the Company’s only greater-than-10%-of-revenue customer, represented 11% and 15% of total revenue for the years ended December 31, 2020 and 2019, respectively.
One customer represented 12% of the Company’s accounts receivable as of December 31, 2021. No customer represented more than 10% of the Company’s accounts receivable as of December 31, 2020.
63

ITEM 9.    Changes in and Disagreements with Accountants on Accounting and Financial Disclosure
There were no changes in nor any disagreements with accountants on accounting principles or practices, financial statement disclosure, auditing scope or procedures, or other reportable events requiring disclosure pursuant to Item 304(b) of Regulation S-K.
ITEM 9A.    Controls and Procedures
Evaluation of Disclosure Controls and Procedures
As of the end of the period covered by this report, which we refer to as the evaluation date, we carried out an evaluation under the supervision and with the participation of management, including our principle executive officer and principle financial officer, of our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act).
The purpose of this evaluation was to determine whether as of the evaluation date our disclosure controls and procedures were effective to provide reasonable assurance that the information we are required to disclose in our filings with the SEC, (i) is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms and (ii) accumulated and communicated to our management, including our principal executive officer and our principal financial officer, as appropriate to allow timely decisions regarding required disclosure. Based upon this evaluation, our principal executive officer and our principal financial officer concluded that our disclosure controls and procedures were effective at the reasonable assurance level as of the end of the period covered by this report.
Management’s Report on Internal Control Over Financial Reporting
Management is responsible for establishing and maintaining adequate internal control over financial reporting. Our internal control over financial reporting is designed 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. Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate. Management has evaluated the effectiveness of our internal control over financial reporting as of December 31, 2021 using the criteria set forth in the Internal Control—Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission, or COSO, (2013 framework). Based on our evaluation, management has concluded that we maintained effective control over financial reporting as of December 31, 2021 based on the COSO criteria. The effectiveness of our internal control over financial reporting as of December 31, 2021 has been audited by KPMG LLP, an independent registered public accounting firm, as stated in their report included in this Annual Report on Form 10-K.
Limitations on the Effectiveness of Controls
Our disclosure controls and procedures provide our principal executive officer and our principal financial officer reasonable assurances that our disclosure controls and procedures will achieve their objectives. However, our management, including our principal executive officer and our principal financial officer, does not expect that our disclosure controls and procedures or our internal control over financial reporting can or will prevent all human error. A control system, no matter how well designed and implemented, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Furthermore, the design of a control system must reflect the fact that there are internal resource constraints, and the benefit of controls must be weighed relative to their corresponding costs. Because of the limitations in all control systems, no evaluation of controls can provide complete assurance that all control issues and instances of error, if any, within our company are detected. These inherent limitations include the realities that judgments in decision-making can be faulty, and that breakdowns can occur due to human error or mistake. Additionally, controls, no matter how well designed, could be circumvented by the individual acts of specific persons within the organization. The design of any system of controls is also based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated objectives under all potential future conditions.
Changes in Internal Control over Financial Reporting
There was no change in our internal control over financial reporting identified in connection with the evaluation required by Rule 13a-15(d) and 15d-15(d) of the Exchange Act that occurred during the fourth quarter of 2021 that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.
ITEM 9B.    Other Information
None.
64

ITEM 9C.    Disclosure Regarding Foreign Jurisdictions that Prevent Inspections
Not applicable.
65

PART III
ITEM 10.    Directors, Executive Officers and Corporate Governance
Information required by this Item 10 relating to our directors is incorporated by reference to the information set forth under the captions “Proposal No. 1—Election of Directors” and “Director Compensation” and in other applicable sections of the Proxy Statement for the 2022 Annual Meeting of Stockholders to be filed with the Securities and Exchange Commission pursuant to Regulation 14A of the Exchange Act, or the Proxy Statement, to be filed within 120 days of the end of the fiscal year covered by this Report. Information required by this Item 10 relating to our officers is incorporated by reference to the information set forth under the captions “Executive Officers” and “Executive Compensation” and in other applicable sections of the Proxy Statement. Information regarding our Section 16 reporting compliance is incorporated by reference to the information set forth under the captions “Security Ownership of Certain Beneficial Owners and Management” and “Section 16(a) Beneficial Ownership Reporting Compliance” of the Proxy Statement.
We have adopted a code of ethics, which applies to all employees, officers and directors of Calix. The Code of Business Conduct and Ethics meets the requirements of a “code of ethics” as defined by Item 406 of Regulation S-K, and applies to our Chief Executive Officer, Chief Financial Officer and all other employees, as indicated above. The Code of Business Conduct and Ethics also meets the requirements of a code of conduct under NYSE listing standards. The Code of Business Conduct and Ethics is posted on our website at www.calix.com under the links “About - Investor Relations - Governance - Code of Conduct.” We intend to disclose any amendments to the Code of Business Conduct and Ethics, as well as any waivers for executive officers or directors, on our website at www.calix.com.
ITEM 11.    Executive Compensation
Information required by this Item 11 relating to executive compensation and other matters is incorporated by reference to the information set forth under the caption “Compensation Discussion and Analysis” and in other applicable sections of the Proxy Statement.
ITEM 12.    Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters
Information required by this Item 12 relating to security ownership of certain beneficial owners and management and related stockholder matters is incorporated by reference to the information set forth under the caption “Security Ownership of Certain Beneficial Owners and Management” and in other applicable sections of the Proxy Statement. Information regarding securities authorized for issuance under our equity compensation plans is incorporated by reference to the information set forth under the caption “Equity Compensation Plan Information” of the Proxy Statement.
ITEM 13.    Certain Relationships and Related Transactions, and Director Independence
Information required by this Item 13 relating to certain relationships and related transactions and director independence is incorporated by reference to the information set forth under the caption “Certain Relationships and Related Transactions” and in other applicable sections of the Proxy Statement.
ITEM 14.    Principal Accountant Fees and Services
Our independent registered public accounting firm is KPMG LLP, Santa Clara, CA Auditor Firm ID: 185
Information required by this Item 14 relating to principal account fees and services is incorporated by reference to the information set forth under the caption “Principal Accountant Fees and Services” of the Proxy Statement.
66


PART IV
ITEM 15.    Exhibits, Financial Statement Schedules
(a) The following documents are filed as part of this Report:
1. Consolidated Financial Statements
The consolidated financial statements of Calix and the report of independent registered public accounting firm thereon are set forth under Part II, Item 8 of this report.
2. Consolidated Financial Statement Schedules
All schedules have been omitted because they are not applicable, not required, not presently in amounts sufficient to require submission of the schedule, or the information required to be set forth therein is included in the consolidated financial statements or notes thereto.
3. Exhibits
The following exhibits are filed with or incorporated by reference in this report. Where such filing is made by incorporation by reference to a previously filed registration statement or report, such registration statement or report is identified in parentheses. We will furnish any exhibit upon request to: Calix Investor Relations, Thomas J. Dinges at Tom.Dinges@calix.com.
Exhibit
NumberDescription
3.1
3.2
4.1
4.2
10.1*
10.2
10.3*
10.4*
10.5*
10.6*
10.7*
67

Exhibit
NumberDescription
10.8*
10.9*
10.10
10.11
10.12
10.13*
10.14*
10.15*
10.16*
10.17*
10.18*
10.19*
10.20*
10.21*
10.22*
10.23*
21.1
23.1
24.1
31.1
31.2
32.1
101.INSXBRL Instance Document
101.SCHXBRL Taxonomy Extension Schema Document
101.CALXBRL Taxonomy Extension Calculation Linkbase Document
101.DEFXBRL Taxonomy Extension Definition Linkbase Document
101.LABXBRL Taxonomy Extension Label Linkbase Document
101.PREXBRL Taxonomy Extension Presentation Linkbase Document
*Indicates management contract or compensatory plan or arrangement.
Information in this exhibit identified by [*] is confidential and has been excluded pursuant to Item 601(b)(10)(iv) of Regulation S-K because it (i) is not material or (ii) would likely cause competitive harm to Calix if publicly disclosed.
68

ITEM 16.    Form 10-K Summary
None.
69

SIGNATURES
Pursuant to the requirements of the Securities Exchange Act of 1934, the Registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.
 
 Calix, Inc.
(Registrant)
Dated: February 22, 2022By:/s/    Carl Russo        
 Carl Russo
 Chairman and Chief Executive Officer
(Principal Executive Officer)
Dated: February 22, 2022By:/s/    Cory Sindelar        
 Cory Sindelar
 Chief Financial Officer
(Principal Financial Officer)
70

POWER OF ATTORNEY
Each person whose individual signature appears below hereby authorizes and appoints Carl Russo and Cory Sindelar, and each of them, with full power of substitution and re-substitution and full power to act without the other, as his true and lawful attorney-in-fact and agent to act in his name, place and stead and to execute in the name and on behalf of each person, individually and in each capacity stated below, and to file any and all amendments to this Annual Report on Form 10-K, and to file the same, with all exhibits thereto, and other documents in connection therewith, with the Securities and Exchange Commission, granting unto said attorneys-in-fact and agents, and each of them, full power and authority to do and perform each and every act and thing, ratifying and confirming all that said attorneys-in-fact and agents or any of them or their or his substitute or substitutes may lawfully do or cause to be done by virtue thereof.
Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities indicated on February 22, 2022.
SignatureTitleDate
/s/ Carl Russo  Chairman and Chief Executive Officer
(Principal Executive Officer)
 February 22, 2022
Carl Russo   
/s/ Cory Sindelar  Chief Financial Officer
(Principal Financial Officer)
 February 22, 2022
Cory Sindelar   
/s/ Don ListwinLead Independent DirectorFebruary 22, 2022
Don Listwin
/s/ Christopher Bowick  Director February 22, 2022
Christopher Bowick   
/s/ Kathy Crusco  Director February 22, 2022
Kathy Crusco   
/s/ Kevin DeNuccio  Director February 22, 2022
Kevin DeNuccio   
/s/ Michael Everett  Director February 22, 2022
Michael Everett   
/s/ Kira Makagon  Director February 22, 2022
Kira Makagon   
/s/ Michael Matthews  Director February 22, 2022
Michael Matthews   
/s/ Kevin Peters  Director February 22, 2022
Kevin Peters   
/s/ J. Daniel Plants  Director February 22, 2022
J. Daniel Plants   
71
EX-21.1 2 calx-20211231xex211subsidi.htm EX-21.1 Document

Exhibit 21.1

SUBSIDIARIES OF THE REGISTRANT
Entity Name  Jurisdiction
Calix Network Technology Development (Nanjing) Co. Ltd.China
Calix Networks UK, Ltd.                          England, UK
CIDC Private LimitedIndia
Calix International, Inc.United States
Calix Brasil Servicos Ltda.Brazil


EX-23.1 3 calx-20211231xex231kpmgcon.htm EX-23.1 Document

Exhibit 23.1
Consent of Independent Registered Public Accounting Firm

The Board of Directors
Calix, Inc.:

We consent to the incorporation by reference in the registration statements (No. 333-166245, 333-172379, 333-185025, 333-194054, 333-202496, 333-209732, 333-216323, 333-218066, 333-223637, 333-226682, 333-230023, 333-234355, 333-240106, and 333-258197) on Form S-8 and (No. 333-240105) on Form S-3 of our report dated February 22, 2022, with respect to the consolidated financial statements of Calix, Inc. and the effectiveness of internal control over financial reporting.

/s/ KPMG LLP
San Francisco, California
February 22, 2022

EX-31.1 4 calx-20211231xex311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION OF PRINCIPAL EXECUTIVE OFFICER
PURSUANT TO SECTION 302 OF
THE SARBANES-OXLEY ACT OF 2002
I, Carl Russo, certify that:
1.I have reviewed this annual report on Form 10-K of Calix, Inc. for the year ended December 31, 2021;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting;
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: February 22, 2022  /s/ Carl Russo
  Carl Russo
  Chairman and Chief Executive Officer
(Principal Executive Officer)

EX-31.2 5 calx-20211231xex312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER
PURSUANT TO SECTION 302 OF
THE SARBANES-OXLEY ACT OF 2002
I, Cory Sindelar, certify that:
1.I have reviewed this annual report on Form 10-K of Calix, Inc. for the year ended December 31, 2021;
2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;
3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;
4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:
(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)Disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting;
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: February 22, 2022  /s/ Cory Sindelar
  Cory Sindelar
  Chief Financial Officer
(Principal Financial Officer)

EX-32.1 6 calx-20211231xex321.htm EX-32.1 Document

Exhibit 32.1
CERTIFICATION OF PRINCIPAL EXECUTIVE OFFICER AND PRINCIPAL FINANCIAL OFFICER
PURSUANT TO 18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
I, Carl Russo, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Annual Report of Calix, Inc. (the “Company”) on Form 10-K for the fiscal year ended December 31, 2021 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Annual Report on Form 10-K fairly presents in all material respects the financial condition and results of operations of the Company.
 
Date: February 22, 2022  /s/ Carl Russo
  Carl Russo
  Chairman and Chief Executive Officer
(Principal Executive Officer)

I, Cory Sindelar, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that the Annual Report of Calix, Inc. (the “Company”) on Form 10-K for the fiscal year ended December 31, 2021 fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 and that information contained in such Annual Report on Form 10-K fairly presents in all material respects the financial condition and results of operations of the Company.
 
Date: February 22, 2022  /s/ Cory Sindelar
  Cory Sindelar
  Chief Financial Officer
(Principal Financial Officer)
This certification accompanies the Form 10-K to which it relates, is not deemed filed with the Securities and Exchange Commission and is not to be incorporated by reference into any filing of Calix, Inc. under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended (whether made before or after the date of the Form 10-K), irrespective of any general incorporation language contained in such filing.

EX-101.SCH 7 calx-20211231.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0001001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 0002002 - Document - Audit Information link:presentationLink link:calculationLink link:definitionLink 1001003 - Statement - Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 1002004 - Statement - Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1003005 - Statement - Consolidated Statements of Comprehensive Income (Loss) link:presentationLink link:calculationLink link:definitionLink 1004006 - Statement - Consolidated Statements of Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 1005007 - Statement - Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 2101101 - Disclosure - Description of Business and Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 2202201 - Disclosure - Description of Business and Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 2403401 - Disclosure - Description of Business and Significant Accounting Policies - Contract Costs (Details) link:presentationLink link:calculationLink link:definitionLink 2404402 - Disclosure - Description of Business and Significant Accounting Policies - Useful Lives of Property and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 2405403 - Disclosure - Description of Business and Significant Accounting Policies - Additional Information (Detail) link:presentationLink link:calculationLink link:definitionLink 2106102 - Disclosure - Cash, Cash Equivalents and Marketable Securities link:presentationLink link:calculationLink link:definitionLink 2307301 - Disclosure - Cash, Cash Equivalents and Marketable Securities (Tables) link:presentationLink link:calculationLink link:definitionLink 2408404 - Disclosure - Cash, Cash Equivalents and Marketable Securities (Details) link:presentationLink link:calculationLink link:definitionLink 2109103 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 2310302 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 2411405 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 2112104 - Disclosure - Balance Sheet Details link:presentationLink link:calculationLink link:definitionLink 2313303 - Disclosure - Balance Sheet Details (Tables) link:presentationLink link:calculationLink link:definitionLink 2414406 - Disclosure - Balance Sheet Details - Accounts Receivable (Details) link:presentationLink link:calculationLink link:definitionLink 2415407 - Disclosure - Balance Sheet Details - Allowance and Product Return Reserve (Details) link:presentationLink link:calculationLink link:definitionLink 2416408 - Disclosure - Balance Sheet Details - Inventory (Details) link:presentationLink link:calculationLink link:definitionLink 2417409 - Disclosure - Balance Sheet Details - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 2418410 - Disclosure - Balance Sheet Details - Intangible Asset Acquisition (Details) link:presentationLink link:calculationLink link:definitionLink 2419411 - Disclosure - Balance Sheet Details - Capitalized Cloud Implementation Costs (Details) link:presentationLink link:calculationLink link:definitionLink 2420412 - Disclosure - Balance Sheet Details - Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 2421413 - Disclosure - Balance Sheet Details - Product Warranty Activity (Details) link:presentationLink link:calculationLink link:definitionLink 2422414 - Disclosure - Balance Sheet Details - Restructuring (Details) link:presentationLink link:calculationLink link:definitionLink 2123105 - Disclosure - Credit Agreements link:presentationLink link:calculationLink link:definitionLink 2424415 - Disclosure - Credit Agreements - Line of Credit (Details) link:presentationLink link:calculationLink link:definitionLink 2425416 - Disclosure - Credit Agreements - Financing Arrangements (Details) link:presentationLink link:calculationLink link:definitionLink 2126106 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 2327304 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 2428417 - Disclosure - Commitments and Contingencies - Operating Lease (Details) link:presentationLink link:calculationLink link:definitionLink 2428417 - Disclosure - Commitments and Contingencies - Operating Lease (Details) link:presentationLink link:calculationLink link:definitionLink 2429418 - Disclosure - Commitments and Contingencies - Sublease (Details) link:presentationLink link:calculationLink link:definitionLink 2430419 - Disclosure - Commitments and Contingencies - Operating Lease Liability (Details) link:presentationLink link:calculationLink link:definitionLink 2431420 - Disclosure - Commitments and Contingencies - Textual (Details) link:presentationLink link:calculationLink link:definitionLink 2132107 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 2333305 - Disclosure - Stockholders' Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 2434421 - Disclosure - Stockholders' Equity - Stock Offering, Treasury Stock Retirement, Preferred Stock and Common Stock (Details) link:presentationLink link:calculationLink link:definitionLink 2435422 - Disclosure - Stockholders' Equity - Equity Incentive Plans (Details) link:presentationLink link:calculationLink link:definitionLink 2436423 - Disclosure - Stockholders' Equity - Stock Options Activity (Details) link:presentationLink link:calculationLink link:definitionLink 2437424 - Disclosure - Stockholders' Equity - Fair Value of Awards Granted (Details) link:presentationLink link:calculationLink link:definitionLink 2438425 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 2439426 - Disclosure - Stockholders' Equity - ESPP (Details) link:presentationLink link:calculationLink link:definitionLink 2440427 - Disclosure - Stockholders' Equity - Assumptions (Details) link:presentationLink link:calculationLink link:definitionLink 2441428 - Disclosure - Stockholders' Equity - Unrecognized Stock-based Compensation Expenses (Details) link:presentationLink link:calculationLink link:definitionLink 2442429 - Disclosure - Stockholders' Equity - Shares Reserved For Future Issuance (Details) link:presentationLink link:calculationLink link:definitionLink 2143108 - Disclosure - Employee Benefit Plan link:presentationLink link:calculationLink link:definitionLink 2444430 - Disclosure - Employee Benefit Plan (Details) link:presentationLink link:calculationLink link:definitionLink 2145109 - Disclosure - Accumulated Other Comprehensive Loss link:presentationLink link:calculationLink link:definitionLink 2346306 - Disclosure - Accumulated Other Comprehensive Loss (Tables) link:presentationLink link:calculationLink link:definitionLink 2447431 - Disclosure - Accumulated Other Comprehensive Loss (Details) link:presentationLink link:calculationLink link:definitionLink 2148110 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 2349307 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 2450432 - Disclosure - Income Taxes - Loss before Provision for Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 2451433 - Disclosure - Income Taxes - Components of Income Tax Provision (Details) link:presentationLink link:calculationLink link:definitionLink 2452434 - Disclosure - Income Taxes - Income Tax Rate Reconciliation (Details) link:presentationLink link:calculationLink link:definitionLink 2453435 - Disclosure - Income Taxes - Components of Deferred Tax Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 2454436 - Disclosure - Income Taxes - Unrecognized Tax Benefits Activity (Details) link:presentationLink link:calculationLink link:definitionLink 2455437 - Disclosure - Income Taxes - Textual (Details) link:presentationLink link:calculationLink link:definitionLink 2156111 - Disclosure - Net Income (Loss) Per Common Share link:presentationLink link:calculationLink link:definitionLink 2357308 - Disclosure - Net Income (Loss) Per Common Share (Tables) link:presentationLink link:calculationLink link:definitionLink 2458438 - Disclosure - Net Income (Loss) Per Common Share - Basic and Diluted Shares Calculation (Details) link:presentationLink link:calculationLink link:definitionLink 2159112 - Disclosure - Revenue from Contracts with Customers link:presentationLink link:calculationLink link:definitionLink 2360309 - Disclosure - Revenue from Contracts with Customers (Tables) link:presentationLink link:calculationLink link:definitionLink 2461439 - Disclosure - Revenue from Contracts with Customers - Revenue by Geographic Region (Details) link:presentationLink link:calculationLink link:definitionLink 2462440 - Disclosure - Revenue from Contracts with Customers - Property and Equipment by Geographic Region (Details) link:presentationLink link:calculationLink link:definitionLink 2463441 - Disclosure - Revenue from Contracts with Customers - Contract Costs (Details) link:presentationLink link:calculationLink link:definitionLink 2464442 - Disclosure - Revenue from Contracts with Customers - Performance Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 2464442 - Disclosure - Revenue from Contracts with Customers - Performance Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 2465443 - Disclosure - Revenue from Contracts with Customers - Contract Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 2466444 - Disclosure - Revenue from Contracts with Customers - Concentration Risk (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 8 calx-20211231_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 9 calx-20211231_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 10 calx-20211231_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Current portion of revenue-share payments Accrued Revenue Share Payments, Current Accrued Revenue Share Payments, Current Supplemental disclosures of cash flow information: Supplemental Cash Flow Information [Abstract] Customer [Domain] Customer [Domain] Unrealized Gains and Losses on Available-for-Sale Marketable Securities AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-sale, Parent [Member] Federal statutory rate Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent State Current State and Local Tax Expense (Benefit) Leasehold improvements Leasehold Improvements [Member] Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Consolidated Entities [Axis] Consolidated Entities [Axis] Right-of-use operating leases Operating lease, right-of-use asset Operating Lease, Right-of-Use Asset Net operating loss carryforwards Deferred Tax Assets, Operating Loss Carryforwards Preferred stock, shares outstanding (in shares) Preferred Stock, Shares Outstanding Compensation and related benefits Employee-related Liabilities, Current Income Statement Location [Axis] Income Statement Location [Axis] Statistical Measurement [Domain] Statistical Measurement [Domain] Tax true-up Effective Income Tax Rate Reconciliation, Prior Year Income Taxes, Percent Security Exchange Name Security Exchange Name Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Maximum number of shares employee can purchase during offering period Share-based Compensation Arrangement by Share-based Payment Award, Maximum Number of Shares Per Employee Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] Payments to settle purchase obligations Payments To Settle Purchase Obligations Payments To Settle Purchase Obligations Contract with Customer, Asset and Liability Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Additional paid-in capital Additional Paid in Capital, Common Stock Stock options forfeited (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period Restructuring Type [Axis] Restructuring Type [Axis] Operating lease, weighted average remaining lease term Operating Lease, Weighted Average Remaining Lease Term Other assets Other assets Other Assets, Noncurrent Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Expected dividend yield Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate Shares available for future grant Shares available for future grant under 2019 Plan (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Retirement Benefits [Abstract] Retirement Benefits [Abstract] Net increase (decrease) in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Offering period Share-Based Compensation Arrangement By Share-Based Payment Award, Offering Period Share-Based Compensation Arrangement By Share-Based Payment Award, Offering Period Number of offering periods Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods Entity File Number Entity File Number Performance targets services condition period Performance Targets Services Condition Period Performance Targets Services Condition Period Expected volatility Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate Stock-based compensation APIC, Share-based Payment Arrangement, Increase for Cost Recognition Total intrinsic value for exercised stock options Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value All Platform Future And Work-From-Anywhere Culture Alignment All Platform Future And Work-From-Anywhere Culture Alignment [Member] All Platform Future And Work-From-Anywhere Culture Alignment SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items] SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items] Additions Charged to Expenses or Revenue Net of Recoveries SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense Subsequent Event Type [Domain] Subsequent Event Type [Domain] Additions for tax positions related to prior year Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions Deferred tax assets Deferred Tax Assets, Net Potentially dilutive shares, weighted-average (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Operating lease, weighted average discount rate, percent Operating Lease, Weighted Average Discount Rate, Percent Inventory Schedule of Inventory, Current [Table Text Block] Contract with customer, liability, revenue recognized Contract with Customer, Liability, Revenue Recognized Research and development Research and Development Expense [Member] Changes in Allowance for Doubtful Accounts and Product Reserve Schedule Of Changes In Allowance For Doubtful Accounts And Product Return Liability [Table Text Block] Schedule Of Changes In Allowance For Doubtful Accounts And Product Return Liability Sale of Stock [Axis] Sale of Stock [Axis] San Jose, California San Jose, California [Member] San Jose, California Employee termination period following purchase date to receive shares subject to risk of forfeiture Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture Weighted-average grant date fair value per share Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Title of Individual [Domain] Title of Individual [Domain] Maturities of marketable securities Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-sale Unrealized gain on available-for-sale marketable securities, net OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax Income Taxes [Line Items] Income Taxes [Line Items] Income Taxes [Line Items] Line of Credit Facility [Abstract] Line of Credit Facility [Abstract] Award Type [Domain] Award Type [Domain] Services Technology Service [Member] Local Phone Number Local Phone Number Credit Facility [Domain] Credit Facility [Domain] ASSETS Assets [Abstract] Cash, Cash Equivalents, And Marketable Securities Cash, Cash Equivalents, And Marketable Securities Cash, Cash Equivalents, And Marketable Securities Stock options exercisable (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number Stock options vested and expected to vest (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price Other long-term liabilities Increase (Decrease) in Other Noncurrent Liabilities Awards granted, shares Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period Concentration of credit risk, percentage Concentration Risk, Percentage Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of December 31, 2021 and 2020 Preferred Stock, Value, Issued Property and Equipment Property, Plant and Equipment, Policy [Policy Text Block] Percent of implied volatility Percent of Implied Volatility Percent of Implied Volatility Stock options outstanding, beginning (in shares) Stock options outstanding, ending (in shares) Stock options outstanding (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number Accumulated Deficit Retained Earnings Retained Earnings [Member] Prepaid expenses and other assets Increase (Decrease) in Prepaid Expense and Other Assets China CHINA Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Contract with customer, asset, expected to be billed remainder of year, percent Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent Treasury stock retirement Stock Repurchased and Retired During Period, Value 2017 Nonqualified Employee Stock Purchase Plan 2017 Nonqualified Employee Stock Purchase Plan [Member] 2017 Nonqualified Employee Stock Purchase Plan Accounts receivable, net Increase (Decrease) in Accounts Receivable Schedule of Certain Terms [Table] Schedule of Certain Terms [Table] [Table] Schedule of ranges of cutomer payment term and warranty term. Schedule of Deferred Tax Assets and Liabilities Schedule of Deferred Tax Assets and Liabilities [Table Text Block] Maximum employee subscription rate Share-based Compensation Arrangement by Share-based Payment Award, Maximum Employee Subscription Rate Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Entity Well-known Seasoned Issuer Entity Well-known Seasoned Issuer Award vesting rights, percentage Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Weighted average interest rate Debt, Weighted Average Interest Rate 2021 Performance Targets 2021 Performance Targets [Member] 2021 Performance Targets Deferred revenue Increase (Decrease) in Deferred Revenue Basic (in dollars per share) Basic net income (loss) per common share (in dollars per share) Earnings Per Share, Basic 2024 Lessee, Operating Lease, Liability, to be Paid, Year Three Allowance for doubtful accounts SEC Schedule, 12-09, Allowance, Credit Loss [Member] SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis] SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis] Loss Contingencies Commitments and Contingencies, Policy [Policy Text Block] Property and Equipment by Geographic Region Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block] Company matching contributions, 401(K) Plan Defined Contribution Plan, Cost Shares Reserved For Future Issuance Shares Reserved For Future Issuance [Table Text Block] Represents the schdule to summarize the number of common shares reserved for future issuance. [Table Text Block] Capitalized contract cost Capitalized Contract Cost, Net Commercial paper Commercial Paper [Member] Net deferred tax liabilities Deferred Tax Liabilities, Net Number of shares authorized (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized Operating lease, payments Operating Lease, Payments Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Entity Voluntary Filers Entity Voluntary Filers Plan Name [Axis] Plan Name [Axis] Total assets Assets, Fair Value Disclosure Level 1 Fair Value, Inputs, Level 1 [Member] Investing activities: Net Cash Provided by (Used in) Investing Activities [Abstract] Unrecognized Tax Benefits [Roll Forward] Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward] Goodwill, impairment loss Goodwill, Impairment Loss Other liabilities Other Liabilities Freight Accrued Freight Accrued Freight Income Tax Disclosure [Abstract] Income Tax Disclosure [Abstract] Entity Small Business Entity Small Business Additions for tax positions related to current year Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Total liabilities and stockholders' equity Liabilities and Equity Other Other Accrued Liabilities, Current Products Cost Of Revenue, Products [Member] Cost Of Revenue, Products [Member] Period One Share-based Payment Arrangement, Tranche One [Member] Total future minimum sublease payments Lessor, Operating Lease, Payments to be Received Deferred revenue Deferred revenue, current Contract with Customer, Liability, Current 2026 Lessee, Operating Lease, Liability, to be Paid, Year Five 2019 Equity Incentive Award Plan 2019 Equity Incentive Award Plan [Member] 2019 Equity Incentive Award Plan [Member] Stock options exercised (in dollars per share) Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price U.S. government agency securities US Government Agencies Debt Securities [Member] Concentration Risk [Line Items] Concentration Risk [Line Items] LIABILITIES AND STOCKHOLDERS’ EQUITY Liabilities and Equity [Abstract] Accounts payable Increase (Decrease) in Accounts Payable Restructuring Reserve [Roll Forward] Restructuring Reserve [Roll Forward] SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table] SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table] Net Income (Loss) Per Common Share Earnings Per Share [Text Block] Sublease, term of contract Lessor, Operating Lease, Term of Contract Deferred Revenue [Domain] Deferred Revenue [Domain] Operating expenses: Operating Expenses [Abstract] Entity Interactive Data Current Entity Interactive Data Current Capitalized Contract Cost [Table] Capitalized Contract Cost [Table] Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] R&D tax credits Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent Issuance of common stock under equity incentive plans, net of forfeitures Stock Issued During Period, Value, Stock Options Exercised Minimum Minimum [Member] Royalty payment commitment amount Royalty Guarantees, Commitments, Amount Gross profit Gross Profit 2023 Lessee, Operating Lease, Liability, to be Paid, Year Two Outstanding borrowings Long-term Line of Credit Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents Lessor, Operating Lease, Payment to be Received, Fiscal Year Maturity Lessor, Operating Lease, Payment to be Received, Fiscal Year Maturity [Table Text Block] Schedule of Revenues from External Customers and Long-Lived Assets [Table] Schedule of Revenues from External Customers and Long-Lived Assets [Table] Lumen Technologies, Inc. Lumen Technologies, Inc. [Member] Lumen Technologies, Inc. Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Preferred stock, shares authorized (in shares) Preferred Stock, Shares Authorized Balance at beginning of year Balance at end of year Unrecognized tax benefits Unrecognized Tax Benefits Subsidiaries Subsidiaries [Member] Income Tax Authority [Domain] Income Tax Authority [Domain] Gross deferred tax assets Deferred Tax Assets, Gross Research And Development Equipment Research And Development Equipment [Member] Research And Development Equipment [Member] Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Entity Address, State or Province Entity Address, State or Province Product warranty period Product Warranty Period Represents the general warranty period for the Company's hardware products from the date of shipment. Balance as of December 31, 2020 Balance as of December 31, 2020 Restructuring Reserve 2022 Lessor, Operating Lease, Payment to be Received, Year One Weighted-average number of shares used to compute net income (loss) per common share: Earnings Per Share, Diluted, Other Disclosures [Abstract] Deferred tax assets Deferred Income Tax Assets, Net Current liabilities: Liabilities, Current [Abstract] Issuance of common stock in connection with public offering, net of expenses Stock Issued During Period, Value, New Issues Revenue Recognition Revenue [Policy Text Block] General and administrative General and Administrative Expense Foreign Currency Translation Adjustments Accumulated Foreign Currency Adjustment Attributable to Parent [Member] Credit Agreements Debt Disclosure [Text Block] Restructuring Plan [Domain] Restructuring Plan [Domain] Schedule of Components of Income Tax Expense (Benefit) Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] Stock options exercisable (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price Intangible assets Deferred Tax Assets, Goodwill and Intangible Assets Asset write-down Restructuring Reserve, Settled without Cash Capitalized Contract Cost [Line Items] Capitalized Contract Cost [Line Items] Capitalized Contract Cost [Domain] Capitalized Contract Cost [Domain] Accrued interest or penalties for uncertain income tax Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued Product warranty activities [Roll Forward] Movement in Standard and Extended Product Warranty Accrual, Increase (Decrease) [Roll Forward] Accounting Policies [Abstract] Accounting Policies [Abstract] Weighted-average remaining contractual term, stock options outstanding Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Issuance of common stock in connection with public offering, net of expenses (in shares) Stock Issued During Period, Shares, New Issues Capitalized contract cost, amortization period Capitalized Contract Cost, Amortization Period 2025 Lessor, Operating Lease, Payment to be Received, Year Four Professional and consulting fees Accrued Professional Fees, Current Cash, Cash Equivalents and Marketable Securities Cash, Cash Equivalents, and Marketable Securities [Text Block] Cost of revenue: Cost of Revenue [Abstract] Operating lease, liability Operating lease liability Operating Lease, Liability Operations Operations Liability, Current Operations Liability, Current Document Transition Report Document Transition Report Common stock, $0.025 par value; 100,000 shares authorized; 64,274 shares issued and outstanding as of December 31, 2021, and 62,122 shares issued and outstanding as of December 31, 2020 Common Stock, Value, Issued Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Total interest and other expense, net Nonoperating Income (Expense) Summary of inventory, net Inventory, Net [Abstract] Weighted-average amortization period Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Customer Concentration Risk Customer Concentration Risk [Member] Grant date fair value (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 Offering period Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Offering Period Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Offering Period Basis of Presentation and Accounting Guidance Basis of Accounting, Policy [Policy Text Block] Commitments and contingencies (See Note 6) Commitments and Contingencies Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Entity Emerging Growth Company Entity Emerging Growth Company Allowance for doubtful accounts Accounts Receivable, Allowance for Credit Loss, Current Bookings target achievement performance threshold, percent Share-Based Compensation Arrangement By Share-Based Payment Award, Bookings, Target Achievement Performance Threshold, Percent Share-Based Compensation Arrangement By Share-Based Payment Award, Bookings, Target Achievement Performance Threshold, Percent Employee Benefit Plan Compensation and Employee Benefit Plans [Text Block] ICFR Auditor Attestation Flag ICFR Auditor Attestation Flag Valuation Assumptions, Stock Options Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Schedule of Other Assets, Noncurrent Schedule of Other Assets, Noncurrent [Table Text Block] Foreign Deferred Foreign Income Tax Expense (Benefit) Auditor Name Auditor Name Cover [Abstract] Cover [Abstract] Effect of dilutive potential common shares (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements Revenues from External Customers and Long-Lived Assets [Line Items] Revenues from External Customers and Long-Lived Assets [Line Items] Middle East & Africa Middle East And Africa [Member] Middle East And Africa Revenue by Geographic Region Revenue from External Customers by Geographic Areas [Table Text Block] Customer advances or rebates Accrued Customer Rebates Accrued customer rebates. Accruals and reserves Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities Less imputed interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Unrecognized Tax Benefits Activity Summary of Income Tax Contingencies [Table Text Block] Income Tax Authority [Axis] Income Tax Authority [Axis] Aggregate net proceeds from stock offering Sale of Stock, Consideration Received on Transaction Cash Cash Shares purchased for award Share-based Compensation Arrangement by Share-based Payment Award, Shares Purchased for Award Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Financial Instrument [Axis] Financial Instrument [Axis] Dividends declared or paid (in dollars per share) Common Stock, Dividends, Per Share, Declared Accrued liabilities Total accrued liabilities Accrued Liabilities, Current Stock-based compensation Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost Finished goods Inventory, Finished Goods, Net of Reserves Stock Options Share-based Payment Arrangement, Option [Member] Equity [Abstract] Equity [Abstract] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Depreciation and amortization Deferred Tax Assets, Property, Plant and Equipment Cash payments Payments for Restructuring Warranty and Retrofit Standard Product Warranty, Policy [Policy Text Block] Common Stock Common Stock [Member] Foreign Income (Loss) from Continuing Operations before Income Taxes, Foreign Revenue from Contracts with Customers Segment Reporting Disclosure [Text Block] Operating income (loss) Operating Income (Loss) Schedule of Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Operating leases Accrued liabilities - current portion of operating leases Operating Lease, Liability, Current Schedule of Cash and Cash Equivalents [Table] Schedule of Cash and Cash Equivalents [Table] Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Document Fiscal Year Focus Document Fiscal Year Focus Stock-based compensation Share-based Payment Arrangement, Noncash Expense Additional Paid-in Capital Additional Paid-in Capital [Member] Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Depreciation and amortization Depreciation Awards percentage of total subject to service condition Share-Based Compensation Arrangement By Share-Based Payment Award, Awards Percentage Of Total Subject To Service Condition Share-Based Compensation Arrangement By Share-Based Payment Award, Awards Percentage Of Total Subject To Service Condition Software Software [Member] Software Cash and Cash Equivalents [Abstract] Cash and Cash Equivalents [Abstract] Treasury Stock Treasury Stock [Member] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Schedule of Product Warranty Liability Schedule of Product Warranty Liability [Table Text Block] Changes in accounts payable and accrued liabilities related to purchases of property and equipment Change In Capital Expenditures Incurred But Not Yet Paid Change In Capital Expenditures Incurred But Not Yet Paid Accrued liabilities Increase (Decrease) in Accrued Liabilities Americas excluding U.S. Americas Ex U.S. [Member] Americas Ex U.S. Proceeds from line of credit Proceeds from Lines of Credit Operating Lease, Liability, Current, Statement of Financial Position [Extensible List] Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Stock-based compensation expense to be recognized in 2019 Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Two Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Two Other expense, net Other Nonoperating Income (Expense) Utilization of reserve Standard and Extended Product Warranty Accrual, Decrease for Payments Purchases of property and equipment Payments to Acquire Property, Plant, and Equipment Systems Systems Product [Member] Systems Product [Member] Deferred revenue Deferred Tax Assets, Deferred Income Facilities Facility Closing [Member] Maximum Maximum [Member] U.S. government securities US Government Debt Securities [Member] Total liabilities Liabilities Raw materials Inventory, Raw Materials, Net of Reserves Accrued Liabilities Schedule of Accrued Liabilities [Table Text Block] Award Type [Axis] Award Type [Axis] Stock options granted (in dollars per share) Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Aggregate intrinsic value, stock options outstanding Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value Shares award weighting percent for target achievement performance threshold, percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent Lessee, Operating Lease, Liability, Maturity Lessee, Operating Lease, Liability, Maturity [Table Text Block] Total stockholders’ equity Balance at beginning of period Balance at end of period Stockholders' Equity Attributable to Parent Operating loss carryforward Operating Loss Carryforwards Balance Sheet Related Disclosures [Abstract] Balance Sheet Related Disclosures [Abstract] Common stock, shares issued (in shares) Common Stock, Shares, Issued Preferred stock, shares issued (in shares) Preferred Stock, Shares Issued City Area Code City Area Code Other State Other State [Member] Other State [Member] Aggregate intrinsic value, stock options exercisable Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value Entity Address, City or Town Entity Address, City or Town Other long-term assets Other Assets, Miscellaneous, Noncurrent Useful life of property and equipment Property, Plant and Equipment, Useful Life India INDIA Stockholders’ equity: Stockholders' Equity Attributable to Parent [Abstract] Schedule of Accumulated Other Comprehensive Income (Loss) Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block] Non-cash investing activities: Noncash Investing and Financing Items [Abstract] Credit Risk and Inventory Supplier Concentrations Concentration Risk, Credit Risk, Policy [Policy Text Block] Accumulated Other Comprehensive Loss Comprehensive Income (Loss) Note [Text Block] Number of shares granted if target achievement performance threshold not met (in shares) Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met Interest expense, net Investment Income, Net Operating leases Operating leases Operating Lease, Liability, Noncurrent California State California State [Member] California State [Member] Measurement Frequency [Domain] Measurement Frequency [Domain] Current income tax Current Income Tax Expense (Benefit) Public Stock Offering Public Stock Offering [Member] Public Stock Offering Capitalized contract cost, amortization Capitalized Contract Cost, Amortization Accumulated deficit Retained Earnings (Accumulated Deficit) Term of contract Lessee, Operating Lease, Term of Contract Restricted Stock Units (RSUs) Restricted Stock Units (RSUs) [Member] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Entity Filer Category Entity Filer Category Risk-free interest rate Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate Period Two Share-based Payment Arrangement, Tranche Two [Member] Income Statement [Abstract] Income Statement [Abstract] Concentration Risk [Table] Concentration Risk [Table] Entity Registrant Name Entity Registrant Name Payments related to the line of credit Repayments of Lines of Credit Write Offs and Returns SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction Proceeds from common stock issuances related to employee benefit plans Proceeds from Stock Options Exercised Provision for warranty and retrofit charged to cost of revenue Standard and Extended Product Warranty Accrual, Increase for Warranties Issued Stock options forfeited (in dollars per share) Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Income taxes Income tax expense (benefit) Income tax benefit Income Tax Expense (Benefit) Shares purchased under ESPP (in shares) Stock Issued During Period, Shares, Employee Stock Ownership Plan Accounts receivable, net Accounts receivable, net Accounts Receivable, after Allowance for Credit Loss, Current Amendment Flag Amendment Flag Asia Pacific Asia Pacific [Member] Equity Components [Axis] Equity Components [Axis] Accumulated Other Comprehensive Income (Loss) [Table] Accumulated Other Comprehensive Income (Loss) [Table] Entity Tax Identification Number Entity Tax Identification Number SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward] SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward] Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Target achievement performance threshold, percent Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income Per Share, Target Achievement Performance Threshold, Percent Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income Per Share, Target Achievement Performance Threshold, Percent Document Fiscal Period Focus Document Fiscal Period Focus One Customer One Customer [Member] One Customer Total current assets Assets, Current Sales and marketing Selling and Marketing Expense [Member] Accounts Receivable Accounts Receivable [Member] Concentration Risk Type [Domain] Concentration Risk Type [Domain] Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Sale of Stock [Domain] Sale of Stock [Domain] Total future minimum lease payments Total future minimum lease payments Lessee, Operating Lease, Liability, to be Paid Maximum contribution percent Share-Based Compensation Arrangement By Share-Based Payment Award, Maximum Contribution Percent Share-Based Compensation Arrangement By Share-Based Payment Award, Maximum Contribution Percent Inventory Total inventory Inventory, Net Stock-Based Compensation Share-based Payment Arrangement [Policy Text Block] Federal Deferred Federal Income Tax Expense (Benefit) 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] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Deferred income taxes Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount Contractual term, stock options Contractual Term, Stock Options Contractual Term, Stock Options Unrecognized stock-based compensation expense Share-based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount Product and Service [Axis] Product and Service [Axis] Property, Plant and Equipment, Type [Domain] Long-Lived Tangible Asset [Domain] Summary of cash and cash equivalents Schedule of Cash and Cash Equivalents [Table Text Block] Restructuring Plan [Axis] Restructuring Plan [Axis] Preferred stock, par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share Entity Public Float Entity Public Float Stock-based compensation Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Payment Arrangement, Percent Documents Incorporated by Reference Documents Incorporated by Reference [Text Block] Unrecognized stock-based compensation expense Share-based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount Weighted-average grant date fair value per share, stock options (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value Equity Component [Domain] Equity Component [Domain] Issuance of common stock under equity incentive plans, net of forfeitures (in shares) Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture Unrealized losses Debt Securities, Available-for-sale, Unrealized Gain (Loss) Sales and marketing Selling and Marketing Expense 2022 Lessee, Operating Lease, Liability, to be Paid, Year One Foreign income inclusion Effective Income Tax Rate Reconciliation, Foreign Income Inclusion, Percent Effective Income Tax Rate Reconciliation, Foreign Income Inclusion, Percent Shares issued in period Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period Minimum exercise price of stock option, percentage Minimum Exercise Price Of Stock Option Percent Minimum exercise price of stock options expressed as a percentage of the fair market value of the Company’s common stock at grant date. Statement [Line Items] Statement [Line Items] SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain] SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain] Asset retirements and write-downs Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property Loss on asset retirement Impairment of Intangible Assets, Finite-lived Performance obligations expected to be satisfied Revenue, Remaining Performance Obligation, Amount Stock Options, Weighted-Average Exercise Price Per Share: Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Products and services Product and Services [Member] Product and Services Issuance of common stock under equity incentive plans, net of forfeitures Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture U.S. Federal Domestic Tax Authority [Member] Component inventory held by suppliers Accrued professional and consulting fees Accrued Excess and Obsolete Inventory At Contract Manufacturer Accrued excess and obsolete inventory at contract manufacturer. Marketable securities Marketable securities Debt Securities, Available-for-sale Valuation allowance Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent Treasury stock retired, value Treasury Stock, Retired, Cost Method, Amount 2025 Lessee, Operating Lease, Liability, to be Paid, Year Four Summary of accrued liabilities Accrued Liabilities, Current [Abstract] Disclosure of Share-based Compensation Arrangements by Share-based Payment Award Disclosure of Share-based Compensation Arrangements by Share-based Payment Award [Table Text Block] Purchases of marketable securities Payments to Acquire Marketable Securities Allowance for Doubtful Accounts Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block] Income (loss) before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Level 2 Fair Value, Inputs, Level 2 [Member] Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] Valuation allowance Valuation allowance Deferred Tax Assets, Valuation Allowance Long-term portion of deferred revenue Deferred revenue, long-term Contract with Customer, Liability, Noncurrent Auditor Location Auditor Location Type of Restructuring [Domain] Type of Restructuring [Domain] Extended warranty Extended Warranty [Member] Extended Warranty Useful life Finite-Lived Intangible Asset, Useful Life Customer [Axis] Customer [Axis] Restructuring Cost and Reserve [Line Items] Restructuring Cost and Reserve [Line Items] Use of Estimates Use of Estimates, Policy [Policy Text Block] Schedule of net loss per share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Stock options granted (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross Document Annual Report Document Annual Report Other comprehensive income (loss) Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Vesting [Axis] Vesting [Axis] Stock-based compensation expense to be recognized in 2021 Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Four Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Four Title of 12(b) Security Title of 12(b) Security Audit Information [Abstract] Audit Information Proceeds from the sale of common stock in connection with public offering, net of expenses Proceeds from Issuance of Common Stock Total assets Assets Bank Of America Bank Of America [Member] Bank Of America [Member] Plan Name [Domain] Plan Name [Domain] Common stock, shares authorized (in shares) Common Stock, Shares Authorized Interest paid Interest Paid, Excluding Capitalized Interest, Operating Activities Numerator: Net Income (Loss) Attributable to Parent [Abstract] Geographical [Domain] Geographical [Domain] Title of Individual [Axis] Title of Individual [Axis] Document Type Document Type Research and development Research and Development Expense Product and Service [Domain] Product and Service [Domain] Balance Sheet Details Supplemental Balance Sheet Disclosures [Text Block] Stock options, intrinsic value per share (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value, Amount Per Share Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value, Amount Per Share 2023 Lessor, Operating Lease, Payment to be Received, Year Two Accounts Receivable, net Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block] Product returns Product Return Reserve, Current Product Return Reserve, Current Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Revolving Credit Facility Revolving Credit Facility [Member] Schedule of Unrecognized Compensation Cost Share-based Payment Arrangement, Nonvested Award, Cost [Table Text Block] Cash Cash [Member] Performance obligations expected to be satisfied, expected timing Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Measurement Frequency [Axis] Measurement Frequency [Axis] Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Tax credit carryforwards Research and development credits Tax Credit Carryforward, Amount Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Furniture and Fixtures Furniture and fixtures Furniture and Fixtures [Member] Schedule of Long-term Debt Instruments [Table] Schedule of Long-term Debt Instruments [Table] Cash and Cash Equivalents [Line Items] Cash and Cash Equivalents [Line Items] Net income (loss) per common share: Earnings Per Share, Basic [Abstract] Capitalized Contract Cost [Axis] Capitalized Contract Cost [Axis] Geographical [Axis] Geographical [Axis] Basic (in shares) Weighted-average common shares - basic (in shares) Weighted Average Number of Shares Outstanding, Basic Diluted (in dollars per share) Diluted net income (loss) per common share (in dollars per share) Earnings Per Share, Diluted State State and Local Jurisdiction [Member] Vesting [Domain] Vesting [Domain] Income taxes paid Income Taxes Paid, Net Deferred Revenue Arrangement Type [Axis] Deferred Revenue Arrangement Type [Axis] 2019 Plan 2019 Plan [Member] 2019 Plan Capitalized contract cost, gross Capitalized Contract Cost, Gross Net operating loss expiration Effective Income Tax Rate Reconciliation, Tax Cuts and Jobs Act, Percent Schedule of Restructuring and Related Costs [Table] Schedule of Restructuring and Related Costs [Table] Intangible asset Intangible Assets, Net (Excluding Goodwill) Comprehensive income (loss) Comprehensive Income (Loss), Net of Tax, Attributable to Parent Severance and Related Benefits Employee Severance [Member] Deferred revenue Contract with Customer, Liability Net cash provided by financing activities Net Cash Provided by (Used in) Financing Activities Other comprehensive income (loss), net of tax: Other Comprehensive Income (Loss), Net of Tax [Abstract] Vesting period Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period Corporate debt securities Corporate Debt Securities [Member] Schedule of Effective Income Tax Rate Reconciliation Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] Fair Value Measurements Fair Value Disclosures [Text Block] Restructuring charges (benefit) Restructuring Charges Accounts payable Accounts Payable, Current Concentration Risk Type [Axis] Concentration Risk Type [Axis] Services Cost Of Revenue, Services [Member] Cost Of Revenue, Services [Member] Fair Value, Assets Measured on Recurring Basis Fair Value, Assets Measured on Recurring Basis [Table Text Block] Accumulated Other Comprehensive Loss Total AOCI Attributable to Parent [Member] Inventory Increase (Decrease) in Inventories Contract with customer, asset Contract with Customer, Asset, after Allowance for Credit Loss Restructuring and Related Costs Restructuring and Related Costs [Table Text Block] Common stock, shares outstanding (in shares) Beginning Balance, shares Ending Balance, shares Common Stock, Shares, Outstanding Financial Instruments [Domain] Financial Instruments [Domain] Treasury stock retired (in shares) Treasury Stock, Shares, Retired Balance at beginning of period Balance at end of period Standard and Extended Product Warranty Accrual Cost of revenue Cost of Goods and Services Sold Revenue: Revenues [Abstract] Goodwill Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block] Purchased Software Licensed Software Computer Software, Intangible Asset [Member] Document Period End Date Document Period End Date Current portion of warranty and retrofit Product Warranty Accrual, Current Summary of accounts receivable, net Accounts Receivable, after Allowance for Credit Loss, Current [Abstract] Entity Central Index Key Entity Central Index Key Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Line of Credit Facility, Lender [Domain] Line of Credit Facility, Lender [Domain] Stock Options, Number of Shares: Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward] Consolidated Entities [Domain] Consolidated Entities [Domain] Deferred tax assets (liabilities): Deferred Tax Assets, Gross [Abstract] Impact of state taxes Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent State Deferred State and Local Income Tax Expense (Benefit) Property and Equipment, net Property, Plant and Equipment [Table Text Block] Percent of historical volatility Percent of Historical Volatility Percent of Historical Volatility Income Statement Location [Domain] Income Statement Location [Domain] Reduction for tax positions related to prior year Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions Employee Stock Purchase Plan Employee Stock Purchase Plan [Member] Employee Stock Purchase Plan Number of additional shares authorized (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Number of Additional Shares Authorized R&D tax credits Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Percent Loss Contingencies [Line Items] Loss Contingencies [Line Items] Property and equipment, net Property and equipment, net Property, Plant and Equipment, Net Other permanent items Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Percent Total operating expenses Operating Expenses Stockholders' Equity Shareholders' Equity and Share-based Payments [Text Block] Other long-term liabilities Other Liabilities, Noncurrent Lender Name [Axis] Lender Name [Axis] Debt Instrument [Line Items] Debt Instrument [Line Items] Trading Symbol Trading Symbol Earnings Per Share [Abstract] Earnings Per Share [Abstract] Property and equipment, gross Property, Plant and Equipment, Gross Foreign currency translation adjustments, net Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent Revenue from Contract with Customer Benchmark Revenue from Contract with Customer Benchmark [Member] Remaining performance obligation, percentage Revenue, Remaining Performance Obligation, Percentage Test Equipment Test equipment Equipment [Member] Stock options vested and expected to vest (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number Stock options outstanding, beginning (in dollars per share) Stock options outstanding, ending (in dollars per share) Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price Contract with customer, asset, prior period, not recognized Contract with Customer, Asset, Prior Period, Not Recognized Contract with Customer, Asset, Prior Period, Not Recognized Stock based compensation Share-based Payment Arrangement, Expense Cost of Revenue Cost of Goods and Service [Policy Text Block] Weighted-average remaining contractual term, stock options exercisable Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term Europe Europe [Member] Performance Based Stock Options Performance Based Stock Options [Member] Performance Based Stock Options Entity Current Reporting Status Entity Current Reporting Status Computation of basic and diluted net loss per share Earnings Per Share, Basic and Diluted [Abstract] Total Effective Income Tax Rate Reconciliation, Percent Net loss Net income (loss) Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Accounts receivable Accounts Receivable, before Allowance for Credit Loss, Current Brazil, China And United Kingdom Brazil, China And United Kingdom [Member] Brazil, China And United Kingdom Taxes payable Taxes Payable, Current, Excluding Accrued Income Taxes Taxes Payable, Current, Excluding Accrued Income Taxes 2020 Performance Targets 2020 Performance Targets [Member] 2020 Performance Targets [Member] Schedule of Income before Income Tax, Domestic and Foreign Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block] Cash and cash equivalents at beginning of year Cash and cash equivalents at end of year Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents United States UNITED STATES Shares sold in offering (in shares) Sale of Stock, Number of Shares Issued in Transaction Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Current Assets: Assets, Current [Abstract] Shares available for future issuance (in shares) Common Stock, Capital Shares Reserved for Future Issuance Income Taxes Income Tax, Policy [Policy Text Block] Accumulated Other Comprehensive Income (Loss) [Line Items] Accumulated Other Comprehensive Income (Loss) [Line Items] Money market funds Cash and Cash Equivalents, Fair Value Disclosure Entity Address, Postal Zip Code Entity Address, Postal Zip Code Stock options exercised (in shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Contract Costs Revenue from Contract with Customer [Policy Text Block] Diluted (in shares) Weighted-average common shares - diluted (in shares) Weighted Average Number of Shares Outstanding, Diluted Domestic Income (Loss) from Continuing Operations before Income Taxes, Domestic Schedule of Certain Terms [Line Items] Schedule of Certain Terms [Line Items] [Line Items] Schedule of Certain Terms [Line Items] Total other comprehensive income (loss), net of tax Other comprehensive income (loss) Other Comprehensive Income (Loss), Net of Tax Fair Value, Recurring Fair Value, Recurring [Member] Income Taxes Income Tax Disclosure [Text Block] Award requisite service period Share-based Compensation Arrangement by Share-based Payment Award, Award Requisite Service Period Over-Allotment Option Over-Allotment Option [Member] Denominator: Weighted Average Number of Shares Outstanding, Basic [Abstract] Schedule of Stock Options Activity Share-based Payment Arrangement, Option, Activity [Table Text Block] Bangalore, India Bangalore, India [Member] Bangalore, India Fair Value of Financial Instruments Fair Value of Financial Instruments, Policy [Policy Text Block] Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Interest and other expense, net: Nonoperating Income (Expense) [Abstract] Auditor Firm ID Auditor Firm ID Purchase obligation Purchase Obligation Credit Facility [Axis] Credit Facility [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Entity Address, Address Line One Entity Address, Address Line One Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Payments related to financing arrangements Payments For Financing Arrangements Payments For Financing Arrangements Operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] General and administrative General and Administrative Expense [Member] Entity Shell Company Entity Shell Company Purchase commitments Purchase Commitment, Remaining Minimum Amount Committed Description of Business and Significant Accounting Policies Business Description and Accounting Policies [Text Block] Cash, Cash Equivalents, and Marketable Securities Cash, Cash Equivalents, and Marketable Securities, Policy [Policy Text Block] [Policy Text Block] Disclosure of accounting policy for cash and cash equivalents, and for investments in debt and equity securities that have readily determinable fair values (marketable securities). Expected life Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term Total current liabilities Liabilities, Current ESPP Employee Stock [Member] Stock-based compensation expense to be recognized in 2018 Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized Next Twelve Month Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized Next Twelve Month Revolving credit facility, maximum capacity Line of Credit Facility, Maximum Borrowing Capacity Municipal securities Municipal Notes [Member] Money market funds Money Market Funds [Member] Schedule of Commitments and Contingencies Loss Contingencies [Table] Revenue Revenue from Contract with Customer, Including Assessed Tax Aggregate intrinsic value, stock options vested and expected to vest Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value Current Fiscal Year End Date Current Fiscal Year End Date Stock-based compensation expense to be recognized in 2020 Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Three Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Three Cloud Implementation Costs Cloud Implementation Costs [Member] Cloud Implementation Costs [Member] Statement [Table] Statement [Table] Schedule of Grant Date Fair Values Schedule of Grant Date Fair Values [Table Text Block] Schedule of Grant Date Fair Values [Table Text Block] Number of shares authorized per purchase period Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period Recent Accounting Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Other Deferred Tax Assets, Other Weighted average assumptions used to estimate fair value of stock options Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract] Unrecognized stock-based compensation expense Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Statistical Measurement [Axis] Statistical Measurement [Axis] Product return liability SEC Schedule, 12-09, Reserve, Product Returns [Member] Reserve established for amounts due that are unlikely to be received due to customer's return of products. Subsequent Event Subsequent Event [Member] Stockholders' Equity Note [Abstract] Stockholders' Equity Note [Abstract] Intangible asset Finite-Lived Intangible Assets, Net Goodwill Goodwill Foreign operations Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent Balance at Beginning of Year Balance at End of Year SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount 2024 Lessor, Operating Lease, Payment to be Received, Year Three Inventory Valuation and Supplier Purchase Commitments Inventory, Policy [Policy Text Block] Foreign Current Foreign Tax Expense (Benefit) Adjustments to reconcile net income (loss) to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Subsequent Event Type [Axis] Subsequent Event Type [Axis] Shares available for issuance, additional shares (in shares) Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares Rent expense Operating Lease, Cost Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] Computer equipment Computer Equipment [Member] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Income Taxes Income Taxes [Table] Income Taxes [Table] Executive Officer Executive Officer [Member] Lessee, Operating Leases Lessee, Operating Lease Liability [Table Text Block] Lessee, Operating Lease Liability Consulting Services Consulting Services [Member] Consulting Services [Member] Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Deferred Income Tax Expense (Benefit) Deferred Income Tax Expense (Benefit) Valuation Assumptions, ESPP Schedule of Share-based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block] Weighted-average remaining contractual term, stock options vested and expected to vest Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term Shares award target achievement performance threshold, percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent EX-101.PRE 11 calx-20211231_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT GRAPHIC 12 calx-20211231_g1.jpg begin 644 calx-20211231_g1.jpg M_]C_X 02D9)1@ ! 0$ 8 !@ #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!3_P 1" (% \H# 2( A$! Q$!_\0 M'P 04! 0$! 0$ $" P0%!@<("0H+_\0 M1 @$# P($ P4% M! 0 %] 0(# 01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D* M%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#[^^)?BCQO M_P +3\(>#?!NJ>']%_M31M6U>[O==T:?4O\ CTGTZ)(XTBN[?;N^W.2Q9ON* M !DFC_A'/C?_ -%"^'__ (0=]_\ +FCQ'_R=-\//^Q,\2_\ I=H5>JT >5?\ M(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\; M_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#H MH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P_ M_P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#" M#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ M )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ ) MJT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 M>5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\ M(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\; M_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#H MH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P_ M_P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#" M#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ M )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ ) MJT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 M>5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\ M(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\; M_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#H MH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P_ M_P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#" M#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ M )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ ) MJT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 M>5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\ M(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\; M_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#H MH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P_ M_P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#" M#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ M )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 >5?\(Y\;_P#HH7P__P#"#OO_ ) MJT4 >5?\(Y\;_P#HH7P__P#"#OO_ )JT4 M>/\ AOQ)\1=!^-&A^$?%VN>%_$&FZQX?U358Y=%\/W.F302VESI\04F2^N0Z MLM\_&%(*#DY(KV"O*O$?_)TWP\_[$SQ+_P"EVA5ZK0!Y5XC_ .3IOAY_V)GB M7_TNT*O5:\J\1_\ )TWP\_[$SQ+_ .EVA5ZK0 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 457U"^M]+L;F]NY5@M;>-II96Z(B@E MF/L #7COA'XY>,/%%KX:\2/\-98/ 7B.XABL;RWU%[G5X89VQ;W=U8+;A(8& M^1F*W#M&DBLZKB3RP#VJBN=A^(_A.Y\:7'@^'Q1HLOBVWB$\V@IJ$)OXXRJL M': -Y@7:RG)7&&![BL&;]H;X5V[:BLOQ+\'Q-IT"W5Z'UZU!M86D2-9)?WGR M(9)8D#-@%I$'5AD ] HKB]=^-GP[\+Z7I^I:SX]\,:1IVH6T=[9WE]K-M##< MV[XV31NS@.C9&&4D'(P:M^+?BMX*\ W&F6_B?QAH'AR?5"181:MJ<%JUV05! M$0D8%\%T^[G[P]10!U-%>:?%CX\>'?AOHNOI;:QX0^&;_Q%::9 M-<&.-9"K/,V(EV,K%V&%5@3P:Z;_ (69X/\ ^$V_X0W_ (2O0_\ A+_+\W_A M'_[1A^W[-F_=]GW>9C;\V=O3GI0!TM%*]$O=?TE#)J M.E6^HPR75F@QEIH@VZ,%O&GA[Q+?6\*7,UMH^J MP76>./BAXNL?B=:^"?!GA/1_$%[_ &.= M9O+K6]>FTR&",S^3&@\JSN2S,0YY"C$9ZUM_ W_PK\!7/BN'0'U^STV2* M;5;:UG*SP6.X"XN(EV-YS1(3)Y?R%E1L-NPI .XHKSW0?BY%XQ^)4GASPU90 M:SHECI<.H:GXACO,0P/<#?:6\2A")G>(&5OF78C0GYO-6MCPK\5_!'CK1;_6 M/#?C'0/$.D:?N%Y?Z5JD%S!;87>?,D1RJ87YCDCCF@#JJ*XK3/C=\.M:\,W/ MB33_ !]X7O\ P[:W"VD^KVNLVTEI%,VW$3RJY17.],*3GYAZBGZ?\:/A]JVN MZ3HECX[\,WFLZO;K=Z=IUOK%O)<7L#*SK+#&'W2(55F#*""%)Z"@#LJ*QO%O MC3P]X!T636/$^NZ9X1(T5(G M9F;D*JLRW?!OQ,;5-/6/Q;IB^"=>_M5]$6QOKG,-[=+'YJFQF=8_M4;Q NK* M@;Y) RJT;JH!W-%&[&:]U?QMX&]3U&WT]-6FL[/5K>6:*R=(Y$N M617)$+)+$PD(VE9$.<,,@'845YG\6OCQH'PU^%NO^+K&[TWQ'NOBUX+TOQ'I7AO4_%N@Z7XHU2*. M:TT*[U.&.]G5\A3'"S!W!*L 0O)4^E '745X?IG[67A/Q1K'V7P[LW5[KMG:_8A%:37!NHT,C&="82H4;6PLKX"Q-7JZ^,_#[R:7&NNZ:SZ MI:R7U@HNX\W=N@1GFB&?WD:B2,EER )%R?F% &S17.^"?B-X4^)>FS:CX0\3 MZ-XJT^&8V\MUHFH17D4<@4,49XV8!L,IP3G# ]Z\N\;?&7XF^&/BQH/@JR^' M_A/4/^$A74)]+OKCQC=09@M/*+-.@TM_+=EF3"JT@R&&[@$@'N=%O2LWQK\6O%]E\88_A_X/\ ".B:Y=C05UV>\USQ#-IJ(AN&@$:K%97!8Y7. M3MZT >N45Y;X$^/VB:W\-]3\5^+I=.\!)HNJW6B:Q_:>IQBSM+NWN#;L%NG$ M:NC.%V,50G>H*@\5-J_[1W@#2/&?@3PVWB*PNKKQK!-=:/=6M[;O;RQ1J&5] MWF9829Q&4#!BK#M0!Z917.+\2?"+6.GWJ^*=%-GJ-C-J=E<#48?+N;2)5:6X MC;=AXD61"SKE5#J21D5@W?[1'PJL+$WES\3?!UO9AY8S<3:_:+'NC9$D7<9, M91I(U8=BZ@_>% 'H-%065[;ZE9P7=I/%=6EQ&LL,\+ATD1AE65AP00001US4 M] !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!Y5XC_P"3IOAY_P!B M9XE_]+M"KU6O*O$?_)TWP\_[$SQ+_P"EVA5ZK0!Y5XC_ .3IOAY_V)GB7_TN MT*O5:\J\1_\ )TWP\_[$SQ+_ .EVA5ZK0 4444 %%%% !1110 4444 %%%% M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110!E^*M A\5^&-7T2X=HX-2LYK.1UZJLB%"1[ MX:O%/AWJ7Q?T'PCX,\!R>!DLM4TXLK?"O/;PQW NC--$B M[8WAC6-Y6R[",>9[_10!\GZ%\%_&MKXJT/P[<>&F^SZ/\1;[QJ_CJ2[MS#>&/%'PE^(GPST74/AK-XR\ M0:;\-]7MI="M;NP$D ?5(MI$D\JP["C*C;7R%D.%;!6G?$3]FOXPV/PG@^'. ME6UQK<"?#*V\+KJ.@OI,$5U?1).)(+V>\3[7]F&Z+R5M]HRS[]@8L/N=M"TU MM<36FTZU.L1V[6::@8%^T+ S*[1"3&X(656*YP2H..*A\4>)-/\ !OAG5]?U M:=;72M*LYKZ[G;I'#$A=V/T52?PH ^5OB%\"/''B3P+^TC;V?A[?JOC30-+L MM(1[NW$EW+#IXB>-F\S";9"PRY Y)!(.:V[_ .&?C>R^/D=YX?\ #>J6&B7' MBN/6[^6_NM*U#P]+']E\J6[C651J-K>LG[M5A'E!\$LR/(:[7X/_ !ZU#4OA MWXDU;XI6MCX0USPV4N-5M[<2>5#:SP1W-NR@EF=@DODMMSNEAD"J.%K?7]I# MP$WA^[U=M0U2);74(])DTV;0-0CU3[7)&)8X5T]H!=,S1MY@VQ'*!G^ZK$ ' MAW@'X&^.=/F^&WA^^\,-IX\ R>()[KQ0]W;-#KHO8KF-$@5)3,&E>XCN)O/C MC420\%_E:MSX&?!'Q;X'U3]GF6_T-=.A\+_#R]T/7#'<0'[/?2'3F$1".?,R MT$YW)N7*DD_,,^U^'?C5X,\53>%X=,U@W$_B6.]ETR)K2>-Y?LCJETKJZ PO M$[!&CEVL&#+C*D#F-2_:T^%NEZ3IVHR:_>7-MJ&G3ZO;BPT2_NY6LX9#'-.8 MXH&=41AAF8 8)X.: ."_::^#,7C_P 0:[+QIXCU3P_'I.D>,O[5MT. MCSJ\YC=TGD1[41//YHGM%EE;+@J"J!OHCPWIMWIOA?2]/U2[_M2^@LXH+J[< M?\?$BH%=R#_>()_&N(\/_M(?#GQ/_;;V7B18[;1]/_M>YO;ZTN+2U>QRX^UP M3S1I'<6^8V_?0LZ=/FY&8M-_:7^'FJ>'M4UB/5[VW@TV2UBN+.^T6^M;\M=, M%M1'9RPK<2^8RLJ;BI /+_A[^S;K.E?L8>,_A=:V5GX-\0ZZ/$4 M$.UU\I!-KKPY/'.T.6"=$EB<$?==5."I'# GR+X??M7:-/X#\/:C MXVD>U\1:]J>O6>G:7X?T:^OY;J/3]1FMB8X8$FD+")(G?ZNP 53M /'5^ _Q M/\177C>\U30M_TEKV:WL;P&[,Z616VC:.*)3LC!#H8\%Y M#(J][XX^&/CA/CE>:IX4\-:E:VNJ>(-*U2\N+F[TJ^\.72P+%'+=S03J+ZUO M5AC,:?9,M$ET_Q9X5C\%'Q39:;:V]ZFH7; M&X2)':00O'#!A]K^8HDC;)9556QU^D_M#:3;WWCJ[UW4[=-%TK4=-LM.L;+1 MM2_M=6N[&VN$@GM&A\R2X9IRPCA0E4P'"ND@ !)\;_"OB"X\2W6@V<]O% W$D<1DC+$8>1/DEDP20%/G7PI^!?B_PAKGP M7NKW2XK:TT>X\47^HVL%S&R:0FHRF:VM!\WS^6'\H^4&0%#@[<$]ZG[0UIXF M\=?"^Q\)RPW^@>*+S6+&_DOK.XMKRUFL8G+1&*4(\,BRHRNLJ9P.@X-6?'7Q MUC^'7Q>N-'UV2UL?!EAX*OO%6H:@8)9+B'[/&_#]QXPLO['N- U?0["XMX+T1M*L\%S ;B2.)]KHZ.C2) M\LNX%BFT\A\0]'^*7C?3O!?BR\\'*]QX<\=1:[:^$;&[MAJ2Z6ME6R6#6(G^W:+?6K".\F,-K.H MEA4O!)("HG4&(8)+@)OCIX*\'R:W%J>K2I<:/=VFGW5O;V%S&.*-FN)61E;RX@[!2"0!S0!X+\,O@GXWA^)'@GQ'KOA5=-@M?&GBOQ!<1S M7EM.]E#?QO\ 96)1SESOVG9G:';#$INP1DXKW>^_:4^'UCX?TS6/[5OKR'49KFW@L]/T M2^N[]9+8E;E9+.*!KB(PL-LGF1KY;,JMM+ 'FM6_:^\&:)X\NM*N_M7_ B] MOX.7QFWBJWL[N>T:U9B05, M76CW6E?!C4/ J?:]6T]_MNJ,VG[!%Y<[ 0N+>0J\A0_*P=4^7=TWQ@^$/Q;\ M5^-M8BL-#OY-&_X2+P[J]I_9RWB&*8*"ZP^6B8;*A M6]MN/VOOA5:37<5QKVH6[V;Q_:Q-X?U)/LT3D".YES;_ +NV;(VW+8A;G#G! MKH]?^/O@7PQXV_X1/4M9DAU=7MHIVCL+F6TM);@XMXKF[2,P6\DIQLCED5FW MQX!WID \/M?@MXU3XI6$LGAN5M'L_BM=^*GU)[JU\F73[C2+B .J>:9,K*RQ MLK(#\P(#+DC+B_99\;ZO\)_BCX2NFM;">WT.Y\&>"97F7RWTHS/<(S[-WEB1 M'MK5P1G_ $+=L*L,^[6?[2WP[O\ QI_PBT&LW:A M=Z?:7=ZD4&D7A&H1VS;)VLG\G;>A'PK?9C)@L,]17+_"_P".WB?Q)^R1+\6[ M[3(?$&N2:!/K]MH>EZ5=:;O*VYE6T43M(\IW J)T&V0$,B$$;@#B?B!\%_&V MI>)_B%H%IX9;5;;QEXLT;Q+9^-6N[=(='AM19AX94:47'FQ_8I#%Y,;J?M"9 M=/GVP>(_AO\ $W19O&T>A>&[^1+KXE1^)H]2TT://>2Z=)IZQL^GB_=HHKF. M>)%8SHG[MW\LL3QWGP'^,GC#QOX#\1^+-4O/"OQ!TFS>XBL'^'L4DI?!76O$=YX=T_0O&#>,_P#A"].T MF:4W$%M_$CVSL8RH=F,F&"(,,&.U5Q7?_$#X!7/Q*_:+EU_ M4)O$&D>'1X-&EPZMX=\17.E3I>?;)'VXMID=]J,&'F*T><<$\5GG]H+Q9#X: MO="D_L&3XB6_CJ'P,+X6DR::SRQQW:W?V7SS)@6G7%W8C4 MOF6>40+;P ;P6>&V$@0R$*9 "U?6M% 'PMX?^!WQ2N?!/@#PS>^!+C3)/!OP MY\1>$I;V75+%X=0O+FWM(K=K<),6$3_9R0TJQL-WS*N,GUS0?@UK]G\0OA)J M$VA0IIGAWX9"1:WLG]GJD2J&RG444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% 'E7B/\ Y.F^'G_8F>)?_2[0 MJ]5KRKQ'_P G3?#S_L3/$O\ Z7:%7JM 'E7B/_DZ;X>?]B9XE_\ 2[0J]5KR MKQ'_ ,G3?#S_ +$SQ+_Z7:%7JM !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 4444 %%%% !1110 4444 %>=?'7X&FM=<>-+VTG:38Z[(W1!" MR@?OW9/JJB@#YDTSX&_%+PW/\.O$D&I:1XF\1^&[O7%?2_$&NWDD4-C?LK10 M)J+6TD]PUOY42AYH@TBELE<"LWX?_LH^+_">B:;9WNJ:)+/'(%,?$04'=R6!X ;K7U;10!\L^)_V1=<\9>'8=$O=9T^P@;X7Q^" M9+JW,DCQWR2Q2"95VKNAS%_>5SZ#J*NG?LN^)KS0_%UQK7AWPK=:QJUIIUB+ M/5?%_B#73"":6&*YU*WMY2BS1R1[O+E< LC8)S MBLG_ (2K7_@G\5-(T/Q3XVOO&'A+7-%U'4#J6O6UE#=:7-8B*20[K2"!'A>& M5C@QEE:+[Q#X4 \G;]BOQCH6=[>Z_IFN>!K"+0)/%-K M<^(H(4%_I4>/,NH5@EE<; \1,4JI*/-3]WDD"9_VEK33?#,^J:[X#\:>&[MI M;*#3](U"RMFN=5ENV*6\5L\-Q) 9"RD,CRHT8&Z0(A#$ \^^#O[+OBOX?^)? M!FH:A>:,UMHOB3Q#K,Z6UY=7$C1:A#B- \R%Y'5V8,TCY8#>6+,5'0_M"?L^ M>(OBQKGBR]TB]TNVBU;X%DBM#J%IJ"VDEVD(+V\TFSU+5+>V2V_M&U29[FS;9<.^]!; MS#>J&)BA"R,>* *^O?LYW7C#QMXNN=7O+9/#_B#X?67@]OLTC_:HKB*>\D>9 M1M "@7,91@V[]1FNJC_:_P##-OX9UK6] M6\,^*/#\%CX:F\765OJ5O;+/K&EQ &2:V5+AMK#=%F.^ ;B]TJSNO!>JWL$@L'UZVAN6A)!\J=X8;@AE/ M#!#(K8X8*<@?/'B[XP>-/A,_QBTNS\87'CN#PYHFG/:ZUKEC:K+INL7DSPK: MR?9(((I55&MIRA3>!(-S8=< &]\5/V:?$_CBQ^.D-A?Z3$WCKPCI6@::;B:5 M1#<6HO1(TV(SM0_:8]I7<3AL@8&N?%/Q?J-JNGZMX8\6:M8:O=? MVGXIUFR6Q>%8(YHSIEFZ6][E;9&CDDDC97?#!UC4-V?@>]\<:UK7Q)^&\GQ! MNI=4\/7NFRV_BNXTJS:_^Q7,"R/'Y:1I;><&CG5)#$RJ&3=&Y4[JWPQ\=?$; M6?#WQ(L-!O;/XA3Z'XD;1=!\2>(&2QCNXQ!"UQ).;6!4E%M<23P_N8T$A@*9 M5@ST 0?\,Y^)/L?E?;M*W?\ "U/^$X_ULN/L/G;_ "_]7_KL?P_=S_'7>? ? MX;ZS\,=!\4Z+JQL9;6[\3:MJVGW%C7'M1U"*XL_L'A^[>[ M%Z7OYKG[3/*T41(4.J0H5+*K2%B"^Q2Z_9S\1/\ ##Q9I$-]I0\0S>/I?'.B M22/(;;>FII?6\,[;-R;A'Y;E5?;O)&_&#]%44 ?-[?L^^+9_#=WKSG0(_B'< M>.XO')L!=S/IH:**.T6T%UY DP;2/'G>1Q(['RR.#Z;\#OA[J7P]\):@FN26 M]E4ML+;5SM'H=% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!Y5XC_P"3IOAY M_P!B9XE_]+M"KU6O*O$?_)TWP\_[$SQ+_P"EVA5ZK0!Y5XC_ .3IOAY_V)GB M7_TNT*O5:\J\1_\ )TWP\_[$SQ+_ .EVA5ZK0 4444 %%%% !1110 4444 % M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44 M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111 M0!YY\>/A;=_&+X>MX>L-9AT"^34M/U."^N+(WD2R6EY%BZA M+!)@/<75VIE>:XPB?<\J(MN9HF)79T/C7]FWQ3\7/ \NA_$/QYI7B26WEL;K M38HO"L<>FI<6SL_FW5K+/,USYN[9(GG(A0#8J-ES] T4 ?/?@_\ 9,B\+MX/ MG74_#^GSZ%XJD\3RVOACPI;Z/82[K&:S6WCABS+(TES-A4RL;01L=Y,9)0I]7T4 N/9"Z^R2[-BSB$NH^&VN^*-"ET+4 M+-XX;K0/#]Q9WR7C/YAO9IKB_NOM$ID_>,6 +-DECG%>_44 >!ZI^SSXUU+P M;XVA7XD6MCXU\87MK+J>OV6ARPP+9P1)$+2"!;P2Q!T1@T@N-X,TA0H=FST? MX4>$->\"^&(=$U>^\-W-G9)';Z=;^&=!ETBWM8%4*(_+>[N,XQP05 ';O7:T M4 <-\#?AC_PI?X0>$? O]I?VQ_8&G16'V_R/(\_8,;_+W-MSZ;C]:[FBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH \J\1_P#)TWP\_P"Q,\2_^EVA5ZK7E7B/_DZ;X>?]B9XE_P#2 M[0J]5H \?\=6MU>_M(>"K>QO#IU[-X&\4QP7BQ+(8)#>:$%DV-PVTX.#P<8- M)?\ TNT*MV\^$^EV^F>([?0);CP[=>(M8AUO4[ZTN9Q+ M+<*;=9&4B0%"T5LD> =G]Y'!=7 /&?CA\.?"OB+XI:)IO@[0X)OC!T._95-S:Z=,FFK+:1/CEU!PWGL3T&/H]OV;_!(\8:MX MGMSXET_6-6O5U"_;3O%^KVD%S.JHBL\$5TL3 )&B[2F-JA<8&*U-4^"'@O6/ MB):^.;K29'\16[12"1+ZX2VEEB21(II;59!!-+&LKA)9(V=1MVL-BX /ESX= M1B#XF?#_ ,=QV42>.?$WQ.\5>'M>-K'29(?$%TTTCL;ZX>UCEE6-9IHK5I#!%+ M((DWRQQJ[_-N8[VS#XT^ W@SXA>'=)T77[34KVWTI9$M+I=0J^%W [5P ?#FJ:U?_$SX/:QXP\8C[;XI\(_!'0O%'AS5+P*\ M]EJ1/)$K21_P!QB 2/ MP-<-XN^ ?@/QQJ6B7VK:#NFT>&.VMH[.[GLX'MTD26.WGAA=([B!7B1A#,KQ MCYL+\S9]!H \O\6?M(>#/!/B*/0]6@\61ZC-=-96ZVO@O6;J*ZF$3RE()8K1 MHYB(XY'_ ';-\L;GHIQNZ?\ %C1-2LX;J&Q\3)%*NY5N/"NJ0R#_ 'D>V#*? M8@5SOQD_Y*+\"?\ L<[G_P!1[6:]5H Y3_A96D?\^?B#_P )S4?_ (Q1_P + M*TC_ )\_$'_A.:C_ /&*ZNB@#E/^%E:1_P ^?B#_ ,)S4?\ XQ1_PLK2/^?/ MQ!_X3FH__&*ZNB@#E/\ A96D?\^?B#_PG-1_^,4?\+*TC_GS\0?^$YJ/_P 8 MKJZ* .4_X65I'_/GX@_\)S4?_C%'_"RM(_Y\_$'_ (3FH_\ QBNKHH Y3_A9 M6D?\^?B#_P )S4?_ (Q1_P +*TC_ )\_$'_A.:C_ /&*ZNB@#E/^%E:1_P ^ M?B#_ ,)S4?\ XQ1_PLK2/^?/Q!_X3FH__&*ZNB@#E/\ A96D?\^?B#_PG-1_ M^,4?\+*TC_GS\0?^$YJ/_P 8KJZ* .4_X65I'_/GX@_\)S4?_C%'_"RM(_Y\ M_$'_ (3FH_\ QBNKHH Y3_A96D?\^?B#_P )S4?_ (Q1_P +*TC_ )\_$'_A M.:C_ /&*ZNB@#E/^%E:1_P ^?B#_ ,)S4?\ XQ1_PLK2/^?/Q!_X3FH__&*Z MNB@#E/\ A96D?\^?B#_PG-1_^,4?\+*TC_GS\0?^$YJ/_P 8KJZ* .4_X65I M'_/GX@_\)S4?_C%'_"RM(_Y\_$'_ (3FH_\ QBNKHH Y3_A96D?\^?B#_P ) MS4?_ (Q1_P +*TC_ )\_$'_A.:C_ /&*ZNB@#E/^%E:1_P ^?B#_ ,)S4?\ MXQ1_PLK2/^?/Q!_X3FH__&*ZNB@#E/\ A96D?\^?B#_PG-1_^,4?\+*TC_GS M\0?^$YJ/_P 8KJZ* .4_X65I'_/GX@_\)S4?_C%'_"RM(_Y\_$'_ (3FH_\ MQBNKHH Y3_A96D?\^?B#_P )S4?_ (Q1_P +*TC_ )\_$'_A.:C_ /&*ZNB@ M#E/^%E:1_P ^?B#_ ,)S4?\ XQ1_PLK2/^?/Q!_X3FH__&*ZNB@#E/\ A96D M?\^?B#_PG-1_^,4?\+*TC_GS\0?^$YJ/_P 8KJZ* .4_X65I'_/GX@_\)S4? M_C%'_"RM(_Y\_$'_ (3FH_\ QBNKHH Y3_A96D?\^?B#_P )S4?_ (Q1_P + M*TC_ )\_$'_A.:C_ /&*ZNB@#E/^%E:1_P ^?B#_ ,)S4?\ XQ1_PLK2/^?/ MQ!_X3FH__&*ZNB@#E/\ A96D?\^?B#_PG-1_^,4?\+*TC_GS\0?^$YJ/_P 8 MKJZ* .4_X65I'_/GX@_\)S4?_C%'_"RM(_Y\_$'_ (3FH_\ QBNKHH Y3_A9 M6D?\^?B#_P )S4?_ (Q1_P +*TC_ )\_$'_A.:C_ /&*ZNB@#E/^%E:1_P ^ M?B#_ ,)S4?\ XQ1_PLK2/^?/Q!_X3FH__&*ZNB@#E/\ A96D?\^?B#_PG-1_ M^,4?\+*TC_GS\0?^$YJ/_P 8KJZ* .4_X65I'_/GX@_\)S4?_C%'_"RM(_Y\ M_$'_ (3FH_\ QBNKHH Y3_A96D?\^?B#_P )S4?_ (Q1_P +*TC_ )\_$'_A M.:C_ /&*ZNB@#E/^%E:1_P ^?B#_ ,)S4?\ XQ1_PLK2/^?/Q!_X3FH__&*Z MNB@#E/\ A96D?\^?B#_PG-1_^,4?\+*TC_GS\0?^$YJ/_P 8KJZ* .4_X65I M'_/GX@_\)S4?_C%'_"RM(_Y\_$'_ (3FH_\ QBNKHH Y3_A96D?\^?B#_P ) MS4?_ (Q1_P +*TC_ )\_$'_A.:C_ /&*ZNB@#E/^%E:1_P ^?B#_ ,)S4?\ MXQ1_PLK2/^?/Q!_X3FH__&*ZNB@#E/\ A96D?\^?B#_PG-1_^,4?\+*TC_GS M\0?^$YJ/_P 8KJZ* .4_X65I'_/GX@_\)S4?_C%'_"RM(_Y\_$'_ (3FH_\ MQBNKHH Y3_A96D?\^?B#_P )S4?_ (Q1_P +*TC_ )\_$'_A.:C_ /&*ZNB@ M#E/^%E:1_P ^?B#_ ,)S4?\ XQ1_PLK2/^?/Q!_X3FH__&*ZNB@#E/\ A96D M?\^?B#_PG-1_^,4?\+*TC_GS\0?^$YJ/_P 8KJZ* .4_X65I'_/GX@_\)S4? M_C%'_"RM(_Y\_$'_ (3FH_\ QBNKHH Y3_A96D?\^?B#_P )S4?_ (Q1_P + M*TC_ )\_$'_A.:C_ /&*ZNB@#E/^%E:1_P ^?B#_ ,)S4?\ XQ1_PLK2/^?/ MQ!_X3FH__&*ZNB@#E/\ A96D?\^?B#_PG-1_^,4?\+*TC_GS\0?^$YJ/_P 8 MKJZ* .4_X65I'_/GX@_\)S4?_C%'_"RM(_Y\_$'_ (3FH_\ QBNKHH Y3_A9 M6D?\^?B#_P )S4?_ (Q1_P +*TC_ )\_$'_A.:C_ /&*ZNB@#E/^%E:1_P ^ M?B#_ ,)S4?\ XQ1_PLK2/^?/Q!_X3FH__&*ZNB@#E/\ A96D?\^?B#_PG-1_ M^,4?\+*TC_GS\0?^$YJ/_P 8KJZ* .4_X65I'_/GX@_\)S4?_C%'_"RM(_Y\ M_$'_ (3FH_\ QBNKHH Y3_A96D?\^?B#_P )S4?_ (Q1_P +*TC_ )\_$'_A M.:C_ /&*ZNB@#E/^%E:1_P ^?B#_ ,)S4?\ XQ1_PLK2/^?/Q!_X3FH__&*Z MNB@#E/\ A96D?\^?B#_PG-1_^,4?\+*TC_GS\0?^$YJ/_P 8KJZ* .4_X65I M'_/GX@_\)S4?_C%'_"RM(_Y\_$'_ (3FH_\ QBNKHH Y3_A96D?\^?B#_P ) MS4?_ (Q1_P +*TC_ )\_$'_A.:C_ /&*ZNB@#E/^%E:1_P ^?B#_ ,)S4?\ MXQ1_PLK2/^?/Q!_X3FH__&*ZNB@#E/\ A96D?\^?B#_PG-1_^,4?\+*TC_GS M\0?^$YJ/_P 8KJZ* /'[W5+77/VD?AAJ5C+Y]E>>!O$5Q!+M*[XWO-!93@@$ M9!'!&:]@KP#P5_R5/X%_]DSUG_T?X?KW^@#RKQ'_ ,G3?#S_ +$SQ+_Z7:%7 MJM>5>(_^3IOAY_V)GB7_ -+M"KU6@ HHHH **** "BBB@#RKXR?\E%^!/_8Y MW/\ ZCVLUZK7E7QD_P"2B_ G_L<[G_U'M9KU6@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH \ \%?\E3^!?_ &3/6?\ T?X?KW^O M /!7_)4_@7_V3/6?_1_A^O?Z /*O$?\ R=-\//\ L3/$O_I=H5>JUY5XC_Y. MF^'G_8F>)?\ TNT*O5: "BBB@ HHHH **** /*OC)_R47X$_]CG<_P#J/:S7 MJM>5?&3_ )*+\"?^QSN?_4>UFO5: "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **JZ MAJ=GI,*S7UW!9PLZQ+)<2+&I=B%502>I) [DU:H **** "BBB@ HHHH *** M* / /!7_ "5/X%_]DSUG_P!'^'Z]_KP#P5_R5/X%_P#9,]9_]'^'Z]_H \J\ M1_\ )TWP\_[$SQ+_ .EVA5ZK7C_CK[>?VD/!7]EFW&I_\(-XI^RF\#&$3?;- M"V>8%^;;NQG'.,XK&_91U+Q9=W/QBLO&/B>3Q9JFF>.I[..\\@V\$47]FZ?( M(8(-[^3$ID;";F/)9F9F9B >\T5\>>/?'&OQ?$3QMXVAUK6H)O"'Q!\.^$[' M1X-0G33Y;"Z6P6Z$MH'$,TDAU.9EE="ZF.#:1L%'CWQQK\7Q$\;>-H=:UJ"; MPA\0?#OA.QT>#4)TT^6PNEL%NA+:!Q#-)(=3F9970NIC@VD;!0!]AT5\>> O M'&OR_$3P3XVFUK6IYO%_Q!\1>$[[1Y]0G?3XK"U6_6U$5H7,,,D9TR%FE1 [ M&2?<3O->A_'K[;XV^+W@[X>_VUKF@:-<^'=;UZ>X\/ZG<:=<27-N;2"W'G0. MCE$^URN8R=K,(RP.W% 'T!17P!JGQF\8?$WX8:EXYN->U?1M9\&_"31_&UG' MI=[-96MUJT_VF::2XAB=4N(6^P1H(90R!9)0!\V:^]]/N_M^GVUSY;1>=$LG MEMU7(!P??F@#S+XR?\E%^!/_ &.=S_ZCVLUZK7S?\=_CU\,]%^*WPCL-1^(G MA.POM$\87$FJ6MUK=K'+8(=!U:,-.K.#$/,EB3+8^:1!U89[O_AK#X(?]%D^ M'_\ X5%C_P#': /5:*\J_P"&L/@A_P!%D^'_ /X5%C_\=H_X:P^"'_19/A__ M .%18_\ QV@#U6BO*O\ AK#X(?\ 19/A_P#^%18__':/^&L/@A_T63X?_P#A M46/_ ,=H ]5HKRK_ (:P^"'_ $63X?\ _A46/_QVC_AK#X(?]%D^'_\ X5%C M_P#': /5:*\J_P"&L/@A_P!%D^'_ /X5%C_\=H_X:P^"'_19/A__ .%18_\ MQV@#U6BO*O\ AK#X(?\ 19/A_P#^%18__':/^&L/@A_T63X?_P#A46/_ ,=H M ]5HKRK_ (:P^"'_ $63X?\ _A46/_QVC_AK#X(?]%D^'_\ X5%C_P#': /5 M:*\J_P"&L/@A_P!%D^'_ /X5%C_\=H_X:P^"'_19/A__ .%18_\ QV@#U6BO M*O\ AK#X(?\ 19/A_P#^%18__':/^&L/@A_T63X?_P#A46/_ ,=H ]5HKRK_ M (:P^"'_ $63X?\ _A46/_QVC_AK#X(?]%D^'_\ X5%C_P#': /5:*\J_P"& ML/@A_P!%D^'_ /X5%C_\=H_X:P^"'_19/A__ .%18_\ QV@#U6BO*O\ AK#X M(?\ 19/A_P#^%18__':/^&L/@A_T63X?_P#A46/_ ,=H ]5HKRK_ (:P^"'_ M $63X?\ _A46/_QVC_AK#X(?]%D^'_\ X5%C_P#': /5:*\J_P"&L/@A_P!% MD^'_ /X5%C_\=H_X:P^"'_19/A__ .%18_\ QV@#U6BO*O\ AK#X(?\ 19/A M_P#^%18__':/^&L/@A_T63X?_P#A46/_ ,=H ]5HKRK_ (:P^"'_ $63X?\ M_A46/_QVC_AK#X(?]%D^'_\ X5%C_P#': /5:*\J_P"&L/@A_P!%D^'_ /X5 M%C_\=H_X:P^"'_19/A__ .%18_\ QV@#U6BO*O\ AK#X(?\ 19/A_P#^%18_ M_':/^&L/@A_T63X?_P#A46/_ ,=H ]5HKRK_ (:P^"'_ $63X?\ _A46/_QV MC_AK#X(?]%D^'_\ X5%C_P#': /5:*\J_P"&L/@A_P!%D^'_ /X5%C_\=H_X M:P^"'_19/A__ .%18_\ QV@#U6BO*O\ AK#X(?\ 19/A_P#^%18__':/^&L/ M@A_T63X?_P#A46/_ ,=H ]5HKRK_ (:P^"'_ $63X?\ _A46/_QVC_AK#X(? M]%D^'_\ X5%C_P#': /5:*\J_P"&L/@A_P!%D^'_ /X5%C_\=H_X:P^"'_19 M/A__ .%18_\ QV@#U6BO*O\ AK#X(?\ 19/A_P#^%18__':/^&L/@A_T63X? M_P#A46/_ ,=H ]5HKRK_ (:P^"'_ $63X?\ _A46/_QVC_AK#X(?]%D^'_\ MX5%C_P#': /5:*\J_P"&L/@A_P!%D^'_ /X5%C_\=H_X:P^"'_19/A__ .%1 M8_\ QV@#U6BO*O\ AK#X(?\ 19/A_P#^%18__':/^&L/@A_T63X?_P#A46/_ M ,=H ]5HKRK_ (:P^"'_ $63X?\ _A46/_QVC_AK#X(?]%D^'_\ X5%C_P#' M: /5:*\J_P"&L/@A_P!%D^'_ /X5%C_\=H_X:P^"'_19/A__ .%18_\ QV@# MU6BO*O\ AK#X(?\ 19/A_P#^%18__':/^&L/@A_T63X?_P#A46/_ ,=H ]5H MKRK_ (:P^"'_ $63X?\ _A46/_QVC_AK#X(?]%D^'_\ X5%C_P#': /5:*\J M_P"&L/@A_P!%D^'_ /X5%C_\=H_X:P^"'_19/A__ .%18_\ QV@#U6BO*O\ MAK#X(?\ 19/A_P#^%18__':/^&L/@A_T63X?_P#A46/_ ,=H ]5HKRK_ (:P M^"'_ $63X?\ _A46/_QVC_AK#X(?]%D^'_\ X5%C_P#': /5:*\J_P"&L/@A M_P!%D^'_ /X5%C_\=H_X:P^"'_19/A__ .%18_\ QV@#U6BO*O\ AK#X(?\ M19/A_P#^%18__':/^&L/@A_T63X?_P#A46/_ ,=H ]5HKRK_ (:P^"'_ $63 MX?\ _A46/_QVC_AK#X(?]%D^'_\ X5%C_P#': /5:*\J_P"&L/@A_P!%D^'_ M /X5%C_\=H_X:P^"'_19/A__ .%18_\ QV@#U6BO*O\ AK#X(?\ 19/A_P#^ M%18__':/^&L/@A_T63X?_P#A46/_ ,=H ]5HKRK_ (:P^"'_ $63X?\ _A46 M/_QVC_AK#X(?]%D^'_\ X5%C_P#': /5:*\J_P"&L/@A_P!%D^'_ /X5%C_\ M=H_X:P^"'_19/A__ .%18_\ QV@#U6BO*O\ AK#X(?\ 19/A_P#^%18__':/ M^&L/@A_T63X?_P#A46/_ ,=H ]5HKRK_ (:P^"'_ $63X?\ _A46/_QVC_AK M#X(?]%D^'_\ X5%C_P#': /5:*\J_P"&L/@A_P!%D^'_ /X5%C_\=H_X:P^" M'_19/A__ .%18_\ QV@#U6BO*O\ AK#X(?\ 19/A_P#^%18__':/^&L/@A_T M63X?_P#A46/_ ,=H ]5HKRK_ (:P^"'_ $63X?\ _A46/_QVC_AK#X(?]%D^ M'_\ X5%C_P#': /5:*\J_P"&L/@A_P!%D^'_ /X5%C_\=H_X:P^"'_19/A__ M .%18_\ QV@#U6BO*O\ AK#X(?\ 19/A_P#^%18__':/^&L/@A_T63X?_P#A M46/_ ,=H ]5HKRK_ (:P^"'_ $63X?\ _A46/_QVC_AK#X(?]%D^'_\ X5%C M_P#': /5:*\J_P"&L/@A_P!%D^'_ /X5%C_\=H_X:P^"'_19/A__ .%18_\ MQV@#U6BO*O\ AK#X(?\ 19/A_P#^%18__':YSXD?M?\ P\T7P/J&H^$/&7AW MQ?JJCRH8=&U2"\2%R"0\QB<[$ !/.,XP/4:4X2J24([L:3D[(^>?VOO&7B?5 M?B;=Z#J\D4&E:

QL[67>A1AE97_P"FA!Z$?*.!P=S?2O[*.O\ C+Q!\-8I M?%<)-LA5-,O9V/GW,.#RX/4#@*YY8?0,WB7PCUK]G^;P_-K/Q%^*GP]U_P 5 M:Q,M[<_;?%-DQMR&W*G$W7/WAT/W<$#GW^/]JSX'11JB?&+X?(BC"JOB>Q M'8?O:]/%8BFZ2P\%>W7_ "]3>$-8NK#6/%7B& M'7KNZNFB=8'*VD,RQJ86&PP6OW&!8EF DCR'2AXC_P"3IOAY_P!B9XE_]+M" MKU6@#RK7/V=- UWXF'Q?+JNL0Q37]GJU_P"'H9(?[-O[^T39:WK7_ (>ADA_LV_O[1-EK=RAH MC,)(PL! CE1";:$LK%3GU6B@#RKP_P#LZ:!X=^)3>+8-5UB>&._O=6L?#UQ) M"VG:??WB[;J[A B$WF2!I\AY60?:9MJKN&)/B!\!H/B'I^@&Y\8^)=+\1:/; MW5G'XFTMK.._FM[F,)UT:W\-WNC:3+"+75=)@D#PV-R)8I'\I?WBYB:-RL\JER",>S M444 >5?&3_DHOP)_['.Y_P#4>UFO5:\J^,G_ "47X$_]CG<_^H]K->JT %%% M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%5]0U"VTFPN+V\GCMK2WC:66:0X5$ R6)] * ,7Q_XZTO MX;^%+[7]7E\NUME^6,$;YG/W8T'=B?ZGH#7B'P-\"ZK\4O%Q^+GC6/\ >RG_ M (D>FD?)!$/NR 'L.=OJ27[@UCZ39WG[6GQ,&L7L,T'PRT&4I;6TF5^W2C&< MCWX+?W5PO5B:^IHHD@B2.-%CC0!511@*!P !V%>A+_985>(_\ DZ;X M>?\ 8F>)?_2[0J]5H **** "BBB@ HHHH \J^,G_ "47X$_]CG<_^H]K->JU MY5\9/^2B_ G_ +'.Y_\ 4>UFO5: "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "OF'XI>*-2_:$^(( M^&?A.Z:+PW9N)-=U:'E6VGE >A (P!_$WLN:Z7]H;XK:DM];?#;P6K7/B_6@ M(Y9(FQ]CA8'MI?$_A7Z_Y&T?<7,]^ATGA7POIO@OP_8Z+I%N+73[.,1Q M1CD^Y)[DG))[DFM:BBN!MR=V8A1112 **** "BBB@ HHHH **** / /!7_)4 M_@7_ -DSUG_T?X?KW^O /!7_ "5/X%_]DSUG_P!'^'Z]_H \J\1_\G3?#S_L M3/$O_I=H5>JUY5XC_P"3IOAY_P!B9XE_]+M"KU6@ HHHH **** "BBB@#RKX MR?\ )1?@3_V.=S_ZCVLUZK7E7QD_Y*+\"?\ L<[G_P!1[6:]5H **** "BBB M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB M@ KS+X\?&2V^$GA?= %N_$=_F'3+$#<7<\;RHYVKD?4X'?(ZKX@>/-+^&WA. M^U_5Y=EM;+\L:D;YI#]V-!W8G^IZ UXC\"_ FJ_$_P 6M\7?&T8\^?\ Y FG M,,I;Q#[L@![ 9V^I)?J0:[*%.-G6J?"OQ?;_ #-(Q7Q2V.J_9X^#=QX)L;CQ M1XF+7GC?6LS7<\YW/;JQW>4#ZG@MCN !PO/L]%%85*DJLG.1,I.3NPHHHK(D M**** "BBB@ HHHH **** "BBB@#P#P5_R5/X%_\ 9,]9_P#1_A^O?Z\ \%?\ ME3^!?_9,]9_]'^'Z]_H \J\1_P#)TWP\_P"Q,\2_^EVA5ZK7E7B/_DZ;X>?] MB9XE_P#2[0J]5H ^:?B5^T1XS\(_&JY\-6-IHBV4%YI5II_AN[M+B36?$T5P M0;R\L94E"K%:JY+CR9.22QNE$:Q*5#1'>W(K.^(W[-OC#Q+XC^(6G:;-X M?D\+^/-6TO6+W7-0N)EU;2'M1 ABMX5A9)@!:HT3M-%Y3S.=K[1NT/#O[/'B M?3OB-I<%W-HI^'^B>,=3\<:?/!<2_P!H375Y%< 6TD!A\M(XY+ZZ82+*Q8)$ M-B\D "Z!^T-XEU#XC:7-/$^G?$;2X+N;13\/]$\8ZGXXT^> M"XE_M":ZO(K@"VD@,/EI'')?73"196+!(AL7DCI/B5X#\?:UXB\$^//#-EX: MC\::'9:EID^EZEJMRELSEHY+6!@IA 8-(,KP2 >9ZQ^U]XC\1> M"[?Q9X,L-'M]-TCX?V_Q#UZQU:&2XFGMY6D/V*WDCFC6&0):7?[UUD&?*^3! M-?5FGWT6IV%M>0-N@N(EEC;U5@"#^1KY2U?]D#Q+X=\'0>$_!FH:-<:7J_P_ MMOAYKUYJTLMO/!!$TH-[;I'%(LTA2[NOW3F,9\K]Y@$5]6Z?8Q:986UG NV" MWB6*-?15 'Y"@#S+XR?\E%^!/\ V.=S_P"H]K->JU\W_'?X#?#/6OBM\([_ M %'X=>$[^^UOQA<1ZI=76AVLDM^@T'5I L[,A,H\R*)\-GYHT/51CN_^&3_@ MA_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1 MOX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ M /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+ MV/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ M\:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H M]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HK MRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_A MD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X( M?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$; M^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ M (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2] MC_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ M&J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^ M&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@ MA_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1 MOX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ M /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+ MV/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ M\:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H M]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HK MRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_A MD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X( M?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$; M^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ M (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2] MC_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ M&J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^ M&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@ MA_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1 MOX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ M /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+ MV/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ M\:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H M]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HK MRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_A MD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X( M?]$;^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$; M^'__ (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ M (2]C_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2] MC_\ &J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ M&J/^&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^ M&3_@A_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@ MA_T1OX?_ /A+V/\ \:H ]5HKRK_AD_X(?]$;^'__ (2]C_\ &J/^&3_@A_T1 MOX?_ /A+V/\ \:H ]5JMJ6I6NCZ??M9_$S^VK^ M&:#X9Z#*4M+67*_;I1W(]^"WHN%ZDFOJ:.-(8TCC18XT 5548 Z #TKRU?V M4_@U)'$+SX5^#=5N$C6-KS4M!M;FXEVJ #)*\99VP!R31_PR?\$/^B-_#_\ M\)>Q_P#C5.O5]HTHJT5LOZZA*7-ML>JT5Y5_PR?\$/\ HC?P_P#_ E['_XU M1_PR?\$/^B-_#_\ \)>Q_P#C5JT5Y5_PR?\$/\ HC?P_P#_ E['_XU1_PR M?\$/^B-_#_\ \)>Q_P#C5 'JM%>5?\,G_!#_ *(W\/\ _P )>Q_^-4?\,G_! M#_HC?P__ /"7L?\ XU0!ZK17E7_#)_P0_P"B-_#_ /\ "7L?_C5'_#)_P0_Z M(W\/_P#PE['_ .-4 >JT5Y5_PR?\$/\ HC?P_P#_ E['_XU1_PR?\$/^B-_ M#_\ \)>Q_P#C5 'JM%>5?\,G_!#_ *(W\/\ _P )>Q_^-4?\,G_!#_HC?P__ M /"7L?\ XU0!RO@K_DJ?P+_[)GK/_H_P_7O]> >"O^2I_ O_ +)GK/\ Z/\ M#]>_T >5>(_^3IOAY_V)GB7_ -+M"KU6O*O$?_)TWP\_[$SQ+_Z7:%7JM !1 M110 4444 %%%% 'E7QD_Y*+\"?\ L<[G_P!1[6:]5KRKXR?\E%^!/_8YW/\ MZCVLUZK0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ! M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %% M%% !1110 445YA\>OC+;_"7POFV"W?B34,PZ98@;BSGC>5'.U2_9Y^#4_@>QN/ M$WB5FO?&^M9FO+B?]B9XE_P#2[0J]5H **** "BBB@ HHHH \J^,G_)1? M@3_V.=S_ .H]K->JUY5\9/\ DHOP)_['.Y_]1[6:]5H **** "BBB@ HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHJKJ>I6NBZ?K$_ER M3P#7B?P)\ ZK\2O%C_%WQM&#"WHN%ZDFOJ>.-(8UCC5410%55& M.@ KT)_[+#V:^-[^2[?YFS_=JW4=1117GF(4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% '@'@K_DJ?P+_P"R9ZS_ .C_ _7O]> >"O^2I_ O_LF M>L_^C_#]>_T >5>(_P#DZ;X>?]B9XE_]+M"KU6O*O$?_ "=-\//^Q,\2_P#I M=H5>JT %%>2ZA\8O$M_\0==T'P?X)A\4:;X;N[.RUR]DUE+.=)IU25DM86B* M3&*"6.5_,EAX<*NYLBLO1?VD)]4^)5MI$GAN*W\'ZAXAOO">G>(1J)>XGU2T MBDDFCDM?) CB)MKM%D\YB6@&44." #VZBO$=%_:0GU3XE6VD2>&XK?P?J'B& M^\)Z=XA&HE[B?5+2*22:.2U\D".(FVNT63SF): 910X(Z+XN?%;6/!.L^'?# MGA7PU;>*_%>N17MW!87NIMI\"VUK&C32&989CNWS6\:KLY,N2R@$T >F45\Y M^(_VPH(_#NG>(O"OAG_A(=!C\(P^.MF_"/P;;:-9!9;EL27EYMPUQ,1RWT'0#L!ZY)]"FEAX M*M+XG\*_7_(VC[BYGN=)X9\-Z=X/T"QT;2;=;73[.,111KZ#N3W).23W))K4 MHHK@;;=V8A1112 **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#P# MP5_R5/X%_P#9,]9_]'^'Z]_KP#P5_P E3^!?_9,]9_\ 1_A^O?Z /*O$?_)T MWP\_[$SQ+_Z7:%7JM>5>(_\ DZ;X>?\ 8F>)?_2[0J]5H ^//BI^S=K=]\0/ M'4^A^"EU+7/%&OZ;K>A^/A=VT?\ PBYCCLXKG[\@N$<_8V?_ $>-A,LJ1R$* MIQM>&/@OXOM?B%H'ARZ\.R6OA3P[\0=7\=Q^)OM=N]O=Q74=X8+5(A+YXE63 M47#;XPFVW)#MN KZIHH ^5O#'P7\7VOQ"T#PY=>'9+7PIX=^(.K^.X_$WVNW M>WNXKJ.\,%JD0E\\2K)J+AM\83;;DAVW 5V7Q1TSQ>/'GP_^)_A[P+J.N7^E M:9JVDW?AL7ME#>QB[%O)%(6>X$!59+-5;;*6VS9 ;:0/=Z* /B.\_9B\=?#W MX>OX/T'0QXG;Q-\+;3X>W^I6MY!%#I5Y&;A7NY5FD1G@*WTK#R0[_N -GS U M]H:/IL>CZ396$1+16L"0(3U(50H_E5RB@#YO^._P8\/ZM\5OA'>SZAXLCFU? MQA<1W"VOC'5[>) -!U:3]Q''=*EN=T:C,(0[2ZYVNX;N_P#AFGPC_P!!?X@? M^''\0_\ R=1\9/\ DHOP)_['.Y_]1[6:]5H \J_X9I\(_P#07^('_AQO$/\ M\G4?\,T^$?\ H+_$#_PXWB'_ .3J]5HH \J_X9I\(_\ 07^('_AQO$/_ ,G4 M?\,T^$?^@O\ $#_PXWB'_P"3J]5HH \J_P"&:?"/_07^('_AQO$/_P G4?\ M#-/A'_H+_$#_ ,.-XA_^3J]5HH \J_X9I\(_]!?X@?\ AQO$/_R=1_PS3X1_ MZ"_Q _\ #C>(?_DZO5:* /*O^&:?"/\ T%_B!_X<;Q#_ /)U'_#-/A'_ *"_ MQ _\.-XA_P#DZO5:* /*O^&:?"/_ $%_B!_X<;Q#_P#)U'_#-/A'_H+_ ! _ M\.-XA_\ DZO5:* /*O\ AFGPC_T%_B!_X<;Q#_\ )U'_ S3X1_Z"_Q _P## MC>(?_DZO5:* /*O^&:?"/_07^('_ (<;Q#_\G4?\,T^$?^@O\0/_ XWB'_Y M.KU6B@#RK_AFGPC_ -!?X@?^'&\0_P#R=1_PS3X1_P"@O\0/_#C>(?\ Y.KU M6B@#RK_AFGPC_P!!?X@?^'&\0_\ R=1_PS3X1_Z"_P 0/_#C>(?_ ).KU6B@ M#RK_ (9I\(_]!?X@?^'&\0__ "=1_P ,T^$?^@O\0/\ PXWB'_Y.KU6B@#RK M_AFGPC_T%_B!_P"'&\0__)U'_#-/A'_H+_$#_P .-XA_^3J]5HH \J_X9I\( M_P#07^('_AQO$/\ \G4?\,T^$?\ H+_$#_PXWB'_ .3J]5HH \J_X9I\(_\ M07^('_AQO$/_ ,G4?\,T^$?^@O\ $#_PXWB'_P"3J]5HH \J_P"&:?"/_07^ M('_AQO$/_P G4?\ #-/A'_H+_$#_ ,.-XA_^3J]5HH \J_X9I\(_]!?X@?\ MAQO$/_R=1_PS3X1_Z"_Q _\ #C>(?_DZO5:* /*O^&:?"/\ T%_B!_X<;Q#_ M /)U'_#-/A'_ *"_Q _\.-XA_P#DZO5:* /*O^&:?"/_ $%_B!_X<;Q#_P#) MU'_#-/A'_H+_ ! _\.-XA_\ DZO5:* /*O\ AFGPC_T%_B!_X<;Q#_\ )U'_ M S3X1_Z"_Q _P##C>(?_DZO5:* /*O^&:?"/_07^('_ (<;Q#_\G4?\,T^$ M?^@O\0/_ XWB'_Y.KU6B@#RK_AFGPC_ -!?X@?^'&\0_P#R=1_PS3X1_P"@ MO\0/_#C>(?\ Y.KU6B@#RK_AFGPC_P!!?X@?^'&\0_\ R=1_PS3X1_Z"_P 0 M/_#C>(?_ ).KU6B@#RK_ (9I\(_]!?X@?^'&\0__ "=1_P ,T^$?^@O\0/\ MPXWB'_Y.KU6B@#RK_AFGPC_T%_B!_P"'&\0__)U'_#-/A'_H+_$#_P .-XA_ M^3J]5HH \J_X9I\(_P#07^('_AQO$/\ \G4?\,T^$?\ H+_$#_PXWB'_ .3J M]5HH \J_X9I\(_\ 07^('_AQO$/_ ,G4?\,T^$?^@O\ $#_PXWB'_P"3J]5H MH \J_P"&:?"/_07^('_AQO$/_P G4?\ #-/A'_H+_$#_ ,.-XA_^3J]5HH \ MJ_X9I\(_]!?X@?\ AQO$/_R=1_PS3X1_Z"_Q _\ #C>(?_DZO5:* /*O^&:? M"/\ T%_B!_X<;Q#_ /)U'_#-/A'_ *"_Q _\.-XA_P#DZO5:* /*O^&:?"/_ M $%_B!_X<;Q#_P#)U'_#-/A'_H+_ ! _\.-XA_\ DZO5:* /*O\ AFGPC_T% M_B!_X<;Q#_\ )U'_ S3X1_Z"_Q _P##C>(?_DZO5:* /*O^&:?"/_07^('_ M (<;Q#_\G4?\,T^$?^@O\0/_ XWB'_Y.KU6B@#RK_AFGPC_ -!?X@?^'&\0 M_P#R=1_PS3X1_P"@O\0/_#C>(?\ Y.KU6B@#RK_AFGPC_P!!?X@?^'&\0_\ MR=1_PS3X1_Z"_P 0/_#C>(?_ ).KU6B@#RK_ (9I\(_]!?X@?^'&\0__ "=1 M_P ,T^$?^@O\0/\ PXWB'_Y.KU6B@#RK_AFGPC_T%_B!_P"'&\0__)U'_#-/ MA'_H+_$#_P .-XA_^3J]5HH \J_X9I\(_P#07^('_AQO$/\ \G4?\,T^$?\ MH+_$#_PXWB'_ .3J]5HH \J_X9I\(_\ 07^('_AQO$/_ ,G4?\,T^$?^@O\ M$#_PXWB'_P"3J]5HH \J_P"&:?"/_07^('_AQO$/_P G4?\ #-/A'_H+_$#_ M ,.-XA_^3J]5HH \J_X9I\(_]!?X@?\ AQO$/_R=1_PS3X1_Z"_Q _\ #C>( M?_DZO5:* /*O^&:?"/\ T%_B!_X<;Q#_ /)U'_#-/A'_ *"_Q _\.-XA_P#D MZO5:* /*O^&:?"/_ $%_B!_X<;Q#_P#)U'_#-/A'_H+_ ! _\.-XA_\ DZO5 M:* /*O\ AFGPC_T%_B!_X<;Q#_\ )U'_ S3X1_Z"_Q _P##C>(?_DZO5:* M/*O^&:?"/_07^('_ (<;Q#_\G5Y?\>_!_@KX2^%P+75O'UWXFU#,.F6(^(OB M)RSGCS"HOLE5)''@ )V_4OU(-=E"G&SK5/ MA7XOM_F:1BOBEL-^$_[)NG1^'[?5_&E]XCE\87@,MQ=:?XEU'3YXU8#]U)+; M3QM*> 6+EOFZ=,GN_P#AFGPC_P!!?X@?^'&\0_\ R=7JM%85*DJLG.1,I.3N MSRK_ (9I\(_]!?X@?^'&\0__ "=1_P ,T^$?^@O\0/\ PXWB'_Y.KU6BLB3R MK_AFGPC_ -!?X@?^'&\0_P#R=1_PS3X1_P"@O\0/_#C>(?\ Y.KU6B@#RK_A MFGPC_P!!?X@?^'&\0_\ R=1_PS3X1_Z"_P 0/_#C>(?_ ).KU6B@#RK_ (9I M\(_]!?X@?^'&\0__ "=1_P ,T^$?^@O\0/\ PXWB'_Y.KU6B@#RK_AFGPC_T M%_B!_P"'&\0__)U'_#-/A'_H+_$#_P .-XA_^3J]5HH \J_X9I\(_P#07^(' M_AQO$/\ \G4?\,T^$?\ H+_$#_PXWB'_ .3J]5HH \J_X9I\(_\ 07^('_AQ MO$/_ ,G4?\,T^$?^@O\ $#_PXWB'_P"3J]5HH \J_P"&:?"/_07^('_AQO$/ M_P G4?\ #-/A'_H+_$#_ ,.-XA_^3J]5HH \J_X9I\(_]!?X@?\ AQO$/_R= M1_PS3X1_Z"_Q _\ #C>(?_DZO5:* /*O^&:?"/\ T%_B!_X<;Q#_ /)U'_#- M/A'_ *"_Q _\.-XA_P#DZO5:* / /!7_ "5/X%_]DSUG_P!'^'Z]_KP#P5_R M5/X%_P#9,]9_]'^'Z]_H \J\1_\ )TWP\_[$SQ+_ .EVA5ZK7E7B/_DZ;X>? M]B9XE_\ 2[0J]5H **** "BBB@ HHHH \J^,G_)1?@3_ -CG<_\ J/:S7JM> M5?&3_DHOP)_['.Y_]1[6:]5H **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH *JZIJEIHNFW-_?W$=I96T;2S3RG"H@&22?I5JOE_P")?B34?VCO MB$?AOX7NC!X4T]Q+K>K0\K(5/W%/0@$84?Q,,]%S711I>UEJ[);OLBXQYF5M M!T^\_:P^)9U_4X9H?AKH4I2RLY/E%[*.[#OG@MZ#"CDDU]3QQK#&J(JHBC:J MJ, = !6=X:\.:?X1T&QT;2K=;73[.(10Q+V [D]R3DD]R2:TZ=:M[1I15HK M9?UU"4N;;8****YB HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH \ \%?\E3^!?_9,]9_]'^'Z]_KP#P5_R5/X%_\ 9,]9_P#1_A^O M?Z /*O$?_)TWP\_[$SQ+_P"EVA5ZK7E7B/\ Y.F^'G_8F>)?_2[0J]5H *** M* "BBB@ HHHH \J^,G_)1?@3_P!CG<_^H]K->JUY5\9/^2B_ G_L<[G_ -1[ M6:]5H **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ** M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHKR[X^?&:'X3>& M%6S"W?B?4?W.FV(7>Q<\>85')521QW) ]<:4Z MHP?#'P1NN?%FK@1W,T+8^QPL,G+#[K%>I%>D?"'X6:9\(_!UMHU@JR M7! DO+S;AKB8CEC[#H!V ]G7'B+Q$[7OC;6LS7UQ,=S0ACN M\H'USRQ[GCH!7L==-:I&,?8T]EN^[_R[%R:2Y4%%%%<1F%%%% !1110 4444 M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!X!X*_P"2I_ O_LF> ML_\ H_P_7O\ 7@'@K_DJ?P+_ .R9ZS_Z/\/U[_0!Y5XC_P"3IOAY_P!B9XE_ M]+M"KU6O*O$?_)TWP\_[$SQ+_P"EVA5ZK0!POQ+^,WASX4ZIX-TW6I)WU#Q9 MK$6BZ9:VJ*[M*_61@6&(D^7KPP2ZC(ID@&FWFHV\7FSVD1$IF\Q%67):)4)@E 8E<'Q;]H7P'\5[[XH:)XBLO"> M@^)K)?&&B?V7<0ZQ=K/96,#%V6:%;"184:9Y7EG$C?*( 4/EK4/A/P7K_P#P ML+POX)DT+7+>?P[\4-<\:W>L7%A,MA)IUQ'J#V[1W>SR99';48D,2N7!27KPP2ZC(ID@&FWFHV\7FSVD1$IF\Q%67) M:)4)@E 8E<'6^*GQ@L_AM:I]H>UT;0$@:Z>&"/S)YOW\T2!$! M0'Y]Q:5%4,6KYZ\)^"]?_P"%A>%_!,FA:Y;S^'?BAKGC6[UBXL)EL)-.N(]0 M>W:.[V>3+([:C$AB5RX*2[E 7-=_\6-PRW/V26 M9K$9T5C92(6*8!:/<5!S0!N^*OVKO!_AO3]'U*TL]6\2 M:/>Z)'XFNM2T>.%H=+TF1E5+VY\V6-O+.7.V)9),0RG9\M>RHZR(KHP96&0R MG((]:^ )/A#XQ^%?PKNO"-WX=UO6=7\6_!JR\#VATNRFO8+75D-VCPSRQ(RV M\0_M!&\V7;'B*7YN,5]YZ'I[:1HFGV+R&9K6WC@,AZL54+G\<4 >TM;72#%II M_L'5GW0&2P9V.U&3]\THVROQN",O=_\ "F_%W_1=OB!_X ^'O_E50!ZK17E7 M_"F_%W_1=?B!_P" /A[_ .55'_"F_%W_ $77X@?^ /A[_P"55 'JM%>5?\*; M\7?]%U^('_@#X>_^55'_ IOQ=_T77X@?^ /A[_Y54 >JT5Y5_PIOQ=_T77X M@?\ @#X>_P#E51_PIOQ=_P!%U^('_@#X>_\ E50!ZK17E7_"F_%W_1=?B!_X M ^'O_E51_P *;\7?]%U^('_@#X>_^55 'JM%>5?\*;\7?]%U^('_ ( ^'O\ MY54?\*;\7?\ 1=?B!_X ^'O_ )54 >JT5Y5_PIOQ=_T77X@?^ /A[_Y54?\ M"F_%W_1=?B!_X ^'O_E50!ZK17E7_"F_%W_1=?B!_P" /A[_ .55'_"F_%W_ M $77X@?^ /A[_P"55 'JM%>5?\*;\7?]%U^('_@#X>_^55'_ IOQ=_T77X@ M?^ /A[_Y54 >JT5Y5_PIOQ=_T77X@?\ @#X>_P#E51_PIOQ=_P!%U^('_@#X M>_\ E50!ZK17E7_"F_%W_1=?B!_X ^'O_E51_P *;\7?]%U^('_@#X>_^55 M'JM%>5?\*;\7?]%U^('_ ( ^'O\ Y54?\*;\7?\ 1=?B!_X ^'O_ )54 >JT M5Y5_PIOQ=_T77X@?^ /A[_Y54?\ "F_%W_1=?B!_X ^'O_E50!ZK17E7_"F_ M%W_1=?B!_P" /A[_ .55'_"F_%W_ $77X@?^ /A[_P"55 'JM%>5?\*;\7?] M%U^('_@#X>_^55'_ IOQ=_T77X@?^ /A[_Y54 >JT5Y5_PIOQ=_T77X@?\ M@#X>_P#E51_PIOQ=_P!%U^('_@#X>_\ E50!ZK17E7_"F_%W_1=?B!_X ^'O M_E51_P *;\7?]%U^('_@#X>_^55 'JM%>5?\*;\7?]%U^('_ ( ^'O\ Y54? M\*;\7?\ 1=?B!_X ^'O_ )54 >JT5Y5_PIOQ=_T77X@?^ /A[_Y54?\ "F_% MW_1=?B!_X ^'O_E50!ZK17E7_"F_%W_1=?B!_P" /A[_ .55'_"F_%W_ $77 MX@?^ /A[_P"55 'JM%>5?\*;\7?]%U^('_@#X>_^55'_ IOQ=_T77X@?^ / MA[_Y54 >JT5Y5_PIOQ=_T77X@?\ @#X>_P#E51_PIOQ=_P!%U^('_@#X>_\ ME50!ZK17E7_"F_%W_1=?B!_X ^'O_E51_P *;\7?]%U^('_@#X>_^55 'JM% M>5?\*;\7?]%U^('_ ( ^'O\ Y54?\*;\7?\ 1=?B!_X ^'O_ )54 >JT5Y5_ MPIOQ=_T77X@?^ /A[_Y54?\ "F_%W_1=?B!_X ^'O_E50!ZK17E7_"F_%W_1 M=?B!_P" /A[_ .55'_"F_%W_ $77X@?^ /A[_P"55 'JM%>5?\*;\7?]%U^( M'_@#X>_^55'_ IOQ=_T77X@?^ /A[_Y54 >JT5Y5_PIOQ=_T77X@?\ @#X> M_P#E51_PIOQ=_P!%U^('_@#X>_\ E50!ZK17E7_"F_%W_1=?B!_X ^'O_E51 M_P *;\7?]%U^('_@#X>_^55 'JM%>5?\*;\7?]%U^('_ ( ^'O\ Y54?\*;\ M7?\ 1=?B!_X ^'O_ )54 >JT5Y5_PIOQ=_T77X@?^ /A[_Y54?\ "F_%W_1= M?B!_X ^'O_E50!ZK17E7_"F_%W_1=?B!_P" /A[_ .55'_"F_%W_ $77X@?^ M /A[_P"55 'JM%>5?\*;\7?]%U^('_@#X>_^55'_ IOQ=_T77X@?^ /A[_Y M54 >JT5Y5_PIOQ=_T77X@?\ @#X>_P#E51_PIOQ=_P!%U^('_@#X>_\ E50! MZK17E7_"F_%W_1=?B!_X ^'O_E51_P *;\7?]%U^('_@#X>_^55 'JM%>5?\ M*;\7?]%U^('_ ( ^'O\ Y54?\*;\7?\ 1=?B!_X ^'O_ )54 >JT5Y5_PIOQ M=_T77X@?^ /A[_Y54?\ "F_%W_1=?B!_X ^'O_E50!ZK17E7_"F_%W_1=?B! M_P" /A[_ .55'_"F_%W_ $77X@?^ /A[_P"55 'JM%>5?\*;\7?]%U^('_@# MX>_^55'_ IOQ=_T77X@?^ /A[_Y54 >JT5Y5_PIOQ=_T77X@?\ @#X>_P#E M51_PIOQ=_P!%U^('_@#X>_\ E50!ZK17E7_"F_%W_1=?B!_X ^'O_E51_P * M;\7?]%U^('_@#X>_^55 'JM%>5?\*;\7?]%U^('_ ( ^'O\ Y55Y9^T#>>*O M@GX:M;J'XS^/]1U:_=H[.&;3] ^S@K@LTK+I0. &'R@@MG@C!(TITY59J$-V M.*W&(X5(WSR'[L:^Y/Y $]!7C'P'^'^J_$' MQ5+\7/&\2F]N^=&T]AE+:'G;( >G'W?J6ZD&OF_P;KFI_'CQUH7AOQOXIUZ2 MTFFE%I-8QPSRPSN=P;;+'(FS/7"C[-?%+=^79?J;27LU;JSU>BO*O^%-^+O^BZ_$#_P!\/?_ M "JH_P"%-^+O^BZ_$#_P!\/?_*JO*,#U6BO*O^%-^+O^BZ_$#_P!\/?_ "JH M_P"%-^+O^BZ_$#_P!\/?_*J@#U6BO*O^%-^+O^BZ_$#_ , ?#W_RJH_X4WXN M_P"BZ_$#_P ?#W_ ,JJ /5:*\J_X4WXN_Z+K\0/_ 'P]_\ *JC_ (4WXN_Z M+K\0/_ 'P]_\JJ /5:*\J_X4WXN_Z+K\0/\ P!\/?_*JC_A3?B[_ *+K\0/_ M !\/?\ RJH ]5HKRK_A3?B[_HNOQ _\ ?#W_P JJ/\ A3?B[_HNOQ _\ ?# MW_RJH ]5HKRK_A3?B[_HNOQ _P# 'P]_\JJ/^%-^+O\ HNOQ _\ 'P]_P#* MJ@#U6BO*O^%-^+O^BZ_$#_P!\/?_ "JH_P"%-^+O^BZ_$#_P!\/?_*J@#U6B MO*O^%-^+O^BZ_$#_ , ?#W_RJH_X4WXN_P"BZ_$#_P ?#W_ ,JJ /5:*\J_ MX4WXN_Z+K\0/_ 'P]_\ *JC_ (4WXN_Z+K\0/_ 'P]_\JJ /5:*\J_X4WXN_ MZ+K\0/\ P!\/?_*JC_A3?B[_ *+K\0/_ !\/?\ RJH ]5HKRK_A3?B[_HNO MQ _\ ?#W_P JJ/\ A3?B[_HNOQ _\ ?#W_RJH ]5HKRK_A3?B[_HNOQ _P# M'P]_\JJ/^%-^+O\ HNOQ _\ 'P]_P#*J@#E?!7_ "5/X%_]DSUG_P!'^'Z] M_KP#P5_R5/X%_P#9,]9_]'^'Z]_H \J\1_\ )TWP\_[$SQ+_ .EVA5ZK7E7B M/_DZ;X>?]B9XE_\ 2[0J]5H **** "BBB@ HHHH \J^,G_)1?@3_ -CG<_\ MJ/:S7JM>5?&3_DHOP)_['.Y_]1[6:]5H **** "BBB@ HHHH **** "BBB@ MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHJ. MXN(K."2>>5(88U+/)(P55 ZDD]!0!)5#6M=T[PWILVH:K?6^GV4(R]Q!&-K&>/FR.7 [D87_:K*T7]F[Q)\ M2M2BUSXNZ_-?L#NBT&QEVPQ=?E++P/\ @')_OFNV.&Y5S5WRK\7\O\S7DMK+ M0?X@_:6USQ]JDN@?"/0)M9N0=LFMW<96WA&?O!6P /=R/]TU8\,_LG1:Y<2Z MU\3];NO%NN7"%3$D[I!!D8PK##'';&U1_=->[:!X=TSPKI<6G:/86^FV,0^2 M"VC"*/?CJ3W)Y-:--XGD7+07*N_7[_\ (.>VD=#RKX+_ +/&@?!EKVYM9'U3 M5;EF47]R@5XX<_+&H' XQN(^\1G@8 ]5HHKEJ5)59 >"O^2I_ O_LF>L_^C_#]>_T >5>( M_P#DZ;X>?]B9XE_]+M"KU6O*O$?_ "=-\//^Q,\2_P#I=H5>JT %%%% !111 M0 4444 >5?&3_DHOP)_['.Y_]1[6:]5KRKXR?\E%^!/_ &.=S_ZCVLUZK0 4 M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11 M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%>:_%']H+PC\*D>'4+W[=J^/DTNQQ),3VW4ESS?+'N_ MT[FB@VKO1'=?$S]J'PUX)NCI&C))XM\2,?+CL--.]5?L'< \Y_A4,WJ!7%6_ MPA^(_P >9X[[XE:L_ASP]N$D?AW3B%9AG(WC) /N^YAZ+7L/PU^"OA/X4V@3 M0]-7[85VRZC >"O^2I_ O\ [)GK/_H_P_7O]> >"O\ DJ?P+_[)GK/_ */\/U[_ $ > M5>(_^3IOAY_V)GB7_P!+M"KU6O*O$?\ R=-\//\ L3/$O_I=H5>JT %%>=ZQ M^T#X$T#Q0Z=-=+IEW)I]O=RA#%;37JQ&VAF8218CDD5CYL?' MSKFWI_QL\&ZI\1+CP/;:K+)XB@>2)HS87"VSRQQI+)#'=&,023(DBLT22%U& M25&UL '>^+?C_X"\$/H8U77<1ZU;K>VD]G9W%Y"+9GC07,T MD,;I! 6FC'G2E(_F^]P<>A4 >5?&3_DHOP)_['.Y_P#4>UFO5:\J^,G_ "47 MX$_]CG<_^H]K->JT %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1 M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !1110 45B^+/&FA^!=*?4M?U.WTNS7H\[8+'T51RQ] M@":\ U#X[>._C/>3:5\*="DL=-#&.7Q'J2A57KDKG*K_ ./-_LBNBG0G55UH MN[V+C%RU/:?B)\6O"_PML1<>(-4CMI&7=%:1_/<3?[J#DC/_LL:%H-__ &YXMNI? M&OB61O,DN=0):%7ZY",3N(]7)]@*]N55C4*H"JHP% P *WYZ-#^&N:7=[?)? MYE7C';5GE?PM_9O\)?#*1+\0-K>OYWMJNH .X?J2B]$/N,M[FO5J**Y*E2=1 M\TW=F;DY.["BBBLQ!1110 4444 %%%% !1110 4444 %%%% !115>]U"UTV$ MRW=S#:Q#K)-($7\S3WT0%BBN$UCXZ?#_ $'<+OQ=I99>JV\XG8?A'N-<-J_[ M9/P]T]BMH^IZNW1?LEGM!/\ VT*?RKKIX/$U/@IO[CEGBJ%/XIK[SW2BOG?_ M (:@\3Z]QX8^%>M7ZM]VXN-ZH/KMC(_\>H_X23]H;Q-_QZ^&]%\-PM]V2=U9 MQ]09&/\ X[6_]GU8_P 1QCZR1E]=IOX$Y>B9]$4R:9+>-I)76.-1DLYP!]37 MSU_PI_XT>)/^0[\44TQ6ZC28V!'_ 'PL7\Z?%^QOI.I2++XD\7Z_KTHY):54 M!/\ P(.?UH^K8>/QUU\DW_D'MZ\O@I/YM+_,]6UCXO>"?#^X7_BO2877K&+M M'?\ [Y4D_I7#:Q^UY\-M*W"'4KO5&7^&SLW_ )R;1^M7M'_97^&FC[6_X1_[ M=(/X[RYEDS_P'<%_2NZT?X>^%_#VW^S/#NEV#+T:WLXT;\P,FB^!ATE+[E_F M'^URZQC][_R/ST^*WQ0U7XB>/+S6S/P.U36=9^$_AJ]\0&1M5FMLR/+G>Z;F$;MGJ60(V>^$]$UZZ@ MN=3T;3]1N;?_ %,UW:I*\??Y2P)'X5JUT8W,*>*HPI0I\O+_ %8QPN#GAZLJ MDY\UPHHHKQ#U0HHHH **** "BBB@#P#P5_R5/X%_]DSUG_T?X?KW^O /!7_) M4_@7_P!DSUG_ -'^'Z]_H \J\1_\G3?#S_L3/$O_ *7:%7JM>5>(_P#DZ;X> M?]B9XE_]+M"KU6@#Y6^-GQK\"?$SXE?\*AO_ !WX9\,:1HNI6-UXDGU?5K:W MN;R>.6*YM].M(I'#.6=8FEF VJ/W2[I&?R>+\'W"77Q(\'> X[R.3QSH?Q>\ M1>)-4T_@7-OI4L.IO'=2)]Y894OK-5?&TF4*"<.ZD3[RPRI?6:J^-I,H4$XX]+^,?Q%\+^ M%?C+\*/B-K/B+38?AZNA^(-/.M-<1M8_:9?L4L2>=G86D2UN549Y*%1DG%?2 M5% 'YLG3[OX7_!>^\->,V.GZ]XJ^ ]AX9\/Z;>J(Y;O5%-[&;"%3]^=6O;3* M#YOF!QA$?"=U8Q>,+@Z7-=>*;J&6Z?^P=6!$Z+ISB >696RK2_,B+C#ET[O_A( M_C?_ -$\^'__ (7E]_\ *:CXR?\ )1?@3_V.=S_ZCVLUZK0!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35ZK10!Y5_PD?QO_P"B M>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35V?C7XA^'?AW817GB+ M58=,@E8K'O#.[D==J*"QQD9P.,CUJWX6\6Z/XVTB/5-#U"'4K%R5$L)/##JK M \J>1P0#R/6M/9SY/:_0CVD>;DOKV.!_X2/XW_\ 1//A_P#^%Y??_*:C M_A(_C?\ ]$\^'_\ X7E]_P#*:O5:*S+/*O\ A(_C?_T3SX?_ /A>7W_RFH_X M2/XW_P#1//A__P"%Y??_ "FKU6B@#RK_ (2/XW_]$\^'_P#X7E]_\IJ/^$C^ M-_\ T3SX?_\ A>7W_P IJ]5J.6XB@&9)4C'^TP% 'EW_ D?QO\ ^B>?#_\ M\+R^_P#E-1_PD?QO_P"B>?#_ /\ "\OO_E-7HL]H/[F0ZU);R7WF/_ ,)'\;_^B>?#_P#\+R^_^4U'_"1_ M&_\ Z)Y\/_\ PO+[_P"4U69OVD_AI!][Q9:G_?#_P#\+R^_^4U9DW[7OPUB^[JEW-_N6,G]0*H3?MG?#R/[O]K3?[EH M/ZN*T67XM_\ +I_<0\9AE_R\7WG1?\)'\;_^B>?#_P#\+R^_^4U'_"1_&_\ MZ)Y\/_\ PO+[_P"4U?#_P#\+R^_^4U<;_PUG?3_ /'I\,_$-QZ?*P_E&:^3/$7C?Q5J'CJXUJ^O M+^V\0+.6SN>.6!@?N*.J@=-HQC&*[<-DU>NVJCY;>C_)G+7S2E22<%S7^7Z' MW+_PD?QO_P"B>?#_ /\ "\OO_E-1_P )'\;_ /HGGP__ /"\OO\ Y35PVG_M M(_$*WL+:*[^#/B"[NDB59KA5GC$C@ ,P7[,=N3DXR<9JQ_PTMXZ_Z(EXB_[Z MG_\ D6N/^S<3V7_@4?\ ,ZOKU#N_N?\ D=C_ ,)'\;_^B>?#_P#\+R^_^4U' M_"1_&_\ Z)Y\/_\ PO+[_P"4U<7-^TYXWMXGEE^"OB".-%+,[O. H'))/V;@ M5S5K^VUJWB*1K#0?A])=ZM(I\F.*]>Y.1W,:0AF ] 1]::RO%2U45_X%'_,? MUVAW?_@,O\CTW5O'?Q@T'3YK_4O!'PYL+*%=TEQ<>/[U$4>Y.C5Y=I?[5GQ& M^(5_?>'_ KX"T>35E8+'JFEZQ/J-HBG@NWG6=MLYZ%N/K7FFM1?$GX@>)8] M1\>^#/%WB2PB.Z/2K6VGLH$/H (6P,<$@!C_ 'J]B\-_&WQ'X/TN/3=$^ .M M:98Q_=AMUG49]3_HO)]SR:ZUETJ*O93E_BBE^=V:?7L+'JV_\,O\CE(/V=/B MQJ7BZ37?&.D>%?B"_#0QZEXQO+%%Z':T4>F2C /\*N%]C7M5CJGQETNSBM++ MX:?#JTM85VQP0>.+U$0>@4:+@#Z5RO\ PTMXZ_Z(EXB_[ZG_ /D6C_AI;QU_ MT1+Q%_WU/_\ (M8U<'C*S]]+_P "C;\R)9A1ENW]TO\ (['_ (2/XW_]$\^' M_P#X7E]_\IJ/^$C^-_\ T3SX?_\ A>7W_P IJX[_ (:6\=?]$2\1?]]3_P#R M+1_PTMXZ_P"B)>(O^^I__D6L/[-Q/9?^!1_S)^O4.[^Z7^1V/_"1_&__ *)Y M\/\ _P +R^_^4U'_ D?QO\ ^B>?#_\ \+R^_P#E-7'?\-+>.O\ HB7B+_OJ M?_Y%H_X:6\=?]$2\1?\ ?4__ ,BT?V;B>R_\"C_F'UZAW?W2_P CL?\ A(_C M?_T3SX?_ /A>7W_RFH_X2/XW_P#1//A__P"%Y??_ "FKCO\ AI;QU_T1+Q%_ MWU/_ /(M'_#2WCK_ *(EXB_[ZG_^1:/[-Q/9?^!1_P P^O4.[^Z7^1V/_"1_ M&_\ Z)Y\/_\ PO+[_P"4U'_"1_&__HGGP_\ _"\OO_E-7'?\-+>.O^B)>(O^ M^I__ )%H_P"&EO'7_1$O$7_?4_\ \BT?V;B>R_\ H_YA]>H=W]TO\CL?^$C M^-__ $3SX?\ _A>7W_RFH_X2/XW_ /1//A__ .%Y??\ RFKCO^&EO'7_ $1+ MQ%_WU/\ _(M>4?M!?'OQCXHT&PT>]\)ZIX$M;AW>073R*;T*%^4%HH\JN[)' M(RRYQ@5K2RK$5)J,K)/K=/\ !,SJ9A2C!RC=M=+/_(^B/^$C^-__ $3SX?\ M_A>7W_RFH_X2/XW_ /1//A__ .%Y??\ RFKY8_9[^*'Q!\/W%_H?A*RAU\2P M^>+*_EQ%;[6 ,BY= /O $9&%_"4;?>02Q,P'H#MD_ M]"_&C$9[[1I/PQF([6?CS4+G/_ '[T1JY%OV[O M%WV]+>'X:>']15CC?I_BV[<_@KZ4A->KZ7X<^!/AW'V?3]%D*]#=I82(/T0"L7F&3T_M?Y M=3_AJFO5\WYL7L7+XZS?I9?DCQ+Q/\&_VF=8FP/%V@WD#'YD_P"$DO+'(I_\ *(6_\>KW:X_:;\-1?=L-2/\ MUT6)?_9S6;7))+_P"@I7#/ M/J-7XJLI?*3_ $.Z.%]G\%)KTB_\CJO^$C^-_P#T3SX?_P#A>7W_ ,IJ/^$C M^-__ $3SX?\ _A>7W_RFKFO^%[>-;KFU\$7C#^\--NY!^845+'\4OB?>?ZGP M?L_ZZ:=.A_\ 'W%8_P!J47\,)O\ [=9IR5/Y']S.@_X2/XW_ /1//A__ .%Y M??\ RFH_X2/XW_\ 1//A_P#^%Y??_*:L3_A)OC)>*?*\.11#U_<)^CRTV-OC M7?#__ ,+R^_\ E-6=_P ([\8;Q?G\0:?;^S%5/_CD)JJWPS^* M-TV9_&$4?_7&^G'\HQ3^O57\.'G^"_42OV_+_,\LO?VVOB'9^+-8\/?\*E\/ M3WVESSV\[0^-)S&6B8JVTG2P2"1@9 ZC.*]+^'?Q>^,'Q,\'Z?XDTSX;>";> MQO?,\N.\\II-LOERZ;/+YB9[2R/*&'H"68?\ :\S M+\VGBL7*A45NWJMSKKUL+)N%&#BU;K?H^;RWM:W0/^$C^-__ $3SX?\ _A>7 MW_RFH_X2/XW_ /1//A__ .%Y??\ RFKU6BOJCD/*O^$C^-__ $3SX?\ _A>7 MW_RFH_X2/XW_ /1//A__ .%Y??\ RFKU6B@#RK_A(_C?_P!$\^'_ /X7E]_\ MIJ/^$C^-_P#T3SX?_P#A>7W_ ,IJ]5HH \J_X2/XW_\ 1//A_P#^%Y??_*:C M_A(_C?\ ]$\^'_\ X7E]_P#*:O5:* / /!7_ "5/X%_]DSUG_P!'^'Z]_KP# MP5_R5/X%_P#9,]9_]'^'Z]_H \J\1_\ )TWP\_[$SQ+_ .EVA5ZK7E7B/_DZ M;X>?]B9XE_\ 2[0J]5H **** "BBB@ HHHH \J^,G_)1?@3_ -CG<_\ J/:S M7JM>5?&3_DHOP)_['.Y_]1[6:]5H **** "BBB@ HHHH ***^5OC5^U1XM^& M_P 4-:\.Z=I^BSZ?9>3Y3W4$S2G?!'(*H3_N6L[?RCIO"8A2<73=UY"=>BM5-6]3U*BO(+ MC]K+X7PCY?$,DQ](["X_K&*S+C]LCX>Y45\]3?MN^!DR(M+U^9NV+>$#]9?Z52F_;B:#;>FV)R?UF-8M4(_%B*:_P"XD?\ M,7UZGTC)_)GV)17QFWQT^,]]_JFTZWS_ ,\[-6_GNJ)_B)\=KW[NM>4I_ABT MV/\ GY)_G6;J8-;XJG][?Y)B^O+I3E]W_!/M&BOB=]4^.5]]_7]5&?\ GA:, MO_H,8J%M!^,]]_K/$?BT9_YX)R7)_F]59/V?/'=]_Q\'6Y\_\]8G_ *M4_7,L M_P"?\GZ4Y_JD4L16?_+NWS_R3/NNXO(+49FGCA'_ $T<+_.L+7?B)X<\.Z7> M7UYK-D([6%YWC2X1I&"J6(5OVUG//)HM\$BC:1O)97? &3M0,2Q] 2>F#2^OY;'K4?I3?ZLI3Q$M%%+YR M_P#D3K]'_;COI?%B+J6A6<'AQY=I,#.US$A.-Q8G#X'. HSCM7T)+\9%7DEA54E9:\L7^-^OX>9R8/ZXU+VDX[]>;_ -M3 M_$^FY?VAOAQ#][Q=IY_W69OY"J4O[3GPQA^]XK@/^[;3M_)*\!C^!GBRTZ>% M[.3_ *Z:9;O5F/X:>,+/IX*T>3_KIX;A>N7^ULK6].M_X#_P#T>2O_S]A]U3 M_P"1/:9?VK_A='T\2-)_NV%S_6.J"]/?_=U M5A_.*J_UAR?I!?\ @4A_4,0_^8F/WP_4T_\ AH#XFW'^I^#FI1_]=7E_K$*/ M^%S?&.X_U/PI\O\ ZZR-_4BJ"_M9^(5^]X MW_W=; _G#22?M<:^%.SXMO\ @:'_ -J&E^S_ +1MQ_R]>'K;\$/_ +*:\'N_ MCQ\:-08B?6+NUB/:SL;8$?B%!_6J+>./&FIG_B:>-/'42G[RV5L,'\KE?Y5T MK.,!UJ4ON;-%D=9_\OK_ /;\?T-K]H[P;\2;6#3O$'CS4=-O8_\ CSA^QRJN MP\L!LVKDG+<@'ISCBI_V;?#/CSQ%H^KGP1XUT_0D6=1=V,Q+3<+\LFTQMA3D MC(/)4YZ"O+O%FCWOB/7K%+6X\1:C;LBK)=:_%M>-RQW8P[C;C:>NIQ_\ 7%)?Z2BOFN:,P_\ (+/C:/T\[4(D_E5;[=\08F_T'5O$=LO8 MOKIS^2D5G+B#!1VQ,%_VXO\ (R_L*'VJB^=6/_R9]._\,P^+I_\ C[^,?B&? MUXF'\[@T?\,DW$__ !]_$CQ#<>OSD?S/PXE?*/_ (>2X5?%5A_P"!W_)L]\_X M8QT*?_C[\6>(KCU_?1C^:FGQ?L2>!$.9-2U^8]]US"/Y15Y!8>,OC:<>7XOG MD^EDDO\ ..M^U\4?'J=0%\1WS_\ 7/P]"_\ [2KFEQ5_+6D_1/\ R)_LC +> MK#_R=_E%GIT/[&?P[C^\FJ3?[]Y_@HJ_#^R+\,XOO:1=3?[]]+_1A7EN/CQJ M'^L\0:X,_P!S1HH/_9!1_P (/\:M0_UGB/Q.,_W+B.#^HK%\35Y?"ZC^3*_L MW+8_\O(OTC/]8H]@A_97^%T/3PP'/J]]6JY'@_1\#O);*W\Z1O OPQTO_6:! MX4MB.\EI;*?S(KX[O?@YJJ-FX^'_ (HO&]3%))_)ZS)?A[?69^;X7>)0O]YM M-F(_K5?7\SJ?#0G\Y+_,V6%RY;CFSF>V&?SG'_,T5+!QVA-_^ K_ #/KN7]I+X7:>I'_ M EE@!Z0QR/_ .@J:SYOVM?A;'D1^(Y+AO2'3[D_SC%?-5IX^^$]NP6ZM?%< M#?[%C:K_ .U*W[/XC_!/CS)_%B_]=(80/_'E>_P!G\1/@(<>9=ZR/^NT,O_LHKS+4OB/X7GU" MXDL[@VUHTC&*$QRL43/ )(Y.*\?,*>>4XQ:HN[_D4G]]D;T\Q>#IRCA\/K)K M67O6L_\ "M]F>Y>#_P!K"RTGPCHEAJ/AKQ1?ZI:V,$%U=211GSIEC57?'_AOIHLO# MGPW;3T( DF;4(S+*?5WVDM^>!V KZ+B\"^&X?]7X?TM/I9Q__$U;B\.Z3#_J M],LX_P#=MT']*WE+-:D>1UHI=E'_ ()E+$\RM[**_P# O_DCP_\ X:HNV^[X M/0?[^JX_E":DB_::U>?_ %7@J.3_ '=5<_\ MO7N\5I!#_JX8X_]U *FK'ZM MCWOB%_X O\S!U+_97X__ "1X;'\?O$]Q_J_ LIQ_.2O;Z*/J-=_%B)?^2_Y!ZO\O\ (\5;QM\6IE^3 MPI:K](B/_0I:K2>)/C/-_J_#J+_NFV'_ *%+7N=%']GR>]>?WK_($HKS^?\ ME8\!DU+XY2?=TF:+_=?3OZR&JLB_'.X_Y=9U^MS9)_Z"U?1%%3_9D7O6F_\ MMYFBE#K!??+_ .2/FV30OCC<=I%_[BT:?^@BJLG@?XWW'6;:/]OQ#(!^06OI MRBE_9-!_%*3_ .WF:*I26]&/WS_^2/EB3X2_&:Z^_=:>/^NVLSM_[)7/>(/@ M_P#$33[BV77-.M=:MIDDQ_98FO&C(*\/N0;0<\=<[37V116-3)<-*-H-I][M MV"=2G*#@J45?KK?\6SXLLOA/XINY+?3]/T6YT8S2J@GN=-E$$>3C+;5&![]J M["#]E/QG+_K_ !EI=O\ ]<=.:3^;"OJ.BE1R3#4[NM[[?5[D8>I]7AR1C%^L M4_S1\VP?LCZQQ]H^(;'U$.C1K^ID-:$'[(L!Q]J\;ZQ+Z^3!!'_[*:^@J*[8 MY7@H[4D='URITC%?]N0_^1/#8/V1_#:)/$]P>^;R)!_X[$*T(/V5?!,>/ M-FURZ_ZZZK*/_02*]BHK98'"QVIK[A?7*_25O1)?D>70?LR_#F'DZ'/.WK-J M=T_Z&7%:$'[/_P .[?&/">GR?]=E:7_T(FO0:*W6'HQV@ON0OKF)_P"?DOO9 MR%K\'_ EGCR?!F@(?[W]F0D_GMS6O:^#= LL_^C_#]>_UX!X*_P"2I_ O_LF> ML_\ H_P_7O\ 0!Y5XC_Y.F^'G_8F>)?_ $NT*O5:\J\1_P#)TWP\_P"Q,\2_ M^EVA5ZK0 4444 %%%% !1110!Y5\9/\ DHOP)_['.Y_]1[6:]5KRKXR?\E%^ M!/\ V.=S_P"H]K->JT %%%% !1110 4444 %?*/QS_9M\1^/OB9K.NZ9!))! M>&$AS)"JX6".,@!I >J'DXZ].,GZNHIJ=:G)3H5'"2ZJWW:IJWR,:M*%:#IS M6C/ESX8_LHV"M+>KG<#RI5'/4'(XXV^]=I/^Q[\/Y?N1ZA M!_USG0_^A(:]OHJJ=:O"/+.K*?G)W9%/#4::M&*^Y'@$W[%O@M^8=6UVW/\ ML26V/_1']:H3?L5:-_R[^+MK1?[T&[^4@JI_PQGX@M&S:_$N=SZ36#?UF-?5%%+VK_EC_P" Q_R- M%-K8^78_V9?B3I__ !Y?$&Q;'3SK ?U5JM1_"#X[:?\ \>?COP\P'3SK-/ZV MS5],45:K_P!R/_@*_P A^T?5+[CYN7PM^T;I_P!S7_#-YC^[!&O_ +06I/M7 M[2=G_P N?AR^Q[H/_9EKZ-HJ_K/_ $[C]P<_DCYS_P"$T_:0L_O^!?#UVO=D MG0'_ -*A_*C_ (6U\=;3_CY^%MI+Z_9YC_21J^C**?UB/6G'\?\ ,?.OY4?. M?_#0'Q5M/^/GX-ZA+Z_9WE_I&U'_ U)XQM_^/WX+^(K?U(,Q_G;BOHRBCVU M'K27WO\ S#FC_*?.?_#8+V__ !^_#CQ':^OR9_FHH_X;>\*V_P#Q^^&O$=KZ M_N(C_.05]&44>UP__/K\6'-#^4^?;?\ ;>^'DWW[?6X/^NEHA_\ 09#5R7]K M[X7:K9S6MS?W\4,Z-'(K6UW&DV-UGS[.WF_ZZ1*W\Q6;< M>!/#5X")_#VE3 ]?,LHF_FM)RPLE9P?W_P# %>'8^&=>^-WA1/B5!-I?A;S? M!A&=W)&WW:S_;"^&/A72X-/TNUUN:UA!$<4 M=N&*Y).,R2 ]3ZU4U_\ 8GT35/B5#JEI=BQ\*2DS7>DQY$@DS_JXF'"QMSGN MN,+U&WZ%T?PSI'A^WBM],TNSL(8E"HEO J!0/H*J5'*Z'++#T4G;6UE]^A;] MBK4&11_X]*U?1M%'URJOALO1+_( M/:2Z'SO;_L0^"VD\W4-9\0:C+W,ES&H/_D//ZUOV'['_ ,,+/'F:+<7I'_/Q M?3#_ - 9:]IHJ7B\1+[;%[2?<\\T_P#9[^'.EX\CPEIYQ_SW5IO_ $,FNBM? MAUX4L0!;^&='@ _YYV$2_P EKH:*YI2E/XG\5]Q-D8+^ ?#,GWO#NE'_MRC_^)J!_ MAKX5?KX>TX?[MNH_D*Z6BH>'HO>"^Y!RKL285XCZQKZ: _#-S_KO#NDR_[]C$?YK7AGQ2_8UT?QEXPL-5 MT&XA\.V,T@&IV<,>%V@??@4#"L>A!^7G=U!#?2%%;T\15HOFA(N,Y1U3,CPI MX4TKP3H%IHVC6B66GVJ[8XT_5F/4L3R2>236O116#;D[L@****0!1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% '@'@K_DJ?P+_[)GK/ M_H_P_7O]> >"O^2I_ O_ +)GK/\ Z/\ #]>_T >5>(_^3IOAY_V)GB7_ -+M M"KU6O*O$?_)TWP\_[$SQ+_Z7:%7JM !1110!S]G\0O"NI>,K_P (VGB71[KQ M980BYO-!AOXGOK:(A"))( V]%(EC^8@#]XO]X4>-OB%X5^&NE1:GXN\2Z/X5 MTV:86T=YK=_%9PO*59A&'D906*HYVYSA2>QKY'^';W4GBKX6E&5O$_\ PMSQ MD-4*DF3[.$U42!_]C9]BQGC_ (]\?PUZI\:'M1^T;X#37F@_X1T^#/%!"W1' ME&<'3_,+9XS]G,W7^$R]MU 'LGC;XA>%?AKI46I^+O$NC^%=-FF%M'>:W?Q6 M<+RE681AY&4%BJ.=N-^>=V, M9SSG.: $^,G_ "47X$_]CG<_^H]K->JUX+\7M<\9ZC\1/ $VD_"7Q9K.G^$_ M$+O^B$_$#_P. M\/?_ "UH ]5HKRK_ (7)XN_Z(3\0/_ [P]_\M:/^%R>+O^B$_$#_ ,#O#W_R MUH ]5HKRK_A+O\ HA/Q _\ [P]_P#+6L3QO\7OB;<>"]?B\*_!#QI:^*)-/N%TF?4+ MWP^;:.\,;"!I0-4)V"3:6P"< \&@#W"BO*O^%R>+O^B$_$#_ ,#O#W_RUH_X M7)XN_P"B$_$#_P #O#W_ ,M: /5:*\J_X7)XN_Z(3\0/_ [P]_\ +6C_ (7) MXN_Z(3\0/_ [P]_\M: /5:*\J_X7)XN_Z(3\0/\ P.\/?_+6C_A+O\ HA/Q _\ [P] M_P#+6@#U6BO*O^%R>+O^B$_$#_P.\/?_ "UH_P"%R>+O^B$_$#_P.\/?_+6@ M#U6BO*O^%R>+O^B$_$#_ ,#O#W_RUH_X7)XN_P"B$_$#_P #O#W_ ,M: /5: M*\J_X7)XN_Z(3\0/_ [P]_\ +6C_ (7)XN_Z(3\0/_ [P]_\M: /5:*\J_X7 M)XN_Z(3\0/\ P.\/?_+6C_A]\/_:7O#);&U9#_:F-BQK>!\D'+QX!YQM_\+D\ M7?\ 1"?B!_X'>'O_ ):T >JT5Y5_PN3Q=_T0GX@?^!WA[_Y:T?\ "Y/%W_1" M?B!_X'>'O_EK0!ZK17E7_"Y/%W_1"?B!_P"!WA[_ .6M'_"Y/%W_ $0GX@?^ M!WA[_P"6M 'JM%>5?\+D\7?]$)^('_@=X>_^6M'_ N3Q=_T0GX@?^!WA[_Y M:T >JT5Y5_PN3Q=_T0GX@?\ @=X>_P#EK1_PN3Q=_P!$)^('_@=X>_\ EK0! MZK17E7_"Y/%W_1"?B!_X'>'O_EK1_P +D\7?]$)^('_@=X>_^6M 'JM%>5?\ M+D\7?]$)^('_ ('>'O\ Y:T?\+D\7?\ 1"?B!_X'>'O_ ):T >JT5Y5_PN3Q M=_T0GX@?^!WA[_Y:T?\ "Y/%W_1"?B!_X'>'O_EK0!ZK17E7_"Y/%W_1"?B! M_P"!WA[_ .6M'_"Y/%W_ $0GX@?^!WA[_P"6M 'JM%>5?\+D\7?]$)^('_@= MX>_^6M8G@CXO?$VW\%Z!%XJ^"'C2Z\41Z?;KJT^GWOA\6TEX(U$[1 ZH#L,F MXKD X(X% 'N%%>5?\+D\7?\ 1"?B!_X'>'O_ ):T?\+D\7?]$)^('_@=X>_^ M6M 'JM%>5?\ "Y/%W_1"?B!_X'>'O_EK1_PN3Q=_T0GX@?\ @=X>_P#EK0!Z MK17E7_"Y/%W_ $0GX@?^!WA[_P"6M'_"Y/%W_1"?B!_X'>'O_EK0!ZK17E7_ M N3Q=_T0GX@?^!WA[_Y:T?\+D\7?]$)^('_ ('>'O\ Y:T >JT5Y5_PN3Q= M_P!$)^('_@=X>_\ EK1_PN3Q=_T0GX@?^!WA[_Y:T >JT5Y5_P +D\7?]$)^ M('_@=X>_^6M'_"Y/%W_1"?B!_P"!WA[_ .6M 'JM%>5?\+D\7?\ 1"?B!_X' M>'O_ ):T?\+D\7?]$)^('_@=X>_^6M 'JM%>5?\ "Y/%W_1"?B!_X'>'O_EK M1_PN3Q=_T0GX@?\ @=X>_P#EK0!ZK17E7_"Y/%W_ $0GX@?^!WA[_P"6M8FO M_%[XFRZMX:;1_@AXTATZ/4';64N;WP_YDMG]EN JPXU0_/\ :3:L5?\+D\7?]$)^('_@=X>_^6M'_ N3Q=_T0GX@?^!WA[_Y:T >JT5Y M5_PN3Q=_T0GX@?\ @=X>_P#EK1_PN3Q=_P!$)^('_@=X>_\ EK0!ZK17E7_" MY/%W_1"?B!_X'>'O_EK1_P +D\7?]$)^('_@=X>_^6M 'JM%>5?\+D\7?]$) M^('_ ('>'O\ Y:T?\+D\7?\ 1"?B!_X'>'O_ ):T >JT5Y5_PN3Q=_T0GX@? M^!WA[_Y:T?\ "Y/%W_1"?B!_X'>'O_EK0!ZK17E7_"Y/%W_1"?B!_P"!WA[_ M .6M'_"Y/%W_ $0GX@?^!WA[_P"6M 'JM%>5?\+D\7?]$)^('_@=X>_^6M'_ M N3Q=_T0GX@?^!WA[_Y:T >JT5Y5_PN3Q=_T0GX@?\ @=X>_P#EK1_PN3Q= M_P!$)^('_@=X>_\ EK0!ZK17E7_"Y/%W_1"?B!_X'>'O_EK1_P +D\7?]$)^ M('_@=X>_^6M 'JM%>'^$?B]\3;?29U\2?!#QIQO?#XC%F;J4V:G M.J#YUMC K\8WAL$C!.W_ ,+D\7?]$)^('_@=X>_^6M 'JM%>5?\ "Y/%W_1" M?B!_X'>'O_EK1_PN3Q=_T0GX@?\ @=X>_P#EK0!ZK17E7_"Y/%W_ $0GX@?^ M!WA[_P"6M'_"Y/%W_1"?B!_X'>'O_EK0!ZK17E7_ N3Q=_T0GX@?^!WA[_Y M:T?\+D\7?]$)^('_ ('>'O\ Y:T >JT5Y5_PN3Q=_P!$)^('_@=X>_\ EK1_ MPN3Q=_T0GX@?^!WA[_Y:T >JT5Y5_P +D\7?]$)^('_@=X>_^6M'_"Y/%W_1 M"?B!_P"!WA[_ .6M 'JM%>5?\+D\7?\ 1"?B!_X'>'O_ ):T?\+D\7?]$)^( M'_@=X>_^6M 'JM%>5?\ "Y/%W_1"?B!_X'>'O_EK1_PN3Q=_T0GX@?\ @=X> M_P#EK0!ZK17E7_"Y/%W_ $0GX@?^!WA[_P"6M'_"Y/%W_1"?B!_X'>'O_EK0 M!ZK17A_B[XO?$VXTF!?#?P0\:6VHC4+%I7OKWP^8S9BZB-XHQJA^=K83JG&- MY7) R1M_\+D\7?\ 1"?B!_X'>'O_ ):T >JT5Y5_PN3Q=_T0GX@?^!WA[_Y: MT?\ "Y/%W_1"?B!_X'>'O_EK0!ZK17E7_"Y/%W_1"?B!_P"!WA[_ .6M'_"Y M/%W_ $0GX@?^!WA[_P"6M 'JM%>5?\+D\7?]$)^('_@=X>_^6M'_ N3Q=_T M0GX@?^!WA[_Y:T >JT5Y5_PN3Q=_T0GX@?\ @=X>_P#EK1_PN3Q=_P!$)^(' M_@=X>_\ EK0!RO@K_DJ?P+_[)GK/_H_P_7O]?//P\TW6]%^(WP#T_P 30);> M)+3X7ZO;ZG#&RLL=TDWAY9E!4E2 X89!(]#7T-0!Y5XC_P"3IOAY_P!B9XE_ M]+M"KU6O*O$?_)TWP\_[$SQ+_P"EVA5ZK0 4444 <_9_#WPKIOC*_P#%UIX9 MT>U\67\(MKS7H;")+ZYB 0".2<+O=0(H_E)(_=K_ '15+7/A%X%\3>%;#PQK M'@KP[JWAO3W62ST>^TJ":SMF5656CA9"B$*[@$ 8#$=S76T4 <_XV^'OA7XE M:5%IGB[PSH_BK389AMV$5Y"DH5E$@216 8*[C=C.&([FN@HHH **** " MBBB@ HHHH **** .7D^*7@N+QQ'X+?Q=H*>,9%W)X>;4X1J#+Y9DR+?=YA'E M@O\ =^Z">E6--^(7A;6?%6I>&-/\2Z/?>)=-027VC6U_%)>6JG;AI858N@.Y M>6 ^\/6O&_'VCZ?\7/'NG>!O!^EVEKI_ASQ19>)_%?B&W@$<5O>02) M?]ASN_Z9?[- 'V2VL6"ZLFE&]MQJ;P-&7U"Y\2ZS\.=1U 7-Y>37]CY<:':J11@*H M' R233_9;\176AZA\%_#=[I_A'5[35OAZ^H:-?Z%9.+_ $:VB^Q"6*XN'D?S MTG::,F55A#2P'*,2"H!]=4444 %%%% !1110 4444 %%%% !1110 4444 4M M:US3O#6D7FJZO?VNE:79Q-/"[C MQC:^-/#USX1MR5FU^'58&L(R&"D-.'\L88@./BCI-]/H-P1OL[6'3YX+'[5M)3[4\\=J[!20KF- SE Q /KO1=*]C&W+PL[@2*-R\KD?,/6O(/A#X%T_XC? _QWHFJ MR7G_ BTWC/Q*UK;Z=>RVL=S9C4KK,):-E+0,YDRBG8R_*6_^LM9;QHH#<*>QB1Y)1_USH ^IO#/BK1? M&NAVNM>'M7L->T:Z#&WU#3+E+FWF"L58I(A*MAE8'!Z@CM6I6-X-\(Z5X!\) MZ1X;T*T2PT?2;6.SM+>,<)&BA5'N<#D]SDULT %%%% !1110 4444 %%%% ! M1110 4444 %LK;KLT?3MQ1;J MYD R\^U)%MH<[F=2WRQQR.H!['-\0O"UOXR@\(R^)='B\5W$'VF'0GOXA?21 M ,3(L!;>5PK?,!CY3Z5J76L6%C?6-G*?%*!HV\41_';0UB\QBUP+;[%I_P!TGYL?83<^VTR_[5>B M?$GP'IFD_MC?!WQ2CWUQK&JOJ\,C75[++#;PQZ: (H(F;9"I(+ML4%V8EB<+ M@ ]NTSXE>$=:\8:AX3T[Q5HE_P"*=/C,UYH=KJ,,E];("H+R0*Q=%S(G+ #Y MU]1725\+?"=HK?QI\(/$(6-] U3Q_P")X]'T"%U;5]-NYX]2:ZEO)RN;F(&. M7,06)H/,AWRW'E@G[IH **** "BBB@ HHHH **** "BBB@ HHHH *9+,D$3R MRNL<: LSLPI]9/BR'0[CPOJ\?B9-/D\.-:2_VDNK!#:&VV'S?.$GR M>7LW;MW&,YXH R/"_P 7/ OC;1=2UCP[XT\/:_I&F M?:AI>JP7,%H I:'#K/AG7--\1:/,S+%J&DW<=U;R%6*L%DC)4D$$ M'!X(KX^^-6GWWCGP;X_^+AT[^P/"FHV>@Z!86M_"T%Q?:/%J\4MU>W49QY4; MQ2S".-QN$66<(9#&OKGPUT!?%/Q&_:)TE;N]L="NO$5C'Y^D71B:VOK&=9H)T/ M1T=2593Z@XKXK^%?PY6/X)^$[;PQ>:#IEUX3^+6LSZ+H7B*^>VLM4,6H:A"M MGYH61Q*L3/+&PCE8/ IVD99?8_V-]0U75_#?Q(O]2CL88KGQYJ[VL>E.TEF@ MW1K.(9&1#*OVH7.9=J[VWMM7=M !] 4444 %%%% !1110 4444 %%%% !111 M0 4444 M<%\< M/$%EI\G]@:#X>L/$?Q.\3Z;<:;IUK-$H"6? EGO)@I:.RB:16?KN9E1%:1U4 M_,'Q$\%-\,_!_P 9_!OV\:GK'A_X<>#],\/W=V")IWAFNXH)(U))5FO$0X0G M#[!U"T ?:GB#XI>"_"7B32_#VN>+M!T;7]59%T_2M0U.&"ZO&=]B"*)V#2%G M^4;0$9?$NCQ>*[B#[3#H3W\0OI(@&)D6 MO*X5OF Q\ MI]*\<_:(TJP^)\7B+X0^%M+LY?%?BVSA'B/65MUV:/IVXHMU?:DBVT. M=S.I;Y8XY'7RS6/,'BGQ2@:-O%$?QVT-8O,8M<"V^Q:?]TGYL?83<^VTR_[5 M 'VM1110 4444 %%%% !1110 4444 %%%% !1110 5R_A7XI>#/'6JZGIGAO MQ=H/B'4M+;9?V>E:E#,/'7P]TZ#1?!?@OX>:_H7A:[L(?(.K236R#?:(F M MG"MLBPMC$CG<@\M4>0 ^J?"?Q*\(^/-)O-5\,^*M%\1:992-#=7NDZC#=0P. MJAF1WC8JK!2"03D @T>"/B5X1^)EC<7O@_Q5HGBNSMY/)FN-#U&&\CB? .QF MB9@&P0<'G!KY^\"KX5;XJ>-_M::1)\-%^%WAU]76\5&TW8K:BP6H0G M=QL"9XQ72^!?!-U\8O&WC#XCZC!JGA/0?$6DV.B:5;VL\VG:IZ:7K.GZY;RSZ;?6VH013RVLDEK,LJI-%(T5>(_ M^3IOAY_V)GB7_P!+M"KU6@#RKQ'_ ,G3?#S_ +$SQ+_Z7:%7JM>5>(_^3IOA MY_V)GB7_ -+M"KU6@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH \^N/V M>?A5=^)G\1S_ S\'S>(7NOMS:M)H%HUV;C?O\XRF/?YF[YM^ M^%M&\5:EXGT_PUH]CXEU)!'?:S;6$4=Y=*-N%EF50[@;5X8G[H]*Z"B@"C_8 M6FG7!K)T^U_M@6YLQJ'D+]H$!8.8O,QNV;@&VYQD9Q65X9^&_A+P7JNKZGX> M\+:+H.I:Q+YVI7FF:?#;37TFYFWS.B@R-N=SEB3EF/+?!?A[Q]HLFC^)]"TSQ'I$K*\FGZM9QW M5N[*A>'M6T'3?AWX4T_0M6V?VCIEKHEM%;7NPY M3SHE0+)M/(W X[5W5% %#1]!TSP_HMKH^E:=::;I-K"+>WL+.!8H(8@,!$C4 M!54#C &*JVO@WP_8Z3I.EVVA:;;Z9I#1OIUE%:1K#9-&"L9A0#;&5!(&T# ) MQ6S10 4444 %%%% !1110 4444 %%%% !1110 4444 %(=9N HFU#5="M;JXD"J%4-))&6.% R> *[^B@#G3\.?"9\6VOB MH^%]%/B>UM_LEOK7]GP_;88,$>4DVW>J89AM!Q\Q]:U+S0M-U#4M/U&ZT^UN M=0T\R&SNYH%>6V+KMDZSIUIJVE7D9AN;&^@6:"=#U1T8%64^A&*OT4 M <+X9^ _PS\$_P!H_P#"._#OPIH/]HVS65[_ &9HEM;?:K=OO12[$&]#W5L@ M^E=%X3\&Z!X#T.'1O#.AZ;X=T>%F:+3])M([6WC+,68K'& H))).!R36Q10! MS.I?#'P=K/AF\\.:AX3T.^\/7MP]W=:3%B,EOF MZ\ULZ+HFG>&M(L]*TBPM=*TNSB6"VL;*%88((U&%1$4!54#@ # J[10 4444 M %%%% !1110 4444 %%%% !1110 4444 <7XV^"?P\^)>I0ZCXO\!>&/%6H0 MQ"WBNM;T>WO)8XPQ8(KR(Q"Y9C@'&6)[U._PC\"R3>')7\%^'6E\-J%T1VTJ M MI2C&!:G9^Y VK]S'W1Z5UM% ' >*OV??A=X[URXUKQ+\-O"'B'6;@*)M0U M70K6ZN) JA5#221ECA0 ,G@ "MT_#GPF?%MKXJ/A?13XGM;?[);ZU_9\/VV& M#!'E)-MWJF&8;044 UTFWBM+MF #-+"J!')"J"6!R%'I2>"/@S\/_AG>7-WX/\ WAO MPI=W,8BGGT/2+>S>5 ?] MB9XE_P#2[0J]5KRKQ'_R=-\//^Q,\2_^EVA5ZK0!Y5XC_P"3IOAY_P!B9XE_ M]+M"KU6O*O$?_)TWP\_[$SQ+_P"EVA5ZK0 4444 %%%% !7E7QTU#7_[6^&& M@Z#XGU#PE_PD7B:33[W4-+@M);CR$TC4;H(@NH)HQF6UBR=A. 0",UZK7E7Q MD_Y*)\"O^QSN?_4>UF@ _P"%-^+O^BZ_$#_P!\/?_*JC_A3?B[_HNOQ _P# M'P]_\JJ]5HH \J_X4WXN_P"BZ_$#_P ?#W_ ,JJ/^%-^+O^BZ_$#_P!\/?_ M "JKU6B@#RK_ (4WXN_Z+K\0/_ 'P]_\JJ/^%-^+O^BZ_$#_ , ?#W_RJKU6 MB@#RK_A3?B[_ *+K\0/_ !\/?\ RJH_X4WXN_Z+K\0/_ 'P]_\ *JO5:* / M*O\ A3?B[_HNOQ _\ ?#W_RJH_X4WXN_Z+K\0/\ P!\/?_*JO5:* /*O^%-^ M+O\ HNOQ _\ 'P]_P#*JC_A3?B[_HNOQ _\ ?#W_P JJ]5HH \J_P"%-^+O M^BZ_$#_P!\/?_*JC_A3?B[_HNOQ _P# 'P]_\JJ]5HH \J_X4WXN_P"BZ_$# M_P ?#W_ ,JJ/^%-^+O^BZ_$#_P!\/?_ "JKU6B@#RK_ (4WXN_Z+K\0/_ ' MP]_\JJ/^%-^+O^BZ_$#_ , ?#W_RJKU6B@#RK_A3?B[_ *+K\0/_ !\/?\ MRJH_X4WXN_Z+K\0/_ 'P]_\ *JO5:* /*O\ A3?B[_HNOQ _\ ?#W_RJH_X4 MWXN_Z+K\0/\ P!\/?_*JO5:* /*O^%-^+O\ HNOQ _\ 'P]_P#*JC_A3?B[ M_HNOQ _\ ?#W_P JJ]5HH \J_P"%-^+O^BZ_$#_P!\/?_*JC_A3?B[_HNOQ M_P# 'P]_\JJ]5HH \J_X4WXN_P"BZ_$#_P ?#W_ ,JJ/^%-^+O^BZ_$#_P! M\/?_ "JKU6B@#RK_ (4WXN_Z+K\0/_ 'P]_\JJ/^%-^+O^BZ_$#_ , ?#W_R MJKU6B@#RK_A3?B[_ *+K\0/_ !\/?\ RJH_X4WXN_Z+K\0/_ 'P]_\ *JO5 M:* /*O\ A3?B[_HNOQ _\ ?#W_RJH_X4WXN_Z+K\0/\ P!\/?_*JO5:* /*O M^%-^+O\ HNOQ _\ 'P]_P#*JC_A3?B[_HNOQ _\ ?#W_P JJ]5HH \J_P"% M-^+O^BZ_$#_P!\/?_*JC_A3?B[_HNOQ _P# 'P]_\JJ]5HH \J_X4WXN_P"B MZ_$#_P ?#W_ ,JJ/^%-^+O^BZ_$#_P!\/?_ "JKU6B@#RK_ (4WXN_Z+K\0 M/_ 'P]_\JJ/^%-^+O^BZ_$#_ , ?#W_RJKU6B@#RK_A3?B[_ *+K\0/_ !\ M/?\ RJH_X4WXN_Z+K\0/_ 'P]_\ *JO5:* /*O\ A3?B[_HNOQ _\ ?#W_RJ MH_X4WXN_Z+K\0/\ P!\/?_*JO5:* /*O^%-^+O\ HNOQ _\ 'P]_P#*JC_A M3?B[_HNOQ _\ ?#W_P JJ]5HH \J_P"%-^+O^BZ_$#_P!\/?_*JC_A3?B[_H MNOQ _P# 'P]_\JJ]5HH \J_X4WXN_P"BZ_$#_P ?#W_ ,JJ/^%-^+O^BZ_$ M#_P!\/?_ "JKU6B@#RK_ (4WXN_Z+K\0/_ 'P]_\JJ/^%-^+O^BZ_$#_ , ? M#W_RJKU6B@#RK_A3?B[_ *+K\0/_ !\/?\ RJH_X4WXN_Z+K\0/_ 'P]_\ M*JO5:* /*O\ A3?B[_HNOQ _\ ?#W_RJH_X4WXN_Z+K\0/\ P!\/?_*JO5:* M /*O^%-^+O\ HNOQ _\ 'P]_P#*JC_A3?B[_HNOQ _\ ?#W_P JJ]5HH \J M_P"%-^+O^BZ_$#_P!\/?_*JC_A3?B[_HNOQ _P# 'P]_\JJ]5HH \J_X4WXN M_P"BZ_$#_P ?#W_ ,JJ/^%-^+O^BZ_$#_P!\/?_ "JKU6B@#RK_ (4WXN_Z M+K\0/_ 'P]_\JJ/^%-^+O^BZ_$#_ , ?#W_RJKU6B@#RK_A3?B[_ *+K\0/_ M !\/?\ RJH_X4WXN_Z+K\0/_ 'P]_\ *JO5:* /*O\ A3?B[_HNOQ _\ ?# MW_RJH_X4WXN_Z+K\0/\ P!\/?_*JO5:* /*O^%-^+O\ HNOQ _\ 'P]_P#* MJC_A3?B[_HNOQ _\ ?#W_P JJ]5HH \J_P"%-^+O^BZ_$#_P!\/?_*JC_A3? MB[_HNOQ _P# 'P]_\JJ]5HH \J_X4WXN_P"BZ_$#_P ?#W_ ,JJ/^%-^+O^ MBZ_$#_P!\/?_ "JKU6B@#RK_ (4WXN_Z+K\0/_ 'P]_\JJ/^%-^+O^BZ_$#_ M , ?#W_RJKU6B@#RK_A3?B[_ *+K\0/_ !\/?\ RJH_X4WXN_Z+K\0/_ 'P M]_\ *JO5:* /*O\ A3?B[_HNOQ _\ ?#W_RJH_X4WXN_Z+K\0/\ P!\/?_*J MO5:* /*O^%-^+O\ HNOQ _\ 'P]_P#*JC_A3?B[_HNOQ _\ ?#W_P JJ]5H MH \J_P"%-^+O^BZ_$#_P!\/?_*JC_A3?B[_HNOQ _P# 'P]_\JJ]5HH \J_X M4WXN_P"BZ_$#_P ?#W_ ,JJ/^%-^+O^BZ_$#_P!\/?_ "JKU6B@#RK_ (4W MXN_Z+K\0/_ 'P]_\JJ/^%-^+O^BZ_$#_ , ?#W_RJKU6B@#RK_A3?B[_ *+K M\0/_ !\/?\ RJH_X4WXN_Z+K\0/_ 'P]_\ *JO5:* /*O\ A3?B[_HNOQ _ M\ ?#W_RJH_X4WXN_Z+K\0/\ P!\/?_*JO5:* /*O^%-^+O\ HNOQ _\ 'P] M_P#*JC_A3?B[_HNOQ _\ ?#W_P JJ]5HH \J_P"%-^+O^BZ_$#_P!\/?_*JC M_A3?B[_HNOQ _P# 'P]_\JJ]5HH \J_X4WXN_P"BZ_$#_P ?#W_ ,JJ/^%- M^+O^BZ_$#_P!\/?_ "JKU6B@#RK_ (4WXN_Z+K\0/_ 'P]_\JJ/^%-^+O^BZ M_$#_ , ?#W_RJKU6B@#RK_A3?B[_ *+K\0/_ !\/?\ RJH_X4WXN_Z+K\0/ M_ 'P]_\ *JO5:* /*O\ A3?B[_HNOQ _\ ?#W_RJH_X4WXN_Z+K\0/\ P!\/ M?_*JO5:* /*O^%-^+O\ HNOQ _\ 'P]_P#*JC_A3?B[_HNOQ _\ ?#W_P J MJ]5HH \J_P"%-^+O^BZ_$#_P!\/?_*JC_A3?B[_HNOQ _P# 'P]_\JJ]5HH M\J^!>H:__:WQ/T'7O$^H>+?^$=\31Z?9:AJD%I%<>0^D:==%'%K!#&<2W4N# ML!P0"3BO5:\J^#?_ "43XZ_]CG;?^H]HU>JT >5>(_\ DZ;X>?\ 8F>)?_2[ M0J]5KRKQ'_R=-\//^Q,\2_\ I=H5>JT >5>(_P#DZ;X>?]B9XE_]+M"KU6O* MO$?_ "=-\//^Q,\2_P#I=H5>JT %%%% !1110 5Y5\9/^2B? K_L<[G_ -1[ M6:]5KRKXR?\ )1/@5_V.=S_ZCVLT >JT444 %%%% !1110!Y[\7OB5KOPYMM M,DT3P1J7C-KIY%E73RX^SA0N"VV-S\V3C@#Y3S7DGB+]J?Q]8Z%?W ^#VLZ0 M8X687][Y[0V_'WW!MU! Z_>'UKZ=ILD:RQLCJ'1AAE89!![&NJG5I124J=WZ MLTC**W1\3?!/]J#XA6]OJ5G+X;U/XCD2>>'M_,\ZVWDDAF2-_D)SM! Q@@<8 M ]3M?VF/'<]S%&WP/\1HKN%+;IN 3UYM@/S('N*]K\(^!]!\!V$UEX?TNWTJ MVFF:XDC@!^9V.223S[ = , 5NUT5<10G-R5+\7^FA4IQ;ORGSQ'X'\,_& MG]HWXDV'C_1K#Q=:>&++2H='T37+9+NRM8;F*262Z2"0%/-ED1H_-(+!;?:I M +!F^)OB);_"/P#X*\.^!_&UOJR37UYIL&I:GI>H>+;XQVQE\R%+73PLLYA9 M5B:221?+5!O,CGGU#QS\%O"GQ$UNSUK5;;4;76[2W>SBU30]9O=)NS;LPY0VQB5#<@ DFJ>K_L^^ M8T'PQHYT-],T_P ,JT>D)HM_'M/GU#4O 'A@WVE2O, MMJ+@>*'B=E\J4. ) 75?,.,*&+C.[Z1T'X[>,]5_:.N_@_+%X:34=)=];O\ M5D8E)]%95%O!#;>?YJWOF2 2,V8D2-9,'[1&B]A:_LK_ ML=)&F6_A98=/6 MS@T];=+ZY");PWS7T,2CS/E5+EV< 8P,)]P!1LZ?\!_!&EW.G75KI$L5_I^L M3Z_#?_VAOEGPC\7?B'X?\ AOX%\-^#9O#%A::/\'=/\62W.NZ;<7KS21PB/[.JQ7,( M56" ^822NT_*^[Y/JK0_!:6/@V;P]JE[]W9]JK M)L7+DA57GBLBQ^!_@G3H8HK?1?+CC\.)X20?:YSC2T!"V_+]LGY_O_[5 'FG M@/XU>/\ XS:]=2>#X/#6DZ3HUKHL]_8:W#/-<7S7MK%>2K%<12 6PCAF159H M9M[ALA ,U]#5Y?J'[,_PXU.;3GGT&98K&TL['[+#JEY%;7=O:_\ 'M'=P)*( M[Q8^PN%DX)'0FO0]-TF#2FO&A>Z,_$KXY>+?!/BZZTC2OA5K?B>RA2-DU.T:7RI2RA MB!L@<<$E>3G(/%?/'[0'[0'C[7/[!_XD/B3X8^5]H_Y?+B#[=GR_^F<6=F/? M'F=N_P!VUC^(/!V@>+/(_MS0]-UG[/N\G^T+2.?R]V-VW>#C.T9QUP/2N*M1 MJ5$TI[_UZGTF S+!X2I"<\,FUUN[O2U[-V_#T/BK]G_]H'Q]H?\ ;W_$A\2? M$[S?L_\ R^7$_P!AQYG_ $SEQOS[9\OOV^A_AK\AZ;HWVC;YW]GVD< M'F;<[=VP#.-QQGID^M;%%&C4II)SV_KU#'YE@\74G.&&2;ZW=UI:]D[?AZGY MGS:Y??"O]E'QOH^JW7'GV()_AN(HS<1C^_% /$GPOD^'>I^'8KWP=)*9SILL\QQ(9S<%UDW^8I\UB MV0PQG XXKI?$W@C1?&%YH%UJ]E]KGT'45U;3F\UT\BZ$,L(DPK -^[GE7:V5 M^;.,@$=I\V?.'Q1^ =GI-[X3T;P?X.\&?$O1O!WAJY1?ACXJU!8&D:213%J$ M>^&:-KB1X9X_-G10S22'S5)DSY#H'A?0OB-\:/"VB^'OAUI?CNPT/PWKUB?# M'Q:O(E.AR0:U%&UO')%:WJ,(,^5%MW#R2H\TXP?M7QW\'?"WQ&U*PU/5[6^@ MU>QC>"WU31=6N]*O4A<@O#]HM)8I#$2JL8RQ4E5.,@&N=NOV7?AU-)H\MMIN MK:-1!NW9#$^4OS,>O4_._PR^&?@/X ME?!C5OB5XWN(K#QE-J.J7M]X]E>*+5- >VO98PEO=2J?LT5NL"IY8_=D*^Y6 M\R3=]->$?"-CX(T5-+TZ?5+FV5V<2:OJUUJ4^6.3F:YDDD(] 6P.P%<9JW[- MOP]UOQ%>ZS=Z+*_">H?$S5O#L&A2^%OAK:6%[JUK?PRR7>L)/']HE%M,LR);[(" MNQFCF$DA*_(%R<36?VAOBJWB2[&DIX.CT@_$*7P!;VUY87;W +0,\5\\JW 4 M^6Y3= (QYH1@)82X*>Y^+O@3X(\=>)DU_6M'DN=1VVZ7"Q7]S!;WRP2&2!;N MWCD6*Z6-V8JLZ.%W-C&34W_"E/!GF>9_8WS_ /"0_P#"5Y^U3?\ (3V[?M'W M_3C9]S_9H \+TK]H3XG^(=:\,>#K$^$H/$UYXHU_PY?ZU<:9=-9[-/7S4N(K M076\%HR%,;3GYLD. ,'6\/\ [1/C+QQIOP_\/Z7;Z'HWC77M2US2]1U2\M)[ MO38&TF62&XEAMQ-%(XFD5"B&8%%=LM(8_FV_'W[*NC>*O'W@S4;"#^SM$L=7 MU;7-8%KJUY:7LEW=P!/.MYH7$D;;P-VR2,!<@9!(/=W_ ,!O ]_X1T#PT-(E ML--T!O,TJ32]0N;&\LW*,CO'=P2).KNLD@=O,S)YC[RVXY /GW4OVLOB+)X- MT'Q*FC:3X>T:/3]2;5M7N-#U+6=-DU"POY;2Y@::R8OIT!$#S+3OKZ(U;]E[X:ZO8Z;9MH%Q8VMCIO]CK#I.K7E@MS9;F;[/=""9/M4>YY& MVS[P3+*>LC[M/7?@%X$\1?VR;O19(WU>YL+RZELK^YM)!-9;?LCQ/%(K0F/8 MN/**YQSGF@#Q?X)_M5>,/BEXV\-NWANYN/"?B*ZO[=8[3PEJUO\ V+'#YI@N M)]4E'V2Z600[&6()M>9 &?:<['Q8\07'A/\ :C@UNT2*2[TWX4>(KV%)@2C/ M'?:23<^YXHU8^9("?G;.[X@^&'AGQ1X@DUO5-,^U:G)HUUX?:?SY4S M8W#QO/#M5@OS-#&=V-PV\$9.0#PCP/\ M)>-=-;[7XZAT'4K*\^'4GQ!MX/# MMA/;2VBQ&,R6CM+/+YY*S)B0+%RK?)R,>4^/OC1X[^'/Q$\)_$WQ7#X?UN^? MX9:EJ.G:?H=I6/\ >QA2XW8B4@;OL?2OA)X2T74M M+O[31T2YTS0_^$:M6DFDD5-.W1L8"K,589BC^9@6^7KR<\AI?[)?PITF29H_ M"S722Z5/H7D:CJ5W>0QZ=,8V>TCCFE=(X 8D*QH L>#L"[FR >5_\-.?$30? M"'C+7]5T:&^TKP<;+5+W5+OPCJGAN/5M/D$BW-K9PZA*&%Y"8PRDLZ2^9''B M-GW#W/X%^,M=^(OPSTKQ9KJZ5"^N ZC8VND/YJ6UE(=UO%),'99IA&5WNFU" MQ(487M%[SPY=7:%(KNXE=649&XH#&O.#U!XR#7 MO5>M>%BL)CIPDJ-?5]&DE; MU2N92C*VC/./#_QWU[5-,B:W\%7FKM$!%-=6DCE&D &3A8CM)SG&>]=7X1^) M&N>(M$O'FN^((%TWXJS6NF6\)EAOVGES=PSM=;Y8(I84CDC4REMG0FOJ3 MXB?M&>)?",'QM>SL=*D/@C4=%M-.\^*4^:EY':M*9L2#<0;A]NW;C"YSSGU& M7X&^")OA?'\/&T3_ (I"+:8K$7)EF\Y'28/YJ.LN'5U<,I ((P*R?&/[, M_P .O'VO7>KZ[HEU=W=[';1WB1ZO>PV]Y]G)-N\\$H6\ETL2F2UGMM6W/9W9E MB4R- %BDC!<'<86#><77[97CCP3X-\2ZAXRTK3;'Q3%8PO9>$KCP]JFGW5I> M2:A%9%!*QECU6WC>YA9IK,J6 &V/]ZNWZ(TO]GOP%H_BL>(;;1IA>+Z M?>:?)I(LM2U2\O8+2S=E9K>TCFF=;2/,<9VVXC \J/&/+3 !X)\4_BIXH^(/ MP-\:Z=XDTNZ":1XF\)FRU]_"VH^';?4HY=9LBRI:7Y:57B=&5B'=2&C(P25' MJ7[,NBVOB3X;_$_2;WS_ +'?>/O%EM-]EN9+:78^J7*MMEB970X)PR,&'4$& MNVM/V<_ %KX?U?1GTB[U"VU>^L]1U"XU35[V]O+J>UDBEMC)=33/.RQO#&50 MOM&",89@==O@YX1/@KQ-X2&ER1Z!XEGOKG5;6*]G1KB2\D>2Z/F!PZ"1I'R$ M8 !L <4 ?-.F6-CX4T#XY?$/X-:):>%O 5GX*N+;13HD*6MGK6J6T=S*=0M MX44*47*0K<8_?;"5+QK&[S^%>B>+/"G@NR32/#>M^"/"$^J6]@XB62 M2[U=[&ZN6(Y\V:U+AY<[G\H$DD9K[&\$_!+PO\/XYX=+;7KJTFM?L+6.M^)= M2U:U$/ V+!=W$L:\#&54'&1T)%4/#_[-_P ._#/A/7_#5IX?:;1==MH[*_M] M0U"ZO6DMHT*10+)/([QQ1JS>7&C*L9)*!2R?LZZ79^#_B)\ M:?!^A6%OI/A/1=?LGTW3+*-8K:R:?2[2:>**-0!&ID8R[1QNF8@ O MAWH/PSTBXT[0+:XBAN;E[RYFO;Z>]N;F=P TDMQ.[RR-A57+L2%15& H .E MHHHH **** "BBB@#Q[XC?&SQ5X+\5W.E:7\+]9\2V42(R:E:-)YX]>U>K0Q6&IN+G03MYO\ *]OT M//K8>O-2Y:K5_)?GN?(WP?\ VGOB"VFWMM-X5U'XA&%DVW%FK+);@@_+(8XG MW9QD9P>#U[>K>%?C]XQ\0>)-,TV\^$6NZ3:W5PD,M],TNRW4G!=MT"C ZGYA MTKUOPWX3T;P?8?8M$TRUTNU)W&.VC";F]6/4GW-:U7B,7A:DY2A02OYO\D[$ M42_-ZGP[XZ\&Z?X)N/%OQ"\3>&-*\9>&Y_$-UK$?Q?\&ZI ?$ MN@0),NR)Q-&,PVQ1[9E@GDS%&5:#EUJG^TAK=A+^T)_PF>J)+8_#WPYJ.C:/ MJGCR[M?,;PM?6TS7SI9!6,BQWBS6MG/-L" R1J6EPRQ_4-W^S=\/KWQ!>ZM) MH]XOVZ]_M*\TN+6+V/2;JZ)#---IRS"UD=G4.S-$2SC>V6YH\7?LV?#GQWKU M]JVO>'FU%]0>.74-/DO[E=-U"2-0LH^"_ WCCP;^QW=>&38&\\<1^']0CT_1Q?1O]GDD$S6=A]H8A"(4>&#? MG;B+.2.3Z3X5^$_A?P5K$&JZ3831:E#HUMX?6ZN+ZXN9#8V[R/#$QED;<5:: M0[SESNY8X&-[Q%X=TSQ=H.H:)K5C!J>D:A ]M=V=T@>.:)P0R,#U!!H ^,5O MO^&>_@K\6?".C_#3P_\ #/X@Z/\ #EM;@UCPG/%.;^**&:%9YIEMH'^T12*S MD,KKE\J[9:L7QQH&G_"^X\>?#SP=IEOHW@#5+7P&NI:?IZK%;J+_ %62QO69 M5&,W-K#'%(QY8+D\DFOK[P?\#_!G@B'6$L=+GOWUB!;34+C7M1NM7GN;=595 MMWENY)7,(#OB+=L&]SMRQSGZ'^SA\/?#_@C7?"5OHEQS2;3K*ZF@B10%1!/<2R;0, RM7#^!?A7X)^-6@_$GQE\0[2&?Q7; M^)=:TY?$=P0M_P"&K:QO)H[3[#<,";3RHDCG#1;09)&D.2QKZ*\"?#_0_AKH M)TC0+::"T:XENI9+N\FO+B>:1BSR2SSN\LKDG[SLQP% X4 .*VE@ECC@S%9RL9]DJ M;IDQ& IWQ9)'G2? M9&8I+W)Q&^]1M&PKN;Z \?? ?P/\3M2M;[Q%H\EU/#;?87%K?W-I'=VN\/\ M9KJ.&1%NH-P)$,X=!O?Y?G;+[[X&>!]2?5WN-##G5M9LO$%YMNIE$E]:" 6T MN XV[!;0?(N%.SYE.3D \-;]HKXEKKUMX,5O"DGB@?$&3P9/K!TJY2R: Z,= M12X2U^U%U=254H9B&"'#)ORDOPP_:-^(FNZ]\/)/$D7AA]%\3>)-8\)2V^EV M-S%#IU$,NU;.U_M/RY$_><2G[#%N8Y4[GPHR,>-^._VD_'7B']G2WO? M'6E^$-=TCQ]\,M9\11Z18V5[:+;26T5J6AFE%X7ECD6Z/^K\IDQ@,WWC]5K^ MS-\.5\7?\)*-"N!J8U276T7^U;S[+%?2HZ2W$=MYWDQO()'WE4&\L2V3S1J7 M[,?PTU;PGHGAJ[\->;HFBZ'=>&["U^WW(\G3[E8DGAW"3(=0\,V\L7AC5&CT^> M"UN7CE?49)(K>\<2VS"2W@4%,LOFDIO;V?7?V?? ?B3Q4/$.H:/-+?%K5YX( M]2NHK*\>V8-;R7-HDH@N9(RJ;7FC=AY<>#\B8J6?[-/PZT_Q9;^)(-$N$U6V MU676[4G5KQH+6\E\SSI88#-Y47F>;(9%1%60G+!B 0 ?)'PO^.6I_#WX=_"G MQ_XPMH_&^N67PDUS7CJLDMTE_*D<^GLMN\CSR(QF7VCV4]M9/Q.AMYH'N9'.V6#(D64!U? MHA7GU?P_^SK\//#*6$=GX>$L%CIM[HUO;W]Y<7D*6-V\;W%MYJ-J>L7M]W-S.^ TDUQ.[RRMA57<[$A451@* #Y"_86^#T4GPB^ M$GB*;X)?"Q4_LVWNAXP6[#:YN"Y6X\LZ8/WN@Z7^T)\1-4U+ MPEX@2'PPG@CQ-X[N_"-OIKV=PNIVT%O->0&X>D\6Z;9:0T;66G)XWUMK*(1D%4^S->&)H^.8V4H1D$$$BL M+X@?LOZ5JWQ \'^+?#$*Z9?V'BV+Q%JL,^I78M)%^SSQS/!:;F@2>1WC9G5$ M+_.6)+_P5X02R;V1!O+$MD\UP<'[&/A:3XG7-Y>:>O\ P@5OX1TOPOIFCVVK MWT4GE6TMTTD%R$=1<6SI+"#'*\BN4.]3@$@'$7W[67Q'U1-=U[0++PO#X>L? M$N@Z#;:;J5G=&[G&J6M@Z.\ZS!8S%)>Y.(FWJ-N$*[FZ/6OVH/%G@?X8_$VX MUJTTK6/%WA7Q9:^$[2ZTO3;I+.YDNTLC!<-:++-.0AO?FAC=GD\K"%2XV^S7 MGP*\#7YU8S:$I&JZQ9:_=JMS,@DOK,0"VE #@*$%M!\BX0[.5.3F;4/@KX*U M;2?&6F7FAQW%EXPN1>ZU')/*?M$XBBB653OS$ZK!"5:(H5:-77##=0!\_P / M[2GQ1OM0\.^'+;2["SU+5O%J:#!XEU[PAJNDV=Y:OIES=F>*PNI8YP\4D!C9 M3*RN!D,F_P"2EX%^+GQ%^(/[0WPPMK_7--L;.U?QGHVL:?IME6%];:/T:O5:\J^#?\ R43XZ_\ 8YVW_J/:-7JM 'E7B/\ Y.F^'G_8 MF>)?_2[0J]5KRKQ'_P G3?#S_L3/$O\ Z7:%7JM 'E7B/_DZ;X>?]B9XE_\ M2[0J]5KRKQ'_ ,G3?#S_ +$SQ+_Z7:%7JM !1110 4444 %>5?&3_DHGP*_[ M'.Y_]1[6:]5KG_&OP]\+?$K2XM,\7>&M'\5:;%,+F.SUJPBO(4E"LHD"2*P# M!7<;L9PQ'JT5Y5_PR?\$/\ HC?P_P#_ E['_XU1_PR?\$/^B-_#_\ \)>Q M_P#C5 'JM%>5?\,G_!#_ *(W\/\ _P )>Q_^-4?\,G_!#_HC?P__ /"7L?\ MXU0!ZK17E7_#)_P0_P"B-_#_ /\ "7L?_C5'_#)_P0_Z(W\/_P#PE['_ .-4 M >JT5Y5_PR?\$/\ HC?P_P#_ E['_XU1_PR?\$/^B-_#_\ \)>Q_P#C5 'J MM%>5?\,G_!#_ *(W\/\ _P )>Q_^-4?\,G_!#_HC?P__ /"7L?\ XU0!ZK17 ME7_#)_P0_P"B-_#_ /\ "7L?_C5'_#)_P0_Z(W\/_P#PE['_ .-4 >JT5Y5_ MPR?\$/\ HC?P_P#_ E['_XU1_PR?\$/^B-_#_\ \)>Q_P#C5 'JM%>5?\,G M_!#_ *(W\/\ _P )>Q_^-4?\,G_!#_HC?P__ /"7L?\ XU0!ZK17E7_#)_P0 M_P"B-_#_ /\ "7L?_C5'_#)_P0_Z(W\/_P#PE['_ .-4 >JT5Y5_PR?\$/\ MHC?P_P#_ E['_XU1_PR?\$/^B-_#_\ \)>Q_P#C5 'JM%>5?\,G_!#_ *(W M\/\ _P )>Q_^-4?\,G_!#_HC?P__ /"7L?\ XU0!ZK17E7_#)_P0_P"B-_#_ M /\ "7L?_C5'_#)_P0_Z(W\/_P#PE['_ .-4 >JT5Y5_PR?\$/\ HC?P_P#_ M E['_XU1_PR?\$/^B-_#_\ \)>Q_P#C5 'JM%>5?\,G_!#_ *(W\/\ _P ) M>Q_^-4?\,G_!#_HC?P__ /"7L?\ XU0!ZK17E7_#)_P0_P"B-_#_ /\ "7L? M_C5'_#)_P0_Z(W\/_P#PE['_ .-4 >JT5Y5_PR?\$/\ HC?P_P#_ E['_XU M1_PR?\$/^B-_#_\ \)>Q_P#C5 'JM%>5?\,G_!#_ *(W\/\ _P )>Q_^-4?\ M,G_!#_HC?P__ /"7L?\ XU0!ZK17E7_#)_P0_P"B-_#_ /\ "7L?_C5'_#)_ MP0_Z(W\/_P#PE['_ .-4 >JT5Y5_PR?\$/\ HC?P_P#_ E['_XU1_PR?\$/ M^B-_#_\ \)>Q_P#C5 'JM%>5?\,G_!#_ *(W\/\ _P )>Q_^-4?\,G_!#_HC M?P__ /"7L?\ XU0!ZK17E7_#)_P0_P"B-_#_ /\ "7L?_C5'_#)_P0_Z(W\/ M_P#PE['_ .-4 >JT5Y5_PR?\$/\ HC?P_P#_ E['_XU1_PR?\$/^B-_#_\ M\)>Q_P#C5 'JM%>5?\,G_!#_ *(W\/\ _P )>Q_^-4?\,G_!#_HC?P__ /"7 ML?\ XU0!ZK17E7_#)_P0_P"B-_#_ /\ "7L?_C5'_#)_P0_Z(W\/_P#PE['_ M .-4 >JT5Y5_PR?\$/\ HC?P_P#_ E['_XU1_PR?\$/^B-_#_\ \)>Q_P#C M5 'JM%>5?\,G_!#_ *(W\/\ _P )>Q_^-4?\,G_!#_HC?P__ /"7L?\ XU0! MZK17E7_#)_P0_P"B-_#_ /\ "7L?_C5'_#)_P0_Z(W\/_P#PE['_ .-4 >JT M5Y5_PR?\$/\ HC?P_P#_ E['_XU1_PR?\$/^B-_#_\ \)>Q_P#C5 'JM%>5 M?\,G_!#_ *(W\/\ _P )>Q_^-4?\,G_!#_HC?P__ /"7L?\ XU0!ZK17E7_# M)_P0_P"B-_#_ /\ "7L?_C5'_#)_P0_Z(W\/_P#PE['_ .-4 >JT5Y5_PR?\ M$/\ HC?P_P#_ E['_XU1_PR?\$/^B-_#_\ \)>Q_P#C5 'JM%>5?\,G_!#_ M *(W\/\ _P )>Q_^-4?\,G_!#_HC?P__ /"7L?\ XU0!ZK17E7_#)_P0_P"B M-_#_ /\ "7L?_C5'_#)_P0_Z(W\/_P#PE['_ .-4 >JT5Y5_PR?\$/\ HC?P M_P#_ E['_XU1_PR?\$/^B-_#_\ \)>Q_P#C5 'JM%>5?\,G_!#_ *(W\/\ M_P )>Q_^-4?\,G_!#_HC?P__ /"7L?\ XU0!ZK17E7_#)_P0_P"B-_#_ /\ M"7L?_C5'_#)_P0_Z(W\/_P#PE['_ .-4 >JT5Y5_PR?\$/\ HC?P_P#_ E[ M'_XU1_PR?\$/^B-_#_\ \)>Q_P#C5 'JM%>5?\,G_!#_ *(W\/\ _P )>Q_^ M-4?\,G_!#_HC?P__ /"7L?\ XU0!ZK17E7_#)_P0_P"B-_#_ /\ "7L?_C5' M_#)_P0_Z(W\/_P#PE['_ .-4 >JT5Y5_PR?\$/\ HC?P_P#_ E['_XU1_PR M?\$/^B-_#_\ \)>Q_P#C5 'JM%>5?\,G_!#_ *(W\/\ _P )>Q_^-4?\,G_! M#_HC?P__ /"7L?\ XU0!ZK17E7_#)_P0_P"B-_#_ /\ "7L?_C5'_#)_P0_Z M(W\/_P#PE['_ .-4 >JT5Y5_PR?\$/\ HC?P_P#_ E['_XU1_PR?\$/^B-_ M#_\ \)>Q_P#C5 'JM%>5?\,G_!#_ *(W\/\ _P )>Q_^-4?\,G_!#_HC?P__ M /"7L?\ XU0!ZK17E7_#)_P0_P"B-_#_ /\ "7L?_C5'_#)_P0_Z(W\/_P#P ME['_ .-4 >JT5Y5_PR?\$/\ HC?P_P#_ E['_XU1_PR?\$/^B-_#_\ \)>Q M_P#C5 'JM%>5?\,G_!#_ *(W\/\ _P )>Q_^-4?\,G_!#_HC?P__ /"7L?\ MXU0!ZK17E7_#)_P0_P"B-_#_ /\ "7L?_C5'_#)_P0_Z(W\/_P#PE['_ .-4 M >JT5Y5_PR?\$/\ HC?P_P#_ E['_XU1_PR?\$/^B-_#_\ \)>Q_P#C5 'J MM%>5?\,G_!#_ *(W\/\ _P )>Q_^-4?\,G_!#_HC?P__ /"7L?\ XU0!ZK17 ME7_#)_P0_P"B-_#_ /\ "7L?_C5'_#)_P0_Z(W\/_P#PE['_ .-4 >JT5Y5_ MPR?\$/\ HC?P_P#_ E['_XU1_PR?\$/^B-_#_\ \)>Q_P#C5 'JM%>5?\,G M_!#_ *(W\/\ _P )>Q_^-4?\,G_!#_HC?P__ /"7L?\ XU0!ZK17E7_#)_P0 M_P"B-_#_ /\ "7L?_C5'_#)_P0_Z(W\/_P#PE['_ .-4 'P;_P"2B?'7_L<[ M;_U'M&KU6N?\%?#WPM\-=+ETSPCX:T?PKILLQN9+/1;"*SA>4JJF0I&J@L51 M!NQG"@=A704 >5>(_P#DZ;X>?]B9XE_]+M"KU6O*O$?_ "=-\//^Q,\2_P#I M=H5>JT <5X^^#_AKXE:II.IZR-8@U+2X;BVM+S1=>O\ 29DBG:%IHR]I/$75 MFMX3M8D9C!&*Y_\ X9I\(_\ 07^('_AQO$/_ ,G444 '_#-/A'_H+_$#_P . M-XA_^3J/^&:?"/\ T%_B!_X<;Q#_ /)U%% !_P ,T^$?^@O\0/\ PXWB'_Y. MH_X9I\(_]!?X@?\ AQO$/_R=110 ?\,T^$?^@O\ $#_PXWB'_P"3J/\ AFGP MC_T%_B!_X<;Q#_\ )U%% !_PS3X1_P"@O\0/_#C>(?\ Y.H_X9I\(_\ 07^( M'_AQO$/_ ,G444 '_#-/A'_H+_$#_P .-XA_^3J/^&:?"/\ T%_B!_X<;Q#_ M /)U%% !_P ,T^$?^@O\0/\ PXWB'_Y.H_X9I\(_]!?X@?\ AQO$/_R=110 M?\,T^$?^@O\ $#_PXWB'_P"3J/\ AFGPC_T%_B!_X<;Q#_\ )U%% !_PS3X1 M_P"@O\0/_#C>(?\ Y.H_X9I\(_\ 07^('_AQO$/_ ,G444 '_#-/A'_H+_$# M_P .-XA_^3J/^&:?"/\ T%_B!_X<;Q#_ /)U%% !_P ,T^$?^@O\0/\ PXWB M'_Y.H_X9I\(_]!?X@?\ AQO$/_R=110 ?\,T^$?^@O\ $#_PXWB'_P"3J/\ MAFGPC_T%_B!_X<;Q#_\ )U%% !_PS3X1_P"@O\0/_#C>(?\ Y.H_X9I\(_\ M07^('_AQO$/_ ,G444 '_#-/A'_H+_$#_P .-XA_^3J/^&:?"/\ T%_B!_X< M;Q#_ /)U%% !_P ,T^$?^@O\0/\ PXWB'_Y.H_X9I\(_]!?X@?\ AQO$/_R= M110 ?\,T^$?^@O\ $#_PXWB'_P"3J/\ AFGPC_T%_B!_X<;Q#_\ )U%% !_P MS3X1_P"@O\0/_#C>(?\ Y.H_X9I\(_\ 07^('_AQO$/_ ,G444 '_#-/A'_H M+_$#_P .-XA_^3J/^&:?"/\ T%_B!_X<;Q#_ /)U%% !_P ,T^$?^@O\0/\ MPXWB'_Y.H_X9I\(_]!?X@?\ AQO$/_R=110 ?\,T^$?^@O\ $#_PXWB'_P"3 MJ/\ AFGPC_T%_B!_X<;Q#_\ )U%% !_PS3X1_P"@O\0/_#C>(?\ Y.H_X9I\ M(_\ 07^('_AQO$/_ ,G444 '_#-/A'_H+_$#_P .-XA_^3J/^&:?"/\ T%_B M!_X<;Q#_ /)U%% !_P ,T^$?^@O\0/\ PXWB'_Y.H_X9I\(_]!?X@?\ AQO$ M/_R=110 ?\,T^$?^@O\ $#_PXWB'_P"3J/\ AFGPC_T%_B!_X<;Q#_\ )U%% M !_PS3X1_P"@O\0/_#C>(?\ Y.H_X9I\(_\ 07^('_AQO$/_ ,G444 '_#-/ MA'_H+_$#_P .-XA_^3J/^&:?"/\ T%_B!_X<;Q#_ /)U%% !_P ,T^$?^@O\ M0/\ PXWB'_Y.H_X9I\(_]!?X@?\ AQO$/_R=110 ?\,T^$?^@O\ $#_PXWB' M_P"3J/\ AFGPC_T%_B!_X<;Q#_\ )U%% !_PS3X1_P"@O\0/_#C>(?\ Y.H_ MX9I\(_\ 07^('_AQO$/_ ,G444 '_#-/A'_H+_$#_P .-XA_^3J/^&:?"/\ MT%_B!_X<;Q#_ /)U%% !_P ,T^$?^@O\0/\ PXWB'_Y.H_X9I\(_]!?X@?\ MAQO$/_R=110 ?\,T^$?^@O\ $#_PXWB'_P"3J/\ AFGPC_T%_B!_X<;Q#_\ M)U%% !_PS3X1_P"@O\0/_#C>(?\ Y.H_X9I\(_\ 07^('_AQO$/_ ,G444 ' M_#-/A'_H+_$#_P .-XA_^3J/^&:?"/\ T%_B!_X<;Q#_ /)U%% !_P ,T^$? M^@O\0/\ PXWB'_Y.H_X9I\(_]!?X@?\ AQO$/_R=110 ?\,T^$?^@O\ $#_P MXWB'_P"3J/\ AFGPC_T%_B!_X<;Q#_\ )U%% !_PS3X1_P"@O\0/_#C>(?\ MY.H_X9I\(_\ 07^('_AQO$/_ ,G444 '_#-/A'_H+_$#_P .-XA_^3J/^&:? M"/\ T%_B!_X<;Q#_ /)U%% !_P ,T^$?^@O\0/\ PXWB'_Y.H_X9I\(_]!?X M@?\ AQO$/_R=110 ?\,T^$?^@O\ $#_PXWB'_P"3J/\ AFGPC_T%_B!_X<;Q M#_\ )U%% !_PS3X1_P"@O\0/_#C>(?\ Y.H_X9I\(_\ 07^('_AQO$/_ ,G4 M44 '_#-/A'_H+_$#_P .-XA_^3J/^&:?"/\ T%_B!_X<;Q#_ /)U%% !_P , MT^$?^@O\0/\ PXWB'_Y.H_X9I\(_]!?X@?\ AQO$/_R=110 ?\,T^$?^@O\ M$#_PXWB'_P"3J/\ AFGPC_T%_B!_X<;Q#_\ )U%% !_PS3X1_P"@O\0/_#C> M(?\ Y.H_X9I\(_\ 07^('_AQO$/_ ,G444 '_#-/A'_H+_$#_P .-XA_^3J/ M^&:?"/\ T%_B!_X<;Q#_ /)U%% !_P ,T^$?^@O\0/\ PXWB'_Y.H_X9I\(_ M]!?X@?\ AQO$/_R=110 ?\,T^$?^@O\ $#_PXWB'_P"3J/\ AFGPC_T%_B!_ MX<;Q#_\ )U%% !_PS3X1_P"@O\0/_#C>(?\ Y.H_X9I\(_\ 07^('_AQO$/_ M ,G444 '_#-/A'_H+_$#_P .-XA_^3J/^&:?"/\ T%_B!_X<;Q#_ /)U%% ! M_P ,T^$?^@O\0/\ PXWB'_Y.H_X9I\(_]!?X@?\ AQO$/_R=110 ?\,T^$?^ M@O\ $#_PXWB'_P"3J/\ AFGPC_T%_B!_X<;Q#_\ )U%% !_PS3X1_P"@O\0/ M_#C>(?\ Y.H_X9I\(_\ 07^('_AQO$/_ ,G444 '_#-/A'_H+_$#_P .-XA_ M^3J/^&:?"/\ T%_B!_X<;Q#_ /)U%% !_P ,T^$?^@O\0/\ PXWB'_Y.H_X9 MI\(_]!?X@?\ AQO$/_R=110 ?\,T^$?^@O\ $#_PXWB'_P"3J/\ AFGPC_T% M_B!_X<;Q#_\ )U%% !_PS3X1_P"@O\0/_#C>(?\ Y.H_X9I\(_\ 07^('_AQ MO$/_ ,G444 '_#-/A'_H+_$#_P .-XA_^3J/^&:?"/\ T%_B!_X<;Q#_ /)U M%% !_P ,T^$?^@O\0/\ PXWB'_Y.H_X9I\(_]!?X@?\ AQO$/_R=110 ?\,T M^$?^@O\ $#_PXWB'_P"3J/\ AFGPC_T%_B!_X<;Q#_\ )U%% &KX.^!?A7P/ MXJ3Q'8-X@O=:CLIM/BN==\3ZGJWDP2O%)*D:W=Q*J;FMX22H!/EKSBO0*** #/__9 end XML 13 R1.htm IDEA: XBRL DOCUMENT v3.22.0.1
Cover - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2021
Feb. 09, 2022
Jul. 02, 2021
Cover [Abstract]      
Document Type 10-K    
Document Annual Report true    
Document Period End Date Dec. 31, 2021    
Document Transition Report false    
Entity File Number 001-34674    
Entity Registrant Name Calix, Inc.    
Entity Incorporation, State or Country Code DE    
Entity Tax Identification Number 68-0438710    
Entity Address, Address Line One 2777 Orchard Parkway    
Entity Address, City or Town San Jose    
Entity Address, State or Province CA    
Entity Address, Postal Zip Code 95134    
City Area Code 408    
Local Phone Number 514-3000    
Title of 12(b) Security Common Stock, $0.025 par value    
Trading Symbol CALX    
Security Exchange Name NYSE    
Entity Well-known Seasoned Issuer No    
Entity Voluntary Filers No    
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    
ICFR Auditor Attestation Flag true    
Entity Shell Company false    
Entity Public Float     $ 2,532
Entity Common Stock, Shares Outstanding   64,438,795  
Entity Central Index Key 0001406666    
Amendment Flag false    
Document Fiscal Year Focus 2021    
Document Fiscal Period Focus FY    
Current Fiscal Year End Date --12-31    
Documents Incorporated by Reference
DOCUMENTS INCORPORATED BY REFERENCE
Portions of the registrant’s definitive proxy statement for its 2022 annual meeting of stockholders are incorporated by reference in Items 10, 11, 12, 13 and 14 of Part III.
   

XML 14 R2.htm IDEA: XBRL DOCUMENT v3.22.0.1
Audit Information
12 Months Ended
Dec. 31, 2021
Audit Information [Abstract]  
Auditor Name KPMG LLP
Auditor Location Santa Clara, California
Auditor Firm ID 185
XML 15 R3.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Balance Sheets - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Current Assets:    
Cash and cash equivalents $ 51,333 $ 80,807
Marketable securities 153,002 52,982
Accounts receivable, net 85,219 69,419
Inventory 88,880 52,268
Prepaid expenses and other current assets 30,811 11,414
Total current assets 409,245 266,890
Property and equipment, net 21,783 20,381
Right-of-use operating leases 12,182 11,741
Deferred tax assets 168,962 0
Goodwill 116,175 116,175
Other assets 13,685 12,165
Total assets 742,032 427,352
Current liabilities:    
Accounts payable 29,061 13,115
Accrued liabilities 71,597 68,736
Deferred revenue 27,478 19,189
Total current liabilities 128,136 101,040
Long-term portion of deferred revenue 22,016 19,904
Operating leases 12,376 12,946
Other long-term liabilities 11,076 13,137
Total liabilities 173,604 147,027
Commitments and contingencies (See Note 6)
Stockholders’ equity:    
Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of December 31, 2021 and 2020 0 0
Common stock, $0.025 par value; 100,000 shares authorized; 64,274 shares issued and outstanding as of December 31, 2021, and 62,122 shares issued and outstanding as of December 31, 2020 1,607 1,553
Additional paid-in capital 997,855 948,055
Accumulated other comprehensive loss (320) (191)
Accumulated deficit (430,714) (669,092)
Total stockholders’ equity 568,428 280,325
Total liabilities and stockholders' equity $ 742,032 $ 427,352
XML 16 R4.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Balance Sheets (Parenthetical) - $ / shares
Dec. 31, 2021
Dec. 31, 2020
Statement of Financial Position [Abstract]    
Preferred stock, par value (in dollars per share) $ 0.025 $ 0.025
Preferred stock, shares authorized (in shares) 5,000,000 5,000,000
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.025 $ 0.025
Common stock, shares authorized (in shares) 100,000,000 100,000,000
Common stock, shares issued (in shares) 64,274,000 62,122,000
Common stock, shares outstanding (in shares) 64,274,000 62,122,000
XML 17 R5.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Statements of Comprehensive Income (Loss) - USD ($)
shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Revenue:      
Revenue $ 679,394 $ 541,239 $ 424,330
Cost of revenue:      
Cost of revenue 322,807 274,220 236,405
Gross profit 356,587 267,019 187,925
Operating expenses:      
Sales and marketing 125,909 94,185 82,553
Research and development 101,747 85,258 81,184
General and administrative 55,779 44,444 37,115
Restructuring charges (benefit) (786) 6,286 0
Loss on asset retirement 0 0 2,474
Total operating expenses 282,649 230,173 203,326
Operating income (loss) 73,938 36,846 (15,401)
Interest and other expense, net:      
Interest expense, net (402) (1,585) (958)
Other expense, net (882) (977) (173)
Total interest and other expense, net (1,284) (2,562) (1,131)
Income (loss) before income taxes 72,654 34,284 (16,532)
Income taxes (165,724) 800 1,162
Net loss $ 238,378 $ 33,484 $ (17,694)
Net income (loss) per common share:      
Basic (in dollars per share) $ 3.77 $ 0.57 $ (0.32)
Diluted (in dollars per share) $ 3.51 $ 0.54 $ (0.32)
Weighted-average number of shares used to compute net income (loss) per common share:      
Basic (in shares) 63,277 59,074 54,993
Diluted (in shares) 67,856 61,998 54,993
Net income (loss) $ 238,378 $ 33,484 $ (17,694)
Other comprehensive income (loss), net of tax:      
Unrealized gain on available-for-sale marketable securities, net (179) 0 0
Foreign currency translation adjustments, net 50 663 (101)
Total other comprehensive income (loss), net of tax (129) 663 (101)
Comprehensive income (loss) 238,249 34,147 (17,795)
Systems      
Revenue:      
Revenue 642,577 508,552 393,231
Cost of revenue:      
Cost of revenue 297,103 251,638 211,309
Services      
Revenue:      
Revenue 36,817 32,687 31,099
Cost of revenue:      
Cost of revenue $ 25,704 $ 22,582 $ 25,096
XML 18 R6.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Statements of Stockholders' Equity - USD ($)
shares in Thousands, $ in Thousands
Total
Common Stock
Additional Paid-in Capital
Accumulated Other Comprehensive Loss
Accumulated Deficit
Treasury Stock
Beginning Balance, shares at Dec. 31, 2018   53,955        
Balance at beginning of period at Dec. 31, 2018 $ 151,934 $ 1,482 $ 876,073 $ (753) $ (684,882) $ (39,986)
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Stock-based compensation 11,181   11,181      
Issuance of common stock under equity incentive plans, net of forfeitures (in shares)   2,493        
Issuance of common stock under equity incentive plans, net of forfeitures 8,708 $ 63 8,645      
Net income (loss) (17,694)       (17,694)  
Other comprehensive income (loss) (101)     (101)    
Ending Balance, shares at Dec. 31, 2019   56,448        
Balance at end of period at Dec. 31, 2019 154,028 $ 1,545 895,899 (854) (702,576) (39,986)
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Stock-based compensation 13,960   13,960      
Issuance of common stock under equity incentive plans, net of forfeitures (in shares)   2,454        
Issuance of common stock under equity incentive plans, net of forfeitures 18,127 $ 60 18,067      
Issuance of common stock in connection with public offering, net of expenses (in shares)   3,220        
Issuance of common stock in connection with public offering, net of expenses 60,063 $ 82 59,981      
Treasury stock retirement 0 $ (134) (39,852)     39,986
Net income (loss) 33,484       33,484  
Other comprehensive income (loss) $ 663     663    
Ending Balance, shares at Dec. 31, 2020 62,122 62,122        
Balance at end of period at Dec. 31, 2020 $ 280,325 $ 1,553 948,055 (191) (669,092) 0
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Stock-based compensation 24,230   24,230      
Issuance of common stock under equity incentive plans, net of forfeitures (in shares)   2,152        
Issuance of common stock under equity incentive plans, net of forfeitures 25,624 $ 54 25,570      
Net income (loss) 238,378       238,378  
Other comprehensive income (loss) $ (129)     (129)    
Ending Balance, shares at Dec. 31, 2021 64,274 64,274        
Balance at end of period at Dec. 31, 2021 $ 568,428 $ 1,607 $ 997,855 $ (320) $ (430,714) $ 0
XML 19 R7.htm IDEA: XBRL DOCUMENT v3.22.0.1
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Operating activities:      
Net income (loss) $ 238,378 $ 33,484 $ (17,694)
Adjustments to reconcile net income (loss) to net cash provided by operating activities:      
Stock-based compensation 24,230 13,960 11,181
Depreciation and amortization 15,012 13,718 10,316
Deferred income taxes (168,426) 0 0
Asset retirements and write-downs 0 3,914 2,636
Changes in operating assets and liabilities:      
Accounts receivable, net (15,800) (22,910) 20,517
Inventory (36,612) (12,116) 9,998
Prepaid expenses and other assets (27,074) 773 (63)
Accounts payable 16,025 2,190 (29,440)
Accrued liabilities 3,273 11,922 (1,836)
Deferred revenue 10,400 3,596 2,401
Other long-term liabilities (2,613) 2,878 (3,362)
Net cash provided by operating activities 56,793 51,409 4,654
Investing activities:      
Purchases of property and equipment (10,463) (7,819) (13,353)
Purchases of marketable securities (298,092) (72,982) 0
Maturities of marketable securities 197,894 20,000 0
Net cash used in investing activities (110,661) (60,801) (13,353)
Financing activities:      
Proceeds from common stock issuances related to employee benefit plans 25,624 18,127 8,708
Payments related to financing arrangements (1,241) (5,758) (2,737)
Proceeds from the sale of common stock in connection with public offering, net of expenses 0 60,063 0
Proceeds from line of credit 0 30,000 143,300
Payments related to the line of credit 0 (60,285) (143,300)
Net cash provided by financing activities 24,383 42,147 5,971
Effect of exchange rate changes on cash and cash equivalents 11 595 (89)
Net increase (decrease) in cash and cash equivalents (29,474) 33,350 (2,817)
Cash and cash equivalents at beginning of year 80,807 47,457 50,274
Cash and cash equivalents at end of year 51,333 80,807 47,457
Supplemental disclosures of cash flow information:      
Interest paid 631 1,686 1,123
Income taxes paid 5,197 751 403
Non-cash investing activities:      
Changes in accounts payable and accrued liabilities related to purchases of property and equipment $ 194 $ (597) $ (2,435)
XML 20 R8.htm IDEA: XBRL DOCUMENT v3.22.0.1
Description of Business and Significant Accounting Policies
12 Months Ended
Dec. 31, 2021
Accounting Policies [Abstract]  
Description of Business and Significant Accounting Policies Description of Business and Significant Accounting Policies
Company
Calix, Inc. (together with its subsidiaries, “Calix” or the “Company”) was incorporated in August 1999 and is a Delaware corporation. The Company is the leading global provider of cloud and software platforms, systems and services that focus on the access network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. These cloud and software platforms enable broadband service providers (“BSPs”) of all types and sizes to innovate and transform their businesses. The Company’s BSP customers are empowered to utilize real-time data and insights from Calix platforms to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their businesses through increased subscriber acquisition, loyalty and revenue, thereby increasing the value of their businesses and contributions to their communities.
Basis of Presentation and Accounting Guidance
The accompanying consolidated financial statements have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) and U.S. generally accepted accounting principles (“GAAP”). All significant intercompany balances and transactions have been eliminated in consolidation. Any reference in these notes to applicable accounting guidance is meant to refer to the authoritative U.S. GAAP as found in the Financial Accounting Standards Board (“FASB”) Accounting Standards Codification (“ASC”).
Risks and Uncertainties
The Company is subject to risks and uncertainties as a result of the COVID-19 pandemic. The extent of the impact of the COVID-19 pandemic on the Company’s business is highly uncertain and difficult to predict, particularly as variants of the coronavirus continue to spread around the world. Although the availability of vaccines has increased, there are no assurances as to when the pandemic will become endemic. In March 2020, the Company instituted office closures, travel restrictions and a work-from-anywhere policy for substantially all of its employees due to shelter-in-place mandates. In July 2021, the Company reopened its U.S. offices to fully-vaccinated employees who choose to work in the office and lifted certain travel restrictions. The COVID-19 pandemic has had a prolonged impact on the Company’s supply chain operations due to restrictions, reduced capacity and limited availability from suppliers on whom the Company relies for sourcing components and materials and from third-party partners on whom the Company relies for manufacturing, warehousing and logistics services. Although demand for the Company’s products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers’ purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy, which could in turn impact the Company’s revenue and results of operations. Furthermore, the Company’s supply chain continues to face constraints primarily due to challenges in sourcing components and materials for the Company’s products. The prolonged impact of COVID-19 could exacerbate these constraints or cause further supply chain disruptions. As of the issuance date of these condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact the Company’s financial condition, liquidity or results of operations remains uncertain.
Use of Estimates
The preparation of financial statements is in conformity with U.S. GAAP, which requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. For the Company, these estimates include, but are not limited to: allowances for doubtful accounts and sales returns, excess and obsolete inventory, allowances for obligations to its contract manufacturers, valuation of stock-based compensation, useful lives assigned to long-lived assets, standard and extended warranty costs, realizability of deferred tax assets and uncertain tax positions and contingencies. Actual results could differ from those estimates, and such differences could be material to the Company’s financial position and results of operations.
Revenue Recognition
The Company derives revenue from contracts with customers primarily from the following and categorizes its revenue as follows:
Systems include revenue from the sale of access and premises systems, software platform licenses and cloud-based software subscriptions.
Services include revenue from customer support, software- and cloud-based maintenance, extended warranty subscriptions, professional services, training and managed services.
Revenue is recognized when a performance obligation is satisfied, which occurs when control of the promised goods or services is transferred to the customer, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those goods or services. Revenue from sales of access and premises systems is recognized when control is transferred to the customer, which is generally when the products are shipped. Revenue from software platform licenses, which provides the customer with a right to use the software as it exists, is generally recognized upfront when made available to the customer. Revenue from cloud-based software subscriptions, customer support, maintenance, extended warranty subscriptions and managed services is generally recognized ratably over the contract term. Revenue from professional services and training is recognized as the services are delivered.
A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The Company’s hardware products contain both software and non-software components that function together to deliver the products’ essential functionality and therefore constitutes a single performance obligation as the promise to transfer the individual software and non-software components is not separately identifiable and, therefore, not distinct. The Company’s contracts may include multiple performance obligations. For such arrangements, the Company allocates the contract’s transaction price to each performance obligation using the relative stand-alone selling price of each distinct good or service in the contract. The Company generally determines stand-alone selling prices based on the prices charged to customers or its best estimate of stand-alone selling price. The Company’s estimate of stand-alone selling price is established considering multiple factors including, but not limited to, geographies, market conditions, competitive landscape, internal costs, gross margin objectives, characteristics of targeted customers and pricing practices. The determination of estimated stand-alone selling price is made through consultation with and formal approval by management, taking into consideration the go-to-market strategy.
Cost of Revenue
Cost of revenue consists primarily of finished goods inventory purchased from the Company’s contract manufacturers, payroll and related expenses associated with managing the relationships with contract manufacturers, depreciation of manufacturing test equipment, warranty and retrofit costs, excess and obsolete inventory costs, allowances for obligations to its contract manufacturers, shipping charges and amortization of certain intangible assets. It also includes contractor and other costs of services incurred directly related to the delivery of services to customers.
Warranty and Retrofit
The Company offers limited warranties for its hardware products for a period of one, three or five years, depending on the product type. The Company recognizes estimated costs related to warranty activities as a component of cost of revenue upon product shipment or upon identification of a specific product failure. Under certain circumstances, the Company also provides fixes on specifically identified performance failures for products that are outside of the standard warranty period and recognizes estimated costs related to retrofit activities as a component of cost of revenue upon identification of such product failures. The Company recognizes estimated warranty and retrofit costs when it is probable that a liability has been incurred and the amount of loss is reasonably estimable. The estimates are based upon historical and projected product failure and claim rates, historical costs incurred in correcting product failures and information available related to any specifically identified product failures. Judgment is required in estimating costs associated with warranty and retrofit activities, and the Company's estimates are limited to information available to the Company at the time of such estimates. In some cases, such as when a specific product failure is first identified or a new product is introduced, the Company may initially have limited information and limited historical failure and claim rates upon which to base its estimates, and such estimates may require revision in future periods. The recorded amount is adjusted from time to time for specifically identified warranty and retrofit exposure. Actual warranty and retrofit expenses are charged against the Company’s estimated warranty and retrofit liability when incurred. Factors that affect the Company’s warranty and retrofit liability include the number of active installed units and historical and anticipated rates of warranty and retrofit claims and cost per claim.
Stock-Based Compensation
Stock-based compensation expense associated with stock options, performance stock options (“PSOs”), restricted stock units (“RSUs”) and purchase rights under the Amended and Restated Employee Stock Purchase Plan (the “ESPP”) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the “NQ ESPP”) is measured at the grant date based on the fair value of the award, and is recognized, net of forfeitures, as expense over the remaining requisite service period (generally the vesting period) on a straight-line basis.
The fair value of stock option and employee stock purchase right under the ESPP is estimated at the grant date using the Black-Scholes option valuation model. The fair value of RSUs and employee stock purchase right under the NQ ESPP is based on closing market price of the Company’s common stock on the date of grant.
Stock-based compensation expense associated with PSOs with graded vesting features and which contain both a performance and a service condition is measured based on fair value of stock options estimated at the grant date using the Black-Scholes option valuation model, and is recognized, net of forfeitures, as expense over the requisite service period using the graded vesting attribution method.
Compensation expense is only recognized if the Company has determined that it is probable that the performance condition will be met. The Company reassesses the probability of vesting at each reporting period and adjusts compensation expense based on its probability assessment.
Loss Contingencies
From time to time, the Company is involved in legal proceedings arising from the normal course of business activities. The Company evaluates the likelihood of an unfavorable outcome of legal proceedings to which it is a party and accrues a loss contingency when the loss is probable and reasonably estimable. Assessing legal contingencies involves significant judgment and estimates, and the outcome of litigation is inherently uncertain and subject to numerous factors outside the Company’s control. Significant judgment is required when the Company assesses the likelihood of any adverse judgments or outcomes, including the potential range of possible losses, and whether losses are probable and reasonably estimable.
Because of uncertainties related to these matters, the Company bases its estimates of whether a loss contingency is probable or reasonably possible, as well as the reasonable range of possible losses associated with each loss contingency, only on the information available at the time. As additional information becomes available, and at least quarterly, the Company reassesses the potential liability on each significant matter and may revise its estimates. These revisions could have a material impact on the Company’s business, operating results or financial condition. The actual outcome of these legal proceedings may materially differ from the Company’s estimates of potential liability, which could have a material adverse effect on the Company’s business, operating results or financial condition.
Credit Risk and Inventory Supplier Concentrations
Financial instruments that potentially subject the Company to significant concentrations of credit risk consist primarily of cash, cash equivalents, marketable securities and accounts receivable. Cash equivalents consist of money market funds and marketable securities with a maturity at the date of purchase of ninety days or less, which are invested through financial institutions in the United States. Deposits in and investments held by these financial institutions may, at times, exceed federally insured limits. The Company has not experienced any losses in such accounts. The Company also has approximately $3.6 million of cash held by its foreign subsidiaries in Brazil, China and the United Kingdom. Management believes that the financial institutions that hold the Company’s cash and cash equivalents are financially sound and, accordingly, minimal credit risk exists with respect to these cash and cash equivalents.
The Company depends primarily on a small number of outside contract manufacturers (“CMs”) and original design manufacturers (“ODMs”) for the bulk of its finished goods inventory. The Company generally purchases its products through purchase orders with its suppliers. While the Company seeks to maintain a sufficient supply of its products, the Company’s business and results of operations could be adversely affected by a stoppage or delay in receiving such products, the receipt of defective parts, an increase in price of such products or the Company’s inability to obtain lower prices from its CMs, ODMs and other suppliers in response to competitive pressures.
Fair Value of Financial Instruments
The carrying amounts of cash and cash equivalents, trade receivables, accounts payable and other accrued liabilities approximate their fair value due to their relatively short-term nature. Marketable securities are valued using quoted market prices in active markets to determine fair value.
Cash, Cash Equivalents and Marketable Securities
Cash equivalents and marketable securities are stated at amounts that approximate fair value based on quoted market prices.
The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as U.S. treasury bonds, corporate debt instruments, commercial paper and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent highly liquid U.S. treasury bonds, corporate debt instruments, commercial paper and U.S. government securities with maturities greater than 90 days at date of purchase. Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.
The Company’s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of comprehensive loss in the stockholders’ equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific
identification method and are reclassified from accumulated other comprehensive loss to results of operations as “Other income (expense), net.” Realized loss was de minimis for 2021.
For the Company’s available-for-sale debt securities in an unrealized loss position, the Company determines whether a credit loss exists. In this assessment, among other factors, the Company considers the extent to which the fair value is less than the amortized cost, any changes to the rating of the security by a rating agency, and adverse conditions specifically related to the security. If factors indicate a credit loss exists, an allowance for credit loss will be recorded to “Other income (expense), net,” limited by the amount that the fair value is less than the amortized cost basis. The amount of fair value change relating to all other factors will be recognized in other comprehensive loss.
See Note 2 “Cash, Cash Equivalents and Marketable Securities.”
Allowance for Doubtful Accounts
The Company maintains an allowance for doubtful accounts for expected credit losses at contract inception resulting from the inability of its customers to make required payments. The Company records a specific allowance and revises the expected loss based on an analysis of individual past-due balances. Additionally, based on historical write-offs and the Company’s collection experience, the Company records an additional allowance based on a percentage of outstanding receivables. The Company performs credit evaluations of its customers’ financial condition. These evaluations require judgment and are based on a variety of factors including, but not limited to, current economic trends, payment history and a financial review of the customer. Actual collection losses may differ from management’s estimates, and such differences could be material to the Company's financial position and results of operations.
Inventory Valuation and Supplier Purchase Commitments
Inventory, which primarily consists of finished goods purchased from CMs or ODMs, is stated at the lower of cost (determined by the first-in, first-out method) or market value. Inbound shipping costs and U.S. tariffs are included in cost of inventory. In addition, the Company, from time to time, procures component inventory primarily as a result of manufacturing discontinuation of critical components by suppliers. The Company regularly monitors inventory quantities on hand and records write-downs for excess and obsolete inventories based on the Company’s estimate of demand for its products, potential obsolescence of technology, product life cycles and whether pricing trends or forecasts indicate that the carrying value of inventory exceeds its estimated selling price. The Company also evaluates its supplier purchase commitments, which have increased significantly due to extended lead-times in the current supply chain environment, and records a liability for excess and obsolete components based on its estimated demand of our products, potential obsolescence of technology and product life cycles. These factors are impacted by market and economic conditions, technology changes and new product introductions and require significant estimates that may include elements that are uncertain. Actual demand may differ from forecasted demand and may have a material effect on gross profit. If inventory is written down, a new cost basis is established that cannot be increased in future periods. Shipments from suppliers before the Company receives them are recorded as in-transit inventory when title and the significant risks and rewards of ownership have passed to the Company.
Contract Costs
The Company capitalizes certain sales commissions related primarily to multi-year cloud-based software subscriptions and extended warranty support contracts.
Capitalized commissions are amortized as sales and marketing expenses over the period that the related revenue is recognized, which can be up to five years for extended warranty. The Company classifies the unamortized portion of deferred commissions as current or noncurrent based on the timing of when the Company expects to recognize the expense. The current and noncurrent portions of deferred commissions are included in “Prepaid expenses and other current assets” and “Other assets,” respectively, in the Company’s Consolidated Balance Sheets.
Property and Equipment
Property and equipment are stated at cost, less accumulated depreciation, and are depreciated using the straight-line method over the estimated useful life of each asset. Generally, computer equipment is depreciated over two years; purchased software is depreciated over three to five years; test equipment is depreciated over three years; furniture and fixtures are depreciated over seven years; and leasehold improvements are depreciated over the shorter of the respective lease term or the estimated useful life of the asset. Maintenance and repairs are charged to expense as incurred.
Goodwill
Goodwill was recorded as a result of the Company’s acquisitions of Occam Networks, Inc. in February 2011 and Optical Solutions, Inc. in February 2006. The Company records goodwill when consideration paid in a business acquisition exceeds the fair value of the net tangible assets and the identified intangible assets acquired. Goodwill is not amortized but instead is subject
to an annual impairment test or more frequently if events or changes in circumstances indicate that it may be impaired. The Company evaluates goodwill on an annual basis as of the end of the second quarter of each fiscal year. Management has determined that it operates as a single reporting unit and, therefore, evaluates goodwill impairment at the enterprise level.
At the end of the second quarter of 2021, the Company completed its annual goodwill impairment test. Based on its assessment of certain qualitative factors such as market capitalization, management concluded that the fair value of the Company was more likely than not greater than its carrying amount as of June 27, 2021. As such, it was not necessary to perform the two-step quantitative goodwill impairment test at the time.
There have been no significant events or changes in circumstances subsequent to the 2021 annual impairment test that would more likely than not indicate that the carrying value of goodwill may have been impaired as of December 31, 2021. There were no impairment losses for goodwill for the years ended December 31, 2021, 2020 or 2019.
Deferred Revenue
Deferred revenue results from transactions where the Company billed the customer for products or services and when cash payments are received or due prior to transferring control of the promised goods or services to the customer.
Payment terms to customers typically range from net 30 to net 90 days and vary by the size and location of customer and the products or services offered. The period between the transfer of control of the promised good or service to a customer and when payment is due is not significant.
Income Taxes
The Company evaluates its tax positions and estimates its current tax exposure along with assessing temporary differences that result from different book to tax treatment of items not currently deductible for tax purposes. These differences result in deferred tax assets and liabilities on the Company’s Consolidated Balance Sheets, which are estimated based upon the difference between the financial statement and tax bases of assets and liabilities using the enacted tax rates that will be in effect when these differences reverse. In general, deferred tax assets represent future tax benefits to be received when certain expenses previously recognized in the Company’s Consolidated Statements of Comprehensive Income (Loss) become deductible expenses under applicable income tax laws or loss or credit carryforwards are utilized. Accordingly, realization of the Company’s deferred tax assets is dependent on future taxable income against which these deductions, losses and credits can be utilized.
The Company must assess the likelihood that its deferred tax assets will be recovered from future taxable income, and to the extent the Company believes that recovery is not more likely than not, it must establish a valuation allowance. Management judgment is required in determining the Company’s provision for income taxes, our deferred tax assets and liabilities and any valuation allowance recorded against its net deferred tax assets. Prior to the third quarter of 2021, the Company maintained a 100% valuation allowance against all deferred tax assets, because there was insufficient positive evidence to overcome the existing negative evidence, primarily consisting of several years of consecutive reported pre-tax losses, such that it was not more likely than not that the deferred tax assets were realizable. In the third quarter of 2021, the Company had reported positive operating performance for five consecutive quarters and continued to maintain a cumulative three-year pre-tax profit. In addition, the Company expects continued positive operating performance into the foreseeable future to allow for utilization of all operating loss and substantially all tax credit carryforwards prior to their expiration. After considering these factors, the Company determined that the positive evidence overcame any negative evidence and concluded that it was more likely than not that a substantial portion of its U.S. federal and certain other state deferred tax assets were realizable. The Company currently maintains a valuation allowance of $29.2 million for certain U.S. federal and California state deferred tax assets.
Newly Adopted Accounting Standards
The Company did not adopt any new accounting standards in 2021 that were significant to the Company.
Recent Accounting Pronouncements Not Yet Adopted
There have been no accounting pronouncements or changes in accounting pronouncements that are significant or potentially significant to the Company.
XML 21 R9.htm IDEA: XBRL DOCUMENT v3.22.0.1
Cash, Cash Equivalents and Marketable Securities
12 Months Ended
Dec. 31, 2021
Cash and Cash Equivalents [Abstract]  
Cash, Cash Equivalents and Marketable Securities Cash, Cash Equivalents and Marketable Securities
Cash, cash equivalents and marketable securities consisted of the following (in thousands):

December 31,
20212020
Cash and cash equivalents:
Cash$26,442 $30,745 
Commercial paper21,582 — 
Money market funds2,320 10,068 
Corporate debt securities989 — 
U.S. government securities— 39,994 
Total cash and cash equivalents51,333 80,807 
Marketable securities:
Commercial paper80,812 — 
U.S. government securities60,279 52,982 
U.S. government agency securities5,527 — 
Corporate debt securities3,576 — 
Municipal securities2,808 — 
Total marketable securities153,002 52,982 
$204,335 $133,789 
The carrying amounts of the Company’s money market funds approximate their fair values due to their nature, duration and short maturities. The above amounts in 2021 are net of $0.2 million in unrealized losses. Unrealized losses in 2020 were de minimis. As of December 31, 2021, all marketable securities were due in two years or less.
XML 22 R10.htm IDEA: XBRL DOCUMENT v3.22.0.1
Fair Value Measurements
12 Months Ended
Dec. 31, 2021
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
The Company measures its cash equivalents and marketable securities at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. The Company utilizes the following three-tier value hierarchy which prioritizes the inputs used in measuring fair value:
Level 1 – Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.
Level 2 – Observable inputs other than quoted prices included in Level 1 for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-driven valuations in which all significant inputs and significant value drivers are observable in active markets.
Level 3 – Unobservable inputs to the valuation derived from fair valuation techniques in which one or more significant inputs or significant value drivers are unobservable. The fair value hierarchy also requires the Company to maximize the use of observable inputs, when available, and to minimize the use of unobservable inputs when determining inputs and determining fair value.
The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands):
As of December 31, 2021Level 1Level 2Total
Money market funds$2,320 $— $2,320 
U.S. government securities60,279 — 60,279 
Commercial paper— 102,394 102,394 
U.S. government agency securities— 5,527 5,527 
Corporate debt securities— 4,565 4,565 
Municipal securities— 2,808 2,808 
$62,599 $115,294 $177,893 
As of December 31, 2020Level 1
Money market funds$10,068 
U.S. government securities92,976 
$103,044 
XML 23 R11.htm IDEA: XBRL DOCUMENT v3.22.0.1
Balance Sheet Details
12 Months Ended
Dec. 31, 2021
Balance Sheet Related Disclosures [Abstract]  
Balance Sheet Details Balance Sheet Details
Accounts receivable, net consisted of the following (in thousands):
December 31,
20212020
Accounts receivable$85,944 $70,824 
Allowance for doubtful accounts(725)(1,405)
$85,219 $69,419 
The table below summarizes the changes in allowance for doubtful accounts and product return liability for the periods indicated (in thousands):
Balance at Beginning of YearAdditions Charged to Expenses or Revenue Net of RecoveriesWrite Offs and ReturnsBalance at
End of Year
Year Ended December 31, 2021:
Allowance for doubtful accounts$1,405 $(201)$(479)$725 
Product return liability1,888 3,681 (3,733)1,836 
Year Ended December 31, 2020:
Allowance for doubtful accounts$374 $1,085 $(54)$1,405 
Product return liability919 3,391 (2,422)1,888 
Year Ended December 31, 2019:
Allowance for doubtful accounts$370 $168 $(164)$374 
Product return liability880 1,620 (1,581)919 
Inventory consisted of the following (in thousands):
December 31,
20212020
Raw materials$130 $34 
Finished goods88,750 52,234 
$88,880 $52,268 
Property and equipment, net consisted of the following (in thousands):
December 31,
20212020
Test equipment$39,476 $37,670 
Computer equipment11,156 9,062 
Software9,013 16,093 
Furniture and fixtures1,812 2,069 
Leasehold improvements1,351 1,345 
62,808 66,239 
Accumulated depreciation and amortization(41,025)(45,858)
$21,783 $20,381 
Depreciation and amortization expenses were $15.0 million, $13.7 million and $10.3 million for the years ended December 31, 2021, 2020 and 2019, respectively.
Other long-term assets consisted of the following (in thousands):
December 31,
20212020
Intangible asset$6,885 $9,517 
Other long-term assets6,800 2,648 
$13,685 $12,165 
Intangible Asset Acquisition
In March 2018, and as amended in December 2020, the Company entered into an agreement with a vendor to develop a certain software product and related enhancements pursuant to which the Company is obligated to make revenue-share payments under the program, subject to aggregate fixed revenue-share payments of $15.8 million. The payments are based on a revenue-share rate applied to revenue from the developed-product and the corresponding hardware sales through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. The Company had its first sale in August 2019, and as a result, the Company capitalized an intangible asset with a value of $13.2 million in the third quarter of 2019 and also recognized a liability of $13.2 million (a non-cash investing activity). The intangible asset has an estimated five-year useful life and is being amortized using the greater of the ratio of current gross revenue for the products to the total of current and anticipated future gross revenue for the products or the straight-line method. As of December 31, 2021, the liability, including accrued interest, was $13.2 million of which $4.7 million is included in “Accrued liabilities” and $8.5 million in “Other long-term liabilities” in the accompanying Consolidated Balance Sheet. As of December 31, 2020, the liability, including accrued interest, was $13.9 million of which $2.9 million was included in accrued liabilities and $11.0 million in other long-term liabilities.
Capitalized Cloud Implementation Costs
In January 2020, the Company went live with its cloud-based enterprise resource planning (“ERP”) system. As a result, the Company capitalized $7.5 million of implementation costs in both “Prepaid expenses and other current assets” and “Other long-term assets” in the Company's Consolidated Balance Sheet. This amount is being amortized over a period of 29 months, representing the remaining contractual term. The amortization expense for the years ended December 31, 2021 and 2020 was $3.1 million.
Accrued liabilities consisted of the following (in thousands):
December 31,
20212020
Compensation and related benefits$23,165 $23,740 
Component inventory held by suppliers7,611 3,992 
Current portion of warranty and retrofit7,076 9,208 
Professional and consulting fees4,819 4,497 
Customer advances or rebates4,742 8,374 
Current portion of revenue-share payments4,731 2,925 
Taxes payable4,251 3,476 
Freight3,997 1,955 
Operating leases3,596 2,994 
Product returns1,836 1,888 
Operations1,400 950 
Other4,373 4,737 
$71,597 $68,736 
Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):
 Years Ended December 31,
202120202019
Balance at beginning of year$9,208 $7,294 $8,547 
Provision for warranty and retrofit charged to cost of revenue3,370 5,888 4,425 
Utilization of reserve(2,984)(3,974)(5,678)
Balance at end of year$9,594 $9,208 $7,294 
Accrued Restructuring Charges
Responding to trends caused by the COVID-19 pandemic, the Company initiated a restructuring plan in June 2020 to accelerate the Company’s All-Platform future and to align with a work-from-anywhere culture. The Company incurred restructuring charges of approximately $6.3 million, consisting of facilities-related charges and severance and other termination related benefits for the year ended December 31, 2020.
In the fourth quarter of 2021, as a result of subleasing the abandoned portion of the Company’s San Jose headquarters, the Company reversed $0.8 million in facilities-related charges due to the expected recovery of accrued common areas maintenance fees.
The following table summarizes the activities pursuant to the above restructuring plan (in thousands):
FacilitiesSeverance and Related BenefitsTotal
Restructuring charges$5,112 $1,174 $6,286 
Asset write-down(3,748)— (3,748)
Cash payments(120)(1,042)(1,162)
Balance as of December 31, 2020$1,244 $132 $1,376 
Restructuring benefit(786)— (786)
Cash payments(277)(132)(409)
Balance as of December 31, 2021$181 $— $181 
XML 24 R12.htm IDEA: XBRL DOCUMENT v3.22.0.1
Credit Agreements
12 Months Ended
Dec. 31, 2021
Line of Credit Facility [Abstract]  
Credit Agreements Credit Agreements
Line of Credit
In January 2022, the Company terminated the loan and security agreement with Bank of America, N.A. (“BofA Loan Agreement”). The BofA Loan Agreement provided for a revolving facility up to a principal amount of $35.0 million and would have expired in January 2023. As of December 31, 2021, the Company had no outstanding borrowings.
Financing Arrangements
During 2018, the Company entered into financing arrangements to purchase lab and test equipment for approximately $5.1 million, which were non-cash investing activities. In the fourth quarter of 2020, the Company paid $1.4 million to settle the remainder of the balance. The weighted average interest rate was 6.2%.
The Company entered into financing arrangements for consulting services of $2.0 million in 2019 and $1.8 million in 2018 in connection with the Company’s ERP implementation, which were non-cash investing activities. In the fourth quarter of 2020, the Company paid $1.4 million to settle the remainder of the balance. The weighted average interest rate was 6.3%.
XML 25 R13.htm IDEA: XBRL DOCUMENT v3.22.0.1
Commitments and Contingencies
12 Months Ended
Dec. 31, 2021
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Lease Commitments
The Company leases office space under non-cancelable operating leases. Certain of the Company’s operating leases contain renewal options and rent acceleration clauses. Future minimum payments under the non-cancelable operating leases consisted of the following as of December 31, 2021 (in thousands):
Year Ending December 31, Future Minimum Lease Payments
2022$4,473 
20234,600 
20244,430 
20253,971 
2026560 
Total future minimum lease payments18,034 
Less imputed interest(2,062)
$15,972 
As of December 31, 2021, the operating lease liability consisted of the following (in thousands):
Accrued liabilities - current portion of operating leases$3,596 
Operating leases12,376 
$15,972 
The Company leases its headquarters office space in San Jose, California under a lease agreement that expires in December 2025. The future minimum lease payments under the lease are $9.6 million and are included in the table for the year ended December 31, 2021 above.
In October 2021, the Company entered into a lease for a facility in Bangalore, India. The lease commenced in October 2021 for a term of 60 months. The future minimum lease payments of $2.2 million are included in the table for the year ended December 31, 2021 above. The Company recorded a right-of-use operating lease asset and operating lease liability of $2.0 million in the fourth quarter of 2021.
The above tables also include future minimum lease payments for the Company's office facilities in Petaluma, California; Plymouth, Minnesota; Richardson, Texas; Nanjing, China; and West Jordan, Utah, which expire at various dates through 2027.
In November 2021, the Company entered into a sublease for a portion of the San Jose headquarters office space that was previously abandoned. The sublease commences in August 2022 for a term of 39 months. Future minimum payments consisted of the following as of December 31, 2021 (in thousands):
Year Ending December 31, Future Minimum Sublease Payments
2022$308 
2023750 
2024773 
2025661 
Total future minimum sublease payments$2,492 
The weighted average discount rate for the Company’s operating leases as of December 31, 2021 was 6.1%. The weighted average remaining lease term as of December 31, 2021 was 3.9 years.
For the years ended December 31, 2021, 2020 and 2019, total rent expense of the Company was $4.1 million, $4.0 million and $4.7 million, respectively. Cash paid within operating cash flows for operating leases was $3.9 million for year ended December 31, 2021.
Purchase Commitments
The Company’s CMs and ODMs place orders for certain component inventory in advance based upon the Company’s build forecasts in order to reduce manufacturing lead times and ensure adequate component supply. The components are used by the CMs and ODMs to build the products included in the build forecasts. The Company generally does not take ownership of the components held by CMs and ODMs. The Company places purchase orders with its CMs and ODMs in order to fulfill its monthly finished product inventory requirements. The Company incurs a liability when the CMs and ODMs convert the
component inventory to a finished product and takes ownership of the finished goods inventory. In the event of termination of services with a manufacturing partner, the Company has purchased, and may be required to purchase in the future, certain of the remaining components inventory held by the CM or ODM as well as any outstanding orders pursuant to the contractual provisions with such CM or ODM. As of December 31, 2021 and 2020, the Company had approximately $247.3 million and $123.7 million, respectively, of outstanding purchase commitments for inventories to be delivered by its suppliers, including CMs and ODMs, within one to two years.
The Company has from time to time, and subject to certain conditions, reimbursed certain suppliers for component inventory purchases when this inventory has been rendered excess or obsolete, for example due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of products by its suppliers, or in cases where the Company has committed inventory levels that greatly exceed projected demand. The estimated excess and obsolete inventory liabilities related to such manufacturing and engineering change orders and other factors, which are included in accrued liabilities in the accompanying Consolidated Balance Sheets, were $7.6 million and $4.0 million as of December 31, 2021 and 2020, respectively. The Company records the related charges in cost of systems revenue in its Consolidated Statements of Comprehensive Income (Loss).
Litigation
From time to time, the Company is involved in various legal proceedings arising from the normal course of business activities. The Company is not currently a party to any legal proceedings that, if determined adversely to the Company, in management’s opinion, are currently expected to individually or in the aggregate have a material adverse effect on the Company’s business, operating results or financial condition taken as a whole.
Indemnifications
The Company from time to time enters into contracts that require it to indemnify various parties against claims from third parties. These contracts primarily relate to (i) certain real estate leases, under which the Company may be required to indemnify property owners for environmental and other liabilities, and other claims arising from the Company’s use of the applicable premises, (ii) agreements with the Company’s officers, directors and certain employees, under which the Company may be required to indemnify such persons for liabilities arising out of their relationship with the Company, (iii) contracts under which the Company may be required to indemnify customers against third-party claims that a Company product infringes a patent, copyright or other intellectual property right and (iv) agreements under which the Company may be required to indemnify the counterparty for certain claims that may be brought against them arising from the Company’s acts or omissions with respect to the transactions contemplated by such agreements.
Because any potential obligation associated with these types of contractual provisions are not quantified or stated, the overall maximum amount of the obligation cannot be reasonably estimated. Historically, the Company has not been required to make payments under these obligations, and no liabilities have been recorded for these obligations in the accompanying Consolidated Balance Sheets.
XML 26 R14.htm IDEA: XBRL DOCUMENT v3.22.0.1
Stockholders' Equity
12 Months Ended
Dec. 31, 2021
Stockholders' Equity Note [Abstract]  
Stockholders' Equity Stockholders’ Equity
Preferred Stock
The Board of Directors has the authority, without a further vote of the stockholders, to designate and issue up to 5.0 million shares of preferred stock in one or more series and to fix the rights, preferences, privileges and restrictions thereof. These rights, preferences and privileges could include dividend rights, conversion rights, voting rights, terms of redemption, liquidation preferences, sinking fund terms and the number of shares constituting any series or the designation of such series, any or all of which may be greater than the rights of common stock. The issuance of the Company’s preferred stock could adversely affect the voting power of holders of common stock and the likelihood that such holders will receive dividend payments and payments upon liquidation. In addition, the issuance of preferred stock could have the effect of delaying, deferring or preventing a change in control of the Company or other corporate action. Since the Company’s initial public offering, the Board of Directors has not designated any rights, preference or powers of any preferred stock, and no shares of preferred stock have been issued.
Common Stock
Holders of the Company’s common stock are entitled to receive dividends, if any, as may be declared from time to time by the Board of Directors out of legally available funds. No dividends have been declared or paid as of December 31, 2021. In the event of the Company’s liquidation, dissolution or winding up, holders of the Company’s common stock will be entitled to share ratably in the net assets legally available for distribution to stockholders after the payment of all of the Company’s debts and other liabilities and the satisfaction of any liquidation preference granted to the holders of any then outstanding shares of preferred stock.
In August 2020, the Company completed an underwritten public offering of 3,220,000 shares of its common stock at $20.00 per share, including a full exercise by the underwriters of their option to purchase an additional 420,000 shares of Common Stock, resulting in net proceeds of $60.1 million, after deducting the underwriting discount and expenses paid by the Company.
Treasury Stock Retirement
In August 2020, the Company’s Board of Directors authorized the retirement of the 5,329,817 shares of common stock held as treasury stock. Under Delaware law these shares return to the authorized but unissued common stock pool. As a result, the Company eliminated the $40.0 million treasury stock balance, offsetting this against common stock by $0.1 million and additional paid-in capital by $39.9 million.
Equity Incentive Plans
2019 Equity Incentive Award Plan
At the Company’s 2019 annual meeting of stockholders, the stockholders approved the 2019 Equity Incentive Award Plan (the “2019 Plan”). The 2019 Plan supersedes and replaces the 2010 Equity Incentive Award Plan (the “2010 Plan”) and preceding plans. No further awards will be granted under the 2010 Plan following the effectiveness of the 2019 Plan; however, the terms and conditions of the 2010 Plan will continue to govern any outstanding awards granted under the 2010 Plan.
Employees and consultants of the Company, its subsidiaries and affiliates, as well as members of the Company’s Board of Directors, are eligible to receive awards under the 2019 Plan. The 2019 Plan provides for the grant of stock options, stock appreciation rights, restricted stock, RSUs or other stock or cash-based awards and dividend equivalents to eligible individuals.
The number of shares available for issuance under the 2019 Plan included an initial reserve of 1.7 million shares of common stock, any shares of common stock that are available for issuance under the 2010 Plan as of the effective date of the 2019 Plan and any shares of common stock subject to issued and outstanding awards under the 2010 Plan that expire, are cancelled or otherwise terminate following the effective date of the 2019 Plan. At the Company’s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the 2019 Plan by 3.8 million shares. As of December 31, 2021, there were 6.8 million shares available for issuance under the 2019 Plan.
Stock options granted under the 2019 Plan are granted at a price not less than 100% of the fair market value of the common stock on the date of grant. Stock options issued under the 2019 Plan generally vest 25% on the first anniversary of the vesting commencement date and on a quarterly basis thereafter for a period of an additional three years. The options have a maximum term of ten years.
In February 2020, PSOs exercisable for up to an aggregate of 0.8 million shares of common stock were granted to certain Company executives with a grant date fair value of $9.16 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net income for 2020 (collectively, the “2020 Performance Targets”) during the one-year performance period. Under the 2020 Performance Targets, if non-GAAP net income is below 80% of target or bookings are below 90% of target, no shares are awarded. From this base, shares are awarded on a 50% weighting for both non-GAAP net income and bookings up to 100% for each 2020 Performance Target using a sliding scale. In February 2021, the Compensation Committee of the Company’s Board of Directors certified the full achievement of the 2020 Performance Targets subject to the four-year services condition. As such, 25% of the shares of the PSOs were vested on that date, and the remaining 75% of the shares of common stock will vest substantially equal quarterly installments over the subsequent 36 months, subject to the executive’s continuous service with the Company through the respective vesting dates. Stock-based compensation expense of $0.8 million and $1.6 million was recognized for the years ended December 31, 2021 and 2020, respectively, related to these awards.
In February 2021, PSOs exercisable for up to an aggregate of 0.7 million shares of common stock were granted to certain Company executives with a grant date exercise price of $36.74 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net income for 2021 (collectively, the “2021 Performance Targets”) during the one-year performance period. Under the 2021 Performance Targets, if the non-GAAP net income is below 80% of target or bookings are below 90% of target, no shares would be awarded. From this base, shares are awarded on a 50% weighting for both non-GAAP net income and bookings up to 100% for each 2021 Performance Target using a sliding scale. In February 2022, the Compensation Committee of the Company’s Board of Directors certified the results against the 2021 Performance Targets and awarded 97% of PSOs subject to the four-year services condition. As such, 25% of the awarded shares of the PSOs were vested on that date, and the remaining 75% of the shares of common stock will vest substantially equal quarterly installments over the subsequent 36 months, subject to the executive’s continuous service with the Company through the respective vesting dates. Stock-based compensation expense of $6.3 million was recognized for the year ended December 31, 2021 related to these awards.
Stock Options
The following table summarizes the activity of stock options under the Company’s equity incentive plans (in thousands, except per share data):
Weighted-
Average
Weighted-Remaining
AverageContractualAggregate
Number ofExercise PriceLifeIntrinsic
Stock OptionsSharesPer Share(in years)
   Value (1)
Outstanding as of December 31, 20206,801 $9.76 
Granted1,578 42.89 
Exercised(1,450)7.70 
Canceled(281)24.18 
Outstanding as of December 31, 20216,648 $17.46 7.34$415,597 
Vested and expected to vest as of December 31, 20216,484 $17.13 7.31$407,477 
Options exercisable as of December 31, 20213,191 $8.61 5.91$227,689 
                                                                                  
(1) Amounts represent the difference between the exercise price and the fair market value of common stock at December 31, 2021 of $79.97 per share for all “in-the-money” options outstanding.
During the years ended December 31, 2021, 2020 and 2019, total intrinsic value of stock options exercised was $59.6 million, $6.7 million and $0.2 million, respectively. Total cash received from employees as a result of stock option exercises in 2021, 2020 and 2019 was $11.2 million, $0.9 million and $0.4 million, respectively.
Employee Stock Purchase Plans
The ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 15% of their eligible compensation subject to certain Internal Revenue Code limitations. In addition, no participant may purchase more than 2,000 shares of common stock in each offering period.
The offering periods under the ESPP are two six-month offering periods from August 15th through February 14th and February 15th through August 14th of each year. The price of common stock purchased under the ESPP is 85% of the lower of the fair market value of the common stock on the commencement date and the end date of each six-month offering period. At the Company’s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the ESPP by 1.3 million shares. The total shares authorized for issuance under the ESPP increased from 9.8 million shares to 11.1 million shares. As of December 31, 2021, there were 3.6 million shares available for issuance under the ESPP. During the year ended December 31, 2021, 0.3 million shares were purchased under the ESPP. As of December 31, 2021, unrecognized stock-based compensation expense of $0.3 million related to the ESPP is expected to be recognized over a remaining service period of 0.1 years.
The NQ ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 25% of their eligible compensation. Eligible employees have the right to (a) purchase the maximum number of whole shares of common stock that can be purchased with the elected payroll deductions during each offering period for which the employee is enrolled at a purchase price equal to the closing price of the Company’s common stock on the last day of such offering period and (b) receive an equal number of shares of the Company’s common stock that are subject to a risk of forfeiture in the event the employee terminates employment within the one year period immediately following the purchase date. The NQ ESPP provides two six-month offering periods from November 15th through May 14th and May 15th through November 14th of each year. At the Company’s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the NQ ESPP by 0.8 million shares. The maximum number of shares of common stock currently authorized for issuance under the NQ ESPP is 5.5 million shares, with a maximum of 0.5 million shares allocated per purchase period. As of December 31, 2021, there were 2.8 million shares available for issuance under the NQ ESPP, including the stockholder-approved 0.8 million share increase. During the year ended December 31, 2021, 0.3 million shares were purchased and issued. As of December 31, 2021, unrecognized stock-based compensation expense of $8.0 million related to the NQ ESPP is expected to be recognized over a remaining weighted-average service period of 1.1 years.
Stock-Based Compensation
The following table summarizes stock-based compensation expense (in thousands):
 Years Ended December 31,
202120202019
Cost of revenue:
Products$790 $575 $507 
Services668 450 389 
Sales and marketing6,728 4,273 3,415 
Research and development6,769 4,736 3,913 
General and administrative9,275 3,926 2,957 
$24,230 $13,960 $11,181 
The following table summarizes the weighted-average grant date fair values of the Company’s stock-based awards granted in the periods indicated:
Years Ended December 31,
202120202019
Stock options$26.55 $8.55 $3.66 
RSUs$— $11.22 $6.62 
ESPP$12.93 $5.52 $2.04 
NQ ESPP$55.50 $19.40 $7.24 
The Company values employee stock purchase rights under the NQ ESPP at the closing market price of the Company’s common stock on the date of grant.
The Company estimates the fair value of stock options and employee stock purchase right under the ESPP at the grant date using the Black-Scholes option-pricing model. This model requires the use of the following assumptions:
(i)Expected volatility of the Company’s common stock – The Company computes its expected volatility assumption based on a blended volatility (50% historical volatility and 50% implied volatility from traded options on the Company’s common stock). The selection of a blended volatility assumption was based upon the Company’s assessment that a blended volatility is more representative of the Company’s future stock price trend as it weighs the historical volatility with the future implied volatility.
(ii)Expected life of the option award – Represents the weighted-average period that the stock options are expected to remain outstanding. The Company’s computation of expected life utilizes the simplified method in accordance with Staff Accounting Bulletin No. 110 due to the lack of sufficient historical exercise data to provide a reasonable basis upon which to estimate expected term. The mid-point between the vesting date and the expiration date is used as the expected term under this method.
(iii)Expected dividend yield – Assumption is based on the Company’s history of not paying dividends and no future expectations of dividend payouts.
(iv)Risk-free interest rate – Based on the U.S. Treasury yield curve in effect at the time of grant with maturities approximating the grant’s expected life.
The following table summarizes the weighted-average assumptions used in estimating the grant-date fair value of stock options and of each employee’s purchase right under the ESPP in the periods indicated:
Years Ended December 31,
Stock Options202120202019
Expected volatility56 %53 %47 %
Expected life (years)6.046.116.11
Expected dividend yield— — — 
Risk-free interest rate1.11 %0.48 %1.67 %
Years Ended December 31,
ESPP202120202019
Expected volatility63 %70 %48 %
Expected life (years)0.490.390.49
Expected dividend yield— — — 
Risk-free interest rate0.05 %0.12 %2.03 %
In addition, the Company applies an estimated forfeiture rate to awards granted and records stock-based compensation expense only for those awards that are expected to vest. Forfeiture rates are estimated at the time of grant based on the Company’s historical experience. Further, to the extent the Company’s actual forfeiture rate is different from management’s estimate, stock-based compensation is adjusted accordingly.
As of December 31, 2021, unrecognized stock-based compensation expense by award type, net of estimated forfeitures, and their expected weighted-average recognition periods are summarized in the following table (in thousands).
Stock OptionESPPs
Unrecognized stock-based compensation expense$31,512 $8,355 
Weighted-average amortization period (in years)2.11.1
The Company expects to recognize stock-based compensation expense of $19.6 million in 2022, $10.9 million in 2023, $6.8 million in 2024 and $2.6 million in 2025.
Shares Reserved for Future Issuance
As of December 31, 2021, the Company had common shares reserved for future issuance as follows (in thousands):
Stock options outstanding6,648 
Shares available for future grant under 2019 Plan6,846 
Shares available for future issuance under ESPP3,589 
Shares available for future issuance under NQ ESPP2,802 
19,885 
XML 27 R15.htm IDEA: XBRL DOCUMENT v3.22.0.1
Employee Benefit Plan
12 Months Ended
Dec. 31, 2021
Retirement Benefits [Abstract]  
Employee Benefit Plan Employee Benefit PlanThe Company sponsors a 401(k) tax-deferred savings plan for all employees who meet certain eligibility requirements. Participants may contribute, on a pre-tax basis, a percentage of their annual compensation, but not to exceed a maximum contribution amount pursuant to Section 401(k) of the Internal Revenue Code. The Company, at the discretion of the Board of Directors, may make additional matching contributions on behalf of the participants. The Company made matching contributions totaling $3.2 million, $2.7 million and $2.5 million in 2021, 2020 and 2019, respectively.
XML 28 R16.htm IDEA: XBRL DOCUMENT v3.22.0.1
Accumulated Other Comprehensive Loss
12 Months Ended
Dec. 31, 2021
Equity [Abstract]  
Accumulated Other Comprehensive Loss Accumulated Other Comprehensive Loss
The table below summarizes the changes in accumulated other comprehensive loss by component:
`Unrealized Gains and Losses on Available-for-Sale Marketable SecuritiesForeign Currency Translation AdjustmentsTotal
Balance as of December 31, 2019$— $(854)$(854)
Other comprehensive income— 663 663 
Balance as of December 31, 2020— (191)(191)
Other comprehensive income (loss)(179)50 (129)
Balance as of December 31, 2021$(179)$(141)$(320)
Assets and liabilities of the Company’s wholly owned foreign subsidiaries are translated from their respective functional currencies at exchange rates in effect at the balance sheet date, and revenue and expenses are translated at the monthly average exchanges rates. These translations result in differences called foreign currency translation adjustments. Realized foreign currency transaction gains or losses were not significant during the years ended December 31, 2021, 2020 and 2019 and are recorded in “Other income (expense), net” in the Company's Consolidated Statements of Comprehensive Income (Loss).
XML 29 R17.htm IDEA: XBRL DOCUMENT v3.22.0.1
Income Taxes
12 Months Ended
Dec. 31, 2021
Income Tax Disclosure [Abstract]  
Income Taxes Income Taxes The domestic and foreign components of income (loss) before incomes taxes were as follows (in thousands):
Years Ended December 31,
2021 2020 2019
Domestic$70,776 $33,777 $(17,935)
Foreign1,878 507 1,403 
$72,654 $34,284 $(16,532)

Income taxes consisted of the following (in thousands):
Years Ended December 31,
2021 2020 2019
Current:
State$2,818 $285 $313 
Foreign438 507 835 
Current income tax3,256 792 1,148 
Deferred:
Federal(157,355)— — 
State(11,631)— — 
Foreign14 
Deferred income tax(168,980)14 
$(165,724)$800 $1,162 
The differences between the statutory and effective tax rates, expressed as a percentage of net income (loss) before income taxes, were as follows:
Years Ended December 31,
2021 2020 2019
Federal statutory rate21.0 %21.0 %21.0 %
Impact of state taxes(15.6)0.1 5.6 
Foreign operations(0.2)0.6 (2.8)
R&D tax credits1.4 (4.8)6.2 
Foreign income inclusion— — (1.3)
Stock-based compensation(12.8)(4.1)(5.1)
Other permanent items(0.3)0.6 (2.0)
Tax true-up(0.2)(0.4)(11.8)
Valuation allowance(208.3)(48.1)(16.8)
Net operating loss expiration(13.1)37.4 — 
(228.1)%2.3 %(7.0)%
The significant components of the Company’s deferred tax assets were as follows (in thousands):
December 31,
2021 2020
Deferred tax assets (liabilities):
Net operating loss carryforwards$82,672 $114,973 
Tax credit carryforwards52,538 49,978 
Depreciation and amortization(1,511)681 
Accruals and reserves10,302 10,753 
Deferred revenue11,351 9,219 
Stock-based compensation4,921 4,821 
Intangible assets37,692 (568)
Other233 (18)
Gross deferred tax assets198,198 189,839 
Valuation allowance(29,236)(189,858)
$168,962 $(19)

All deferred taxes, along with any related valuation allowance, are classified in the Consolidated Balance Sheet as long-term.
A valuation allowance is required when, based upon an assessment of various factors, including recent operating loss history, anticipated future earnings, and prudent and reasonable tax planning strategies, it is more likely than not that some portion of the deferred tax assets will not be realized. At each reporting period, the Company assesses the estimated future realizability of the gross carrying value of its deferred tax assets. The Company’s periodic assessments take into consideration both positive evidence (future profitability projections for example and recent financial performance) and negative evidence (historical financial performance for example) as it relates to evaluating the future recoverability of its deferred tax assets. During 2021, the Company recognized an income tax benefit of $165.7 million, based on management’s reassessment of the amount of its U.S. federal and other state deferred tax assets that are more likely than not to be realized, primarily as a result of actual and projected increases in U.S. profitability in the current and future periods. In performing its analysis, the Company used the most updated plans and estimates that it currently uses to manage the underlying business and calculated the ability to utilize its deferred tax assets. The Company continues to maintain a valuation allowance of $29.2 million on certain U.S. federal and state deferred tax assets that the Company believes are not more likely than not to be realized in future periods.
As of December 31, 2021, the Company had U.S. federal and state net operating losses of approximately $388.2 million and $52.3 million, respectively. The U.S. federal net operating loss carryforwards have begun to expire and will continue to expire at various dates through 2039 if not utilized. The state net operating loss carryforwards have begun to expire and will continue to expire at various dates through 2039 if not utilized. Additionally, the Company has U.S. federal, California and other U.S. states research and development credits of approximately $37.1 million, $42.1 million and $3.0 million as of December 31, 2021, respectively. The U.S. federal research and development credits have begun to expire in 2021, and the California research and development credits have no expiration date. The credits related to other various U.S. states have begun to expire and will continue to expire at various dates through 2036.
Uncertain Tax Positions
ASC 740, “Income Taxes,” prescribes a recognition threshold and measurement attribute to the financial statement recognition and measurement of a tax position taken or expected to be taken in a tax return. The guidance also provides guidance on derecognition, classification, accounting in interim periods and disclosure requirements for uncertain tax positions. The standard requires the Company to recognize the financial statement effects of an uncertain tax position when it is more likely than not that such position will be sustained upon audit. The Company recognizes accrued interest and penalties related to unrecognized tax benefits as interest expense and income tax expense, respectively, in its Consolidated Statements of Comprehensive Income (Loss).
The following table reconciles the Company’s unrecognized tax benefits (in thousands):
Years Ended December 31,
2021 2020
Balance at beginning of year$23,516 $22,264 
    Reduction for tax positions related to prior year(1,427)(163)
    Additions for tax positions related to prior year1,947 — 
    Additions for tax positions related to current year1,956 1,415 
Balance at end of year$25,992 $23,516 

As of December 31, 2021 and 2020, the Company had unrecognized tax benefits of $26.0 million and $23.5 million, respectively, $13.7 million of which would affect the Company’s effective tax rate if recognized. There were no accrued interest or penalties for uncertain income tax as of December 31, 2021.
The Company files tax returns in the United States and various state jurisdictions, the United Kingdom, China and Brazil. The tax years 2000 through 2021 remain open and subject to examination by the appropriate governmental agencies due to tax attribute carryforwards.
XML 30 R18.htm IDEA: XBRL DOCUMENT v3.22.0.1
Net Income (Loss) Per Common Share
12 Months Ended
Dec. 31, 2021
Earnings Per Share [Abstract]  
Net Income (Loss) Per Common Share Net Income (Loss) Per Common Share
The following table sets forth the computation of basic and diluted net income (loss) per common share for the periods indicated (in thousands, except per share data):
 Years Ended December 31,
2021 2020 2019
Numerator:
Net income (loss)$238,378 $33,484 $(17,694)
Denominator:
Weighted-average common shares — basic63,277 59,074 54,993 
Effect of dilutive potential common shares4,579 2,924 — 
Weighted-average common shares — diluted67,856 61,998 54,993 
Basic net income (loss) per common share$3.77 $0.57 $(0.32)
Diluted net income (loss) per common share$3.51 $0.54 $(0.32)
Potentially dilutive shares excluded, weighted-average1,006 753 6,607 
Unvested restricted stock awards are included in the calculation of basic weighted-average shares because such shares are participating securities; however, the impact was immaterial.
Potentially dilutive shares have been excluded from the computation of diluted net income (loss) per common share when their effect is antidilutive. These antidilutive shares were primarily from stock options and RSUs. For each of the periods presented where the Company reported a net loss, the effect of all potentially dilutive securities would be antidilutive, and as a result diluted net loss per common share is the same as basic net loss per common share.
XML 31 R19.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue from Contracts with Customers
12 Months Ended
Dec. 31, 2021
Revenue from Contract with Customer [Abstract]  
Revenue from Contracts with Customers Revenue from Contracts with Customers
The Company develops, markets and sells communications access systems and software, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is considered to be in a single reporting segment and operating unit structure. The Company’s chief operating decision maker is the Company’s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance.
Geographic Information:
The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):
Years Ended December 31,
202120202019
United States$565,964 $473,779 $365,701 
Europe45,879 22,925 11,464 
Americas excluding U.S.45,719 27,802 24,821 
Middle East & Africa19,018 14,075 18,617 
Asia Pacific2,814 2,658 3,727 
$679,394 $541,239 $424,330 
The Company’s property and equipment, net of accumulated depreciation, are located in the following geographical areas (in thousands):
December 31,
2021 2020
United States$19,900 $19,383 
China1,840 998 
India43 — 
$21,783 $20,381 
Contract Asset
The primary contract asset is revenue recognized on professional services contracts where the services are transferred to the customer over time, which has yet to be billed, and is classified within accounts receivable. Amounts are billed in accordance with the agreed-upon contractual terms. The balance as of December 31, 2021 was $1.7 million of which the Company expects to bill 91% of the balance during 2022. The balance as of December 31, 2020 was $2.3 million of which $0.2 million remained in the Company's Consolidated Balance Sheet at December 31, 2021. The decrease in the contract asset was driven by billings for past services as well as the timing and volume of professional services contracts.
Contract Liability
Deferred revenue consisted of the following (in thousands):
December 31,
20212020
Current:
Products and services$22,586 $14,651 
Extended warranty4,892 4,538 
27,478 19,189 
Long-term:
Products and services3,137 1,879 
Extended warranty18,879 18,025 
22,016 19,904 
$49,494 $39,093 
The increase in the deferred revenue balance for the year ended December 31, 2021 is primarily driven by cash payments received or due in advance of satisfying the Company's performance obligations, offset by $19.2 million of revenue recognized that was included in the deferred revenue balance at the beginning of the year.
Revenue allocated to remaining performance obligations represent contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. This amount was $125.3 million as of December 31, 2021, and the Company expects to recognize 34% of such revenue over the next 12 months and the remainder thereafter.
Contract Costs
The Company capitalizes certain sales commissions related primarily to multi-year subscriptions and extended warranty support for which the expected amortization period is greater than one year. As of December 31, 2021, the unamortized balance of deferred commissions was $7.4 million. For the year ended December 31, 2021 the amount of amortization was $1.4 million, and there was no impairment loss in relation to the costs capitalized.
Concentration of Customer Risk
No customer accounted for more than 10% of the Company’s total revenue for the year ended December 31, 2021. Lumen Technologies, Inc. (formerly CenturyLink, Inc.), the Company’s only greater-than-10%-of-revenue customer, represented 11% and 15% of total revenue for the years ended December 31, 2020 and 2019, respectively.
One customer represented 12% of the Company’s accounts receivable as of December 31, 2021. No customer represented more than 10% of the Company’s accounts receivable as of December 31, 2020.
XML 32 R20.htm IDEA: XBRL DOCUMENT v3.22.0.1
Description of Business and Significant Accounting Policies (Policies)
12 Months Ended
Dec. 31, 2021
Accounting Policies [Abstract]  
Basis of Presentation and Accounting Guidance
Basis of Presentation and Accounting Guidance
The accompanying consolidated financial statements have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) and U.S. generally accepted accounting principles (“GAAP”). All significant intercompany balances and transactions have been eliminated in consolidation. Any reference in these notes to applicable accounting guidance is meant to refer to the authoritative U.S. GAAP as found in the Financial Accounting Standards Board (“FASB”) Accounting Standards Codification (“ASC”).
Use of Estimates
Use of Estimates
The preparation of financial statements is in conformity with U.S. GAAP, which requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. For the Company, these estimates include, but are not limited to: allowances for doubtful accounts and sales returns, excess and obsolete inventory, allowances for obligations to its contract manufacturers, valuation of stock-based compensation, useful lives assigned to long-lived assets, standard and extended warranty costs, realizability of deferred tax assets and uncertain tax positions and contingencies. Actual results could differ from those estimates, and such differences could be material to the Company’s financial position and results of operations.
Revenue Recognition
Revenue Recognition
The Company derives revenue from contracts with customers primarily from the following and categorizes its revenue as follows:
Systems include revenue from the sale of access and premises systems, software platform licenses and cloud-based software subscriptions.
Services include revenue from customer support, software- and cloud-based maintenance, extended warranty subscriptions, professional services, training and managed services.
Revenue is recognized when a performance obligation is satisfied, which occurs when control of the promised goods or services is transferred to the customer, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those goods or services. Revenue from sales of access and premises systems is recognized when control is transferred to the customer, which is generally when the products are shipped. Revenue from software platform licenses, which provides the customer with a right to use the software as it exists, is generally recognized upfront when made available to the customer. Revenue from cloud-based software subscriptions, customer support, maintenance, extended warranty subscriptions and managed services is generally recognized ratably over the contract term. Revenue from professional services and training is recognized as the services are delivered.
A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The Company’s hardware products contain both software and non-software components that function together to deliver the products’ essential functionality and therefore constitutes a single performance obligation as the promise to transfer the individual software and non-software components is not separately identifiable and, therefore, not distinct. The Company’s contracts may include multiple performance obligations. For such arrangements, the Company allocates the contract’s transaction price to each performance obligation using the relative stand-alone selling price of each distinct good or service in the contract. The Company generally determines stand-alone selling prices based on the prices charged to customers or its best estimate of stand-alone selling price. The Company’s estimate of stand-alone selling price is established considering multiple factors including, but not limited to, geographies, market conditions, competitive landscape, internal costs, gross margin objectives, characteristics of targeted customers and pricing practices. The determination of estimated stand-alone selling price is made through consultation with and formal approval by management, taking into consideration the go-to-market strategy.
Deferred Revenue
Deferred revenue results from transactions where the Company billed the customer for products or services and when cash payments are received or due prior to transferring control of the promised goods or services to the customer.
Payment terms to customers typically range from net 30 to net 90 days and vary by the size and location of customer and the products or services offered. The period between the transfer of control of the promised good or service to a customer and when payment is due is not significant.
Cost of Revenue
Cost of Revenue
Cost of revenue consists primarily of finished goods inventory purchased from the Company’s contract manufacturers, payroll and related expenses associated with managing the relationships with contract manufacturers, depreciation of manufacturing test equipment, warranty and retrofit costs, excess and obsolete inventory costs, allowances for obligations to its contract manufacturers, shipping charges and amortization of certain intangible assets. It also includes contractor and other costs of services incurred directly related to the delivery of services to customers.
Warranty and Retrofit
Warranty and Retrofit
The Company offers limited warranties for its hardware products for a period of one, three or five years, depending on the product type. The Company recognizes estimated costs related to warranty activities as a component of cost of revenue upon product shipment or upon identification of a specific product failure. Under certain circumstances, the Company also provides fixes on specifically identified performance failures for products that are outside of the standard warranty period and recognizes estimated costs related to retrofit activities as a component of cost of revenue upon identification of such product failures. The Company recognizes estimated warranty and retrofit costs when it is probable that a liability has been incurred and the amount of loss is reasonably estimable. The estimates are based upon historical and projected product failure and claim rates, historical costs incurred in correcting product failures and information available related to any specifically identified product failures. Judgment is required in estimating costs associated with warranty and retrofit activities, and the Company's estimates are limited to information available to the Company at the time of such estimates. In some cases, such as when a specific product failure is first identified or a new product is introduced, the Company may initially have limited information and limited historical failure and claim rates upon which to base its estimates, and such estimates may require revision in future periods. The recorded amount is adjusted from time to time for specifically identified warranty and retrofit exposure. Actual warranty and retrofit expenses are charged against the Company’s estimated warranty and retrofit liability when incurred. Factors that affect the Company’s warranty and retrofit liability include the number of active installed units and historical and anticipated rates of warranty and retrofit claims and cost per claim.
Stock-Based Compensation
Stock-Based Compensation
Stock-based compensation expense associated with stock options, performance stock options (“PSOs”), restricted stock units (“RSUs”) and purchase rights under the Amended and Restated Employee Stock Purchase Plan (the “ESPP”) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the “NQ ESPP”) is measured at the grant date based on the fair value of the award, and is recognized, net of forfeitures, as expense over the remaining requisite service period (generally the vesting period) on a straight-line basis.
The fair value of stock option and employee stock purchase right under the ESPP is estimated at the grant date using the Black-Scholes option valuation model. The fair value of RSUs and employee stock purchase right under the NQ ESPP is based on closing market price of the Company’s common stock on the date of grant.
Stock-based compensation expense associated with PSOs with graded vesting features and which contain both a performance and a service condition is measured based on fair value of stock options estimated at the grant date using the Black-Scholes option valuation model, and is recognized, net of forfeitures, as expense over the requisite service period using the graded vesting attribution method.
Compensation expense is only recognized if the Company has determined that it is probable that the performance condition will be met. The Company reassesses the probability of vesting at each reporting period and adjusts compensation expense based on its probability assessment.
Loss Contingencies
Risks and Uncertainties
The Company is subject to risks and uncertainties as a result of the COVID-19 pandemic. The extent of the impact of the COVID-19 pandemic on the Company’s business is highly uncertain and difficult to predict, particularly as variants of the coronavirus continue to spread around the world. Although the availability of vaccines has increased, there are no assurances as to when the pandemic will become endemic. In March 2020, the Company instituted office closures, travel restrictions and a work-from-anywhere policy for substantially all of its employees due to shelter-in-place mandates. In July 2021, the Company reopened its U.S. offices to fully-vaccinated employees who choose to work in the office and lifted certain travel restrictions. The COVID-19 pandemic has had a prolonged impact on the Company’s supply chain operations due to restrictions, reduced capacity and limited availability from suppliers on whom the Company relies for sourcing components and materials and from third-party partners on whom the Company relies for manufacturing, warehousing and logistics services. Although demand for the Company’s products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers’ purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy, which could in turn impact the Company’s revenue and results of operations. Furthermore, the Company’s supply chain continues to face constraints primarily due to challenges in sourcing components and materials for the Company’s products. The prolonged impact of COVID-19 could exacerbate these constraints or cause further supply chain disruptions. As of the issuance date of these condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact the Company’s financial condition, liquidity or results of operations remains uncertain.
Loss Contingencies
From time to time, the Company is involved in legal proceedings arising from the normal course of business activities. The Company evaluates the likelihood of an unfavorable outcome of legal proceedings to which it is a party and accrues a loss contingency when the loss is probable and reasonably estimable. Assessing legal contingencies involves significant judgment and estimates, and the outcome of litigation is inherently uncertain and subject to numerous factors outside the Company’s control. Significant judgment is required when the Company assesses the likelihood of any adverse judgments or outcomes, including the potential range of possible losses, and whether losses are probable and reasonably estimable.
Because of uncertainties related to these matters, the Company bases its estimates of whether a loss contingency is probable or reasonably possible, as well as the reasonable range of possible losses associated with each loss contingency, only on the information available at the time. As additional information becomes available, and at least quarterly, the Company reassesses the potential liability on each significant matter and may revise its estimates. These revisions could have a material impact on the Company’s business, operating results or financial condition. The actual outcome of these legal proceedings may materially differ from the Company’s estimates of potential liability, which could have a material adverse effect on the Company’s business, operating results or financial condition.
Credit Risk and Inventory Supplier Concentrations
Credit Risk and Inventory Supplier Concentrations
Financial instruments that potentially subject the Company to significant concentrations of credit risk consist primarily of cash, cash equivalents, marketable securities and accounts receivable. Cash equivalents consist of money market funds and marketable securities with a maturity at the date of purchase of ninety days or less, which are invested through financial institutions in the United States. Deposits in and investments held by these financial institutions may, at times, exceed federally insured limits. The Company has not experienced any losses in such accounts. The Company also has approximately $3.6 million of cash held by its foreign subsidiaries in Brazil, China and the United Kingdom. Management believes that the financial institutions that hold the Company’s cash and cash equivalents are financially sound and, accordingly, minimal credit risk exists with respect to these cash and cash equivalents.
The Company depends primarily on a small number of outside contract manufacturers (“CMs”) and original design manufacturers (“ODMs”) for the bulk of its finished goods inventory. The Company generally purchases its products through purchase orders with its suppliers. While the Company seeks to maintain a sufficient supply of its products, the Company’s business and results of operations could be adversely affected by a stoppage or delay in receiving such products, the receipt of defective parts, an increase in price of such products or the Company’s inability to obtain lower prices from its CMs, ODMs and other suppliers in response to competitive pressures.
Fair Value of Financial Instruments
Fair Value of Financial Instruments
The carrying amounts of cash and cash equivalents, trade receivables, accounts payable and other accrued liabilities approximate their fair value due to their relatively short-term nature. Marketable securities are valued using quoted market prices in active markets to determine fair value.
Cash, Cash Equivalents, and Marketable Securities
Cash, Cash Equivalents and Marketable Securities
Cash equivalents and marketable securities are stated at amounts that approximate fair value based on quoted market prices.
The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as U.S. treasury bonds, corporate debt instruments, commercial paper and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent highly liquid U.S. treasury bonds, corporate debt instruments, commercial paper and U.S. government securities with maturities greater than 90 days at date of purchase. Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.
The Company’s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of comprehensive loss in the stockholders’ equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific
identification method and are reclassified from accumulated other comprehensive loss to results of operations as “Other income (expense), net.” Realized loss was de minimis for 2021.
For the Company’s available-for-sale debt securities in an unrealized loss position, the Company determines whether a credit loss exists. In this assessment, among other factors, the Company considers the extent to which the fair value is less than the amortized cost, any changes to the rating of the security by a rating agency, and adverse conditions specifically related to the security. If factors indicate a credit loss exists, an allowance for credit loss will be recorded to “Other income (expense), net,” limited by the amount that the fair value is less than the amortized cost basis. The amount of fair value change relating to all other factors will be recognized in other comprehensive loss.
Allowance for Doubtful Accounts
Allowance for Doubtful Accounts
The Company maintains an allowance for doubtful accounts for expected credit losses at contract inception resulting from the inability of its customers to make required payments. The Company records a specific allowance and revises the expected loss based on an analysis of individual past-due balances. Additionally, based on historical write-offs and the Company’s collection experience, the Company records an additional allowance based on a percentage of outstanding receivables. The Company performs credit evaluations of its customers’ financial condition. These evaluations require judgment and are based on a variety of factors including, but not limited to, current economic trends, payment history and a financial review of the customer. Actual collection losses may differ from management’s estimates, and such differences could be material to the Company's financial position and results of operations.
Inventory Valuation and Supplier Purchase Commitments
Inventory Valuation and Supplier Purchase Commitments
Inventory, which primarily consists of finished goods purchased from CMs or ODMs, is stated at the lower of cost (determined by the first-in, first-out method) or market value. Inbound shipping costs and U.S. tariffs are included in cost of inventory. In addition, the Company, from time to time, procures component inventory primarily as a result of manufacturing discontinuation of critical components by suppliers. The Company regularly monitors inventory quantities on hand and records write-downs for excess and obsolete inventories based on the Company’s estimate of demand for its products, potential obsolescence of technology, product life cycles and whether pricing trends or forecasts indicate that the carrying value of inventory exceeds its estimated selling price. The Company also evaluates its supplier purchase commitments, which have increased significantly due to extended lead-times in the current supply chain environment, and records a liability for excess and obsolete components based on its estimated demand of our products, potential obsolescence of technology and product life cycles. These factors are impacted by market and economic conditions, technology changes and new product introductions and require significant estimates that may include elements that are uncertain. Actual demand may differ from forecasted demand and may have a material effect on gross profit. If inventory is written down, a new cost basis is established that cannot be increased in future periods. Shipments from suppliers before the Company receives them are recorded as in-transit inventory when title and the significant risks and rewards of ownership have passed to the Company.
Contract Costs
Contract Costs
The Company capitalizes certain sales commissions related primarily to multi-year cloud-based software subscriptions and extended warranty support contracts.
Capitalized commissions are amortized as sales and marketing expenses over the period that the related revenue is recognized, which can be up to five years for extended warranty. The Company classifies the unamortized portion of deferred commissions as current or noncurrent based on the timing of when the Company expects to recognize the expense. The current and noncurrent portions of deferred commissions are included in “Prepaid expenses and other current assets” and “Other assets,” respectively, in the Company’s Consolidated Balance Sheets.
Property and Equipment
Property and Equipment
Property and equipment are stated at cost, less accumulated depreciation, and are depreciated using the straight-line method over the estimated useful life of each asset. Generally, computer equipment is depreciated over two years; purchased software is depreciated over three to five years; test equipment is depreciated over three years; furniture and fixtures are depreciated over seven years; and leasehold improvements are depreciated over the shorter of the respective lease term or the estimated useful life of the asset. Maintenance and repairs are charged to expense as incurred.
Goodwill
Goodwill
Goodwill was recorded as a result of the Company’s acquisitions of Occam Networks, Inc. in February 2011 and Optical Solutions, Inc. in February 2006. The Company records goodwill when consideration paid in a business acquisition exceeds the fair value of the net tangible assets and the identified intangible assets acquired. Goodwill is not amortized but instead is subject
to an annual impairment test or more frequently if events or changes in circumstances indicate that it may be impaired. The Company evaluates goodwill on an annual basis as of the end of the second quarter of each fiscal year. Management has determined that it operates as a single reporting unit and, therefore, evaluates goodwill impairment at the enterprise level.
At the end of the second quarter of 2021, the Company completed its annual goodwill impairment test. Based on its assessment of certain qualitative factors such as market capitalization, management concluded that the fair value of the Company was more likely than not greater than its carrying amount as of June 27, 2021. As such, it was not necessary to perform the two-step quantitative goodwill impairment test at the time.
Income Taxes
Income Taxes
The Company evaluates its tax positions and estimates its current tax exposure along with assessing temporary differences that result from different book to tax treatment of items not currently deductible for tax purposes. These differences result in deferred tax assets and liabilities on the Company’s Consolidated Balance Sheets, which are estimated based upon the difference between the financial statement and tax bases of assets and liabilities using the enacted tax rates that will be in effect when these differences reverse. In general, deferred tax assets represent future tax benefits to be received when certain expenses previously recognized in the Company’s Consolidated Statements of Comprehensive Income (Loss) become deductible expenses under applicable income tax laws or loss or credit carryforwards are utilized. Accordingly, realization of the Company’s deferred tax assets is dependent on future taxable income against which these deductions, losses and credits can be utilized.
The Company must assess the likelihood that its deferred tax assets will be recovered from future taxable income, and to the extent the Company believes that recovery is not more likely than not, it must establish a valuation allowance. Management judgment is required in determining the Company’s provision for income taxes, our deferred tax assets and liabilities and any valuation allowance recorded against its net deferred tax assets. Prior to the third quarter of 2021, the Company maintained a 100% valuation allowance against all deferred tax assets, because there was insufficient positive evidence to overcome the existing negative evidence, primarily consisting of several years of consecutive reported pre-tax losses, such that it was not more likely than not that the deferred tax assets were realizable. In the third quarter of 2021, the Company had reported positive operating performance for five consecutive quarters and continued to maintain a cumulative three-year pre-tax profit. In addition, the Company expects continued positive operating performance into the foreseeable future to allow for utilization of all operating loss and substantially all tax credit carryforwards prior to their expiration. After considering these factors, the Company determined that the positive evidence overcame any negative evidence and concluded that it was more likely than not that a substantial portion of its U.S. federal and certain other state deferred tax assets were realizable.
Recent Accounting Pronouncements
Newly Adopted Accounting Standards
The Company did not adopt any new accounting standards in 2021 that were significant to the Company.
Recent Accounting Pronouncements Not Yet Adopted
There have been no accounting pronouncements or changes in accounting pronouncements that are significant or potentially significant to the Company.
XML 33 R21.htm IDEA: XBRL DOCUMENT v3.22.0.1
Cash, Cash Equivalents and Marketable Securities (Tables)
12 Months Ended
Dec. 31, 2021
Cash and Cash Equivalents [Abstract]  
Summary of cash and cash equivalents
Cash, cash equivalents and marketable securities consisted of the following (in thousands):

December 31,
20212020
Cash and cash equivalents:
Cash$26,442 $30,745 
Commercial paper21,582 — 
Money market funds2,320 10,068 
Corporate debt securities989 — 
U.S. government securities— 39,994 
Total cash and cash equivalents51,333 80,807 
Marketable securities:
Commercial paper80,812 — 
U.S. government securities60,279 52,982 
U.S. government agency securities5,527 — 
Corporate debt securities3,576 — 
Municipal securities2,808 — 
Total marketable securities153,002 52,982 
$204,335 $133,789 
XML 34 R22.htm IDEA: XBRL DOCUMENT v3.22.0.1
Fair Value Measurements (Tables)
12 Months Ended
Dec. 31, 2021
Fair Value Disclosures [Abstract]  
Fair Value, Assets Measured on Recurring Basis
The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands):
As of December 31, 2021Level 1Level 2Total
Money market funds$2,320 $— $2,320 
U.S. government securities60,279 — 60,279 
Commercial paper— 102,394 102,394 
U.S. government agency securities— 5,527 5,527 
Corporate debt securities— 4,565 4,565 
Municipal securities— 2,808 2,808 
$62,599 $115,294 $177,893 
As of December 31, 2020Level 1
Money market funds$10,068 
U.S. government securities92,976 
$103,044 
XML 35 R23.htm IDEA: XBRL DOCUMENT v3.22.0.1
Balance Sheet Details (Tables)
12 Months Ended
Dec. 31, 2021
Balance Sheet Related Disclosures [Abstract]  
Accounts Receivable, net
Accounts receivable, net consisted of the following (in thousands):
December 31,
20212020
Accounts receivable$85,944 $70,824 
Allowance for doubtful accounts(725)(1,405)
$85,219 $69,419 
Changes in Allowance for Doubtful Accounts and Product Reserve
The table below summarizes the changes in allowance for doubtful accounts and product return liability for the periods indicated (in thousands):
Balance at Beginning of YearAdditions Charged to Expenses or Revenue Net of RecoveriesWrite Offs and ReturnsBalance at
End of Year
Year Ended December 31, 2021:
Allowance for doubtful accounts$1,405 $(201)$(479)$725 
Product return liability1,888 3,681 (3,733)1,836 
Year Ended December 31, 2020:
Allowance for doubtful accounts$374 $1,085 $(54)$1,405 
Product return liability919 3,391 (2,422)1,888 
Year Ended December 31, 2019:
Allowance for doubtful accounts$370 $168 $(164)$374 
Product return liability880 1,620 (1,581)919 
Inventory
Inventory consisted of the following (in thousands):
December 31,
20212020
Raw materials$130 $34 
Finished goods88,750 52,234 
$88,880 $52,268 
Property and Equipment, net
Property and equipment, net consisted of the following (in thousands):
December 31,
20212020
Test equipment$39,476 $37,670 
Computer equipment11,156 9,062 
Software9,013 16,093 
Furniture and fixtures1,812 2,069 
Leasehold improvements1,351 1,345 
62,808 66,239 
Accumulated depreciation and amortization(41,025)(45,858)
$21,783 $20,381 
Schedule of Other Assets, Noncurrent
Other long-term assets consisted of the following (in thousands):
December 31,
20212020
Intangible asset$6,885 $9,517 
Other long-term assets6,800 2,648 
$13,685 $12,165 
Accrued Liabilities
Accrued liabilities consisted of the following (in thousands):
December 31,
20212020
Compensation and related benefits$23,165 $23,740 
Component inventory held by suppliers7,611 3,992 
Current portion of warranty and retrofit7,076 9,208 
Professional and consulting fees4,819 4,497 
Customer advances or rebates4,742 8,374 
Current portion of revenue-share payments4,731 2,925 
Taxes payable4,251 3,476 
Freight3,997 1,955 
Operating leases3,596 2,994 
Product returns1,836 1,888 
Operations1,400 950 
Other4,373 4,737 
$71,597 $68,736 
Schedule of Product Warranty Liability
Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):
 Years Ended December 31,
202120202019
Balance at beginning of year$9,208 $7,294 $8,547 
Provision for warranty and retrofit charged to cost of revenue3,370 5,888 4,425 
Utilization of reserve(2,984)(3,974)(5,678)
Balance at end of year$9,594 $9,208 $7,294 
Restructuring and Related Costs
The following table summarizes the activities pursuant to the above restructuring plan (in thousands):
FacilitiesSeverance and Related BenefitsTotal
Restructuring charges$5,112 $1,174 $6,286 
Asset write-down(3,748)— (3,748)
Cash payments(120)(1,042)(1,162)
Balance as of December 31, 2020$1,244 $132 $1,376 
Restructuring benefit(786)— (786)
Cash payments(277)(132)(409)
Balance as of December 31, 2021$181 $— $181 
XML 36 R24.htm IDEA: XBRL DOCUMENT v3.22.0.1
Commitments and Contingencies (Tables)
12 Months Ended
Dec. 31, 2021
Commitments and Contingencies Disclosure [Abstract]  
Lessee, Operating Lease, Liability, Maturity Future minimum payments under the non-cancelable operating leases consisted of the following as of December 31, 2021 (in thousands):
Year Ending December 31, Future Minimum Lease Payments
2022$4,473 
20234,600 
20244,430 
20253,971 
2026560 
Total future minimum lease payments18,034 
Less imputed interest(2,062)
$15,972 
Lessee, Operating Leases
As of December 31, 2021, the operating lease liability consisted of the following (in thousands):
Accrued liabilities - current portion of operating leases$3,596 
Operating leases12,376 
$15,972 
Lessor, Operating Lease, Payment to be Received, Fiscal Year Maturity Future minimum payments consisted of the following as of December 31, 2021 (in thousands):
Year Ending December 31, Future Minimum Sublease Payments
2022$308 
2023750 
2024773 
2025661 
Total future minimum sublease payments$2,492 
XML 37 R25.htm IDEA: XBRL DOCUMENT v3.22.0.1
Stockholders' Equity (Tables)
12 Months Ended
Dec. 31, 2021
Stockholders' Equity Note [Abstract]  
Schedule of Stock Options Activity
The following table summarizes the activity of stock options under the Company’s equity incentive plans (in thousands, except per share data):
Weighted-
Average
Weighted-Remaining
AverageContractualAggregate
Number ofExercise PriceLifeIntrinsic
Stock OptionsSharesPer Share(in years)
   Value (1)
Outstanding as of December 31, 20206,801 $9.76 
Granted1,578 42.89 
Exercised(1,450)7.70 
Canceled(281)24.18 
Outstanding as of December 31, 20216,648 $17.46 7.34$415,597 
Vested and expected to vest as of December 31, 20216,484 $17.13 7.31$407,477 
Options exercisable as of December 31, 20213,191 $8.61 5.91$227,689 
                                                                                  
(1) Amounts represent the difference between the exercise price and the fair market value of common stock at December 31, 2021 of $79.97 per share for all “in-the-money” options outstanding.
Disclosure of Share-based Compensation Arrangements by Share-based Payment Award The following table summarizes stock-based compensation expense (in thousands):
 Years Ended December 31,
202120202019
Cost of revenue:
Products$790 $575 $507 
Services668 450 389 
Sales and marketing6,728 4,273 3,415 
Research and development6,769 4,736 3,913 
General and administrative9,275 3,926 2,957 
$24,230 $13,960 $11,181 
Schedule of Grant Date Fair Values
The following table summarizes the weighted-average grant date fair values of the Company’s stock-based awards granted in the periods indicated:
Years Ended December 31,
202120202019
Stock options$26.55 $8.55 $3.66 
RSUs$— $11.22 $6.62 
ESPP$12.93 $5.52 $2.04 
NQ ESPP$55.50 $19.40 $7.24 
Valuation Assumptions, Stock Options
The following table summarizes the weighted-average assumptions used in estimating the grant-date fair value of stock options and of each employee’s purchase right under the ESPP in the periods indicated:
Years Ended December 31,
Stock Options202120202019
Expected volatility56 %53 %47 %
Expected life (years)6.046.116.11
Expected dividend yield— — — 
Risk-free interest rate1.11 %0.48 %1.67 %
Valuation Assumptions, ESPP
Years Ended December 31,
ESPP202120202019
Expected volatility63 %70 %48 %
Expected life (years)0.490.390.49
Expected dividend yield— — — 
Risk-free interest rate0.05 %0.12 %2.03 %
Schedule of Unrecognized Compensation Cost
As of December 31, 2021, unrecognized stock-based compensation expense by award type, net of estimated forfeitures, and their expected weighted-average recognition periods are summarized in the following table (in thousands).
Stock OptionESPPs
Unrecognized stock-based compensation expense$31,512 $8,355 
Weighted-average amortization period (in years)2.11.1
Shares Reserved For Future Issuance
Shares Reserved for Future Issuance
As of December 31, 2021, the Company had common shares reserved for future issuance as follows (in thousands):
Stock options outstanding6,648 
Shares available for future grant under 2019 Plan6,846 
Shares available for future issuance under ESPP3,589 
Shares available for future issuance under NQ ESPP2,802 
19,885 
XML 38 R26.htm IDEA: XBRL DOCUMENT v3.22.0.1
Accumulated Other Comprehensive Loss (Tables)
12 Months Ended
Dec. 31, 2021
Equity [Abstract]  
Schedule of Accumulated Other Comprehensive Income (Loss)
The table below summarizes the changes in accumulated other comprehensive loss by component:
`Unrealized Gains and Losses on Available-for-Sale Marketable SecuritiesForeign Currency Translation AdjustmentsTotal
Balance as of December 31, 2019$— $(854)$(854)
Other comprehensive income— 663 663 
Balance as of December 31, 2020— (191)(191)
Other comprehensive income (loss)(179)50 (129)
Balance as of December 31, 2021$(179)$(141)$(320)
XML 39 R27.htm IDEA: XBRL DOCUMENT v3.22.0.1
Income Taxes (Tables)
12 Months Ended
Dec. 31, 2021
Income Tax Disclosure [Abstract]  
Schedule of Income before Income Tax, Domestic and Foreign The domestic and foreign components of income (loss) before incomes taxes were as follows (in thousands):
Years Ended December 31,
2021 2020 2019
Domestic$70,776 $33,777 $(17,935)
Foreign1,878 507 1,403 
$72,654 $34,284 $(16,532)
Schedule of Components of Income Tax Expense (Benefit) ncome taxes consisted of the following (in thousands):
Years Ended December 31,
2021 2020 2019
Current:
State$2,818 $285 $313 
Foreign438 507 835 
Current income tax3,256 792 1,148 
Deferred:
Federal(157,355)— — 
State(11,631)— — 
Foreign14 
Deferred income tax(168,980)14 
$(165,724)$800 $1,162 
Schedule of Effective Income Tax Rate Reconciliation
The differences between the statutory and effective tax rates, expressed as a percentage of net income (loss) before income taxes, were as follows:
Years Ended December 31,
2021 2020 2019
Federal statutory rate21.0 %21.0 %21.0 %
Impact of state taxes(15.6)0.1 5.6 
Foreign operations(0.2)0.6 (2.8)
R&D tax credits1.4 (4.8)6.2 
Foreign income inclusion— — (1.3)
Stock-based compensation(12.8)(4.1)(5.1)
Other permanent items(0.3)0.6 (2.0)
Tax true-up(0.2)(0.4)(11.8)
Valuation allowance(208.3)(48.1)(16.8)
Net operating loss expiration(13.1)37.4 — 
(228.1)%2.3 %(7.0)%
Schedule of Deferred Tax Assets and Liabilities
The significant components of the Company’s deferred tax assets were as follows (in thousands):
December 31,
2021 2020
Deferred tax assets (liabilities):
Net operating loss carryforwards$82,672 $114,973 
Tax credit carryforwards52,538 49,978 
Depreciation and amortization(1,511)681 
Accruals and reserves10,302 10,753 
Deferred revenue11,351 9,219 
Stock-based compensation4,921 4,821 
Intangible assets37,692 (568)
Other233 (18)
Gross deferred tax assets198,198 189,839 
Valuation allowance(29,236)(189,858)
$168,962 $(19)
Unrecognized Tax Benefits Activity
The following table reconciles the Company’s unrecognized tax benefits (in thousands):
Years Ended December 31,
2021 2020
Balance at beginning of year$23,516 $22,264 
    Reduction for tax positions related to prior year(1,427)(163)
    Additions for tax positions related to prior year1,947 — 
    Additions for tax positions related to current year1,956 1,415 
Balance at end of year$25,992 $23,516 
XML 40 R28.htm IDEA: XBRL DOCUMENT v3.22.0.1
Net Income (Loss) Per Common Share (Tables)
12 Months Ended
Dec. 31, 2021
Earnings Per Share [Abstract]  
Schedule of net loss per share
The following table sets forth the computation of basic and diluted net income (loss) per common share for the periods indicated (in thousands, except per share data):
 Years Ended December 31,
2021 2020 2019
Numerator:
Net income (loss)$238,378 $33,484 $(17,694)
Denominator:
Weighted-average common shares — basic63,277 59,074 54,993 
Effect of dilutive potential common shares4,579 2,924 — 
Weighted-average common shares — diluted67,856 61,998 54,993 
Basic net income (loss) per common share$3.77 $0.57 $(0.32)
Diluted net income (loss) per common share$3.51 $0.54 $(0.32)
Potentially dilutive shares excluded, weighted-average1,006 753 6,607 
XML 41 R29.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue from Contracts with Customers (Tables)
12 Months Ended
Dec. 31, 2021
Revenue from Contract with Customer [Abstract]  
Revenue by Geographic Region
Years Ended December 31,
202120202019
United States$565,964 $473,779 $365,701 
Europe45,879 22,925 11,464 
Americas excluding U.S.45,719 27,802 24,821 
Middle East & Africa19,018 14,075 18,617 
Asia Pacific2,814 2,658 3,727 
$679,394 $541,239 $424,330 
Property and Equipment by Geographic Region
The Company’s property and equipment, net of accumulated depreciation, are located in the following geographical areas (in thousands):
December 31,
2021 2020
United States$19,900 $19,383 
China1,840 998 
India43 — 
$21,783 $20,381 
Contract with Customer, Asset and Liability
Deferred revenue consisted of the following (in thousands):
December 31,
20212020
Current:
Products and services$22,586 $14,651 
Extended warranty4,892 4,538 
27,478 19,189 
Long-term:
Products and services3,137 1,879 
Extended warranty18,879 18,025 
22,016 19,904 
$49,494 $39,093 
XML 42 R30.htm IDEA: XBRL DOCUMENT v3.22.0.1
Description of Business and Significant Accounting Policies - Contract Costs (Details)
Dec. 31, 2021
Accounting Policies [Abstract]  
Capitalized contract cost, amortization period 5 years
XML 43 R31.htm IDEA: XBRL DOCUMENT v3.22.0.1
Description of Business and Significant Accounting Policies - Useful Lives of Property and Equipment (Details)
12 Months Ended
Dec. 31, 2021
Computer equipment  
Property, Plant and Equipment [Line Items]  
Useful life of property and equipment 2 years
Purchased Software | Minimum  
Property, Plant and Equipment [Line Items]  
Useful life of property and equipment 3 years
Purchased Software | Maximum  
Property, Plant and Equipment [Line Items]  
Useful life of property and equipment 5 years
Test Equipment  
Property, Plant and Equipment [Line Items]  
Useful life of property and equipment 3 years
Furniture and Fixtures  
Property, Plant and Equipment [Line Items]  
Useful life of property and equipment 7 years
XML 44 R32.htm IDEA: XBRL DOCUMENT v3.22.0.1
Description of Business and Significant Accounting Policies - Additional Information (Detail) - USD ($)
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Schedule of Certain Terms [Line Items]      
Product warranty period 3 years    
Goodwill, impairment loss $ 0 $ 0 $ 0
Valuation allowance (29,236,000) $ (189,858,000)  
Subsidiaries | Brazil, China And United Kingdom      
Schedule of Certain Terms [Line Items]      
Cash $ 3,600,000    
Minimum      
Schedule of Certain Terms [Line Items]      
Product warranty period 1 year    
Maximum      
Schedule of Certain Terms [Line Items]      
Product warranty period 5 years    
XML 45 R33.htm IDEA: XBRL DOCUMENT v3.22.0.1
Cash, Cash Equivalents and Marketable Securities (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Cash and Cash Equivalents [Line Items]    
Cash and cash equivalents $ 51,333 $ 80,807
Marketable securities 153,002 52,982
Cash, Cash Equivalents, And Marketable Securities 204,335 133,789
Unrealized losses 200  
U.S. government agency securities    
Cash and Cash Equivalents [Line Items]    
Marketable securities 5,527 0
Commercial paper    
Cash and Cash Equivalents [Line Items]    
Marketable securities 80,812 0
U.S. government securities    
Cash and Cash Equivalents [Line Items]    
Marketable securities 60,279 52,982
Corporate debt securities    
Cash and Cash Equivalents [Line Items]    
Marketable securities 3,576 0
Municipal securities    
Cash and Cash Equivalents [Line Items]    
Marketable securities 2,808 0
Cash    
Cash and Cash Equivalents [Line Items]    
Cash and cash equivalents 26,442 30,745
Commercial paper    
Cash and Cash Equivalents [Line Items]    
Cash and cash equivalents 21,582 0
Money market funds    
Cash and Cash Equivalents [Line Items]    
Cash and cash equivalents 2,320 10,068
Corporate debt securities    
Cash and Cash Equivalents [Line Items]    
Cash and cash equivalents 989 0
U.S. government securities    
Cash and Cash Equivalents [Line Items]    
Cash and cash equivalents $ 0 $ 39,994
XML 46 R34.htm IDEA: XBRL DOCUMENT v3.22.0.1
Fair Value Measurements (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities $ 153,002 $ 52,982
U.S. government securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 60,279 52,982
Commercial paper    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 80,812 0
U.S. government agency securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 5,527 0
Corporate debt securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 3,576 0
Municipal securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 2,808 0
Fair Value, Recurring    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets 177,893  
Fair Value, Recurring | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets 62,599 103,044
Fair Value, Recurring | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets 115,294  
Fair Value, Recurring | U.S. government securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 60,279  
Fair Value, Recurring | U.S. government securities | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 60,279  
Fair Value, Recurring | U.S. government securities | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0  
Fair Value, Recurring | Commercial paper    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 102,394  
Fair Value, Recurring | Commercial paper | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0  
Fair Value, Recurring | Commercial paper | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 102,394  
Fair Value, Recurring | U.S. government agency securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 5,527  
Fair Value, Recurring | U.S. government agency securities | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0 92,976
Fair Value, Recurring | U.S. government agency securities | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 5,527  
Fair Value, Recurring | Corporate debt securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 4,565  
Fair Value, Recurring | Corporate debt securities | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0  
Fair Value, Recurring | Corporate debt securities | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 4,565  
Fair Value, Recurring | Municipal securities    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 2,808  
Fair Value, Recurring | Municipal securities | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 0  
Fair Value, Recurring | Municipal securities | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable securities 2,808  
Fair Value, Recurring | Money market funds    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money market funds 2,320  
Fair Value, Recurring | Money market funds | Level 1    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money market funds 2,320 $ 10,068
Fair Value, Recurring | Money market funds | Level 2    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Money market funds $ 0  
XML 47 R35.htm IDEA: XBRL DOCUMENT v3.22.0.1
Balance Sheet Details - Accounts Receivable (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Summary of accounts receivable, net    
Accounts receivable $ 85,944 $ 70,824
Allowance for doubtful accounts (725) (1,405)
Accounts receivable, net $ 85,219 $ 69,419
XML 48 R36.htm IDEA: XBRL DOCUMENT v3.22.0.1
Balance Sheet Details - Allowance and Product Return Reserve (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Allowance for doubtful accounts      
SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]      
Balance at Beginning of Year $ 1,405 $ 374 $ 370
Additions Charged to Expenses or Revenue Net of Recoveries (201) 1,085 168
Write Offs and Returns (479) (54) (164)
Balance at End of Year 725 1,405 374
Product return liability      
SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]      
Balance at Beginning of Year 1,888 919 880
Additions Charged to Expenses or Revenue Net of Recoveries 3,681 3,391 1,620
Write Offs and Returns (3,733) (2,422) (1,581)
Balance at End of Year $ 1,836 $ 1,888 $ 919
XML 49 R37.htm IDEA: XBRL DOCUMENT v3.22.0.1
Balance Sheet Details - Inventory (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Summary of inventory, net    
Raw materials $ 130 $ 34
Finished goods 88,750 52,234
Total inventory $ 88,880 $ 52,268
XML 50 R38.htm IDEA: XBRL DOCUMENT v3.22.0.1
Balance Sheet Details - Property and Equipment, net (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Property, Plant and Equipment [Line Items]      
Property and equipment, gross $ 62,808 $ 66,239  
Accumulated depreciation and amortization (41,025) (45,858)  
Property and equipment, net 21,783 20,381  
Depreciation and amortization 15,012 13,718 $ 10,316
Test equipment      
Property, Plant and Equipment [Line Items]      
Property and equipment, gross 39,476 37,670  
Computer equipment      
Property, Plant and Equipment [Line Items]      
Property and equipment, gross 11,156 9,062  
Software      
Property, Plant and Equipment [Line Items]      
Property and equipment, gross 9,013 16,093  
Furniture and fixtures      
Property, Plant and Equipment [Line Items]      
Property and equipment, gross 1,812 2,069  
Leasehold improvements      
Property, Plant and Equipment [Line Items]      
Property and equipment, gross $ 1,351 $ 1,345  
XML 51 R39.htm IDEA: XBRL DOCUMENT v3.22.0.1
Balance Sheet Details - Intangible Asset Acquisition (Details) - USD ($)
$ in Thousands
3 Months Ended
Sep. 28, 2019
Dec. 31, 2021
Dec. 31, 2020
Mar. 31, 2018
Finite-Lived Intangible Assets [Line Items]        
Intangible asset   $ 6,885 $ 9,517  
Other long-term assets   6,800 2,648  
Other assets   13,685 12,165  
Accrued liabilities   71,597 68,736  
Other long-term liabilities   11,076 13,137  
Licensed Software        
Finite-Lived Intangible Assets [Line Items]        
Royalty payment commitment amount       $ 15,800
Intangible asset $ 13,200      
Other liabilities $ 13,200 13,200 13,900  
Useful life 5 years      
Accrued liabilities   4,700 2,900  
Other long-term liabilities   $ 8,500 $ 11,000  
XML 52 R40.htm IDEA: XBRL DOCUMENT v3.22.0.1
Balance Sheet Details - Capitalized Cloud Implementation Costs (Details) - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Jan. 31, 2020
Capitalized Contract Cost [Line Items]      
Capitalized contract cost, amortization period 5 years    
Capitalized contract cost, amortization $ 1.4    
Cloud Implementation Costs      
Capitalized Contract Cost [Line Items]      
Capitalized contract cost     $ 7.5
Capitalized contract cost, amortization period     29 months
Capitalized contract cost, amortization $ 3.1 $ 3.1  
XML 53 R41.htm IDEA: XBRL DOCUMENT v3.22.0.1
Balance Sheet Details - Accrued Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Summary of accrued liabilities    
Compensation and related benefits $ 23,165 $ 23,740
Component inventory held by suppliers 7,611 3,992
Current portion of warranty and retrofit 7,076 9,208
Professional and consulting fees 4,819 4,497
Customer advances or rebates 4,742 8,374
Current portion of revenue-share payments 4,731 2,925
Taxes payable 4,251 3,476
Freight 3,997 1,955
Operating leases 3,596 2,994
Product returns 1,836 1,888
Operations 1,400 950
Other 4,373 4,737
Total accrued liabilities $ 71,597 $ 68,736
Operating Lease, Liability, Current, Statement of Financial Position [Extensible List] Total accrued liabilities Total accrued liabilities
XML 54 R42.htm IDEA: XBRL DOCUMENT v3.22.0.1
Balance Sheet Details - Product Warranty Activity (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Product warranty activities [Roll Forward]      
Balance at beginning of period $ 9,208 $ 7,294 $ 8,547
Provision for warranty and retrofit charged to cost of revenue 3,370 5,888 4,425
Utilization of reserve (2,984) (3,974) (5,678)
Balance at end of period $ 9,594 $ 9,208 $ 7,294
XML 55 R43.htm IDEA: XBRL DOCUMENT v3.22.0.1
Balance Sheet Details - Restructuring (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2021
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Restructuring Cost and Reserve [Line Items]        
Restructuring charges (benefit)   $ (786) $ 6,286 $ 0
Restructuring Reserve [Roll Forward]        
Balance as of December 31, 2020   1,376    
Restructuring charges (benefit)   (786) 6,286 $ 0
Asset write-down     (3,748)  
Cash payments   (409) (1,162)  
Balance as of December 31, 2020 $ 181 181 1,376  
San Jose, California        
Restructuring Cost and Reserve [Line Items]        
Restructuring charges (benefit) (800)      
Restructuring Reserve [Roll Forward]        
Restructuring charges (benefit) (800)      
All Platform Future And Work-From-Anywhere Culture Alignment        
Restructuring Cost and Reserve [Line Items]        
Restructuring charges (benefit)   6,300    
Restructuring Reserve [Roll Forward]        
Restructuring charges (benefit)   6,300    
Facilities        
Restructuring Cost and Reserve [Line Items]        
Restructuring charges (benefit)   (786) 5,112  
Restructuring Reserve [Roll Forward]        
Balance as of December 31, 2020   1,244    
Restructuring charges (benefit)   (786) 5,112  
Asset write-down     (3,748)  
Cash payments   (277) (120)  
Balance as of December 31, 2020 181 181 1,244  
Severance and Related Benefits        
Restructuring Cost and Reserve [Line Items]        
Restructuring charges (benefit)   0 1,174  
Restructuring Reserve [Roll Forward]        
Balance as of December 31, 2020   132    
Restructuring charges (benefit)   0 1,174  
Asset write-down     0  
Cash payments   (132) (1,042)  
Balance as of December 31, 2020 $ 0 $ 0 $ 132  
XML 56 R44.htm IDEA: XBRL DOCUMENT v3.22.0.1
Credit Agreements - Line of Credit (Details) - Bank Of America - Revolving Credit Facility
Dec. 31, 2021
USD ($)
Debt Instrument [Line Items]  
Revolving credit facility, maximum capacity $ 35,000,000
Outstanding borrowings $ 0
XML 57 R45.htm IDEA: XBRL DOCUMENT v3.22.0.1
Credit Agreements - Financing Arrangements (Details) - USD ($)
$ in Millions
3 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Research And Development Equipment        
Debt Instrument [Line Items]        
Purchase obligation       $ 5.1
Payments to settle purchase obligations $ 1.4      
Weighted average interest rate 6.20%      
Consulting Services        
Debt Instrument [Line Items]        
Purchase obligation     $ 2.0 $ 1.8
Payments to settle purchase obligations   $ 1.4    
Weighted average interest rate   6.30%    
XML 58 R46.htm IDEA: XBRL DOCUMENT v3.22.0.1
Commitments and Contingencies - Operating Lease (Details)
$ in Thousands
Dec. 31, 2021
USD ($)
Commitments and Contingencies Disclosure [Abstract]  
2022 $ 4,473
2023 4,600
2024 4,430
2025 3,971
2026 560
Total future minimum lease payments 18,034
Less imputed interest (2,062)
Operating lease, liability $ 15,972
XML 59 R47.htm IDEA: XBRL DOCUMENT v3.22.0.1
Commitments and Contingencies - Sublease (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Nov. 30, 2021
Commitments and Contingencies Disclosure [Abstract]    
Sublease, term of contract   39 months
2022 $ 308  
2023 750  
2024 773  
2025 661  
Total future minimum sublease payments $ 2,492  
XML 60 R48.htm IDEA: XBRL DOCUMENT v3.22.0.1
Commitments and Contingencies - Operating Lease Liability (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Commitments and Contingencies Disclosure [Abstract]    
Accrued liabilities - current portion of operating leases $ 3,596 $ 2,994
Operating leases 12,376 $ 12,946
Operating lease liability $ 15,972  
Operating Lease, Liability, Current, Statement of Financial Position [Extensible List] Accrued Liabilities, Current Accrued Liabilities, Current
XML 61 R49.htm IDEA: XBRL DOCUMENT v3.22.0.1
Commitments and Contingencies - Textual (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Oct. 31, 2021
Loss Contingencies [Line Items]        
Total future minimum lease payments $ 18,034      
Operating lease, right-of-use asset 12,182 $ 11,741    
Operating lease, liability $ 15,972      
Operating lease, weighted average discount rate, percent 6.10%      
Operating lease, weighted average remaining lease term 3 years 10 months 24 days      
Rent expense $ 4,100 4,000 $ 4,700  
Operating lease, payments 3,900      
Purchase commitments 247,300 123,700    
Accrued professional and consulting fees 7,611 $ 3,992    
San Jose, California        
Loss Contingencies [Line Items]        
Total future minimum lease payments 9,600      
Bangalore, India        
Loss Contingencies [Line Items]        
Total future minimum lease payments 2,200      
Term of contract       60 months
Operating lease, right-of-use asset 2,000      
Operating lease, liability $ 2,000      
XML 62 R50.htm IDEA: XBRL DOCUMENT v3.22.0.1
Stockholders' Equity - Stock Offering, Treasury Stock Retirement, Preferred Stock and Common Stock (Details) - USD ($)
$ / shares in Units, $ in Millions
1 Months Ended 12 Months Ended
Aug. 31, 2020
Dec. 31, 2021
Dec. 31, 2020
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Preferred stock, shares authorized (in shares)   5,000,000 5,000,000
Preferred stock, shares issued (in shares)   0 0
Preferred stock, shares outstanding (in shares)   0 0
Dividends declared or paid (in dollars per share)   $ 0  
Common stock, par value (in dollars per share)   $ 0.025 $ 0.025
Treasury stock retired, value $ 40.0    
Common Stock      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Treasury stock retired (in shares) 5,329,817    
Treasury stock retired, value $ 0.1    
Retained Earnings      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Treasury stock retired, value $ 39.9    
Public Stock Offering      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Shares sold in offering (in shares) 3,220,000    
Common stock, par value (in dollars per share) $ 20.00    
Over-Allotment Option      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Shares sold in offering (in shares) 420,000    
Aggregate net proceeds from stock offering $ 60.1    
XML 63 R51.htm IDEA: XBRL DOCUMENT v3.22.0.1
Stockholders' Equity - Equity Incentive Plans (Details) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 12 Months Ended
Feb. 28, 2021
Feb. 20, 2021
Feb. 29, 2020
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Feb. 16, 2022
May 31, 2019
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                
Stock-based compensation       $ 24,230 $ 13,960 $ 11,181    
Stock options granted (in shares)       1,578,000        
Weighted-average grant date fair value per share, stock options (in dollars per share)       $ 26.55 $ 8.55 $ 3.66    
Performance Based Stock Options | Executive Officer                
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                
Awards granted, shares     800,000          
Grant date fair value (in dollars per share)     $ 9.16          
Award requisite service period     1 year          
2019 Equity Incentive Award Plan                
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                
Shares available for future grant       6,800,000       1,700,000
Shares available for issuance, additional shares (in shares)       3,800,000        
Minimum exercise price of stock option, percentage       100.00%        
Contractual term, stock options       10 years        
2019 Equity Incentive Award Plan | Stock Options | Period One                
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                
Award vesting rights, percentage           25.00%    
2019 Equity Incentive Award Plan | Stock Options | Period Two                
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                
Vesting period           3 years    
2020 Performance Targets | Performance Based Stock Options | Executive Officer                
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                
Target achievement performance threshold, percent     80.00%          
Bookings target achievement performance threshold, percent     90.00%          
Number of shares granted if target achievement performance threshold not met (in shares)     0          
Shares award weighting percent for target achievement performance threshold, percent     50.00%          
Shares award target achievement performance threshold, percent     100.00%          
Performance targets services condition period     4 years          
2020 Performance Targets | Performance Based Stock Options | Period One | Executive Officer                
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                
Award vesting rights, percentage   25.00%            
2020 Performance Targets | Performance Based Stock Options | Period Two | Executive Officer                
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                
Award vesting rights, percentage   75.00%            
Vesting period   36 months            
Stock-based compensation       $ 800 $ 1,600      
2021 Performance Targets | Performance Based Stock Options | Executive Officer                
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                
Award requisite service period 1 year              
Target achievement performance threshold, percent 80.00%              
Bookings target achievement performance threshold, percent 90.00%              
Number of shares granted if target achievement performance threshold not met (in shares) 0              
Shares award weighting percent for target achievement performance threshold, percent 50.00%              
Shares award target achievement performance threshold, percent 100.00%              
Performance targets services condition period 4 years              
Stock-based compensation       $ 6,300        
Stock options granted (in shares) 700,000              
Weighted-average grant date fair value per share, stock options (in dollars per share) $ 36.74              
2021 Performance Targets | Performance Based Stock Options | Executive Officer | Subsequent Event                
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                
Awards percentage of total subject to service condition             97.00%  
2021 Performance Targets | Performance Based Stock Options | Period One | Executive Officer                
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                
Award vesting rights, percentage 25.00%              
2021 Performance Targets | Performance Based Stock Options | Period Two | Executive Officer                
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                
Award vesting rights, percentage 75.00%              
Vesting period 36 months              
XML 64 R52.htm IDEA: XBRL DOCUMENT v3.22.0.1
Stockholders' Equity - Stock Options Activity (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Stock Options, Number of Shares:      
Stock options outstanding, beginning (in shares) 6,801    
Stock options granted (in shares) 1,578    
Stock options exercised (in shares) (1,450)    
Stock options forfeited (in shares) (281)    
Stock options outstanding, ending (in shares) 6,648 6,801  
Stock options vested and expected to vest (in shares) 6,484    
Stock options exercisable (in shares) 3,191    
Stock Options, Weighted-Average Exercise Price Per Share:      
Stock options outstanding, beginning (in dollars per share) $ 9.76    
Stock options granted (in dollars per share) 42.89    
Stock options exercised (in dollars per share) 7.70    
Stock options forfeited (in dollars per share) 24.18    
Stock options outstanding, ending (in dollars per share) 17.46 $ 9.76  
Stock options vested and expected to vest (in dollars per share) 17.13    
Stock options exercisable (in dollars per share) $ 8.61    
Weighted-average remaining contractual term, stock options outstanding 7 years 4 months 2 days    
Weighted-average remaining contractual term, stock options vested and expected to vest 7 years 3 months 21 days    
Weighted-average remaining contractual term, stock options exercisable 5 years 10 months 28 days    
Aggregate intrinsic value, stock options outstanding $ 415,597    
Aggregate intrinsic value, stock options vested and expected to vest 407,477    
Aggregate intrinsic value, stock options exercisable $ 227,689    
Stock options, intrinsic value per share (in dollars per share) $ 79.97    
Total intrinsic value for exercised stock options $ 59,600 $ 6,700 $ 200
Issuance of common stock under equity incentive plans, net of forfeitures $ 11,200 $ 900 $ 400
XML 65 R53.htm IDEA: XBRL DOCUMENT v3.22.0.1
Stockholders' Equity - Fair Value of Awards Granted (Details) - $ / shares
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Weighted-average grant date fair value per share, stock options (in dollars per share) $ 26.55 $ 8.55 $ 3.66
Restricted Stock Units (RSUs)      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Weighted-average grant date fair value per share 0 11.22 6.62
ESPP      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Weighted-average grant date fair value per share 12.93 5.52 2.04
2017 Nonqualified Employee Stock Purchase Plan | ESPP      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Weighted-average grant date fair value per share $ 55.50 $ 19.40 $ 7.24
XML 66 R54.htm IDEA: XBRL DOCUMENT v3.22.0.1
Stockholders' Equity - Stock-Based Compensation Expense (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Stock based compensation $ 24,230 $ 13,960 $ 11,181
Percent of historical volatility 50.00%    
Percent of implied volatility 50.00%    
Products      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Stock based compensation $ 790 575 507
Services      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Stock based compensation 668 450 389
Sales and marketing      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Stock based compensation 6,728 4,273 3,415
Research and development      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Stock based compensation 6,769 4,736 3,913
General and administrative      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Stock based compensation $ 9,275 $ 3,926 $ 2,957
XML 67 R55.htm IDEA: XBRL DOCUMENT v3.22.0.1
Stockholders' Equity - ESPP (Details)
$ in Millions
1 Months Ended 3 Months Ended 12 Months Ended
May 31, 2020
shares
May 31, 2019
shares
Dec. 31, 2021
USD ($)
period
shares
Dec. 31, 2021
USD ($)
period
shares
Apr. 30, 2019
shares
2017 Nonqualified Employee Stock Purchase Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Number of offering periods | period     2 2  
Number of additional shares authorized (in shares) 800,000        
Number of shares authorized (in shares) 5,500,000        
Shares available for future grant     2,800,000 2,800,000  
Weighted-average amortization period       1 year 1 month 6 days  
Maximum contribution percent     25.00% 25.00%  
Employee termination period following purchase date to receive shares subject to risk of forfeiture       1 year  
Offering period       6 months  
Number of shares authorized per purchase period 500,000        
Shares available for issuance, additional shares (in shares)     800,000 800,000  
Shares issued in period       300,000  
Shares purchased for award       300,000  
Unrecognized stock-based compensation expense | $     $ 8.0 $ 8.0  
ESPP          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Weighted-average amortization period       1 year 1 month 6 days  
ESPP | Employee Stock Purchase Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Maximum employee subscription rate     15.00% 15.00%  
Maximum number of shares employee can purchase during offering period       2,000  
Number of offering periods | period     2 2  
Offering period       6 months  
Number of additional shares authorized (in shares)   1,300,000      
Number of shares authorized (in shares)   11,100,000     9,800,000
Shares available for future grant     3,600,000 3,600,000  
Shares purchased under ESPP (in shares)     300,000    
Unrecognized stock-based compensation expense | $     $ 0.3 $ 0.3  
Weighted-average amortization period       1 month 6 days  
XML 68 R56.htm IDEA: XBRL DOCUMENT v3.22.0.1
Stockholders' Equity - Assumptions (Details)
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Stock Options      
Weighted average assumptions used to estimate fair value of stock options      
Expected volatility 56.00% 53.00% 47.00%
Expected life 6 years 14 days 6 years 1 month 9 days 6 years 1 month 9 days
Expected dividend yield 0.00% 0.00% 0.00%
Risk-free interest rate 1.11% 0.48% 1.67%
ESPP      
Weighted average assumptions used to estimate fair value of stock options      
Expected volatility 63.00% 70.00% 48.00%
Expected life 5 months 26 days 4 months 20 days 5 months 26 days
Expected dividend yield 0.00% 0.00% 0.00%
Risk-free interest rate 0.05% 0.12% 2.03%
XML 69 R57.htm IDEA: XBRL DOCUMENT v3.22.0.1
Stockholders' Equity - Unrecognized Stock-based Compensation Expenses (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2021
USD ($)
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Stock-based compensation expense to be recognized in 2018 $ 19,600
Stock-based compensation expense to be recognized in 2019 10,900
Stock-based compensation expense to be recognized in 2020 6,800
Stock-based compensation expense to be recognized in 2021 2,600
Stock Options  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Unrecognized stock-based compensation expense $ 31,512
Weighted-average amortization period 2 years 1 month 6 days
ESPP  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Unrecognized stock-based compensation expense $ 8,355
Weighted-average amortization period 1 year 1 month 6 days
XML 70 R58.htm IDEA: XBRL DOCUMENT v3.22.0.1
Stockholders' Equity - Shares Reserved For Future Issuance (Details) - shares
shares in Thousands
Dec. 31, 2021
Dec. 31, 2020
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Stock options outstanding (in shares) 6,648 6,801
Shares available for future issuance (in shares) 19,885  
ESPP    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Shares available for future issuance (in shares) 3,589  
2019 Plan    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Shares available for future grant under 2019 Plan (in shares) 6,846  
2017 Nonqualified Employee Stock Purchase Plan    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Shares available for future grant under 2019 Plan (in shares) 2,800  
2017 Nonqualified Employee Stock Purchase Plan | ESPP    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Shares available for future issuance (in shares) 2,802  
XML 71 R59.htm IDEA: XBRL DOCUMENT v3.22.0.1
Employee Benefit Plan (Details) - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Retirement Benefits [Abstract]      
Company matching contributions, 401(K) Plan $ 3.2 $ 2.7 $ 2.5
XML 72 R60.htm IDEA: XBRL DOCUMENT v3.22.0.1
Accumulated Other Comprehensive Loss (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Increase (Decrease) in Stockholders' Equity [Roll Forward]    
Balance at beginning of period $ 280,325 $ 154,028
Other comprehensive income (loss) (129) 663
Balance at end of period 568,428 280,325
Total    
Increase (Decrease) in Stockholders' Equity [Roll Forward]    
Balance at beginning of period (191) (854)
Balance at end of period (320) (191)
Unrealized Gains and Losses on Available-for-Sale Marketable Securities    
Increase (Decrease) in Stockholders' Equity [Roll Forward]    
Balance at beginning of period 0 0
Other comprehensive income (loss) (179) 0
Balance at end of period (179) 0
Foreign Currency Translation Adjustments    
Increase (Decrease) in Stockholders' Equity [Roll Forward]    
Balance at beginning of period (191) (854)
Other comprehensive income (loss) 50 663
Balance at end of period $ (141) $ (191)
XML 73 R61.htm IDEA: XBRL DOCUMENT v3.22.0.1
Income Taxes - Loss before Provision for Income Taxes (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Income Tax Disclosure [Abstract]      
Domestic $ 70,776 $ 33,777 $ (17,935)
Foreign 1,878 507 1,403
Income (loss) before income taxes $ 72,654 $ 34,284 $ (16,532)
XML 74 R62.htm IDEA: XBRL DOCUMENT v3.22.0.1
Income Taxes - Components of Income Tax Provision (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Income Tax Disclosure [Abstract]      
State $ 2,818 $ 285 $ 313
Foreign 438 507 835
Current income tax 3,256 792 1,148
Federal (157,355) 0 0
State (11,631) 0 0
Foreign 6 8 14
Deferred Income Tax Expense (Benefit) (168,980) 8 14
Income tax expense (benefit) $ (165,724) $ 800 $ 1,162
XML 75 R63.htm IDEA: XBRL DOCUMENT v3.22.0.1
Income Taxes - Income Tax Rate Reconciliation (Details)
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Income Tax Disclosure [Abstract]      
Federal statutory rate 21.00% 21.00% 21.00%
Impact of state taxes (15.60%) 0.10% 5.60%
Foreign operations (0.20%) 0.60% (2.80%)
R&D tax credits 1.40%    
R&D tax credits   (4.80%) 6.20%
Foreign income inclusion 0.00% 0.00% (1.30%)
Stock-based compensation (12.80%) (4.10%) (5.10%)
Other permanent items (0.30%) 0.60% (2.00%)
Tax true-up (0.20%) (0.40%) (11.80%)
Valuation allowance (208.30%) (48.10%) (16.80%)
Net operating loss expiration (0.131) 0.374 0
Total (228.10%) 2.30% (7.00%)
XML 76 R64.htm IDEA: XBRL DOCUMENT v3.22.0.1
Income Taxes - Components of Deferred Tax Assets and Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Deferred tax assets (liabilities):    
Net operating loss carryforwards $ 82,672 $ 114,973
Tax credit carryforwards 52,538 49,978
Depreciation and amortization (1,511) 681
Accruals and reserves 10,302 10,753
Deferred revenue 11,351 9,219
Stock-based compensation 4,921 4,821
Intangible assets 37,692 (568)
Other 233 (18)
Gross deferred tax assets 198,198 189,839
Valuation allowance (29,236) (189,858)
Deferred tax assets $ 168,962  
Net deferred tax liabilities   $ (19)
XML 77 R65.htm IDEA: XBRL DOCUMENT v3.22.0.1
Income Taxes - Unrecognized Tax Benefits Activity (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Unrecognized Tax Benefits [Roll Forward]    
Balance at beginning of year $ 23,516 $ 22,264
Reduction for tax positions related to prior year (1,427) (163)
Additions for tax positions related to prior year 1,947 0
Additions for tax positions related to current year 1,956 1,415
Balance at end of year $ 25,992 $ 23,516
XML 78 R66.htm IDEA: XBRL DOCUMENT v3.22.0.1
Income Taxes - Textual (Details) - USD ($)
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Income Taxes [Line Items]      
Income tax benefit $ 165,724,000 $ (800,000) $ (1,162,000)
Valuation allowance 29,236,000 189,858,000  
Research and development credits 52,538,000 49,978,000  
Unrecognized tax benefits 25,992,000 $ 23,516,000 $ 22,264,000
Accrued interest or penalties for uncertain income tax 0    
U.S. Federal      
Income Taxes [Line Items]      
Operating loss carryforward 388,200,000    
Research and development credits 37,100,000    
State      
Income Taxes [Line Items]      
Operating loss carryforward 52,300,000    
California State      
Income Taxes [Line Items]      
Research and development credits 42,100,000    
Other State      
Income Taxes [Line Items]      
Research and development credits $ 3,000,000    
XML 79 R67.htm IDEA: XBRL DOCUMENT v3.22.0.1
Net Income (Loss) Per Common Share - Basic and Diluted Shares Calculation (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Numerator:      
Net income (loss) $ 238,378 $ 33,484 $ (17,694)
Denominator:      
Weighted-average common shares - basic (in shares) 63,277 59,074 54,993
Effect of dilutive potential common shares (in shares) 4,579 2,924 0
Weighted-average common shares - diluted (in shares) 67,856 61,998 54,993
Basic net income (loss) per common share (in dollars per share) $ 3.77 $ 0.57 $ (0.32)
Diluted net income (loss) per common share (in dollars per share) $ 3.51 $ 0.54 $ (0.32)
Potentially dilutive shares, weighted-average (in shares) 1,006 753 6,607
XML 80 R68.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue from Contracts with Customers - Revenue by Geographic Region (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenue $ 679,394 $ 541,239 $ 424,330
United States      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenue 565,964 473,779 365,701
Europe      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenue 45,879 22,925 11,464
Americas excluding U.S.      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenue 45,719 27,802 24,821
Middle East & Africa      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenue 19,018 14,075 18,617
Asia Pacific      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenue $ 2,814 $ 2,658 $ 3,727
XML 81 R69.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue from Contracts with Customers - Property and Equipment by Geographic Region (Details) - USD ($)
$ in Thousands
Dec. 31, 2021
Dec. 31, 2020
Revenues from External Customers and Long-Lived Assets [Line Items]    
Property and equipment, net $ 21,783 $ 20,381
United States    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Property and equipment, net 19,900 19,383
China    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Property and equipment, net 1,840 998
India    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Property and equipment, net $ 43 $ 0
XML 82 R70.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue from Contracts with Customers - Contract Costs (Details)
$ in Millions
12 Months Ended
Dec. 31, 2021
USD ($)
Revenue from Contract with Customer [Abstract]  
Capitalized contract cost, gross $ 7.4
Capitalized contract cost, amortization $ 1.4
XML 83 R71.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue from Contracts with Customers - Performance Obligation (Details)
$ in Millions
Dec. 31, 2021
USD ($)
Revenue from Contract with Customer [Abstract]  
Performance obligations expected to be satisfied $ 125.3
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation, percentage 34.00%
Performance obligations expected to be satisfied, expected timing 1 year
XML 84 R72.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue from Contracts with Customers - Contract Assets and Liabilities (Details) - USD ($)
$ in Thousands
3 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Disaggregation of Revenue [Line Items]    
Contract with customer, asset $ 1,700 $ 2,300
Contract with customer, asset, expected to be billed remainder of year, percent 91.00%  
Contract with customer, asset, prior period, not recognized $ 200  
Deferred revenue, current 27,478 19,189
Deferred revenue, long-term 22,016 19,904
Deferred revenue 49,494 39,093
Contract with customer, liability, revenue recognized 19,200  
Products and services    
Disaggregation of Revenue [Line Items]    
Deferred revenue, current 22,586 14,651
Deferred revenue, long-term 3,137 1,879
Extended warranty    
Disaggregation of Revenue [Line Items]    
Deferred revenue, current 4,892 4,538
Deferred revenue, long-term $ 18,879 $ 18,025
XML 85 R73.htm IDEA: XBRL DOCUMENT v3.22.0.1
Revenue from Contracts with Customers - Concentration Risk (Details) - Customer Concentration Risk
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Lumen Technologies, Inc. | Revenue from Contract with Customer Benchmark    
Concentration Risk [Line Items]    
Concentration of credit risk, percentage 11.00% 15.00%
One Customer | Accounts Receivable    
Concentration Risk [Line Items]    
Concentration of credit risk, percentage 12.00%  
XML 86 calx-20211231_htm.xml IDEA: XBRL DOCUMENT 0001406666 2021-01-01 2021-12-31 0001406666 2021-07-02 0001406666 2022-02-09 0001406666 2021-12-31 0001406666 2020-12-31 0001406666 calx:SystemsProductMember 2021-01-01 2021-12-31 0001406666 calx:SystemsProductMember 2020-01-01 2020-12-31 0001406666 calx:SystemsProductMember 2019-01-01 2019-12-31 0001406666 us-gaap:TechnologyServiceMember 2021-01-01 2021-12-31 0001406666 us-gaap:TechnologyServiceMember 2020-01-01 2020-12-31 0001406666 us-gaap:TechnologyServiceMember 2019-01-01 2019-12-31 0001406666 2020-01-01 2020-12-31 0001406666 2019-01-01 2019-12-31 0001406666 us-gaap:CommonStockMember 2018-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0001406666 us-gaap:RetainedEarningsMember 2018-12-31 0001406666 us-gaap:TreasuryStockMember 2018-12-31 0001406666 2018-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-12-31 0001406666 us-gaap:CommonStockMember 2019-01-01 2019-12-31 0001406666 us-gaap:RetainedEarningsMember 2019-01-01 2019-12-31 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-12-31 0001406666 us-gaap:CommonStockMember 2019-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0001406666 us-gaap:RetainedEarningsMember 2019-12-31 0001406666 us-gaap:TreasuryStockMember 2019-12-31 0001406666 2019-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-12-31 0001406666 us-gaap:CommonStockMember 2020-01-01 2020-12-31 0001406666 us-gaap:TreasuryStockMember 2020-01-01 2020-12-31 0001406666 us-gaap:RetainedEarningsMember 2020-01-01 2020-12-31 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-12-31 0001406666 us-gaap:CommonStockMember 2020-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0001406666 us-gaap:RetainedEarningsMember 2020-12-31 0001406666 us-gaap:TreasuryStockMember 2020-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-12-31 0001406666 us-gaap:CommonStockMember 2021-01-01 2021-12-31 0001406666 us-gaap:RetainedEarningsMember 2021-01-01 2021-12-31 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-12-31 0001406666 us-gaap:CommonStockMember 2021-12-31 0001406666 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001406666 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001406666 us-gaap:RetainedEarningsMember 2021-12-31 0001406666 us-gaap:TreasuryStockMember 2021-12-31 0001406666 srt:MinimumMember 2021-01-01 2021-12-31 0001406666 srt:MaximumMember 2021-01-01 2021-12-31 0001406666 srt:SubsidiariesMember calx:BrazilChinaAndUnitedKingdomMember 2021-12-31 0001406666 us-gaap:ComputerEquipmentMember 2021-01-01 2021-12-31 0001406666 srt:MinimumMember us-gaap:ComputerSoftwareIntangibleAssetMember 2021-01-01 2021-12-31 0001406666 srt:MaximumMember us-gaap:ComputerSoftwareIntangibleAssetMember 2021-01-01 2021-12-31 0001406666 us-gaap:EquipmentMember 2021-01-01 2021-12-31 0001406666 us-gaap:FurnitureAndFixturesMember 2021-01-01 2021-12-31 0001406666 us-gaap:CashMember 2021-12-31 0001406666 us-gaap:CashMember 2020-12-31 0001406666 us-gaap:CommercialPaperMember 2021-12-31 0001406666 us-gaap:CommercialPaperMember 2020-12-31 0001406666 us-gaap:MoneyMarketFundsMember 2021-12-31 0001406666 us-gaap:MoneyMarketFundsMember 2020-12-31 0001406666 us-gaap:CorporateDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:CorporateDebtSecuritiesMember 2020-12-31 0001406666 us-gaap:USGovernmentDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:USGovernmentDebtSecuritiesMember 2020-12-31 0001406666 us-gaap:CommercialPaperMember 2021-12-31 0001406666 us-gaap:CommercialPaperMember 2020-12-31 0001406666 us-gaap:USGovernmentDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:USGovernmentDebtSecuritiesMember 2020-12-31 0001406666 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2020-12-31 0001406666 us-gaap:CorporateDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:CorporateDebtSecuritiesMember 2020-12-31 0001406666 us-gaap:MunicipalNotesMember 2021-12-31 0001406666 us-gaap:MunicipalNotesMember 2020-12-31 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2021-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2021-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CommercialPaperMember 2021-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:CorporateDebtSecuritiesMember 2021-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalNotesMember 2021-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalNotesMember 2021-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember us-gaap:MunicipalNotesMember 2021-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001406666 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001406666 us-gaap:FairValueMeasurementsRecurringMember 2021-12-31 0001406666 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2020-12-31 0001406666 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2020-12-31 0001406666 us-gaap:AllowanceForCreditLossMember 2020-12-31 0001406666 us-gaap:AllowanceForCreditLossMember 2021-01-01 2021-12-31 0001406666 us-gaap:AllowanceForCreditLossMember 2021-12-31 0001406666 calx:SECSchedule1209ReserveProductReturnsMember 2020-12-31 0001406666 calx:SECSchedule1209ReserveProductReturnsMember 2021-01-01 2021-12-31 0001406666 calx:SECSchedule1209ReserveProductReturnsMember 2021-12-31 0001406666 us-gaap:AllowanceForCreditLossMember 2019-12-31 0001406666 us-gaap:AllowanceForCreditLossMember 2020-01-01 2020-12-31 0001406666 calx:SECSchedule1209ReserveProductReturnsMember 2019-12-31 0001406666 calx:SECSchedule1209ReserveProductReturnsMember 2020-01-01 2020-12-31 0001406666 us-gaap:AllowanceForCreditLossMember 2018-12-31 0001406666 us-gaap:AllowanceForCreditLossMember 2019-01-01 2019-12-31 0001406666 calx:SECSchedule1209ReserveProductReturnsMember 2018-12-31 0001406666 calx:SECSchedule1209ReserveProductReturnsMember 2019-01-01 2019-12-31 0001406666 us-gaap:EquipmentMember 2021-12-31 0001406666 us-gaap:EquipmentMember 2020-12-31 0001406666 us-gaap:ComputerEquipmentMember 2021-12-31 0001406666 us-gaap:ComputerEquipmentMember 2020-12-31 0001406666 calx:SoftwareMember 2021-12-31 0001406666 calx:SoftwareMember 2020-12-31 0001406666 us-gaap:FurnitureAndFixturesMember 2021-12-31 0001406666 us-gaap:FurnitureAndFixturesMember 2020-12-31 0001406666 us-gaap:LeaseholdImprovementsMember 2021-12-31 0001406666 us-gaap:LeaseholdImprovementsMember 2020-12-31 0001406666 us-gaap:ComputerSoftwareIntangibleAssetMember 2018-03-31 0001406666 us-gaap:ComputerSoftwareIntangibleAssetMember 2019-09-28 0001406666 us-gaap:ComputerSoftwareIntangibleAssetMember 2019-06-30 2019-09-28 0001406666 us-gaap:ComputerSoftwareIntangibleAssetMember 2021-12-31 0001406666 us-gaap:ComputerSoftwareIntangibleAssetMember 2020-12-31 0001406666 calx:CloudImplementationCostsMember 2020-01-31 0001406666 calx:CloudImplementationCostsMember 2020-01-01 2020-12-31 0001406666 calx:CloudImplementationCostsMember 2021-01-01 2021-12-31 0001406666 calx:AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember 2021-01-01 2021-12-31 0001406666 calx:SanJoseCaliforniaMember 2021-10-03 2021-12-31 0001406666 us-gaap:FacilityClosingMember 2020-01-01 2020-12-31 0001406666 us-gaap:EmployeeSeveranceMember 2020-01-01 2020-12-31 0001406666 us-gaap:FacilityClosingMember 2020-12-31 0001406666 us-gaap:EmployeeSeveranceMember 2020-12-31 0001406666 us-gaap:FacilityClosingMember 2021-01-01 2021-12-31 0001406666 us-gaap:EmployeeSeveranceMember 2021-01-01 2021-12-31 0001406666 us-gaap:FacilityClosingMember 2021-12-31 0001406666 us-gaap:EmployeeSeveranceMember 2021-12-31 0001406666 us-gaap:RevolvingCreditFacilityMember calx:BankOfAmericaMember 2021-12-31 0001406666 calx:ResearchAndDevelopmentEquipmentMember 2018-12-31 0001406666 calx:ResearchAndDevelopmentEquipmentMember 2021-10-03 2021-12-31 0001406666 calx:ResearchAndDevelopmentEquipmentMember 2021-12-31 0001406666 calx:ConsultingServicesMember 2019-12-31 0001406666 calx:ConsultingServicesMember 2018-12-31 0001406666 calx:ConsultingServicesMember 2020-09-27 2020-12-31 0001406666 calx:ConsultingServicesMember 2020-12-31 0001406666 calx:SanJoseCaliforniaMember 2021-12-31 0001406666 calx:BangaloreIndiaMember 2021-10-31 0001406666 calx:BangaloreIndiaMember 2021-12-31 0001406666 2021-11-30 0001406666 calx:PublicStockOfferingMember 2020-08-01 2020-08-31 0001406666 calx:PublicStockOfferingMember 2020-08-31 0001406666 us-gaap:OverAllotmentOptionMember 2020-08-01 2020-08-31 0001406666 us-gaap:CommonStockMember 2020-08-01 2020-08-31 0001406666 2020-08-01 2020-08-31 0001406666 us-gaap:RetainedEarningsMember 2020-08-01 2020-08-31 0001406666 calx:A2019EquityIncentiveAwardPlanMember 2019-05-31 0001406666 calx:A2019EquityIncentiveAwardPlanMember 2021-12-31 0001406666 calx:A2019EquityIncentiveAwardPlanMember 2021-01-01 2021-12-31 0001406666 us-gaap:EmployeeStockOptionMember calx:A2019EquityIncentiveAwardPlanMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2019-01-01 2019-12-31 0001406666 us-gaap:EmployeeStockOptionMember calx:A2019EquityIncentiveAwardPlanMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2019-01-01 2019-12-31 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember 2020-02-01 2020-02-29 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember 2020-02-29 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2020PerformanceTargetsMember 2020-02-01 2020-02-29 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2020PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2021-02-01 2021-02-20 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2020PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2021-02-01 2021-02-20 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2020PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2021-01-01 2021-12-31 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2020PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2020-01-01 2020-12-31 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember 2021-02-01 2021-02-28 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember us-gaap:SubsequentEventMember 2022-02-16 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2021-02-01 2021-02-28 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2021-02-01 2021-02-28 0001406666 srt:ExecutiveOfficerMember calx:PerformanceBasedStockOptionsMember calx:A2021PerformanceTargetsMember 2021-01-01 2021-12-31 0001406666 us-gaap:EmployeeStockMember calx:EmployeeStockPurchasePlanMember 2021-12-31 0001406666 us-gaap:EmployeeStockMember calx:EmployeeStockPurchasePlanMember 2021-01-01 2021-12-31 0001406666 us-gaap:EmployeeStockMember calx:EmployeeStockPurchasePlanMember 2019-05-01 2019-05-31 0001406666 us-gaap:EmployeeStockMember calx:EmployeeStockPurchasePlanMember 2019-04-30 0001406666 us-gaap:EmployeeStockMember calx:EmployeeStockPurchasePlanMember 2019-05-31 0001406666 us-gaap:EmployeeStockMember calx:EmployeeStockPurchasePlanMember 2021-10-03 2021-12-31 0001406666 calx:A2017NonqualifiedEmployeeStockPurchasePlanMember 2021-12-31 0001406666 calx:A2017NonqualifiedEmployeeStockPurchasePlanMember 2021-01-01 2021-12-31 0001406666 calx:A2017NonqualifiedEmployeeStockPurchasePlanMember 2020-05-01 2020-05-31 0001406666 calx:A2017NonqualifiedEmployeeStockPurchasePlanMember 2020-05-31 0001406666 calx:CostOfRevenueProductsMember 2021-01-01 2021-12-31 0001406666 calx:CostOfRevenueProductsMember 2020-01-01 2020-12-31 0001406666 calx:CostOfRevenueProductsMember 2019-01-01 2019-12-31 0001406666 calx:CostOfRevenueServicesMember 2021-01-01 2021-12-31 0001406666 calx:CostOfRevenueServicesMember 2020-01-01 2020-12-31 0001406666 calx:CostOfRevenueServicesMember 2019-01-01 2019-12-31 0001406666 us-gaap:SellingAndMarketingExpenseMember 2021-01-01 2021-12-31 0001406666 us-gaap:SellingAndMarketingExpenseMember 2020-01-01 2020-12-31 0001406666 us-gaap:SellingAndMarketingExpenseMember 2019-01-01 2019-12-31 0001406666 us-gaap:ResearchAndDevelopmentExpenseMember 2021-01-01 2021-12-31 0001406666 us-gaap:ResearchAndDevelopmentExpenseMember 2020-01-01 2020-12-31 0001406666 us-gaap:ResearchAndDevelopmentExpenseMember 2019-01-01 2019-12-31 0001406666 us-gaap:GeneralAndAdministrativeExpenseMember 2021-01-01 2021-12-31 0001406666 us-gaap:GeneralAndAdministrativeExpenseMember 2020-01-01 2020-12-31 0001406666 us-gaap:GeneralAndAdministrativeExpenseMember 2019-01-01 2019-12-31 0001406666 us-gaap:RestrictedStockUnitsRSUMember 2021-01-01 2021-12-31 0001406666 us-gaap:RestrictedStockUnitsRSUMember 2020-01-01 2020-12-31 0001406666 us-gaap:RestrictedStockUnitsRSUMember 2019-01-01 2019-12-31 0001406666 us-gaap:EmployeeStockMember 2021-01-01 2021-12-31 0001406666 us-gaap:EmployeeStockMember 2020-01-01 2020-12-31 0001406666 us-gaap:EmployeeStockMember 2019-01-01 2019-12-31 0001406666 us-gaap:EmployeeStockMember calx:A2017NonqualifiedEmployeeStockPurchasePlanMember 2021-01-01 2021-12-31 0001406666 us-gaap:EmployeeStockMember calx:A2017NonqualifiedEmployeeStockPurchasePlanMember 2020-01-01 2020-12-31 0001406666 us-gaap:EmployeeStockMember calx:A2017NonqualifiedEmployeeStockPurchasePlanMember 2019-01-01 2019-12-31 0001406666 us-gaap:EmployeeStockOptionMember 2021-01-01 2021-12-31 0001406666 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-12-31 0001406666 us-gaap:EmployeeStockOptionMember 2019-01-01 2019-12-31 0001406666 us-gaap:EmployeeStockOptionMember 2021-12-31 0001406666 us-gaap:EmployeeStockMember 2021-12-31 0001406666 calx:A2019PlanMember 2021-12-31 0001406666 us-gaap:EmployeeStockMember calx:A2017NonqualifiedEmployeeStockPurchasePlanMember 2021-12-31 0001406666 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2019-12-31 0001406666 us-gaap:AccumulatedTranslationAdjustmentMember 2019-12-31 0001406666 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2020-01-01 2020-12-31 0001406666 us-gaap:AccumulatedTranslationAdjustmentMember 2020-01-01 2020-12-31 0001406666 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2020-12-31 0001406666 us-gaap:AccumulatedTranslationAdjustmentMember 2020-12-31 0001406666 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2021-01-01 2021-12-31 0001406666 us-gaap:AccumulatedTranslationAdjustmentMember 2021-01-01 2021-12-31 0001406666 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2021-12-31 0001406666 us-gaap:AccumulatedTranslationAdjustmentMember 2021-12-31 0001406666 us-gaap:DomesticCountryMember 2021-12-31 0001406666 us-gaap:StateAndLocalJurisdictionMember 2021-12-31 0001406666 calx:CaliforniaStateMember 2021-12-31 0001406666 calx:OtherStateMember 2021-12-31 0001406666 country:US 2021-01-01 2021-12-31 0001406666 country:US 2020-01-01 2020-12-31 0001406666 country:US 2019-01-01 2019-12-31 0001406666 srt:EuropeMember 2021-01-01 2021-12-31 0001406666 srt:EuropeMember 2020-01-01 2020-12-31 0001406666 srt:EuropeMember 2019-01-01 2019-12-31 0001406666 calx:AmericasExUSMember 2021-01-01 2021-12-31 0001406666 calx:AmericasExUSMember 2020-01-01 2020-12-31 0001406666 calx:AmericasExUSMember 2019-01-01 2019-12-31 0001406666 calx:MiddleEastAndAfricaMember 2021-01-01 2021-12-31 0001406666 calx:MiddleEastAndAfricaMember 2020-01-01 2020-12-31 0001406666 calx:MiddleEastAndAfricaMember 2019-01-01 2019-12-31 0001406666 srt:AsiaPacificMember 2021-01-01 2021-12-31 0001406666 srt:AsiaPacificMember 2020-01-01 2020-12-31 0001406666 srt:AsiaPacificMember 2019-01-01 2019-12-31 0001406666 country:US 2021-12-31 0001406666 country:US 2020-12-31 0001406666 country:CN 2021-12-31 0001406666 country:CN 2020-12-31 0001406666 country:IN 2021-12-31 0001406666 country:IN 2020-12-31 0001406666 calx:ProductAndServicesMember 2021-12-31 0001406666 calx:ProductAndServicesMember 2020-12-31 0001406666 calx:ExtendedWarrantyMember 2021-12-31 0001406666 calx:ExtendedWarrantyMember 2020-12-31 0001406666 2021-10-03 2021-12-31 0001406666 2022-01-01 2021-12-31 0001406666 calx:LumenTechnologiesIncMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-12-31 0001406666 calx:LumenTechnologiesIncMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-12-31 0001406666 calx:OneCustomerMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-12-31 iso4217:USD shares iso4217:USD shares pure calx:period 0001406666 false 2021 FY P1Y P3Y P5Y P3Y http://fasb.org/us-gaap/2021-01-31#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2021-01-31#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2021-01-31#AccruedLiabilitiesCurrent P1Y 10-K true 2021-12-31 --12-31 false 001-34674 Calix, Inc. DE 68-0438710 2777 Orchard Parkway San Jose CA 95134 408 514-3000 Common Stock, $0.025 par value CALX NYSE No No Yes Yes Large Accelerated Filer false false true false 2532000000 64438795 <div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%">DOCUMENTS INCORPORATED BY REFERENCE</span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Portions of the registrant’s definitive proxy statement for its 2022 annual meeting of stockholders are incorporated by reference in Items 10, 11, 12, 13 and 14 of Part III.</span></div> KPMG LLP Santa Clara, California 51333000 80807000 153002000 52982000 85219000 69419000 88880000 52268000 30811000 11414000 409245000 266890000 21783000 20381000 12182000 11741000 168962000 0 116175000 116175000 13685000 12165000 742032000 427352000 29061000 13115000 71597000 68736000 27478000 19189000 128136000 101040000 22016000 19904000 12376000 12946000 11076000 13137000 173604000 147027000 0.025 0.025 5000000 5000000 0 0 0 0 0 0 0.025 0.025 100000000 100000000 64274000 64274000 62122000 62122000 1607000 1553000 997855000 948055000 -320000 -191000 -430714000 -669092000 568428000 280325000 742032000 427352000 642577000 508552000 393231000 36817000 32687000 31099000 679394000 541239000 424330000 297103000 251638000 211309000 25704000 22582000 25096000 322807000 274220000 236405000 356587000 267019000 187925000 125909000 94185000 82553000 101747000 85258000 81184000 55779000 44444000 37115000 -786000 6286000 0 0 0 2474000 282649000 230173000 203326000 73938000 36846000 -15401000 -402000 -1585000 -958000 -882000 -977000 -173000 -1284000 -2562000 -1131000 72654000 34284000 -16532000 -165724000 800000 1162000 238378000 33484000 -17694000 3.77 0.57 -0.32 3.51 0.54 -0.32 63277000 59074000 54993000 67856000 61998000 54993000 238378000 33484000 -17694000 -179000 0 0 50000 663000 -101000 -129000 663000 -101000 238249000 34147000 -17795000 53955000 1482000 876073000 -753000 -684882000 -39986000 151934000 11181000 11181000 2493000 63000 8645000 8708000 -17694000 -17694000 -101000 -101000 56448000 1545000 895899000 -854000 -702576000 -39986000 154028000 13960000 13960000 2454000 60000 18067000 18127000 3220000 82000 59981000 60063000 134000 39852000 -39986000 0 33484000 33484000 663000 663000 62122000 1553000 948055000 -191000 -669092000 0 280325000 24230000 24230000 2152000 54000 25570000 25624000 238378000 238378000 -129000 -129000 64274000 1607000 997855000 -320000 -430714000 0 568428000 238378000 33484000 -17694000 24230000 13960000 11181000 15012000 13718000 10316000 168426000 0 0 0 -3914000 -2636000 15800000 22910000 -20517000 36612000 12116000 -9998000 27074000 -773000 63000 16025000 2190000 -29440000 3273000 11922000 -1836000 10400000 3596000 2401000 -2613000 2878000 -3362000 56793000 51409000 4654000 10463000 7819000 13353000 298092000 72982000 0 197894000 20000000 0 -110661000 -60801000 -13353000 25624000 18127000 8708000 1241000 5758000 2737000 0 60063000 0 0 30000000 143300000 0 60285000 143300000 24383000 42147000 5971000 11000 595000 -89000 -29474000 33350000 -2817000 80807000 47457000 50274000 51333000 80807000 47457000 631000 1686000 1123000 5197000 751000 403000 194000 -597000 -2435000 Description of Business and Significant Accounting Policies<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Company</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Calix, Inc. (together with its subsidiaries, “Calix” or the “Company”) was incorporated in August 1999 and is a Delaware corporation. The Company is the leading global provider of cloud and software platforms, systems and services that focus on the access network, the portion of the network that governs available bandwidth and determines the range and quality of services that can be offered to subscribers. These cloud and software platforms enable broadband service providers (“BSPs”) of all types and sizes to innovate and transform their businesses. The Company’s BSP customers are empowered to utilize real-time data and insights from Calix platforms to simplify their businesses and deliver experiences that excite their subscribers. These insights enable BSPs to grow their businesses through increased subscriber acquisition, loyalty and revenue, thereby increasing the value of their businesses and contributions to their communities.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation and Accounting Guidance</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying consolidated financial statements have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) and U.S. generally accepted accounting principles (“GAAP”). All significant intercompany balances and transactions have been eliminated in consolidation. Any reference in these notes to applicable accounting guidance is meant to refer to the authoritative U.S. GAAP as found in the Financial Accounting Standards Board (“FASB”) Accounting Standards Codification (“ASC”).</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Risks and Uncertainties</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to risks and uncertainties as a result of the COVID-19 pandemic. The extent of the impact of the COVID-19 pandemic on the Company’s business is highly uncertain and difficult to predict, particularly as variants of the coronavirus continue to spread around the world. Although the availability of vaccines has increased, there are no assurances as to when the pandemic will become endemic. In March 2020, the Company instituted office closures, travel restrictions and a work-from-anywhere policy for substantially all of its employees due to shelter-in-place mandates. In July 2021, the Company reopened its U.S. offices to fully-vaccinated employees who choose to work in the office and lifted certain travel restrictions. The COVID-19 pandemic has had a prolonged impact on the Company’s supply chain operations due to restrictions, reduced capacity and limited availability from suppliers on whom the Company relies for sourcing components and materials and from third-party partners on whom the Company relies for manufacturing, warehousing and logistics services. Although demand for the Company’s products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers’ purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy, which could in turn impact the Company’s revenue and results of operations. Furthermore, the Company’s supply chain continues to face constraints primarily due to challenges in sourcing components and materials for the Company’s products. The prolonged impact of COVID-19 could exacerbate these constraints or cause further supply chain disruptions. As of the issuance date of these condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact the Company’s financial condition, liquidity or results of operations remains uncertain.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements is in conformity with U.S. GAAP, which requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. For the Company, these estimates include, but are not limited to: allowances for doubtful accounts and sales returns, excess and obsolete inventory, allowances for obligations to its contract manufacturers, valuation of stock-based compensation, useful lives assigned to long-lived assets, standard and extended warranty costs, realizability of deferred tax assets and uncertain tax positions and contingencies. Actual results could differ from those estimates, and such differences could be material to the Company’s financial position and results of operations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company derives revenue from contracts with customers primarily from the following and categorizes its revenue as follows:</span></div><div style="padding-left:31.5pt;text-indent:-9pt"><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:5.5pt">Systems include revenue from the sale of access and premises systems, software platform licenses and cloud-based software subscriptions.</span></div><div style="padding-left:31.5pt;text-indent:-9pt"><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:5.5pt">Services include revenue from customer support, software- and cloud-based maintenance, extended warranty subscriptions, professional services, training and managed services.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized when a performance obligation is satisfied, which occurs when control of the promised goods or services is transferred to the customer, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those goods or services. Revenue from sales of access and premises systems is recognized when control is transferred to the customer, which is generally when the products are shipped. Revenue from software platform licenses, which provides the customer with a right to use the software as it exists, is generally recognized upfront when made available to the customer. Revenue from cloud-based software subscriptions, customer support, maintenance, extended warranty subscriptions and managed services is generally recognized ratably over the contract term. Revenue from professional services and training is recognized as the services are delivered.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The Company’s hardware products contain both software and non-software components that function together to deliver the products’ essential functionality and therefore constitutes a single performance obligation as the promise to transfer the individual software and non-software components is not separately identifiable and, therefore, not distinct. The Company’s contracts may include multiple performance obligations. For such arrangements, the Company allocates the contract’s transaction price to each performance obligation using the relative stand-alone selling price of each distinct good or service in the contract. The Company generally determines stand-alone selling prices based on the prices charged to customers or its best estimate of stand-alone selling price. The Company’s estimate of stand-alone selling price is established considering multiple factors including, but not limited to, geographies, market conditions, competitive landscape, internal costs, gross margin objectives, characteristics of targeted customers and pricing practices. The determination of estimated stand-alone selling price is made through consultation with and formal approval by management, taking into consideration the go-to-market strategy.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenue</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue consists primarily of finished goods inventory purchased from the Company’s contract manufacturers, payroll and related expenses associated with managing the relationships with contract manufacturers, depreciation of manufacturing test equipment, warranty and retrofit costs, excess and obsolete inventory costs, allowances for obligations to its contract manufacturers, shipping charges and amortization of certain intangible assets. It also includes contractor and other costs of services incurred directly related to the delivery of services to customers.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Warranty and Retrofit</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company offers limited warranties for its hardware products for a period of <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmE4YzU1YWQyN2VhMTQ3M2U5M2M1MGM0Y2YyZmE0ZmJiL3NlYzphOGM1NWFkMjdlYTE0NzNlOTNjNTBjNGNmMmZhNGZiYl84Mi9mcmFnOmY4ZDQyMTIyZGMzMTQxMDg4NDAzYmY1YWQ2ZDk5ZjE5L3RleHRyZWdpb246ZjhkNDIxMjJkYzMxNDEwODg0MDNiZjVhZDZkOTlmMTlfODQwNA_f8f70e90-9ff8-404b-b88d-90395e2d3f10">one</span>, <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmE4YzU1YWQyN2VhMTQ3M2U5M2M1MGM0Y2YyZmE0ZmJiL3NlYzphOGM1NWFkMjdlYTE0NzNlOTNjNTBjNGNmMmZhNGZiYl84Mi9mcmFnOmY4ZDQyMTIyZGMzMTQxMDg4NDAzYmY1YWQ2ZDk5ZjE5L3RleHRyZWdpb246ZjhkNDIxMjJkYzMxNDEwODg0MDNiZjVhZDZkOTlmMTlfODQwOA_da82d239-3ae8-4a0d-8e5c-f6f4188cb900">three</span> or <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmE4YzU1YWQyN2VhMTQ3M2U5M2M1MGM0Y2YyZmE0ZmJiL3NlYzphOGM1NWFkMjdlYTE0NzNlOTNjNTBjNGNmMmZhNGZiYl84Mi9mcmFnOmY4ZDQyMTIyZGMzMTQxMDg4NDAzYmY1YWQ2ZDk5ZjE5L3RleHRyZWdpb246ZjhkNDIxMjJkYzMxNDEwODg0MDNiZjVhZDZkOTlmMTlfODQxNA_11dffd7e-75c0-4e63-a020-9df5a2c2efe9">five</span> years, depending on the product type. The Company recognizes estimated costs related to warranty activities as a component of cost of revenue upon product shipment or upon identification of a specific product failure. Under certain circumstances, the Company also provides fixes on specifically identified performance failures for products that are outside of the standard warranty period and recognizes estimated costs related to retrofit activities as a component of cost of revenue upon identification of such product failures. The Company recognizes estimated warranty and retrofit costs when it is probable that a liability has been incurred and the amount of loss is reasonably estimable. The estimates are based upon historical and projected product failure and claim rates, historical costs incurred in correcting product failures and information available related to any specifically identified product failures. Judgment is required in estimating costs associated with warranty and retrofit activities, and the Company's estimates are limited to information available to the Company at the time of such estimates. In some cases, such as when a specific product failure is first identified or a new product is introduced, the Company may initially have limited information and limited historical failure and claim rates upon which to base its estimates, and such estimates may require revision in future periods. The recorded amount is adjusted from time to time for specifically identified warranty and retrofit exposure. Actual warranty and retrofit expenses are charged against the Company’s estimated warranty and retrofit liability when incurred. Factors that affect the Company’s warranty and retrofit liability include the number of active installed units and historical and anticipated rates of warranty and retrofit claims and cost per claim.</span></div><div style="margin-top:9pt"><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="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense associated with stock options, performance stock options (“PSOs”), restricted stock units (“RSUs”) and purchase rights under the Amended and Restated Employee Stock Purchase Plan (the “ESPP”) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the “NQ ESPP”) is measured at the grant date based on the fair value of the award, and is recognized, net of forfeitures, as expense over the remaining requisite service period (generally the vesting period) on a straight-line basis.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of stock option and employee stock purchase right under the ESPP is estimated at the grant date using the Black-Scholes option valuation model. The fair value of RSUs and employee stock purchase right under the NQ ESPP is based on closing market price of the Company’s common stock on the date of grant.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense associated with PSOs with graded vesting features and which contain both a performance and a service condition is measured based on fair value of stock options estimated at the grant date using the Black-Scholes option valuation model, and is recognized, net of forfeitures, as expense over the requisite service period using the graded vesting attribution method.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Compensation expense is only recognized if the Company has determined that it is probable that the performance condition will be met. The Company reassesses the probability of vesting at each reporting period and adjusts compensation expense based on its probability assessment.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Loss Contingencies</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company is involved in legal proceedings arising from the normal course of business activities. The Company evaluates the likelihood of an unfavorable outcome of legal proceedings to which it is a party and accrues a loss contingency when the loss is probable and reasonably estimable. Assessing legal contingencies involves significant judgment and estimates, and the outcome of litigation is inherently uncertain and subject to numerous factors outside the Company’s control. Significant judgment is required when the Company assesses the likelihood of any adverse judgments or outcomes, including the potential range of possible losses, and whether losses are probable and reasonably estimable.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because of uncertainties related to these matters, the Company bases its estimates of whether a loss contingency is probable or reasonably possible, as well as the reasonable range of possible losses associated with each loss contingency, only on the information available at the time. As additional information becomes available, and at least quarterly, the Company reassesses the potential liability on each significant matter and may revise its estimates. These revisions could have a material impact on the Company’s business, operating results or financial condition. The actual outcome of these legal proceedings may materially differ from the Company’s estimates of potential liability, which could have a material adverse effect on the Company’s business, operating results or financial condition.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Credit Risk and Inventory Supplier Concentrations</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial instruments that potentially subject the Company to significant concentrations of credit risk consist primarily of cash, cash equivalents, marketable securities and accounts receivable. Cash equivalents consist of money market funds and marketable securities with a maturity at the date of purchase of ninety days or less, which are invested through financial institutions in the United States. Deposits in and investments held by these financial institutions may, at times, exceed federally insured limits. The Company has not experienced any losses in such accounts. The Company also has approximately $3.6 million of cash held by its foreign subsidiaries in Brazil, China and the United Kingdom. Management believes that the financial institutions that hold the Company’s cash and cash equivalents are financially sound and, accordingly, minimal credit risk exists with respect to these cash and cash equivalents.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company depends primarily on a small number of outside contract manufacturers (“CMs”) and original design manufacturers (“ODMs”) for the bulk of its finished goods inventory. The Company generally purchases its products through purchase orders with its suppliers. While the Company seeks to maintain a sufficient supply of its products, the Company’s business and results of operations could be adversely affected by a stoppage or delay in receiving such products, the receipt of defective parts, an increase in price of such products or the Company’s inability to obtain lower prices from its CMs, ODMs and other suppliers in response to competitive pressures.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Fair Value of Financial Instruments</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of cash and cash equivalents, trade receivables, accounts payable and other accrued liabilities approximate their fair value due to their relatively short-term nature. Marketable securities are valued using quoted market prices in active markets to determine fair value.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash, Cash Equivalents and Marketable Securities</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents and marketable securities are stated at amounts that approximate fair value based on quoted market prices.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as U.S. treasury bonds, corporate debt instruments, commercial paper and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent highly liquid U.S. treasury bonds, corporate debt instruments, commercial paper and U.S. government securities with maturities greater than 90 days at date of purchase. Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of comprehensive loss in the stockholders’ equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">identification method and are reclassified from accumulated other comprehensive loss to results of operations as “Other income (expense), net.” Realized loss was de minimis for 2021.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the Company’s available-for-sale debt securities in an unrealized loss position, the Company determines whether a credit loss exists. In this assessment, among other factors, the Company considers the extent to which the fair value is less than the amortized cost, any changes to the rating of the security by a rating agency, and adverse conditions specifically related to the security. If factors indicate a credit loss exists, an allowance for credit loss will be recorded to “Other income (expense), net,” limited by the amount that the fair value is less than the amortized cost basis. The amount of fair value change relating to all other factors will be recognized in other comprehensive loss.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See Note 2 “</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Cash, Cash Equivalents and Marketable Securities.”</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Allowance for Doubtful Accounts</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains an allowance for doubtful accounts for expected credit losses at contract inception resulting from the inability of its customers to make required payments. The Company records a specific allowance and revises the expected loss based on an analysis of individual past-due balances. Additionally, based on historical write-offs and the Company’s collection experience, the Company records an additional allowance based on a percentage of outstanding receivables. The Company performs credit evaluations of its customers’ financial condition. These evaluations require judgment and are based on a variety of factors including, but not limited to, current economic trends, payment history and a financial review of the customer. Actual collection losses may differ from management’s estimates, and such differences could be material to the Company's financial position and results of operations.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Inventory Valuation and Supplier Purchase Commitments</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory, which primarily consists of finished goods purchased from CMs or ODMs, is stated at the lower of cost (determined by the first-in, first-out method) or market value. Inbound shipping costs and U.S. tariffs are included in cost of inventory. In addition, the Company, from time to time, procures component inventory primarily as a result of manufacturing discontinuation of critical components by suppliers. The Company regularly monitors inventory quantities on hand and records write-downs for excess and obsolete inventories based on the Company’s estimate of demand for its products, potential obsolescence of technology, product life cycles and whether pricing trends or forecasts indicate that the carrying value of inventory exceeds its estimated selling price. The Company also evaluates its supplier purchase commitments, which have increased significantly due to extended lead-times in the current supply chain environment, and records a liability for excess and obsolete components based on its estimated demand of our products, potential obsolescence of technology and product life cycles.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;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%">These factors are impacted by market and economic conditions, technology changes and new product introductions and require significant estimates that may include elements that are uncertain. Actual demand may differ from forecasted demand and may have a material effect on gross profit. If inventory is written down, a new cost basis is established that cannot be increased in future periods. Shipments from suppliers before the Company receives them are recorded as in-transit inventory when title and the significant risks and rewards of ownership have passed to the Company.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Contract Costs</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company capitalizes certain sales commissions related primarily to multi-year cloud-based software subscriptions and extended warranty support contracts.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized commissions are amortized as sales and marketing expenses over the period that the related revenue is recognized, which can be up to five years for extended warranty. The Company classifies the unamortized portion of deferred commissions as current or noncurrent based on the timing of when the Company expects to recognize the expense. The current and noncurrent portions of deferred commissions are included in “Prepaid expenses and other current assets” and “Other assets,” respectively, in the Company’s Consolidated Balance Sheets.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost, less accumulated depreciation, and are depreciated using the straight-line method over the estimated useful life of each asset. Generally, computer equipment is depreciated over two years; purchased software is depreciated over <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmE4YzU1YWQyN2VhMTQ3M2U5M2M1MGM0Y2YyZmE0ZmJiL3NlYzphOGM1NWFkMjdlYTE0NzNlOTNjNTBjNGNmMmZhNGZiYl84Mi9mcmFnOmY4ZDQyMTIyZGMzMTQxMDg4NDAzYmY1YWQ2ZDk5ZjE5L3RleHRyZWdpb246ZjhkNDIxMjJkYzMxNDEwODg0MDNiZjVhZDZkOTlmMTlfMjAyMjc_4e62494f-e28c-4806-a369-80a00bfdd143">three</span> to five years; test equipment is depreciated over three years; furniture and fixtures are depreciated over seven years; and leasehold improvements are depreciated over the shorter of the respective lease term or the estimated useful life of the asset. Maintenance and repairs are charged to expense as incurred.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill was recorded as a result of the Company’s acquisitions of Occam Networks, Inc. in February 2011 and Optical Solutions, Inc. in February 2006. The Company records goodwill when consideration paid in a business acquisition exceeds the fair value of the net tangible assets and the identified intangible assets acquired. Goodwill is not amortized but instead is subject </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to an annual impairment test or more frequently if events or changes in circumstances indicate that it may be impaired. The Company evaluates goodwill on an annual basis as of the end of the second quarter of each fiscal year. Management has determined that it operates as a single reporting unit and, therefore, evaluates goodwill impairment at the enterprise level.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the end of the second quarter of 2021, the Company completed its annual goodwill impairment test. Based on its assessment of certain qualitative factors such as market capitalization, management concluded that the fair value of the Company was more likely than not greater than its carrying amount as of June 27, 2021. As such, it was not necessary to perform the two-step quantitative goodwill impairment test at the time.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no significant events or changes in circumstances subsequent to the 2021 annual impairment test that would more likely than not indicate that the carrying value of goodwill may have been impaired as of December 31, 2021. There were no impairment losses for goodwill for the years ended December 31, 2021, 2020 or 2019.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Deferred Revenue</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue results from transactions where the Company billed the customer for products or services and when cash payments are received or due prior to transferring control of the promised goods or services to the customer. </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Payment terms to customers typically range from net 30 to net 90 days and vary by the size and location of customer and the products or services offered. The period between the transfer of control of the promised good or service to a customer and when payment is due is not significant.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluates its tax positions and estimates its current tax exposure along with assessing temporary differences that result from different book to tax treatment of items not currently deductible for tax purposes. These differences result in deferred tax assets and liabilities on the Company’s Consolidated Balance Sheets, which are estimated based upon the difference between the financial statement and tax bases of assets and liabilities using the enacted tax rates that will be in effect when these differences reverse. In general, deferred tax assets represent future tax benefits to be received when certain expenses previously recognized in the Company’s Consolidated Statements of Comprehensive Income (Loss) become deductible expenses under applicable income tax laws or loss or credit carryforwards are utilized. Accordingly, realization of the Company’s deferred tax assets is dependent on future taxable income against which these deductions, losses and credits can be utilized.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company must assess the likelihood that its deferred tax assets will be recovered from future taxable income, and to the extent the Company believes that recovery is not more likely than not, it must establish a valuation allowance. Management judgment is required in determining the Company’s provision for income taxes, our deferred tax assets and liabilities and any valuation allowance recorded against its net deferred tax assets. Prior to the third quarter of 2021, the Company maintained a 100% valuation allowance against all deferred tax assets, because there was insufficient positive evidence to overcome the existing negative evidence, primarily consisting of several years of consecutive reported pre-tax losses, such that it was not more likely than not that the deferred tax assets were realizable. In the third quarter of 2021, the Company had reported positive operating performance for five consecutive quarters and continued to maintain a cumulative three-year pre-tax profit. In addition, the Company expects continued positive operating performance into the foreseeable future to allow for utilization of all operating loss and substantially all tax credit carryforwards prior to their expiration. After considering these factors, the Company determined that the positive evidence overcame any negative evidence and concluded that it was more likely than not that a substantial portion of its U.S. federal and certain other state deferred tax assets were realizable. The Company currently maintains a valuation allowance of $29.2 million for certain U.S. federal and California state deferred tax assets.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Newly Adopted Accounting Standards</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not adopt any new accounting standards in 2021 that were significant to the Company.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no accounting pronouncements or changes in accounting pronouncements that are significant or potentially significant to the Company.</span></div> <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation and Accounting Guidance</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying consolidated financial statements have been prepared in accordance with the requirements of the U.S. Securities and Exchange Commission (“SEC”) and U.S. generally accepted accounting principles (“GAAP”). All significant intercompany balances and transactions have been eliminated in consolidation. Any reference in these notes to applicable accounting guidance is meant to refer to the authoritative U.S. GAAP as found in the Financial Accounting Standards Board (“FASB”) Accounting Standards Codification (“ASC”).</span></div> <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Risks and Uncertainties</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to risks and uncertainties as a result of the COVID-19 pandemic. The extent of the impact of the COVID-19 pandemic on the Company’s business is highly uncertain and difficult to predict, particularly as variants of the coronavirus continue to spread around the world. Although the availability of vaccines has increased, there are no assurances as to when the pandemic will become endemic. In March 2020, the Company instituted office closures, travel restrictions and a work-from-anywhere policy for substantially all of its employees due to shelter-in-place mandates. In July 2021, the Company reopened its U.S. offices to fully-vaccinated employees who choose to work in the office and lifted certain travel restrictions. The COVID-19 pandemic has had a prolonged impact on the Company’s supply chain operations due to restrictions, reduced capacity and limited availability from suppliers on whom the Company relies for sourcing components and materials and from third-party partners on whom the Company relies for manufacturing, warehousing and logistics services. Although demand for the Company’s products has been strong in the short-term as subscribers seek more bandwidth and better Wi-Fi, customers’ purchasing decisions over the long-term may be impacted by the pandemic and its impact on the economy, which could in turn impact the Company’s revenue and results of operations. Furthermore, the Company’s supply chain continues to face constraints primarily due to challenges in sourcing components and materials for the Company’s products. The prolonged impact of COVID-19 could exacerbate these constraints or cause further supply chain disruptions. As of the issuance date of these condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact the Company’s financial condition, liquidity or results of operations remains uncertain.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Loss Contingencies</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company is involved in legal proceedings arising from the normal course of business activities. The Company evaluates the likelihood of an unfavorable outcome of legal proceedings to which it is a party and accrues a loss contingency when the loss is probable and reasonably estimable. Assessing legal contingencies involves significant judgment and estimates, and the outcome of litigation is inherently uncertain and subject to numerous factors outside the Company’s control. Significant judgment is required when the Company assesses the likelihood of any adverse judgments or outcomes, including the potential range of possible losses, and whether losses are probable and reasonably estimable.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because of uncertainties related to these matters, the Company bases its estimates of whether a loss contingency is probable or reasonably possible, as well as the reasonable range of possible losses associated with each loss contingency, only on the information available at the time. As additional information becomes available, and at least quarterly, the Company reassesses the potential liability on each significant matter and may revise its estimates. These revisions could have a material impact on the Company’s business, operating results or financial condition. The actual outcome of these legal proceedings may materially differ from the Company’s estimates of potential liability, which could have a material adverse effect on the Company’s business, operating results or financial condition.</span></div> <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of financial statements is in conformity with U.S. GAAP, which requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. For the Company, these estimates include, but are not limited to: allowances for doubtful accounts and sales returns, excess and obsolete inventory, allowances for obligations to its contract manufacturers, valuation of stock-based compensation, useful lives assigned to long-lived assets, standard and extended warranty costs, realizability of deferred tax assets and uncertain tax positions and contingencies. Actual results could differ from those estimates, and such differences could be material to the Company’s financial position and results of operations.</span></div> <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Revenue Recognition</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company derives revenue from contracts with customers primarily from the following and categorizes its revenue as follows:</span></div><div style="padding-left:31.5pt;text-indent:-9pt"><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:5.5pt">Systems include revenue from the sale of access and premises systems, software platform licenses and cloud-based software subscriptions.</span></div><div style="padding-left:31.5pt;text-indent:-9pt"><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:5.5pt">Services include revenue from customer support, software- and cloud-based maintenance, extended warranty subscriptions, professional services, training and managed services.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue is recognized when a performance obligation is satisfied, which occurs when control of the promised goods or services is transferred to the customer, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those goods or services. Revenue from sales of access and premises systems is recognized when control is transferred to the customer, which is generally when the products are shipped. Revenue from software platform licenses, which provides the customer with a right to use the software as it exists, is generally recognized upfront when made available to the customer. Revenue from cloud-based software subscriptions, customer support, maintenance, extended warranty subscriptions and managed services is generally recognized ratably over the contract term. Revenue from professional services and training is recognized as the services are delivered.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. The Company’s hardware products contain both software and non-software components that function together to deliver the products’ essential functionality and therefore constitutes a single performance obligation as the promise to transfer the individual software and non-software components is not separately identifiable and, therefore, not distinct. The Company’s contracts may include multiple performance obligations. For such arrangements, the Company allocates the contract’s transaction price to each performance obligation using the relative stand-alone selling price of each distinct good or service in the contract. The Company generally determines stand-alone selling prices based on the prices charged to customers or its best estimate of stand-alone selling price. The Company’s estimate of stand-alone selling price is established considering multiple factors including, but not limited to, geographies, market conditions, competitive landscape, internal costs, gross margin objectives, characteristics of targeted customers and pricing practices. The determination of estimated stand-alone selling price is made through consultation with and formal approval by management, taking into consideration the go-to-market strategy.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Deferred Revenue</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue results from transactions where the Company billed the customer for products or services and when cash payments are received or due prior to transferring control of the promised goods or services to the customer. </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Payment terms to customers typically range from net 30 to net 90 days and vary by the size and location of customer and the products or services offered. The period between the transfer of control of the promised good or service to a customer and when payment is due is not significant.</span></div> <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cost of Revenue</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cost of revenue consists primarily of finished goods inventory purchased from the Company’s contract manufacturers, payroll and related expenses associated with managing the relationships with contract manufacturers, depreciation of manufacturing test equipment, warranty and retrofit costs, excess and obsolete inventory costs, allowances for obligations to its contract manufacturers, shipping charges and amortization of certain intangible assets. It also includes contractor and other costs of services incurred directly related to the delivery of services to customers.</span></div> <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Warranty and Retrofit</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company offers limited warranties for its hardware products for a period of <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmE4YzU1YWQyN2VhMTQ3M2U5M2M1MGM0Y2YyZmE0ZmJiL3NlYzphOGM1NWFkMjdlYTE0NzNlOTNjNTBjNGNmMmZhNGZiYl84Mi9mcmFnOmY4ZDQyMTIyZGMzMTQxMDg4NDAzYmY1YWQ2ZDk5ZjE5L3RleHRyZWdpb246ZjhkNDIxMjJkYzMxNDEwODg0MDNiZjVhZDZkOTlmMTlfODQwNA_f8f70e90-9ff8-404b-b88d-90395e2d3f10">one</span>, <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmE4YzU1YWQyN2VhMTQ3M2U5M2M1MGM0Y2YyZmE0ZmJiL3NlYzphOGM1NWFkMjdlYTE0NzNlOTNjNTBjNGNmMmZhNGZiYl84Mi9mcmFnOmY4ZDQyMTIyZGMzMTQxMDg4NDAzYmY1YWQ2ZDk5ZjE5L3RleHRyZWdpb246ZjhkNDIxMjJkYzMxNDEwODg0MDNiZjVhZDZkOTlmMTlfODQwOA_da82d239-3ae8-4a0d-8e5c-f6f4188cb900">three</span> or <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmE4YzU1YWQyN2VhMTQ3M2U5M2M1MGM0Y2YyZmE0ZmJiL3NlYzphOGM1NWFkMjdlYTE0NzNlOTNjNTBjNGNmMmZhNGZiYl84Mi9mcmFnOmY4ZDQyMTIyZGMzMTQxMDg4NDAzYmY1YWQ2ZDk5ZjE5L3RleHRyZWdpb246ZjhkNDIxMjJkYzMxNDEwODg0MDNiZjVhZDZkOTlmMTlfODQxNA_11dffd7e-75c0-4e63-a020-9df5a2c2efe9">five</span> years, depending on the product type. The Company recognizes estimated costs related to warranty activities as a component of cost of revenue upon product shipment or upon identification of a specific product failure. Under certain circumstances, the Company also provides fixes on specifically identified performance failures for products that are outside of the standard warranty period and recognizes estimated costs related to retrofit activities as a component of cost of revenue upon identification of such product failures. The Company recognizes estimated warranty and retrofit costs when it is probable that a liability has been incurred and the amount of loss is reasonably estimable. The estimates are based upon historical and projected product failure and claim rates, historical costs incurred in correcting product failures and information available related to any specifically identified product failures. Judgment is required in estimating costs associated with warranty and retrofit activities, and the Company's estimates are limited to information available to the Company at the time of such estimates. In some cases, such as when a specific product failure is first identified or a new product is introduced, the Company may initially have limited information and limited historical failure and claim rates upon which to base its estimates, and such estimates may require revision in future periods. The recorded amount is adjusted from time to time for specifically identified warranty and retrofit exposure. Actual warranty and retrofit expenses are charged against the Company’s estimated warranty and retrofit liability when incurred. Factors that affect the Company’s warranty and retrofit liability include the number of active installed units and historical and anticipated rates of warranty and retrofit claims and cost per claim.</span></div> <div style="margin-top:9pt"><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="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense associated with stock options, performance stock options (“PSOs”), restricted stock units (“RSUs”) and purchase rights under the Amended and Restated Employee Stock Purchase Plan (the “ESPP”) and the Amended and Restated 2017 Nonqualified Employee Stock Purchase Plan (the “NQ ESPP”) is measured at the grant date based on the fair value of the award, and is recognized, net of forfeitures, as expense over the remaining requisite service period (generally the vesting period) on a straight-line basis.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of stock option and employee stock purchase right under the ESPP is estimated at the grant date using the Black-Scholes option valuation model. The fair value of RSUs and employee stock purchase right under the NQ ESPP is based on closing market price of the Company’s common stock on the date of grant.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense associated with PSOs with graded vesting features and which contain both a performance and a service condition is measured based on fair value of stock options estimated at the grant date using the Black-Scholes option valuation model, and is recognized, net of forfeitures, as expense over the requisite service period using the graded vesting attribution method.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Compensation expense is only recognized if the Company has determined that it is probable that the performance condition will be met. The Company reassesses the probability of vesting at each reporting period and adjusts compensation expense based on its probability assessment.</span></div> <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Credit Risk and Inventory Supplier Concentrations</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial instruments that potentially subject the Company to significant concentrations of credit risk consist primarily of cash, cash equivalents, marketable securities and accounts receivable. Cash equivalents consist of money market funds and marketable securities with a maturity at the date of purchase of ninety days or less, which are invested through financial institutions in the United States. Deposits in and investments held by these financial institutions may, at times, exceed federally insured limits. The Company has not experienced any losses in such accounts. The Company also has approximately $3.6 million of cash held by its foreign subsidiaries in Brazil, China and the United Kingdom. Management believes that the financial institutions that hold the Company’s cash and cash equivalents are financially sound and, accordingly, minimal credit risk exists with respect to these cash and cash equivalents.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company depends primarily on a small number of outside contract manufacturers (“CMs”) and original design manufacturers (“ODMs”) for the bulk of its finished goods inventory. The Company generally purchases its products through purchase orders with its suppliers. While the Company seeks to maintain a sufficient supply of its products, the Company’s business and results of operations could be adversely affected by a stoppage or delay in receiving such products, the receipt of defective parts, an increase in price of such products or the Company’s inability to obtain lower prices from its CMs, ODMs and other suppliers in response to competitive pressures.</span></div> 3600000 <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Fair Value of Financial Instruments</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of cash and cash equivalents, trade receivables, accounts payable and other accrued liabilities approximate their fair value due to their relatively short-term nature. Marketable securities are valued using quoted market prices in active markets to determine fair value.</span></div> <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash, Cash Equivalents and Marketable Securities</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents and marketable securities are stated at amounts that approximate fair value based on quoted market prices.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has invested its excess cash primarily in money market funds and highly liquid marketable securities such as U.S. treasury bonds, corporate debt instruments, commercial paper and U.S. government securities. The Company considers all investments with maturities of three months or less when purchased to be cash equivalents. Marketable securities represent highly liquid U.S. treasury bonds, corporate debt instruments, commercial paper and U.S. government securities with maturities greater than 90 days at date of purchase. Marketable securities with maturities greater than one year are classified as current because management considers all marketable securities to be available for current operations.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s investments have been classified and accounted for as available-for-sale. Such investments are recorded at fair value and unrealized holding gains and losses are reported as a separate component of comprehensive loss in the stockholders’ equity until realized. Realized gains and losses on sales of marketable securities, if any, are determined on the specific </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">identification method and are reclassified from accumulated other comprehensive loss to results of operations as “Other income (expense), net.” Realized loss was de minimis for 2021.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the Company’s available-for-sale debt securities in an unrealized loss position, the Company determines whether a credit loss exists. In this assessment, among other factors, the Company considers the extent to which the fair value is less than the amortized cost, any changes to the rating of the security by a rating agency, and adverse conditions specifically related to the security. If factors indicate a credit loss exists, an allowance for credit loss will be recorded to “Other income (expense), net,” limited by the amount that the fair value is less than the amortized cost basis. The amount of fair value change relating to all other factors will be recognized in other comprehensive loss.</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Allowance for Doubtful Accounts</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains an allowance for doubtful accounts for expected credit losses at contract inception resulting from the inability of its customers to make required payments. The Company records a specific allowance and revises the expected loss based on an analysis of individual past-due balances. Additionally, based on historical write-offs and the Company’s collection experience, the Company records an additional allowance based on a percentage of outstanding receivables. The Company performs credit evaluations of its customers’ financial condition. These evaluations require judgment and are based on a variety of factors including, but not limited to, current economic trends, payment history and a financial review of the customer. Actual collection losses may differ from management’s estimates, and such differences could be material to the Company's financial position and results of operations.</span></div> <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Inventory Valuation and Supplier Purchase Commitments</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory, which primarily consists of finished goods purchased from CMs or ODMs, is stated at the lower of cost (determined by the first-in, first-out method) or market value. Inbound shipping costs and U.S. tariffs are included in cost of inventory. In addition, the Company, from time to time, procures component inventory primarily as a result of manufacturing discontinuation of critical components by suppliers. The Company regularly monitors inventory quantities on hand and records write-downs for excess and obsolete inventories based on the Company’s estimate of demand for its products, potential obsolescence of technology, product life cycles and whether pricing trends or forecasts indicate that the carrying value of inventory exceeds its estimated selling price. The Company also evaluates its supplier purchase commitments, which have increased significantly due to extended lead-times in the current supply chain environment, and records a liability for excess and obsolete components based on its estimated demand of our products, potential obsolescence of technology and product life cycles.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;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%">These factors are impacted by market and economic conditions, technology changes and new product introductions and require significant estimates that may include elements that are uncertain. Actual demand may differ from forecasted demand and may have a material effect on gross profit. If inventory is written down, a new cost basis is established that cannot be increased in future periods. Shipments from suppliers before the Company receives them are recorded as in-transit inventory when title and the significant risks and rewards of ownership have passed to the Company.</span></div> <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Contract Costs</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company capitalizes certain sales commissions related primarily to multi-year cloud-based software subscriptions and extended warranty support contracts.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized commissions are amortized as sales and marketing expenses over the period that the related revenue is recognized, which can be up to five years for extended warranty. The Company classifies the unamortized portion of deferred commissions as current or noncurrent based on the timing of when the Company expects to recognize the expense. The current and noncurrent portions of deferred commissions are included in “Prepaid expenses and other current assets” and “Other assets,” respectively, in the Company’s Consolidated Balance Sheets.</span></div> P5Y <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost, less accumulated depreciation, and are depreciated using the straight-line method over the estimated useful life of each asset. Generally, computer equipment is depreciated over two years; purchased software is depreciated over <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmE4YzU1YWQyN2VhMTQ3M2U5M2M1MGM0Y2YyZmE0ZmJiL3NlYzphOGM1NWFkMjdlYTE0NzNlOTNjNTBjNGNmMmZhNGZiYl84Mi9mcmFnOmY4ZDQyMTIyZGMzMTQxMDg4NDAzYmY1YWQ2ZDk5ZjE5L3RleHRyZWdpb246ZjhkNDIxMjJkYzMxNDEwODg0MDNiZjVhZDZkOTlmMTlfMjAyMjc_4e62494f-e28c-4806-a369-80a00bfdd143">three</span> to five years; test equipment is depreciated over three years; furniture and fixtures are depreciated over seven years; and leasehold improvements are depreciated over the shorter of the respective lease term or the estimated useful life of the asset. Maintenance and repairs are charged to expense as incurred.</span></div> P2Y P5Y P3Y P7Y <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill was recorded as a result of the Company’s acquisitions of Occam Networks, Inc. in February 2011 and Optical Solutions, Inc. in February 2006. The Company records goodwill when consideration paid in a business acquisition exceeds the fair value of the net tangible assets and the identified intangible assets acquired. Goodwill is not amortized but instead is subject </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to an annual impairment test or more frequently if events or changes in circumstances indicate that it may be impaired. The Company evaluates goodwill on an annual basis as of the end of the second quarter of each fiscal year. Management has determined that it operates as a single reporting unit and, therefore, evaluates goodwill impairment at the enterprise level.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the end of the second quarter of 2021, the Company completed its annual goodwill impairment test. Based on its assessment of certain qualitative factors such as market capitalization, management concluded that the fair value of the Company was more likely than not greater than its carrying amount as of June 27, 2021. As such, it was not necessary to perform the two-step quantitative goodwill impairment test at the time.</span></div> 0 0 0 <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company evaluates its tax positions and estimates its current tax exposure along with assessing temporary differences that result from different book to tax treatment of items not currently deductible for tax purposes. These differences result in deferred tax assets and liabilities on the Company’s Consolidated Balance Sheets, which are estimated based upon the difference between the financial statement and tax bases of assets and liabilities using the enacted tax rates that will be in effect when these differences reverse. In general, deferred tax assets represent future tax benefits to be received when certain expenses previously recognized in the Company’s Consolidated Statements of Comprehensive Income (Loss) become deductible expenses under applicable income tax laws or loss or credit carryforwards are utilized. Accordingly, realization of the Company’s deferred tax assets is dependent on future taxable income against which these deductions, losses and credits can be utilized.</span></div>The Company must assess the likelihood that its deferred tax assets will be recovered from future taxable income, and to the extent the Company believes that recovery is not more likely than not, it must establish a valuation allowance. Management judgment is required in determining the Company’s provision for income taxes, our deferred tax assets and liabilities and any valuation allowance recorded against its net deferred tax assets. Prior to the third quarter of 2021, the Company maintained a 100% valuation allowance against all deferred tax assets, because there was insufficient positive evidence to overcome the existing negative evidence, primarily consisting of several years of consecutive reported pre-tax losses, such that it was not more likely than not that the deferred tax assets were realizable. In the third quarter of 2021, the Company had reported positive operating performance for five consecutive quarters and continued to maintain a cumulative three-year pre-tax profit. In addition, the Company expects continued positive operating performance into the foreseeable future to allow for utilization of all operating loss and substantially all tax credit carryforwards prior to their expiration. After considering these factors, the Company determined that the positive evidence overcame any negative evidence and concluded that it was more likely than not that a substantial portion of its U.S. federal and certain other state deferred tax assets were realizable. 29200000 <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Newly Adopted Accounting Standards</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company did not adopt any new accounting standards in 2021 that were significant to the Company.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recent Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no accounting pronouncements or changes in accounting pronouncements that are significant or potentially significant to the Company.</span></div> Cash, Cash Equivalents and Marketable Securities<div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents and marketable securities consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><span><br/></span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><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;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:8pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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:8pt;font-weight:700;line-height:100%">2020</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%">Cash and cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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%">Cash</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%">26,442 </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%">30,745 </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%">21,582 </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"/></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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,320 </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,068 </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 debt 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%">989 </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"/></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. government 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%">39,994 </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 25.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%">Total cash and cash equivalents</span></td><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%">51,333 </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%">80,807 </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%">Marketable securities:</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:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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%">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%">80,812 </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"/></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. government 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%">60,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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,982 </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. government 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%">5,527 </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"/></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 debt 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%">3,576 </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"/></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%">Municipal 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%">2,808 </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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total marketable securities</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%">153,002 </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%">52,982 </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:0 1pt"/><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%">204,335 </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%">133,789 </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="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying amounts of the Company’s money market funds approximate their fair values due to their nature, duration and short maturities. The above amounts in 2021 are net of $0.2 million in unrealized losses. Unrealized losses in 2020 were de minimis. As of December 31, 2021, all marketable securities were due in two years or less.</span></div> <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash, cash equivalents and marketable securities consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-indent:22.5pt"><span><br/></span></div><div style="margin-top:5pt;text-indent:22.5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><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;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:8pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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:8pt;font-weight:700;line-height:100%">2020</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%">Cash and cash equivalents:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;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%">Cash</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%">26,442 </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%">30,745 </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%">21,582 </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"/></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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,320 </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,068 </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 debt 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%">989 </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"/></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. government 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%">39,994 </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 25.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%">Total cash and cash equivalents</span></td><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%">51,333 </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%">80,807 </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%">Marketable securities:</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:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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%">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%">80,812 </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"/></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. government 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%">60,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 colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,982 </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. government 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%">5,527 </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"/></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 debt 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%">3,576 </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"/></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%">Municipal 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%">2,808 </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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 25.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total marketable securities</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%">153,002 </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%">52,982 </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:0 1pt"/><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%">204,335 </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%">133,789 </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> 26442000 30745000 21582000 0 2320000 10068000 989000 0 0 39994000 51333000 80807000 80812000 0 60279000 52982000 5527000 0 3576000 0 2808000 0 153002000 52982000 204335000 133789000 -200000 Fair Value Measurements<div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures its cash equivalents and marketable securities at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. The Company utilizes the following three-tier value hierarchy which prioritizes the inputs used in measuring fair value:</span></div><div style="margin-top:6pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 1 – Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.</span></div><div style="margin-top:6pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 2 – Observable inputs other than quoted prices included in Level 1 for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-driven valuations in which all significant inputs and significant value drivers are observable in active markets.</span></div><div style="margin-top:6pt;padding-left:36pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Level 3 – Unobservable inputs to the valuation derived from fair valuation techniques in which one or more significant inputs or significant value drivers are unobservable. The fair value hierarchy also requires the Company to maximize the use of observable inputs, when available, and to minimize the use of unobservable inputs when determining inputs and determining fair value.</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands): </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:64.835%"/><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.823%"/><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.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.575%"/><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%">As of December 31, 2021</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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%">Total</span></td></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 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%">2,320 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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%">2,320 </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 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. government 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%">60,279 </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%">60,279 </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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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%">102,394 </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%">102,394 </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. government agency 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%">— </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,527 </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,527 </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 debt securities</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%">4,565 </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,565 </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%">Municipal 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%">— </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,808 </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,808 </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 #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%">62,599 </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%">115,294 </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%">177,893 </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><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.608%"><tr><td style="width:1.0%"/><td style="width:84.968%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.832%"/><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%">As of December 31, 2020</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</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 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 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%">10,068 </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="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 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. government 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%">92,976 </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%">103,044 </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 style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables sets forth the Company’s financial assets measured at fair value on a recurring basis based on the three-tier fair value hierarchy (in thousands): </span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:64.835%"/><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.823%"/><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.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.575%"/><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%">As of December 31, 2021</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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%">Total</span></td></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 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%">2,320 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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%">2,320 </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 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. government 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%">60,279 </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%">60,279 </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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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%">102,394 </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%">102,394 </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. government agency 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%">— </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,527 </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,527 </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 debt securities</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%">4,565 </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,565 </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%">Municipal 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%">— </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,808 </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,808 </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 #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%">62,599 </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%">115,294 </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%">177,893 </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><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.608%"><tr><td style="width:1.0%"/><td style="width:84.968%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.832%"/><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%">As of December 31, 2020</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</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 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 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%">10,068 </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="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 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. government 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%">92,976 </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%">103,044 </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> 2320000 0 2320000 60279000 0 60279000 0 102394000 102394000 0 5527000 5527000 0 4565000 4565000 0 2808000 2808000 62599000 115294000 177893000 10068000 92976000 103044000 Balance Sheet Details<div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">2021</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%">2020</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%">Accounts receivable</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%">85,944 </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%">70,824 </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%">Allowance for doubtful accounts</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%">(725)</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,405)</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%">85,219 </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%">69,419 </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="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below summarizes the changes in allowance for doubtful accounts and product return liability for the periods indicated (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:41.568%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.424%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Balance at Beginning of 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:8pt;font-weight:700;line-height:100%">Additions Charged to Expenses or Revenue Net of Recoveries</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:8pt;font-weight:700;line-height:100%">Write Offs and Returns</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:8pt;font-weight:700;line-height:100%">Balance at <br/>End of Year</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%">Year Ended December 31, 2021:</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 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%">Allowance for doubtful accounts</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%">1,405 </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%">(201)</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%">(479)</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%">725 </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%">Product return liability</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%">1,888 </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,681 </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,733)</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,836 </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%">Year Ended December 31, 2020:</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%">Allowance for doubtful accounts</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%">374 </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%">1,085 </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%">(54)</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%">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 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%">Product return liability</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%">919 </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,391 </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,422)</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,888 </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%">Year Ended December 31, 2019:</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%">Allowance for doubtful accounts</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%">370 </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%">168 </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%">(164)</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%">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 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%">Product return liability</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%">880 </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,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%">(1,581)</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%">919 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">2021</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%">2020</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 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%">130 </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%">34 </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%">Finished goods</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%">88,750 </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%">52,234 </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%">88,880 </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%">52,268 </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="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">2021</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%">2020</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%">Test equipment</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%">39,476 </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%">37,670 </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%">Computer equipment</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%">11,156 </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,062 </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%">Software</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%">9,013 </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%">16,093 </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%">Furniture and fixtures</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,812 </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,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;text-align: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="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,351 </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,345 </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 #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%">62,808 </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 colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66,239 </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:400;line-height:100%">Accumulated depreciation and amortization</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%">(41,025)</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%">(45,858)</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 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%">21,783 </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%">20,381 </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="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation and amortization expenses were $15.0 million, $13.7 million and $10.3 million for the years ended December 31, 2021, 2020 and 2019, respectively.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other long-term assets consisted of the following (in thousands):</span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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%">Intangible asset</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,885 </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%">9,517 </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%">Other long-term assets</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,800 </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,648 </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%">13,685 </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%">12,165 </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="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Intangible Asset Acquisition</span></div><div style="margin-top:7pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2018, and as amended in December 2020, the Company entered into an agreement with a vendor to develop a certain software product and related enhancements pursuant to which the Company is obligated to make revenue-share payments under the program, subject to aggregate fixed revenue-share payments of $15.8 million. The payments are based on a revenue-share rate applied to revenue from the developed-product and the corresponding hardware sales through March 2024. If the minimum revenue-share payments are not achieved by the end of that period, a true-up payment will be due. The Company had its first sale in August 2019, and as a result, the Company capitalized an intangible asset with a value of $13.2 million in the third quarter of 2019 and also recognized a liability of $13.2 million (a non-cash investing activity). The intangible asset has an estimated five-year useful life and is being amortized using the greater of the ratio of current gross revenue for the products to the total of current and anticipated future gross revenue for the products or the straight-line method. As of December 31, 2021, the liability, including accrued interest, was $13.2 million of which $4.7 million is included in “Accrued liabilities” and $8.5 million in “Other long-term liabilities” in the accompanying Consolidated Balance Sheet. As of December 31, 2020, the liability, including accrued interest, was $13.9 million of which $2.9 million was included in accrued liabilities and $11.0 million in other long-term liabilities.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Capitalized Cloud Implementation Costs</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2020, the Company went live with its cloud-based enterprise resource planning (“ERP”) system. As a result, the Company capitalized $7.5 million of implementation costs in both “Prepaid expenses and other current assets” and “Other long-term assets” in the Company's Consolidated Balance Sheet. This amount is being amortized over a period of 29 months, representing the remaining contractual term. The amortization expense for the years ended December 31, 2021 and 2020 was $3.1 million.</span></div><div style="margin-top:9pt"><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="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">2021</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%">2020</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%">Compensation and related benefits</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%">23,165 </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%">23,740 </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%">Component inventory held by suppliers</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%">7,611 </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,992 </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%">Current portion of warranty and retrofit</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,076 </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,208 </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%">Professional and consulting fees</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,819 </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,497 </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%">Customer advances or rebates</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,742 </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%">8,374 </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%">Current portion of revenue-share payments</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,731 </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,925 </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%">Taxes payable</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,251 </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,476 </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%">Freight</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,997 </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,955 </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%">Operating leases</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,596 </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,994 </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%">Product returns</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,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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,888 </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%">Operations</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%">1,400 </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%">950 </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</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,373 </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,737 </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%">71,597 </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%">68,736 </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="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):</span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:400;line-height:100%"> </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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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:8pt;font-weight:700;line-height:100%">2019</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%">Balance at beginning of year</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%">9,208 </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%">7,294 </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%">8,547 </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 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%">Provision for warranty and retrofit charged to cost of revenue</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,370 </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,888 </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,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 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%">Utilization of reserve</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,984)</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,974)</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,678)</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"/></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%">Balance at end of year</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%">9,594 </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%">9,208 </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%">7,294 </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="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Accrued Restructuring Charges</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Responding to trends caused by the COVID-19 pandemic, the Company initiated a restructuring plan in June 2020 to accelerate the Company’s All-Platform future and to align with a work-from-anywhere culture. The Company incurred restructuring charges of approximately $6.3 million, consisting of facilities-related charges and severance and other termination related benefits for the year ended December 31, 2020.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the fourth quarter of 2021, as a result of subleasing the abandoned portion of the Company’s San Jose headquarters, the Company reversed $0.8 million in facilities-related charges due to the expected recovery of accrued common areas maintenance fees.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activities pursuant to the above restructuring plan (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Facilities</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:8pt;font-weight:700;line-height:100%">Severance and Related 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:8pt;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 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%">Restructuring charges</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%">5,112 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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,174 </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%">6,286 </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 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%">Asset write-down</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,748)</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%">(3,748)</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%">Cash payments</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%">(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%">(1,042)</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,162)</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%">Balance as of December 31, 2020</span></td><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%">1,244 </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%">132 </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%">1,376 </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 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%">Restructuring benefit</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%">(786)</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%">(786)</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 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%">Cash payments</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%">(277)</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%">(132)</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%">(409)</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%">Balance as of December 31, 2021</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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="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%">181 </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%">— </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%">181 </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="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Accounts receivable, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">2021</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%">2020</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%">Accounts receivable</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%">85,944 </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%">70,824 </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%">Allowance for doubtful accounts</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%">(725)</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,405)</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%">85,219 </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%">69,419 </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> 85944000 70824000 725000 1405000 85219000 69419000 <div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below summarizes the changes in allowance for doubtful accounts and product return liability for the periods indicated (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:41.568%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.420%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.424%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Balance at Beginning of 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:8pt;font-weight:700;line-height:100%">Additions Charged to Expenses or Revenue Net of Recoveries</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:8pt;font-weight:700;line-height:100%">Write Offs and Returns</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:8pt;font-weight:700;line-height:100%">Balance at <br/>End of Year</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%">Year Ended December 31, 2021:</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 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%">Allowance for doubtful accounts</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%">1,405 </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%">(201)</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%">(479)</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%">725 </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%">Product return liability</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%">1,888 </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,681 </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,733)</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,836 </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%">Year Ended December 31, 2020:</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%">Allowance for doubtful accounts</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%">374 </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%">1,085 </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%">(54)</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%">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 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%">Product return liability</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%">919 </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,391 </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,422)</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,888 </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%">Year Ended December 31, 2019:</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%">Allowance for doubtful accounts</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%">370 </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%">168 </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%">(164)</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%">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 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%">Product return liability</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%">880 </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,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%">(1,581)</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%">919 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 1405000 -201000 479000 725000 1888000 3681000 3733000 1836000 374000 1085000 54000 1405000 919000 3391000 2422000 1888000 370000 168000 164000 374000 880000 1620000 1581000 919000 <div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventory consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">2021</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%">2020</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 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%">130 </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%">34 </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%">Finished goods</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%">88,750 </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%">52,234 </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%">88,880 </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%">52,268 </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> 130000 34000 88750000 52234000 88880000 52268000 <div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">2021</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%">2020</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%">Test equipment</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%">39,476 </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%">37,670 </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%">Computer equipment</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%">11,156 </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,062 </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%">Software</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%">9,013 </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%">16,093 </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%">Furniture and fixtures</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,812 </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,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;text-align: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="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,351 </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,345 </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 #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%">62,808 </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 colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">66,239 </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:400;line-height:100%">Accumulated depreciation and amortization</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%">(41,025)</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%">(45,858)</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 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%">21,783 </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%">20,381 </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> 39476000 37670000 11156000 9062000 9013000 16093000 1812000 2069000 1351000 1345000 62808000 66239000 41025000 45858000 21783000 20381000 15000000 13700000 10300000 <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other long-term assets consisted of the following (in thousands):</span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:73.172%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.079%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.484%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.081%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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%">Intangible asset</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,885 </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%">9,517 </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%">Other long-term assets</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,800 </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,648 </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%">13,685 </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%">12,165 </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> 6885000 9517000 6800000 2648000 13685000 12165000 15800000 13200000 13200000 P5Y 13200000 4700000 8500000 13900000 2900000 11000000 7500000 P29M 3100000 3100000 <div style="margin-top:9pt"><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="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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%">2021</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%">2020</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%">Compensation and related benefits</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%">23,165 </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%">23,740 </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%">Component inventory held by suppliers</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%">7,611 </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,992 </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%">Current portion of warranty and retrofit</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,076 </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,208 </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%">Professional and consulting fees</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,819 </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,497 </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%">Customer advances or rebates</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,742 </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%">8,374 </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%">Current portion of revenue-share payments</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,731 </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,925 </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%">Taxes payable</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,251 </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,476 </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%">Freight</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,997 </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,955 </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%">Operating leases</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,596 </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,994 </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%">Product returns</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,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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,888 </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%">Operations</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%">1,400 </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%">950 </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</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,373 </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,737 </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%">71,597 </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%">68,736 </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> 23165000 23740000 7611000 3992000 7076000 9208000 4819000 4497000 4742000 8374000 4731000 2925000 4251000 3476000 3997000 1955000 3596000 2994000 1836000 1888000 1400000 950000 4373000 4737000 71597000 68736000 <div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the Company’s accrued warranty and retrofit liability were as follows (in thousands):</span></div><div style="margin-top:11pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:400;line-height:100%"> </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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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:8pt;font-weight:700;line-height:100%">2019</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%">Balance at beginning of year</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%">9,208 </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%">7,294 </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%">8,547 </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 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%">Provision for warranty and retrofit charged to cost of revenue</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,370 </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,888 </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,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 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%">Utilization of reserve</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,984)</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,974)</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,678)</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"/></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%">Balance at end of year</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%">9,594 </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%">9,208 </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%">7,294 </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> 9208000 7294000 8547000 3370000 5888000 4425000 2984000 3974000 5678000 9594000 9208000 7294000 6300000 -800000 <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activities pursuant to the above restructuring plan (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Facilities</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:8pt;font-weight:700;line-height:100%">Severance and Related 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:8pt;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 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%">Restructuring charges</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%">5,112 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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,174 </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%">6,286 </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 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%">Asset write-down</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,748)</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%">(3,748)</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%">Cash payments</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%">(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%">(1,042)</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,162)</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%">Balance as of December 31, 2020</span></td><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%">1,244 </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%">132 </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%">1,376 </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 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%">Restructuring benefit</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%">(786)</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%">(786)</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 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%">Cash payments</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%">(277)</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%">(132)</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%">(409)</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%">Balance as of December 31, 2021</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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="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%">181 </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%">— </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%">181 </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> 5112000 1174000 6286000 3748000 0 3748000 120000 1042000 1162000 1244000 132000 1376000 -786000 0 -786000 277000 132000 409000 181000 0 181000 Credit Agreements<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Line of Credit</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2022, the Company terminated the loan and security agreement with Bank of America, N.A. (“BofA Loan Agreement”). The BofA Loan Agreement provided for a revolving facility up to a principal amount of $35.0 million and would have expired in January 2023. As of December 31, 2021, the Company had no outstanding borrowings.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financing Arrangements</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During 2018, the Company entered into financing arrangements to purchase lab and test equipment for approximately $5.1 million, which were non-cash investing activities. In the fourth quarter of 2020, the Company paid $1.4 million to settle the remainder of the balance. The weighted average interest rate was 6.2%.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company entered into financing arrangements for consulting services of $2.0 million in 2019 and $1.8 million in 2018 in connection with the Company’s ERP implementation, which were non-cash investing activities. In the fourth quarter of 2020, the Company paid $1.4 million to settle the remainder of the balance. The weighted average interest rate was 6.3%.</span></div> 35000000 0 5100000 1400000 0.062 2000000 1800000 1400000 0.063 Commitments and Contingencies<div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Lease Commitments</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases office space under non-cancelable operating leases. Certain of the Company’s operating leases contain renewal options and rent acceleration clauses. Future minimum payments under the non-cancelable operating leases consisted of the following as of December 31, 2021 (in thousands):</span></div><div style="margin-top:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:75.010%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.016%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.674%"/><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:8pt;font-weight:700;line-height:100%">Year Ending December 31,</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:8pt;font-weight:700;line-height:100%"> Future Minimum Lease Payments</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%">2022</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%">4,473 </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%">2023</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,600 </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%">2024</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,430 </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%">2025</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,971 </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%">2026</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%">560 </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="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%">Total future minimum lease payments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,034 </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 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%">Less imputed interest</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,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:0 1pt 0 12.25pt"/><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%">15,972 </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="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2021, the operating lease liability consisted of the following (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"><tr><td style="width:1.0%"/><td style="width:78.656%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:3.314%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.730%"/><td style="width:0.1%"/></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%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmE4YzU1YWQyN2VhMTQ3M2U5M2M1MGM0Y2YyZmE0ZmJiL3NlYzphOGM1NWFkMjdlYTE0NzNlOTNjNTBjNGNmMmZhNGZiYl8xMDAvZnJhZzpkMTczODg1NGMwYWQ0NzVmOWY2ZjljYmFlMWVlN2U3MC90YWJsZTo2NDMzOWIyNWRjZjA0YmY2OGEwMzAzMDhkNDE2MmVjMC90YWJsZXJhbmdlOjY0MzM5YjI1ZGNmMDRiZjY4YTAzMDMwOGQ0MTYyZWMwXzAtMC0xLTEtMTc1MDI_60c8c315-da81-4072-b70a-cc5dd8a053d5">Accrued liabilities - current portion of operating leases</span></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%">3,596 </span></td><td style="background-color:#cceeff;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%">Operating leases</span></td><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%">12,376 </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: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%">15,972 </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="margin-bottom:5pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases its headquarters office space in San Jose, California under a lease agreement that expires in December 2025. The future minimum lease payments under the lease are $9.6 million and are included in the table for the year ended December 31, 2021 above.</span></div><div style="margin-bottom:5pt;margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In October 2021, the Company entered into a lease for a facility in Bangalore, India. The lease commenced in October 2021 for a term of 60 months. The future minimum lease payments of $2.2 million are included in the table for the year ended December 31, 2021 above. The Company recorded a right-of-use operating lease asset and operating lease liability of $2.0 million in the fourth quarter of 2021.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The above tables also include future minimum lease payments for the Company's office facilities in Petaluma, California; Plymouth, Minnesota; Richardson, Texas; Nanjing, China; and West Jordan, Utah, which expire at various dates through 2027.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2021, the Company entered into a sublease for a portion of the San Jose headquarters office space that was previously abandoned. The sublease commences in August 2022 for a term of 39 months. Future minimum payments consisted of the following as of December 31, 2021 (in thousands):</span></div><div style="margin-top:10pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:75.010%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.016%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.674%"/><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:8pt;font-weight:700;line-height:100%">Year Ending December 31,</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:8pt;font-weight:700;line-height:100%"> Future Minimum Sublease Payments</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%">2022</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%">308 </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%">2023</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%">750 </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%">2024</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%">773 </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%">2025</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%">661 </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%">Total future minimum sublease payments</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%">2,492 </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="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted average discount rate for the Company’s operating leases as of December 31, 2021 was 6.1%. The weighted average remaining lease term as of December 31, 2021 was 3.9 years.</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the years ended December 31, 2021, 2020 and 2019, total rent expense of the Company was $4.1 million, $4.0 million and $4.7 million, respectively. Cash paid within operating cash flows for operating leases was $3.9 million for year ended December 31, 2021.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Purchase Commitments</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s CMs and ODMs place orders for certain component inventory in advance based upon the Company’s build forecasts in order to reduce manufacturing lead times and ensure adequate component supply. The components are used by the CMs and ODMs to build the products included in the build forecasts. The Company generally does not take ownership of the components held by CMs and ODMs. The Company places purchase orders with its CMs and ODMs in order to fulfill its monthly finished product inventory requirements. The Company incurs a liability when the CMs and ODMs convert the </span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">component inventory to a finished product and takes ownership of the finished goods inventory. In the event of termination of services with a manufacturing partner, the Company has purchased, and may be required to purchase in the future, certain of the remaining components inventory held by the CM or ODM as well as any outstanding orders pursuant to the contractual provisions with such CM or ODM. As of December 31, 2021 and 2020, the Company had approximately $247.3 million and $123.7 million, respectively, of outstanding purchase commitments for inventories to be delivered by its suppliers, including CMs and ODMs, within one to two years.</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company has from time to time, and subject to certain conditions, reimbursed certain suppliers for component inventory purchases when this inventory has been rendered excess or obsolete, for example due to manufacturing and engineering change orders resulting from design changes, manufacturing discontinuation of products by its suppliers, or in cases where the Company has committed inventory levels that greatly exceed projected demand. The estimated excess and obsolete inventory liabilities related to such manufacturing and engineering change orders and other factors, which are included in accrued liabilities in the accompanying Consolidated Balance Sheets, were $7.6 million and $4.0 million as of December 31, 2021 and 2020, respectively. The Company records the related charges in cost of systems revenue in its Consolidated Statements of Comprehensive Income (Loss).</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Litigation</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company is involved in various legal proceedings arising from the normal course of business activities. The Company is not currently a party to any legal proceedings that, if determined adversely to the Company, in management’s opinion, are currently expected to individually or in the aggregate have a material adverse effect on the Company’s business, operating results or financial condition taken as a whole.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Indemnifications</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company from time to time enters into contracts that require it to indemnify various parties against claims from third parties. These contracts primarily relate to (i) certain real estate leases, under which the Company may be required to indemnify property owners for environmental and other liabilities, and other claims arising from the Company’s use of the applicable premises, (ii) agreements with the Company’s officers, directors and certain employees, under which the Company may be required to indemnify such persons for liabilities arising out of their relationship with the Company, (iii) contracts under which the Company may be required to indemnify customers against third-party claims that a Company product infringes a patent, copyright or other intellectual property right and (iv) agreements under which the Company may be required to indemnify the counterparty for certain claims that may be brought against them arising from the Company’s acts or omissions with respect to the transactions contemplated by such agreements.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Because any potential obligation associated with these types of contractual provisions are not quantified or stated, the overall maximum amount of the obligation cannot be reasonably estimated. Historically, the Company has not been required to make payments under these obligations, and no liabilities have been recorded for these obligations in the accompanying Consolidated Balance Sheets.</span></div> Future minimum payments under the non-cancelable operating leases consisted of the following as of December 31, 2021 (in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:75.010%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.016%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.674%"/><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:8pt;font-weight:700;line-height:100%">Year Ending December 31,</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:8pt;font-weight:700;line-height:100%"> Future Minimum Lease Payments</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%">2022</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%">4,473 </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%">2023</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,600 </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%">2024</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,430 </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%">2025</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,971 </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%">2026</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%">560 </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="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%">Total future minimum lease payments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">18,034 </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 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%">Less imputed interest</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,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:0 1pt 0 12.25pt"/><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%">15,972 </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> 4473000 4600000 4430000 3971000 560000 18034000 2062000 15972000 <div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2021, the operating lease liability consisted of the following (in thousands):</span></div><div style="margin-top:11pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%"><tr><td style="width:1.0%"/><td style="width:78.656%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:3.314%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.730%"/><td style="width:0.1%"/></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%"><span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmE4YzU1YWQyN2VhMTQ3M2U5M2M1MGM0Y2YyZmE0ZmJiL3NlYzphOGM1NWFkMjdlYTE0NzNlOTNjNTBjNGNmMmZhNGZiYl8xMDAvZnJhZzpkMTczODg1NGMwYWQ0NzVmOWY2ZjljYmFlMWVlN2U3MC90YWJsZTo2NDMzOWIyNWRjZjA0YmY2OGEwMzAzMDhkNDE2MmVjMC90YWJsZXJhbmdlOjY0MzM5YjI1ZGNmMDRiZjY4YTAzMDMwOGQ0MTYyZWMwXzAtMC0xLTEtMTc1MDI_60c8c315-da81-4072-b70a-cc5dd8a053d5">Accrued liabilities - current portion of operating leases</span></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%">3,596 </span></td><td style="background-color:#cceeff;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%">Operating leases</span></td><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%">12,376 </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: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%">15,972 </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> 3596000 12376000 15972000 9600000 P60M 2200000 2000000 2000000 P39M Future minimum payments consisted of the following as of December 31, 2021 (in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.467%"><tr><td style="width:1.0%"/><td style="width:75.010%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:7.016%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.674%"/><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:8pt;font-weight:700;line-height:100%">Year Ending December 31,</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:8pt;font-weight:700;line-height:100%"> Future Minimum Sublease Payments</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%">2022</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%">308 </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%">2023</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%">750 </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%">2024</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%">773 </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%">2025</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%">661 </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%">Total future minimum sublease payments</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%">2,492 </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> 308000 750000 773000 661000 2492000 0.061 P3Y10M24D 4100000 4000000 4700000 3900000 247300000 123700000 7600000 4000000 Stockholders’ Equity <div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Preferred Stock</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Board of Directors has the authority, without a further vote of the stockholders, to designate and issue up to 5.0 million shares of preferred stock in one or more series and to fix the rights, preferences, privileges and restrictions thereof. These rights, preferences and privileges could include dividend rights, conversion rights, voting rights, terms of redemption, liquidation preferences, sinking fund terms and the number of shares constituting any series or the designation of such series, any or all of which may be greater than the rights of common stock. The issuance of the Company’s preferred stock could adversely affect the voting power of holders of common stock and the likelihood that such holders will receive dividend payments and payments upon liquidation. In addition, the issuance of preferred stock could have the effect of delaying, deferring or preventing a change in control of the Company or other corporate action. Since the Company’s initial public offering, the Board of Directors has not designated any rights, preference or powers of any preferred stock, and no shares of preferred stock have been issued.</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Common Stock</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Holders of the Company’s common stock are entitled to receive dividends, if any, as may be declared from time to time by the Board of Directors out of legally available funds. No dividends have been declared or paid as of December 31, 2021. In the event of the Company’s liquidation, dissolution or winding up, holders of the Company’s common stock will be entitled to share ratably in the net assets legally available for distribution to stockholders after the payment of all of the Company’s debts and other liabilities and the satisfaction of any liquidation preference granted to the holders of any then outstanding shares of preferred stock.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2020, the Company completed an underwritten public offering of 3,220,000 shares of its common stock at $20.00 per share, including a full exercise by the underwriters of their option to purchase an additional 420,000 shares of Common Stock, resulting in net proceeds of $60.1 million, after deducting the underwriting discount and expenses paid by the Company.</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Treasury Stock Retirement</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2020, the Company’s Board of Directors authorized the retirement of the 5,329,817 shares of common stock held as treasury stock. Under Delaware law these shares return to the authorized but unissued common stock pool. As a result, the Company eliminated the $40.0 million treasury stock balance, offsetting this against common stock by $0.1 million and additional paid-in capital by $39.9 million.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Equity Incentive Plans</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2019 Equity Incentive Award Plan </span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the Company’s 2019 annual meeting of stockholders, the stockholders approved the 2019 Equity Incentive Award Plan (the “2019 Plan”). The 2019 Plan supersedes and replaces the 2010 Equity Incentive Award Plan (the “2010 Plan”) and preceding plans. No further awards will be granted under the 2010 Plan following the effectiveness of the 2019 Plan; however, the terms and conditions of the 2010 Plan will continue to govern any outstanding awards granted under the 2010 Plan.</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employees and consultants of the Company, its subsidiaries and affiliates, as well as members of the Company’s Board of Directors, are eligible to receive awards under the 2019 Plan. The 2019 Plan provides for the grant of stock options, stock appreciation rights, restricted stock, RSUs or other stock or cash-based awards and dividend equivalents to eligible individuals.</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The number of shares available for issuance under the 2019 Plan included an initial reserve of 1.7 million shares of common stock, any shares of common stock that are available for issuance under the 2010 Plan as of the effective date of the 2019 Plan and any shares of common stock subject to issued and outstanding awards under the 2010 Plan that expire, are cancelled or otherwise terminate following the effective date of the 2019 Plan. At the Company’s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the 2019 Plan by 3.8 million shares. As of December 31, 2021, there were 6.8 million shares available for issuance under the 2019 Plan. </span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options granted under the 2019 Plan are granted at a price not less than 100% of the fair market value of the common stock on the date of grant. Stock options issued under the 2019 Plan generally vest 25% on the first anniversary of the vesting commencement date and on a quarterly basis thereafter for a period of an additional three years. The options have a maximum term of ten years.</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2020, PSOs exercisable for up to an aggregate of 0.8 million shares of common stock were granted to certain Company executives with a grant date fair value of $9.16 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net income for 2020 (collectively, the “2020 Performance Targets”) during the one-year performance period. Under the 2020 Performance Targets, if non-GAAP net income is below 80% of target or bookings are below 90% of target, no shares are awarded. From this base, shares are awarded on a 50% weighting for both non-GAAP net income and bookings up to 100% for each 2020 Performance Target using a sliding scale. In February 2021, the Compensation Committee of the Company’s Board of Directors certified the full achievement of the 2020 Performance Targets subject to the four-year services condition. As such, 25% of the shares of the PSOs were vested on that date, and the remaining 75% of the shares of common stock will vest substantially equal quarterly installments over the subsequent 36 months, subject to the executive’s continuous service with the Company through the respective vesting dates. Stock-based compensation expense of $0.8 million and $1.6 million was recognized for the years ended December 31, 2021 and 2020, respectively, related to these awards.</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2021, PSOs exercisable for up to an aggregate of 0.7 million shares of common stock were granted to certain Company executives with a grant date exercise price of $36.74 per share. The actual number of shares earned is contingent upon achievement of annual corporate financial targets for bookings and non-GAAP net income for 2021 (collectively, the “2021 Performance Targets”) during the one-year performance period. Under the 2021 Performance Targets, if the non-GAAP net income is below 80% of target or bookings are below 90% of target, no shares would be awarded. From this base, shares are awarded on a 50% weighting for both non-GAAP net income and bookings up to 100% for each 2021 Performance Target using a sliding scale. In February 2022, the Compensation Committee of the Company’s Board of Directors certified the results against the 2021 Performance Targets and awarded 97% of PSOs subject to the four-year services condition. As such, 25% of the awarded shares of the PSOs were vested on that date, and the remaining 75% of the shares of common stock will vest substantially equal quarterly installments over the subsequent 36 months, subject to the executive’s continuous service with the Company through the respective vesting dates. Stock-based compensation expense of $6.3 million was recognized for the year ended December 31, 2021 related to these awards.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock Options </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity of stock options under the Company’s equity incentive plans (in thousands, except per share data):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.058%"><tr><td style="width:1.0%"/><td style="width:42.406%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.585%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.585%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.585%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.585%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.243%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Weighted-</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Average</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Weighted-</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:8pt;font-weight:700;line-height:100%">Remaining</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Average</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:8pt;font-weight:700;line-height:100%">Contractual</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:8pt;font-weight:700;line-height:100%">Aggregate</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Number of</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:8pt;font-weight:700;line-height:100%">Exercise Price</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:8pt;font-weight:700;line-height:100%">Life</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:8pt;font-weight:700;line-height:100%">Intrinsic</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:8pt;font-weight:700;line-height:100%;text-decoration:underline">Stock Options</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:8pt;font-weight:700;line-height:100%">Shares</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:8pt;font-weight:700;line-height:100%">Per Share</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:8pt;font-weight:700;line-height:100%">(in years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">   Value </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></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%">Outstanding as of December 31, 2020</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%">6,801 </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%">9.76 </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: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 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%">Granted</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,578 </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%">42.89 </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: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%">Exercised</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%">(1,450)</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.70 </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: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%">Canceled</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%">(281)</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.18 </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: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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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%">Outstanding as of December 31, 2021</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%">6,648 </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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="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%">17.46 </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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7.34</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%">415,597 </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%">Vested and expected to vest as of December 31, 2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,484 </span></td><td style="background-color:#ffffff;border-top:3pt double #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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="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%">17.13 </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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7.31</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%">407,477 </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%">Options exercisable as of December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,191 </span></td><td style="background-color:#cceeff;border-top: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 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%">8.61 </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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5.91</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%">227,689 </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%;text-decoration:underline">                                                                                  </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;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="27" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%">(1) Amounts represent the difference between the exercise price and the fair market value of common stock at December 31, 2021 of $79.97 per share for all “in-the-money” options outstanding.</span></div></td></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the years ended December 31, 2021, 2020 and 2019, total intrinsic value of stock options exercised was $59.6 million, $6.7 million and $0.2 million, respectively. Total cash received from employees as a result of stock option exercises in 2021, 2020 and 2019 was $11.2 million, $0.9 million and $0.4 million, respectively.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Employee Stock Purchase Plans</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 15% of their eligible compensation subject to certain Internal Revenue Code limitations. In addition, no participant may purchase more than 2,000 shares of common stock in each offering period.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The offering periods under the ESPP are two six-month offering periods from August 15</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through February 14</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and February 15</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through August 14</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of each year. The price of common stock purchased under the ESPP is 85% of the lower of the fair market value of the common stock on the commencement date and the end date of each six-month offering period. At the Company’s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the ESPP by 1.3 million shares. The total shares authorized for issuance under the ESPP increased from 9.8 million shares to 11.1 million shares. As of December 31, 2021, there were 3.6 million shares available for issuance under the ESPP. During the year ended December 31, 2021, 0.3 million shares were purchased under the ESPP. As of December 31, 2021, unrecognized stock-based compensation expense of $0.3 million related to the ESPP is expected to be recognized over a remaining service period of 0.1 years.</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The NQ ESPP allows eligible employees to purchase shares of the Company’s common stock through payroll deductions of up to 25% of their eligible compensation. Eligible employees have the right to (a) purchase the maximum number of whole shares of common stock that can be purchased with the elected payroll deductions during each offering period for which the employee is enrolled at a purchase price equal to the closing price of the Company’s common stock on the last day of such offering period and (b) receive an equal number of shares of the Company’s common stock that are subject to a risk of forfeiture in the event the employee terminates employment within the one year period immediately following the purchase date. The NQ ESPP provides two six-month offering periods from November 15</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through May 14</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and May 15</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> through November 14</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">th</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of each year. At the Company’s 2021 annual meeting of stockholders, the stockholders approved an increase in the number of shares of common stock issuable under the NQ ESPP by 0.8 million shares. The maximum number of shares of common stock currently authorized for issuance under the NQ ESPP is 5.5 million shares, with a maximum of 0.5 million shares allocated per purchase period. As of December 31, 2021, there were 2.8 million shares available for issuance under the NQ ESPP, including the stockholder-approved 0.8 million share increase. During the year ended December 31, 2021, 0.3 million shares were purchased and issued. As of December 31, 2021, unrecognized stock-based compensation expense of $8.0 million related to the NQ ESPP is expected to be recognized over a remaining weighted-average service period of 1.1 years.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Stock-Based Compensation</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes stock-based compensation expense (in thousands):</span></div><div style="margin-top:10pt;text-align:center"><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:50.215%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><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:1.408%"/><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:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.523%"/><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:8pt;font-weight:400;line-height:100%"> </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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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:8pt;font-weight:700;line-height:100%">2019</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%">Cost of revenue:</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"/></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%">Products</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%">790 </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%">575 </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%">507 </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%">Services</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%">668 </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%">450 </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%">389 </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%">Sales and marketing</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,728 </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,273 </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,415 </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%">Research and development</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%">6,769 </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,736 </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,913 </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%">General and administrative</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%">9,275 </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,926 </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,957 </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,230 </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%">13,960 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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%">11,181 </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="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the weighted-average grant date fair values of the Company’s stock-based awards granted in the periods indicated:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.111%"><tr><td style="width:1.0%"/><td style="width:55.096%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.667%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.633%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.667%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.633%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.667%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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:8pt;font-weight:700;line-height:100%">2019</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%">Stock options</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%">26.55 </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%">8.55 </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%">3.66 </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%">RSUs</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%">11.22 </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%">6.62 </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%">ESPP</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%">12.93 </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%">5.52 </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%">2.04 </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%">NQ ESPP</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%">55.50 </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%">19.40 </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%">7.24 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company values employee stock purchase rights under the NQ ESPP at the closing market price of the Company’s common stock on the date of grant.</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company estimates the fair value of stock options and employee stock purchase right under the ESPP at the grant date using the Black-Scholes option-pricing model. This model requires the use of the following assumptions:</span></div><div style="margin-top:3pt;padding-left:40.5pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(i)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:8.57pt">Expected volatility of the Company’s common stock – The Company computes its expected volatility assumption based on a blended volatility (50% historical volatility and 50% implied volatility from traded options on the Company’s common stock). The selection of a blended volatility assumption was based upon the Company’s assessment that a blended volatility is more representative of the Company’s future stock price trend as it weighs the historical volatility with the future implied volatility.</span></div><div style="margin-top:3pt;padding-left:40.5pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(ii)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:5.8pt">Expected life of the option award – Represents the weighted-average period that the stock options are expected to remain outstanding. The Company’s computation of expected life utilizes the simplified method in accordance with Staff Accounting Bulletin No. 110 due to the lack of sufficient historical exercise data to provide a reasonable basis upon which to estimate expected term. The mid-point between the vesting date and the expiration date is used as the expected term under this method.</span></div><div style="margin-top:3pt;padding-left:40.5pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(iii)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:3.03pt">Expected dividend yield – Assumption is based on the Company’s history of not paying dividends and no future expectations of dividend payouts.</span></div><div style="margin-top:3pt;padding-left:40.5pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(iv)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:3.57pt">Risk-free interest rate – Based on the U.S. Treasury yield curve in effect at the time of grant with maturities approximating the grant’s expected life.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the weighted-average assumptions used in estimating the grant-date fair value of stock options and of each employee’s purchase right under the ESPP in the periods indicated:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</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%;text-decoration:underline">Stock Options</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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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:8pt;font-weight:700;line-height:100%">2019</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%">Expected volatility</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%">56 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #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%">53 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #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%">47 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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="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%">Expected life (years)</span></td><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%">6.04</span></td><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%">6.11</span></td><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%">6.11</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%">Expected dividend yield</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%">— </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%">Risk-free interest rate</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.11 </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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.48 </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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.67 </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></tr></table></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</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%;text-decoration:underline">ESPP</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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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:8pt;font-weight:700;line-height:100%">2019</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%">Expected volatility</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%">63 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #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%">70 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #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%">48 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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="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%">Expected life (years)</span></td><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%">0.49</span></td><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%">0.39</span></td><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%">0.49</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%">Expected dividend yield</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%">— </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%">Risk-free interest rate</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%">0.05 </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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.12 </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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.03 </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></tr></table></div><div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In addition, the Company applies an estimated forfeiture rate to awards granted and records stock-based compensation expense only for those awards that are expected to vest. Forfeiture rates are estimated at the time of grant based on the Company’s historical experience. Further, to the extent the Company’s actual forfeiture rate is different from management’s estimate, stock-based compensation is adjusted accordingly.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2021, unrecognized stock-based compensation expense by award type, net of estimated forfeitures, and their expected weighted-average recognition periods are summarized in the following table (in thousands).</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:63.304%"><tr><td style="width:1.0%"/><td style="width:58.715%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.340%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.451%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:0.1%"/><td style="width:2.340%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.454%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Stock Option</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:8pt;font-weight:700;line-height:100%">ESPPs</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%">Unrecognized stock-based compensation expense</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%">31,512 </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="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%">8,355 </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 amortization period (in years)</span></td><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%">2.1</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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.1</span></td></tr></table></div><div style="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company expects to recognize stock-based compensation expense of $19.6 million in 2022, $10.9 million in 2023, $6.8 million in 2024 and $2.6 million in 2025. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Shares Reserved for Future Issuance </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2021, the Company had common shares reserved for future issuance as follows (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:77.631%"><tr><td style="width:1.0%"/><td style="width:82.704%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.871%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.025%"/><td style="width:0.1%"/><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"/></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"/></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%">Stock options outstanding</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%">6,648 </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"/></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%">Shares available for future grant under 2019 Plan</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,846 </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"/></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 available for future issuance under ESPP</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,589 </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"/></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%">Shares available for future issuance under NQ ESPP</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,802 </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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 12.25pt"/><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%">19,885 </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="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 5000000 5000000 0 0 0 0 0 3220000 20.00 420000 60100000 5329817 40000000 100000 39900000 1700000 3800000 6800000 1 0.25 P3Y P10Y 800000 9.16 P1Y 0.80 0.90 0 0.50 1 P4Y 0.25 0.75 P36M 800000 1600000 700000 36.74 P1Y 0.80 0.90 0 0.50 1 0.97 P4Y 0.25 0.75 P36M 6300000 <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the activity of stock options under the Company’s equity incentive plans (in thousands, except per share data):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.058%"><tr><td style="width:1.0%"/><td style="width:42.406%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.585%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.585%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.585%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.585%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.243%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Weighted-</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Average</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Weighted-</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:8pt;font-weight:700;line-height:100%">Remaining</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Average</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:8pt;font-weight:700;line-height:100%">Contractual</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:8pt;font-weight:700;line-height:100%">Aggregate</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Number of</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:8pt;font-weight:700;line-height:100%">Exercise Price</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:8pt;font-weight:700;line-height:100%">Life</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:8pt;font-weight:700;line-height:100%">Intrinsic</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:8pt;font-weight:700;line-height:100%;text-decoration:underline">Stock Options</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:8pt;font-weight:700;line-height:100%">Shares</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:8pt;font-weight:700;line-height:100%">Per Share</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:8pt;font-weight:700;line-height:100%">(in years)</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">   Value </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:700;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline">(1)</span></div></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%">Outstanding as of December 31, 2020</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%">6,801 </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%">9.76 </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: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 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%">Granted</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,578 </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%">42.89 </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: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%">Exercised</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%">(1,450)</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.70 </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: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%">Canceled</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%">(281)</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.18 </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: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="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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%">Outstanding as of December 31, 2021</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%">6,648 </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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="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%">17.46 </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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7.34</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%">415,597 </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%">Vested and expected to vest as of December 31, 2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">6,484 </span></td><td style="background-color:#ffffff;border-top:3pt double #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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="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%">17.13 </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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7.31</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%">407,477 </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%">Options exercisable as of December 31, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,191 </span></td><td style="background-color:#cceeff;border-top: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 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%">8.61 </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:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5.91</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%">227,689 </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%;text-decoration:underline">                                                                                  </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;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="27" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%">(1) Amounts represent the difference between the exercise price and the fair market value of common stock at December 31, 2021 of $79.97 per share for all “in-the-money” options outstanding.</span></div></td></tr></table></div> 6801000 9.76 1578000 42.89 1450000 7.70 281000 24.18 6648000 17.46 P7Y4M2D 415597000 6484000 17.13 P7Y3M21D 407477000 3191000 8.61 P5Y10M28D 227689000 79.97 59600000 6700000 200000 11200000 900000 400000 0.15 2000 2 P6M P6M 1300000 9800000 11100000 3600000 300000 300000 P0Y1M6D 0.25 P1Y 2 P6M 800000 5500000 500000 2800000 800000 300000 300000 8000000 P1Y1M6D The following table summarizes stock-based compensation expense (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:50.215%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.408%"/><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:1.408%"/><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:1.408%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.523%"/><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:8pt;font-weight:400;line-height:100%"> </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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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:8pt;font-weight:700;line-height:100%">2019</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%">Cost of revenue:</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"/></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%">Products</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%">790 </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%">575 </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%">507 </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%">Services</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%">668 </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%">450 </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%">389 </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%">Sales and marketing</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,728 </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,273 </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,415 </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%">Research and development</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%">6,769 </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,736 </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,913 </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%">General and administrative</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%">9,275 </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,926 </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,957 </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,230 </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%">13,960 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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%">11,181 </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> 790000 575000 507000 668000 450000 389000 6728000 4273000 3415000 6769000 4736000 3913000 9275000 3926000 2957000 24230000 13960000 11181000 <div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the weighted-average grant date fair values of the Company’s stock-based awards granted in the periods indicated:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.111%"><tr><td style="width:1.0%"/><td style="width:55.096%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.667%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.633%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.667%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.633%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.667%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.637%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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:8pt;font-weight:700;line-height:100%">2019</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%">Stock options</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%">26.55 </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%">8.55 </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%">3.66 </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%">RSUs</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%">11.22 </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%">6.62 </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%">ESPP</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%">12.93 </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%">5.52 </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%">2.04 </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%">NQ ESPP</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%">55.50 </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%">19.40 </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%">7.24 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 26.55 8.55 3.66 0 11.22 6.62 12.93 5.52 2.04 55.50 19.40 7.24 0.50 0.50 <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the weighted-average assumptions used in estimating the grant-date fair value of stock options and of each employee’s purchase right under the ESPP in the periods indicated:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</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%;text-decoration:underline">Stock Options</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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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:8pt;font-weight:700;line-height:100%">2019</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%">Expected volatility</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%">56 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #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%">53 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #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%">47 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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="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%">Expected life (years)</span></td><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%">6.04</span></td><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%">6.11</span></td><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%">6.11</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%">Expected dividend yield</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%">— </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%">Risk-free interest rate</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.11 </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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.48 </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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.67 </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></tr></table></div> 0.56 0.53 0.47 P6Y14D P6Y1M9D P6Y1M9D 0 0 0 0.0111 0.0048 0.0167 <table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</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%;text-decoration:underline">ESPP</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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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:8pt;font-weight:700;line-height:100%">2019</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%">Expected volatility</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%">63 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #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%">70 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #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%">48 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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="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%">Expected life (years)</span></td><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%">0.49</span></td><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%">0.39</span></td><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%">0.49</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%">Expected dividend yield</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%">— </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%">Risk-free interest rate</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%">0.05 </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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.12 </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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.03 </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></tr></table> 0.63 0.70 0.48 P0Y5M26D P0Y4M20D P0Y5M26D 0 0 0 0.0005 0.0012 0.0203 <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2021, unrecognized stock-based compensation expense by award type, net of estimated forfeitures, and their expected weighted-average recognition periods are summarized in the following table (in thousands).</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:63.304%"><tr><td style="width:1.0%"/><td style="width:58.715%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:2.340%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.451%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:0.1%"/><td style="width:2.340%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.454%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Stock Option</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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:8pt;font-weight:700;line-height:100%">ESPPs</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%">Unrecognized stock-based compensation expense</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%">31,512 </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="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%">8,355 </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 amortization period (in years)</span></td><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%">2.1</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><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.1</span></td></tr></table></div> 31512000 8355000 P2Y1M6D P1Y1M6D 19600000 10900000 6800000 2600000 <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Shares Reserved for Future Issuance </span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2021, the Company had common shares reserved for future issuance as follows (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:77.631%"><tr><td style="width:1.0%"/><td style="width:82.704%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.871%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.025%"/><td style="width:0.1%"/><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"/></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"/></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%">Stock options outstanding</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%">6,648 </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"/></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%">Shares available for future grant under 2019 Plan</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,846 </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"/></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 available for future issuance under ESPP</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,589 </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"/></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%">Shares available for future issuance under NQ ESPP</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,802 </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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt 0 12.25pt"/><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%">19,885 </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="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 6648000 6846000 3589000 2802000 19885000 Employee Benefit PlanThe Company sponsors a 401(k) tax-deferred savings plan for all employees who meet certain eligibility requirements. Participants may contribute, on a pre-tax basis, a percentage of their annual compensation, but not to exceed a maximum contribution amount pursuant to Section 401(k) of the Internal Revenue Code. The Company, at the discretion of the Board of Directors, may make additional matching contributions on behalf of the participants. The Company made matching contributions totaling $3.2 million, $2.7 million and $2.5 million in 2021, 2020 and 2019, respectively. 3200000 2700000 2500000 Accumulated Other Comprehensive Loss<div style="margin-top:6pt;text-indent:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below summarizes the changes in accumulated other comprehensive loss by component:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:80.263%"><tr><td style="width:1.0%"/><td style="width:51.905%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.710%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.561%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.803%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.654%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.803%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.564%"/><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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">Unrealized Gains and Losses on Available-for-Sale Marketable Securities</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:8pt;font-weight:700;line-height:100%">Foreign Currency Translation Adjustments</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:8pt;font-weight:700;line-height:100%">Total</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"/></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%">Balance as of December 31, 2019</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%">— </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%">(854)</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%">(854)</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%">Other comprehensive income</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%">663 </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%">663 </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%">Balance as of December 31, 2020</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%">— </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%">(191)</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%">(191)</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%">Other comprehensive income (loss)</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%">(179)</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 </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%">(129)</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%">Balance as of December 31, 2021</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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="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%">(179)</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%">(141)</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%">(320)</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="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets and liabilities of the Company’s wholly owned foreign subsidiaries are translated from their respective functional currencies at exchange rates in effect at the balance sheet date, and revenue and expenses are translated at the monthly average exchanges rates. These translations result in differences called foreign currency translation adjustments. Realized foreign currency transaction gains or losses were not significant during the years ended December 31, 2021, 2020 and 2019 and are recorded in “Other income (expense), net” in the Company's Consolidated Statements of Comprehensive Income (Loss).</span></div> <div style="margin-top:6pt;text-indent:4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The table below summarizes the changes in accumulated other comprehensive loss by component:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:80.263%"><tr><td style="width:1.0%"/><td style="width:51.905%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.710%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.561%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.803%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.654%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.803%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:12.564%"/><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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">Unrealized Gains and Losses on Available-for-Sale Marketable Securities</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:8pt;font-weight:700;line-height:100%">Foreign Currency Translation Adjustments</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:8pt;font-weight:700;line-height:100%">Total</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"/></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%">Balance as of December 31, 2019</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%">— </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%">(854)</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%">(854)</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%">Other comprehensive income</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%">663 </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%">663 </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%">Balance as of December 31, 2020</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%">— </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%">(191)</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%">(191)</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%">Other comprehensive income (loss)</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%">(179)</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 </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%">(129)</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%">Balance as of December 31, 2021</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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="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%">(179)</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%">(141)</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%">(320)</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> 0 -854000 -854000 0 663000 663000 0 -191000 -191000 -179000 50000 -129000 -179000 -141000 -320000 Income Taxes The domestic and foreign components of income (loss) before incomes taxes were as follows (in thousands):<div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2019</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%">Domestic</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%">70,776 </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,777 </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%">(17,935)</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%">Foreign</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,878 </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%">507 </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,403 </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%">72,654 </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%">34,284 </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%">(16,532)</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-indent:18pt"><span><br/></span></div><div style="margin-top:9pt;text-indent:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Income taxes consisted of the following (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2019</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%">Current:</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"/></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%">State</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%">2,818 </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%">285 </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%">313 </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%">Foreign</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%">438 </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%">507 </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%">835 </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 25.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%">Current income tax</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,256 </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 colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">792 </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 colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,148 </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:400;line-height:100%">Deferred:</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"/></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%">Federal</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%">(157,355)</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"/></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%">State</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%">(11,631)</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"/></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%">Foreign</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 </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 </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%">14 </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 25.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%">Deferred income tax</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%">(168,980)</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%">8 </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%">14 </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:0 1pt 0 37pt"/><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%">(165,724)</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%">800 </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%">1,162 </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="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The differences between the statutory and effective tax rates, expressed as a percentage of net income (loss) before income taxes, were as follows:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2019</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%">Federal statutory rate</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%">21.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #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%">21.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #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%">21.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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="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%">Impact of state taxes</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%">(15.6)</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%">0.1 </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.6 </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 operations</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%">(0.2)</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%">0.6 </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.8)</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%">R&amp;D tax credits</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.4 </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.8)</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.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="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 income inclusion</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%">(1.3)</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%">Stock-based compensation</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%">(12.8)</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.1)</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.1)</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%">Other permanent items</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%">(0.3)</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%">0.6 </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.0)</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%">Tax true-up</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%">(0.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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.4)</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.8)</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%">Valuation allowance</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%">(208.3)</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%">(48.1)</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%">(16.8)</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%">Net operating loss expiration</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%">(13.1)</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%">37.4 </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"/></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-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%">(228.1)</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"><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 #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.3 </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"><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 #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%">(7.0)</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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The significant components of the Company’s deferred tax assets were as follows (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2020</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%">Deferred tax assets (liabilities):</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"/></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%">Net operating loss carryforwards</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%">82,672 </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,973 </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%">Tax credit carryforwards</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,538 </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%">49,978 </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%">Depreciation and amortization</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,511)</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%">681 </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%">Accruals and reserves</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%">10,302 </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,753 </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%">Deferred revenue</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%">11,351 </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,219 </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%">Stock-based compensation</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,921 </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,821 </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%">Intangible assets</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%">37,692 </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%">(568)</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%">Other</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%">233 </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%">(18)</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 25.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%">Gross deferred tax assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">198,198 </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 colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">189,839 </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 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%">Valuation allowance</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%">(29,236)</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%">(189,858)</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 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%">168,962 </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%">(19)</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><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"/></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"/></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"/></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"/></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"/></tr></table></div><div style="margin-top:1pt"><span><br/></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All deferred taxes, along with any related valuation allowance, are classified in the Consolidated Balance Sheet as long-term.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A valuation allowance is required when, based upon an assessment of various factors, including recent operating loss history, anticipated future earnings, and prudent and reasonable tax planning strategies, it is more likely than not that some portion of the deferred tax assets will not be realized. At each reporting period, the Company assesses the estimated future realizability of the gross carrying value of its deferred tax assets. The Company’s periodic assessments take into consideration both positive evidence (future profitability projections for example and recent financial performance) and negative evidence (historical financial performance for example) as it relates to evaluating the future recoverability of its deferred tax assets. During 2021, the Company recognized an income tax benefit of $165.7 million, based on management’s reassessment of the amount of its U.S. federal and other state deferred tax assets that are more likely than not to be realized, primarily as a result of actual and projected increases in U.S. profitability in the current and future periods. In performing its analysis, the Company used the most updated plans and estimates that it currently uses to manage the underlying business and calculated the ability to utilize its deferred tax assets. The Company continues to maintain a valuation allowance of $29.2 million on certain U.S. federal and state deferred tax assets that the Company believes are not more likely than not to be realized in future periods.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2021, the Company had U.S. federal and state net operating losses of approximately $388.2 million and $52.3 million, respectively. The U.S. federal net operating loss carryforwards have begun to expire and will continue to expire at various dates through 2039 if not utilized. The state net operating loss carryforwards have begun to expire and will continue to expire at various dates through 2039 if not utilized. Additionally, the Company has U.S. federal, California and other U.S. states research and development credits of approximately $37.1 million, $42.1 million and $3.0 million as of December 31, 2021, respectively. The U.S. federal research and development credits have begun to expire in 2021, and the California research and development credits have no expiration date. The credits related to other various U.S. states have begun to expire and will continue to expire at various dates through 2036.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Uncertain Tax Positions</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ASC 740, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">“Income Taxes,”</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> prescribes a recognition threshold and measurement attribute to the financial statement recognition and measurement of a tax position taken or expected to be taken in a tax return. The guidance also provides guidance on derecognition, classification, accounting in interim periods and disclosure requirements for uncertain tax positions. The standard requires the Company to recognize the financial statement effects of an uncertain tax position when it is more likely than not that such position will be sustained upon audit. The Company recognizes accrued interest and penalties related to unrecognized tax benefits as interest expense and income tax expense, respectively, in its Consolidated Statements of Comprehensive Income (Loss).</span></div><div style="margin-top:6pt"><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 Company’s unrecognized tax benefits (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2020</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%">Balance at beginning of year</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%">23,516 </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%">22,264 </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%">    Reduction for tax positions related to prior year</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,427)</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%">(163)</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%">    Additions for tax positions related to prior year</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%">1,947 </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"/></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%">    Additions for tax positions related to current year</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,956 </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,415 </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%">Balance at end of year</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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="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%">25,992 </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%">23,516 </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="margin-top:1pt"><span><br/></span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2021 and 2020, the Company had unrecognized tax benefits of $26.0 million and $23.5 million, respectively, $13.7 million of which would affect the Company’s effective tax rate if recognized. There were no accrued interest or penalties for uncertain income tax as of December 31, 2021.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company files tax returns in the United States and various state jurisdictions, the United Kingdom, China and Brazil. The tax years 2000 through 2021 remain open and subject to examination by the appropriate governmental agencies due to tax attribute carryforwards.</span></div> The domestic and foreign components of income (loss) before incomes taxes were as follows (in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2019</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%">Domestic</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%">70,776 </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,777 </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%">(17,935)</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%">Foreign</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,878 </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%">507 </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,403 </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%">72,654 </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%">34,284 </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%">(16,532)</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> 70776000 33777000 -17935000 1878000 507000 1403000 72654000 34284000 -16532000 ncome taxes consisted of the following (in thousands):<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2019</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%">Current:</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"/></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%">State</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%">2,818 </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%">285 </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%">313 </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%">Foreign</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%">438 </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%">507 </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%">835 </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 25.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%">Current income tax</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">3,256 </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 colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">792 </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 colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,148 </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:400;line-height:100%">Deferred:</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"/></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%">Federal</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%">(157,355)</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"/></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%">State</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%">(11,631)</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"/></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%">Foreign</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 </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 </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%">14 </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 25.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%">Deferred income tax</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%">(168,980)</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%">8 </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%">14 </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:0 1pt 0 37pt"/><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%">(165,724)</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%">800 </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%">1,162 </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> 2818000 285000 313000 438000 507000 835000 3256000 792000 1148000 -157355000 0 0 -11631000 0 0 6000 8000 14000 -168980000 8000 14000 -165724000 800000 1162000 <div style="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The differences between the statutory and effective tax rates, expressed as a percentage of net income (loss) before income taxes, were as follows:</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2019</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%">Federal statutory rate</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%">21.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #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%">21.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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 #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%">21.0 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;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="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%">Impact of state taxes</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%">(15.6)</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%">0.1 </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.6 </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 operations</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%">(0.2)</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%">0.6 </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.8)</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%">R&amp;D tax credits</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.4 </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.8)</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.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="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 income inclusion</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%">(1.3)</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%">Stock-based compensation</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%">(12.8)</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.1)</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.1)</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%">Other permanent items</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%">(0.3)</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%">0.6 </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.0)</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%">Tax true-up</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%">(0.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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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.4)</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.8)</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%">Valuation allowance</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%">(208.3)</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%">(48.1)</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%">(16.8)</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%">Net operating loss expiration</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%">(13.1)</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%">37.4 </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"/></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-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%">(228.1)</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"><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 #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.3 </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"><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 #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%">(7.0)</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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">%</span></td></tr></table></div> 0.210 0.210 0.210 -0.156 0.001 0.056 -0.002 0.006 -0.028 0.014 0.048 -0.062 0 0 -0.013 -0.128 -0.041 -0.051 -0.003 0.006 -0.020 -0.002 -0.004 -0.118 -2.083 -0.481 -0.168 -0.131 0.374 0 -2.281 0.023 -0.070 <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The significant components of the Company’s deferred tax assets were as follows (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2020</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%">Deferred tax assets (liabilities):</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"/></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%">Net operating loss carryforwards</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%">82,672 </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,973 </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%">Tax credit carryforwards</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,538 </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%">49,978 </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%">Depreciation and amortization</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,511)</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%">681 </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%">Accruals and reserves</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%">10,302 </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,753 </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%">Deferred revenue</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%">11,351 </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,219 </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%">Stock-based compensation</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,921 </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,821 </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%">Intangible assets</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%">37,692 </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%">(568)</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%">Other</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%">233 </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%">(18)</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 25.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%">Gross deferred tax assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">198,198 </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 colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">189,839 </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 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%">Valuation allowance</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%">(29,236)</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%">(189,858)</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 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%">168,962 </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%">(19)</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><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"/></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"/></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"/></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"/></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"/></tr></table></div> 82672000 114973000 52538000 49978000 -1511000 681000 10302000 10753000 11351000 9219000 4921000 4821000 37692000 -568000 233000 -18000 198198000 189839000 29236000 189858000 168962000 19000 -165700000 29200000 388200000 52300000 37100000 42100000 3000000 <div style="margin-top:6pt"><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 Company’s unrecognized tax benefits (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="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:10pt;font-weight:400;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:8pt;font-weight:700;line-height:100%">2020</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%">Balance at beginning of year</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%">23,516 </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%">22,264 </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%">    Reduction for tax positions related to prior year</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,427)</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%">(163)</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%">    Additions for tax positions related to prior year</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%">1,947 </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"/></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%">    Additions for tax positions related to current year</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,956 </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,415 </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%">Balance at end of year</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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="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%">25,992 </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%">23,516 </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> 23516000 22264000 1427000 163000 1947000 0 1956000 1415000 25992000 23516000 26000000 23500000 0 Net Income (Loss) Per Common Share<div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted net income (loss) per common share for the periods indicated (in thousands, except per share data):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:400;line-height:100%"> </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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;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:8pt;font-weight:700;line-height:100%">2020</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:8pt;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:8pt;font-weight:700;line-height:100%">2019</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%">Numerator:</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"/></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%">Net income (loss)</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%">238,378 </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%">33,484 </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%">(17,694)</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%">Denominator:</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"/></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%">Weighted-average common shares — basic</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%">63,277 </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%">59,074 </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%">54,993 </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%">Effect of dilutive potential common shares</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,579 </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,924 </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"/></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%">Weighted-average common shares — diluted</span></td><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%">67,856 </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%">61,998 </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%">54,993 </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 style="height:9pt"><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;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 #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 #000;padding:0 1pt"/></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%">Basic net income (loss) per common share</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%">3.77 </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%">0.57 </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%">(0.32)</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%">Diluted net income (loss) per common share</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%">3.51 </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%">0.54 </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%">(0.32)</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%">Potentially dilutive shares excluded, weighted-average</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,006 </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%">753 </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,607 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Unvested restricted stock awards are included in the calculation of basic weighted-average shares because such shares are participating securities; however, the impact was immaterial.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potentially dilutive shares have been excluded from the computation of diluted net income (loss) per common share when their effect is antidilutive. These antidilutive shares were primarily from stock options and RSUs. For each of the periods presented where the Company reported a net loss, the effect of all potentially dilutive securities would be antidilutive, and as a result diluted net loss per common share is the same as basic net loss per common share.</span></div> <div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted net income (loss) per common share for the periods indicated (in thousands, except per share data):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:400;line-height:100%"> </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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;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:8pt;font-weight:700;line-height:100%">2020</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:8pt;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:8pt;font-weight:700;line-height:100%">2019</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%">Numerator:</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"/></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%">Net income (loss)</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%">238,378 </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%">33,484 </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%">(17,694)</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%">Denominator:</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"/></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%">Weighted-average common shares — basic</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%">63,277 </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%">59,074 </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%">54,993 </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%">Effect of dilutive potential common shares</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,579 </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,924 </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"/></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%">Weighted-average common shares — diluted</span></td><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%">67,856 </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%">61,998 </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%">54,993 </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 style="height:9pt"><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;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 #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 #000;padding:0 1pt"/></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%">Basic net income (loss) per common share</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%">3.77 </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%">0.57 </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%">(0.32)</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%">Diluted net income (loss) per common share</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%">3.51 </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%">0.54 </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%">(0.32)</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%">Potentially dilutive shares excluded, weighted-average</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,006 </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%">753 </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,607 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 238378000 33484000 -17694000 63277000 59074000 54993000 4579000 2924000 0 67856000 61998000 54993000 3.77 0.57 -0.32 3.51 0.54 -0.32 1006000 753000 6607000 Revenue from Contracts with Customers<div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company develops, markets and sells communications access systems and software, and there are no segment managers who are held accountable for operations, operating results and plans for levels or components below the Company unit level. Accordingly, the Company is considered to be in a single reporting segment and operating unit structure. The Company’s chief operating decision maker is the Company’s Chief Executive Officer, who reviews financial information presented on a Company-wide basis, for purposes of allocating resources and evaluating financial performance.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Geographic Information:</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of revenue disaggregated by geographic region based upon the location of the customers (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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:8pt;font-weight:700;line-height:100%">2019</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%">United States</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%">565,964 </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%">473,779 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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%">365,701 </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%">Europe</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%">45,879 </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,925 </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,464 </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%">Americas excluding U.S.</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%">45,719 </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,802 </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,821 </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%">Middle East &amp; Africa</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%">19,018 </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%">14,075 </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%">18,617 </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%">Asia Pacific</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,814 </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,658 </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,727 </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 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%">679,394 </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%">541,239 </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%">424,330 </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="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s property and equipment, net of accumulated depreciation, are located in the following geographical areas (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;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:8pt;font-weight:700;line-height:100%">2020</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%">United States</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%">19,900 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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,383 </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%">China</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,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%">998 </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%">India</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 </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"/></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 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%">21,783 </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%">20,381 </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="margin-top:4pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Asset</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The primary contract asset is revenue recognized on professional services contracts where the services are transferred to the customer over time, which has yet to be billed, and is classified within accounts receivable. Amounts are billed in accordance with the agreed-upon contractual terms. The balance as of December 31, 2021 was $1.7 million of which the Company expects to bill 91% of the balance during 2022. The balance as of December 31, 2020 was $2.3 million of which $0.2 million remained in the Company's Consolidated Balance Sheet at December 31, 2021. The decrease in the contract asset was driven by billings for past services as well as the timing and volume of professional services contracts.</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Liability</span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:67.274%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.541%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.410%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.543%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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%">Current:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/></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%">Products and services</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%">22,586 </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%">14,651 </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%">Extended warranty</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,892 </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,538 </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 #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%">27,478 </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%">19,189 </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%">Long-term:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/></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%">Products and services</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,137 </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,879 </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%">Extended warranty</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%">18,879 </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%">18,025 </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 #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%">22,016 </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%">19,904 </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:0 1pt"/><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%">49,494 </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%">39,093 </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="margin-top:1pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The increase in the deferred revenue balance for the year ended December 31, 2021 is primarily driven by cash payments received or due in advance of satisfying the Company's performance obligations, offset by $19.2 million of revenue recognized that was included in the deferred revenue balance at the beginning of the year.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue allocated to remaining performance obligations represent contract revenue that has not yet been recognized, which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. This amount was $125.3 million as of December 31, 2021, and the Company expects to recognize 34% of such revenue over the next 12 months and the remainder thereafter.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Costs</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company capitalizes certain sales commissions related primarily to multi-year subscriptions and extended warranty support for which the expected amortization period is greater than one year. As of December 31, 2021, the unamortized balance of deferred commissions was $7.4 million. For the year ended December 31, 2021 the amount of amortization was $1.4 million, and there was no impairment loss in relation to the costs capitalized.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Concentration of Customer Risk</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No customer accounted for more than 10% of the Company’s total revenue for the year ended December 31, 2021. Lumen Technologies, Inc. (formerly CenturyLink, Inc.), the Company’s only greater-than-10%-of-revenue customer, represented 11% and 15% of total revenue for the years ended December 31, 2020 and 2019, respectively.</span></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">One customer represented 12% of the Company’s accounts receivable as of December 31, 2021. No customer represented more than 10% of the Company’s accounts receivable as of December 31, 2020.</span></div> <table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.742%"><tr><td style="width:1.0%"/><td style="width:56.395%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.255%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.612%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.259%"/><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:8pt;font-weight:700;line-height:100%">Years Ended December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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:8pt;font-weight:700;line-height:100%">2019</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%">United States</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%">565,964 </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%">473,779 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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%">365,701 </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%">Europe</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%">45,879 </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,925 </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,464 </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%">Americas excluding U.S.</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%">45,719 </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,802 </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,821 </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%">Middle East &amp; Africa</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%">19,018 </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%">14,075 </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%">18,617 </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%">Asia Pacific</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,814 </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,658 </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,727 </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 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%">679,394 </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%">541,239 </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%">424,330 </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> 565964000 473779000 365701000 45879000 22925000 11464000 45719000 27802000 24821000 19018000 14075000 18617000 2814000 2658000 3727000 679394000 541239000 424330000 <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s property and equipment, net of accumulated depreciation, are located in the following geographical areas (in thousands):</span></div><div style="margin-top:5pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:88.888%"><tr><td style="width:1.0%"/><td style="width:70.610%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.235%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.609%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:11.237%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;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:8pt;font-weight:700;line-height:100%">2020</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%">United States</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%">19,900 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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,383 </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%">China</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,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%">998 </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%">India</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 </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"/></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 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%">21,783 </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%">20,381 </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> 19900000 19383000 1840000 998000 43000 0 21783000 20381000 1700000 0.91 2300000 200000 <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred revenue consisted of the following (in thousands):</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"/><td style="width:67.274%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.532%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.541%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:1.410%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:13.543%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">December 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><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:8pt;font-weight:700;line-height:100%">2021</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:8pt;font-weight:700;line-height:100%">2020</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%">Current:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/></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%">Products and services</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%">22,586 </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%">14,651 </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%">Extended warranty</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,892 </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,538 </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 #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%">27,478 </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%">19,189 </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%">Long-term:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/></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%">Products and services</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,137 </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,879 </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%">Extended warranty</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%">18,879 </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%">18,025 </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 #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%">22,016 </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%">19,904 </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:0 1pt"/><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%">49,494 </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%">39,093 </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> 22586000 14651000 4892000 4538000 27478000 19189000 3137000 1879000 18879000 18025000 22016000 19904000 49494000 39093000 19200000 125300000 0.34 7400000 1400000 0.11 0.15 0.12 185 EXCEL 87 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( -V!5E0'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 " #=@5943";>,NX K @ $0 &1O8U!R;W!S+V-O&ULS9+! M3L,P#(9?!>7>NLT&AZC+98@32$A, G&+'&^+:-HH,6KW]K1AZX3@ 3C&_O/Y ML^0&@\(^TG/L T5VE&Y&WW9)8=B((W-0 F/Y$TJIT0W-?=]](:G9SQ ,/AA M#@2RJN[ $QMKV, ,+,)"%+JQJ#"2X3Z>\187?/B,;899!&K)4\<)ZK(&H>>) MX32V#5P!,XPI^O1=(+L0<_5/;.Z ."?'Y);4, SEL,JY:8<:WIX>7_*ZA>L2 MFPYI^I6621A'^_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!5E1%'>%I508 'T9 8 >&PO=V]R:W-H965T&UL MI5EM<^(V$/Y\_14[]*9S-Q.")?.27)/,$ ,M=WEA('?7M-,/PA;@B6U120[) MO^_*&,QEC.Q.,T/PVSY^M"L]NUHN-D(^J17G&E[B*%&7C976ZT^MEO)7/&;J M5*QY@G<60L9,XZE:1V%PV2&-W81HN5]I<:%U=K-F2S[C^NIY(/&OM48(PYHD*10*2+RX; M??)IX/:,0?;$MY!OU,$QF*',A7@R)^/@LN$81CSBOC80#+^>N<>CR" ACW]R MT,;^G<;P\'B'/LH&CX.9,\4]$7T/ [VZ;)PU(. +ED9Z*C:_\WQ '8/GBTAE M_V&S?;;=;H"?*BWBW!@9Q&&R_68ON2,.#,Z<(P8T-Z!O#,BQ-[BY@5O7H)T; MM#//;(>2^6' -+NZD&(#TCR-:.8@6)9RZA"5]G M _CP_B.\AS"!VS"*,"CJHJ7Q%>;!EI_#76_AZ!$X0N%6)'JE8)@$//@1H(7< M]@3ICN UM2(.N'\*+CD!ZE!20LBSFX_X_!2<\\RWF^&Y5G?_U9\K+7'*_VV!;.\AVQED^YB#A)_B0M3P\+KF91&SFQ.G^<7" MHK-GT:G'HI\D*8M@RM="ZC(Z=APM4VZAT]W3Z=:C,^$R%(&9C8#KH]0_%4CY M_/OIW;N*.=#;<^O5#)ADJ)^9_!UWEQUKP2)E\]?9GM.9%6>8Z%"_PBB,.-RE M\9S+,BYV#,"P*7TY@G/BG M%E;$*=32J<,+\83$B#$3O!.8:9Q:("1X(DVT?,7OH)1L!?I@:"-Y(.FD#LD' M]@+C "=:N C]C*DEM!60W;.FTW;/>L2Q,:0%0UJ'83\()%?J9'< -_@IV ':SIF-2)$)B%V^;X2//IFL1&*3W0J0#FDW M7<>QKLPB#Q"[B#^$&E. 6 "A'^8?8<;]5**W2FG9D3P1QR@Y,RW\IQ-X[YPZ MM -K)N&91=8<3XHD0>SJC@DT"),ES%[CN8A*.5:DA_[-'[8:M<@+U*[<.S_! M\ 45*%GRH_FJ NCN<69+ K1( K16$OB..ZKF4X):A;%D"B=: &.ETO*95H%Y M)VS4"O6GM=3_FX@P6^)F,RL[9.ENHP+)3JB0>%I+XKU42E.7;8NQ;&*AGJ;E MQ.R(CUS9F!4"3VL)_#C17&ZWR*:,93NJINR-IM!/@U!C_=#7FF.^ MSHK&4<26I!4[.5JH/*VU%YBM4,JLGK+#5'G*+<3>K;4)F*3S*/31/8*5 M+<1!CM+)4$S_[?F*=EQZT7HN>WLA[&XM8?\QO3( MW0-&W;8IZ\\[1U@5FN[6TG0/14EB23-. OX"7WAIH"J@L)0A;:>+?[9H'71< M[%+#(NGS?585Z[WV]'=X]S&!\Y]U/)_?3_L-P ->/,!V.AM/AG3?$ M390TDJQ,@:Y7'.2^/_++SV>4]'Y5IN<=)F%6*:RE>'D%(^,\B^\"A3U$UJ85 M"FS;IXLYSRH=!%1&2E8B"K 6 Y03"-^,3NY&9WK$8P150)P3( 0_%#\N@@9 MV@8,=^ :QN-Q:=NE=="O-IDPZ_LK\$WW9-NZWE_=_[;0SSKJK>+Q[0\3M\PD M4@417Z"I<]K#R2FWO?[MB1;KK/L]%UJ+.#M<<89C- _@_840>G=B7K#_Q>7J M7U!+ P04 " #=@594G11O^A@" !F!0 & 'AL+W=O#BG;'.9\'0"0(.&3H"M<-O6 +G#F1E_&J907>D"[R; MRX$:6"K^G>58S(+'@.1PI!7'%U5_@C:?B>-EBAO_)77C&[\/2%895*(-M@H$ MD\U(W]HZ7 :,;P3$;4#L=3<'>94KBC1-M*J)=MZ6YB8^51]MQ3'I+F6/VNXR M&X?IO,H9DK5LKM?6*0G18MUFF+6(18.(;R"BF&R5Q,*0#S*'_'] :/5THN*S MJ$7<2UQ!-B"CZ('$PSCJX8VZ)$>>-[HW2?)C?C"H[2_QLP<_[O!CCQ_WX94F M7ZB :^7KC_Z\VWXDF\VN1\BD$S*Y2\A&93?OLI^PIQ(I67*JZ0-94LYLR22C M/=JFG;;I7=J>F19DO;HFK1\0/4ZNR0@O_GT!^N0[W)!,51*;-NA6NT=DWO3. M/_?F!=I2?6+2$ Y'&SH#;< M =W3FOX%4$L#!!0 ( -V!5E2)PVSS&@8 $X8 8 >&PO=V]R:W-H M965T&ULK9EK;]LV%(;_"N$5VPHD,2^ZIHF!-,6V NL:-.WV MF9'HF(@DNB25RW[]2%F1;)%B@F+YD$CVX>'+0_(\/,S9@Y!W:L.8!H]UU:CS MQ4;K[>ERJ8H-JZDZ$5O6F&_60M94FU=YNU1;R6C9-:JK)88P6=:4-XO56??9 ME5R=B597O&%7$JBVKJE\>L\J\7"^0(OG#[[PVXVV'RQ79UMZRZZ9_K:]DN9M M.7@I>>ENX $6KM*C[QD9!S9O=7_K8!V*O 8IF&N"^ M 7YM ](W(-U =\JZ87V@FJ[.I'@ TEH;;_:ABTW7VHR&-W8:K[4TWW+33J\N M1:-$Q4NJ60G>TXHV!0/7UIT"Q^#;]0?PZYNWX W@#?BZ$:VB3:G.EMKT;-LO MB[Z7][M>\$PO'UAQ @@Z AABY&E^^?KF\+#YTHQW�>!HT[?V1NT*V4K-'@ M0BDSSM. 1S)X))W':,XC51M@8@,*^\"^M_R>5J8+;ZQVKN+.E=UF]ZL8$4+. MEO?[(7&M,IC!=+ ZT!D-.J.@SD]4WC%-;RH&%"M:R35G7HT[-\E>[R@F$.*) M2-E:)7FT M9W4@,QED)D&9'YM[,\-"/OET):XN\P,GNERK&.,D\^M*!UUI4->59%O*2\ > M3:Y73'7K4N@-DR:A[!8^[1:^3W?J*"(P0VBBV[5"*$*17W:'3-<))D.?2+S >1^0O!-025^JD+JMWG6\,T/;L\;-+:B8P9X_B4-W7C'*IIO>9X;2 M:$[O'HI04.\'MF9F\DN@Z6-@_GLO!]V;B4TW?X. MR'-ADD9F(SCSZMI%."7Q#'70B!T4O^I84'%ZPZL.C:&S 1I!@<*D&("VI4^6 M9M[1NRS .4RFF==CA@A"U6ZF3]%<9Y.5;IF29:2 M9$;E2 @41L20(20S[&W]@?0D_C1*LZE$UPSE*)LY$Z"1#R@,B$.*O11.-_,C MG*&]0/5B/780P6@FG^$1$3B,B#]%S:Q5O%=CA%&QR\;5$. 7E@+V M40&Z:CUF!)&9L@"/[,!A=NR6[4L:/60PNWIO.GN1'KLHA7A.Y8@0'$;(I:AK MKNV):W>J+41C%P%K"J,8_'K-&/A+: :2MU[Y0>?VPN14;6G!SA=;R123]VRQ M KYJ]7]P=!B $5$XC*AK+8J[C:A*)M7//V7F,/FN.X7JIQ"I\$@J'":5J1WZ MO:]L3T?@#3R!.#;@DL!4M"U[!^(C""%0&RIM:='JC9#\7U:^ XUX_I0K95G2 MU1VM5MH\V*U*E: M28:S04 0SH4AB8X,;WXL%$>=88*/$,8_Y,$?0T^YEL ILWU6<4QF(CDB&X>1 M?5&6W(+%9!=;E1[S!A1TRTVV\4IUJ9SG:19/SZ@^NRB#\(D3/%]T0;> MO.#>8I2X,#Z."$S1-'_[#),D-U7VC-*1VR3,[1UFU&P6\\IV 1TG682G)SJ/ M'L6>Y=]MJ;]D]4WO)& MF8/0VC2$)ZGQ('>7U[L7+;;=_>^-T%K4W>.&42/;&ICOU\(@LW^Q5\K#OQ!6 M_P%02P,$% @ W8%65&+A'MW/ @ NPD !@ !X;"]W;W)KG(&W@D@05=.ADANB;#2R MV8&KC4.C&R;L8YP9A;L,<68\D4)+SA)J("$/E%,1 YE9.DVNIE2!,"D8%E-^ M33Z2#\0G.L55/?0-9K<B@R102<*DUR4$5YKYO*6Z3HNQ3V[5R/ M@U80=8?^>K>*IZ)J^CN5_LYE^HLF('1E4JG8']RP/HK51O$%?V]'5C=PGS?R M3\?5#'0K ]UW&6!:KTZ+[^Z)>BO[6$1-<*\2W'N78/PGUH:*A(GE*=6]DZJ/ M1=14]RO5_:.J)S++\-WYCR;OG]7DIZ)JX@>5^,$%XB_N\,%>,<,@:.SQ7.SBOQ6_W-/4Z4;^S+[XA, JCZ*#V,/AW$@67J[^@WTOZ,SPT13:; M\'=.5GNM^4+5D@E-."P0&K3Z^.*KXJ903(S,W6$[EP:/;C=,\78%R@;@_D)* MLYW8\[NZKXW_ E!+ P04 " #=@594JJS#15H' #D( & 'AL+W=O M MFKI55Y.-UMOWLYE:;D13J@NY%:WYY4%V3:G-8[>>J6TGRE7?J*EG)$G265-6 M[>3ZLG_WL;N^E#M=5ZWXV"&U:YJR^W8C:OEX-<&3YQ>?JO5&VQ>SZ\MMN19W M0G_9?NS,T^QD954UHE65;%$G'JXF/^+W"\9L@Q[Q9R4>U> [LE3NI?QJ'VY7 M5Y/$CDC48JFMB=)\[,54M:J_XL>C]AD@I8[I65S;&Q&T%3MX;-\ M.CIBT "G(PW(L0'Q&["1!O38@+ZV 3LVZ%T].U#I_; H=7E]VK4HL5NM/FPTRJ5D@^H+EL3"AM[!SO M!;IME[(1Z,UO4JFW:(J^W"W0FQ_>(K4I.Z%0U:+/&[E39;M2[] /9\^7,VU& M:ON;+8^CNCF,BHR,"A/T0;9ZH]!/[4JLS@W,#,433_+,\X9$+2[$\@)1_ Z1 MA&!@0//7-T^ YHM7-\=%A T]S1KM[=$1>Y_$7K0[\3YBBIU,L=X4BYN"YNC0 MD/<-;?[87Z=900MV.=L//1?".,.$%N>P10ACA%&:G&!GP^>GX?.H)^92:1NL MW24\FTZA'/).09PX&T@$72DB>9)YG0AC)&"&)YQD 1E.6<-@SV8E&%J7Q M2V=6*MIV\J'2$()![S>0@K&,ZY MYY\0E1/.*>P>G+CLG;RP>I4HN^6F9[,R 5O+K4W@8,I-0D()SI@_XP NYX3G M'B,(AG'.1B@-! G'XU:T9M+KGE&Y,I)7*6V#8 ^NQ*.QX2@XSS)_D@ 8L_]\ M3B&,9AB/1#$FCA-Y:9ITMUOJ76=C>6DDGU8H54\ $!NH>I.,"!!0";XI13,L+-B3F)B_GM2S1"P;4=9R0@$@+SQ%<( (1Q.D;"J3>)J_?O M1N#LY( $2%#6$)K3S$^? (Y2%DY$"#,K*"U&5(XXN2;QBM%R.),"9!0"F>?& M:'A?P\E.J:HG>F/)_)>NZ[%3?3]\!J#Y'<_G0+Q=^8ID#J.2" M^^D'0$V3B]$@=F)*XF*ZJ.J=/1[Y#E8<8,6QSRI$&59!2(2H&"LGJ"0NJ'_U M1V)B-2WW9J^P%JC=-?>&E:E\CV7AQ'_U]T[I_K1YG%U8N'*_<@0P:>H76@!HBL>*$CHXAHT7P%2/G M,M0I.XTK^]TWI46C8JO;Z2F-Z^DKSN2IDT :E\#(J3P%A(\1'B@?@.-)SKE? MU@ X4_Z3L;J&.NVC\J??"P@ MG*G[!@?!YQXV4OGE>.70F$FI6F. M_>B#8"3U;Q<6$ PGQ9AK76)F\7+G.V*/#6[*7DJ"+\8>"V^YS-),@BLS $:X M?^JR *TEA7\Z.!M<_S:B6_?7Z,H(TJ[5AQO2T]O35?V/_06U]_X&OU\<+MR= MFR6U>M0K5X,":3B\R,J3MM-SVE\SW4FO9]%\WHER)S@+,[P]2 MZN<'V\'I/S9<_P=02P,$% @ W8%65(\),AX9!@ S1P !@ !X;"]W M;W)K1IP<9OO%\4QIT%4&:7) EF6 MNTB#.)NMEM5W=_EJR4J>Q!F]RT%1IFF0?U_3A)VN9G#V],7'>'_@\HO%:GD, M]O2>\L_'NUS<+5HO49S2K(A9!G*ZNYJ]A^]N;4L:5(@_8WHJSJZ!7,H#8U_D MS8?H:F9)1C2A(9-KXW36/E,:GE\_>;^I%B\6\Q 4=,.2 MO^*('ZYF9 8BN@O*A']DIU]HLR L_84L*:J_X-1@K1D(RX*SM#$6#-(XJS^# M;\U&G!E >\ -0;H4@.[,; 5 ^0-&#B-@:,8V$,&N#' ZA.&%NTV!JZZ!CQ@ MX#4&7A6L>G>KT&P#'JR6.3N!7**%-WE1Q;>R%A&),YF*]SP7_XV%'5]M6%:P M)(X"3B-PS\6'R#-> +83=RS\) :SS;C9AJ6IR.N* ML<%Z.V[]/HIB61=! NZ".)J+)6R"8VQFA\I^)45IFVYN=SKEN[B,.8&)[<3>RM:55'FWTW;M!!IT^8.:G,'50Z= 8=K MNH^S+,[V8!TD01;2-T])$7!!,WP+;/@&( L24T1KWV[E6S;,QQ6V?8R7BT<# M);NE9(]3JHE( @\M.Y'+1YK'++J$U[I^ #[C!3'T;: M:WEV'W:MP^8>5D W!I!+'*(^\]: LWV?N.:-==J-=2H[>V!C/V2A3!\*7HD- MK*Y>RU(W]HB_/[(D 4(I3D$>_3.2:+A].!Z-:O64N52<"(2BG$0M!;)@3>'# M6EI!" E4 C.%ZM%T6YKN*,T/15%6V2<2+JP[4B&9@S(3^P-HO3NQ0&12?\%1 MY*KHF9D8.(2%&"MV-.:EK)]78FOK4GIM*AU78X\_ <>JZO M-(6;25B/H=\R]$<9UCH2]G1DDK%OH&(I97 ] >JQA58W4EBC?*^SZ )1\(TR M;^FJX#H.&:!T-N7 2W6!9M&P(IA(K1O?O6Z!'0NI"=S@^M)QEI[-+*)[(SXF MOJ_$QH";$ZQFG GE60A[KB(+)N"(+L!N"(#HY94!=H(/QQ7_1[2A<=4+I.V[ MEAJA*5B?:B>AT/E_Z$/#HR\0>* +P4Z%X;@,_Z<2 0V23"#RU!K#NDIH\3.Y MLEQO8/V=O,-GZKN(1LBRK#E=GV)^ ,?R(8E#@=R)/I/MVUV@WV2&7A!"7>-M MA(92L!-Y^$R5?\82C%'4%=JU+%7'-U#7>FUV-KC"HE\-J5,G]W!<[]MC4+WP MG/(XKPZ]QO7HBFZI:R'ZP W5X\+6X$BT7X+5Z=V &^O2W0@!QV>(BZ8-0P/Q>JS=(OUW -\A M%L9J"'7<'/K*0'MC0KFN;_EJG1F \T5=:,(LE]^$D+=>('&QXL?F820:4) MMJJDD[ ^U6Z20"\T24S)*-)' 03Q4/UTDP!ZH9.^,3:&XSUVD?H#5 ,[+R_U M=+ UNL+>4/RZ,0*-CQ$7J0G2!1S9Q/:(6K.3N#[+3NG1N-(_3T],(IB@&W-Q&2@N\,:$&PO=V]R:W-H M965T&ULG5I=;]LX%OTKA#$/+3"N15*?11*@M:?8/K0-)CL[ MSXQ$Q]I*HH>DXV9^_9"28MGD%9,.4-22?7C%6=^V0K9,FUNY<-*[25G5=^H;58DBM)5R^IN<7/5 M?WV9?+I(V_$\7J!%\]?_%X_[+3]8G5SM6+S[@]QM:V 8]XG\U/ZJS:V2IW OQW=Y\KJX7D>T1 M;WBI;0AF/A[YFC>-C63Z\=<8='%ZIFUX?OT<_5-/WI"Y9XJO1?-G7>G=]2)? MH(IOV:'1OXOC?_A(*+'Q2M&H_G]T'+'1 I4'I44[-C8]:.MN^&0_QD2<-<#I M3 ,R-B!N@WBF 1T;T-O/+ M6_0+JCOTWYTX*-95ZFJE31]LI%4Y/N_C\#PR\SQ,T!?1Z9U"OW45KRX#K$SG M3PS(,X./)!AQP\MWB.)?$8D(!CJT?GWS"&B^>75S7 38T--XT#X>G8GW;<\E MTW7W,*R(6M=*EJ,WC5#J+31T0XBD#V$+QN,- MH3G-\JO5XWE"?1BE<1Y?HC8^:HFSM)A@%SR2$X\DF)\/U?_-HACFJ!:F\I2B M*^N&H\XE:'^V7Y9V&N^E>*S-?$/W3TC\9(K34]?28(KOM"B_+VT1JI#IAZG, MBMG:!F5ZB)2>9SHF-'(2[:,P+5('M0%0&.<8SG-V(I,%R6RXD9&R9D-Q[BK$ M6B%U_?7&- MXC.]P^$4EJ4XV,R9ZX>S600\@DD0?S.T33UEB:$PP3CU"7AXXJBR&1[ M5E>(_["%DP^C+_2.RW$Z@-PHD/@LRF*7FX_+,NH2 X*E=(;7I+LX++RG^;9G M3W:R@31BO^"E$4E<%CZ,X,*;9#YJ28HXGBD]>%)>G+S$1![XQ9($R21^-2%N MLM< "N."$)>,#UOB?+;L3%*-PUI]$@/)S=(YP*,""&L4^XO?A]&D\%8-I/C1 MC$CC2:5Q6*:_]0ND$=W#4G/9OC@VOK(N28J]P?%A)'=MX 8*1FE*9CA-.HW# M0OWUM:8-9.AK;I)FA<<0@.$X*ER*/BQ.DQD+BR<5QT50]&R]5C_A0,DDIR0* M5]&#+'?,ED^S@3/Y,UG33WTIY7\=ZKWU#%#6QJB7RRR*4S=M$"[+L9LV,!RE MR4PQ)9-XD[!X7]!KF?S.M:VI2/'R(&?G!('DNJ3P<]Q\-<9%EA>N @(X$D5N,=L L#EFD[*3L+*?UO-!]>[;_/.G M/\@-$&2,(^-=7'*0RM% MR7FET%:*UFXK6[,?4W:GB6JE#N:IW%K9IC^_,3M>WNX;\<0YNN<=W]8:[1L& M;PN(+ZTD28DW<0"ASC')W-3ZL#R+9EPAF72:A'7ZECT-^YPSBMLIV5+:W4./ M "GZHFLL;>Q-'P"69(FK=Q#,&)L9]TXF#2=A#;\<8B/H2#&S[DT5N!SNSMQW MW7A>>JRU$_9H2EL!_D5Y%[> MN0,04_E(GKCL %R('ITC"K,8^ =9E]1?6:CV:)3Q3E:CO M'K!;D@!,4KB#"H"6>3%#=S(B-&Q$QI-BR8W/0F\J/ER][>O/3]$$SA/,/M3; MFP,X:C3979]@N'SN[(2>G;>'W1&_.1 MN3Q]F$E&XDUB'Y9$))O9<]#)HM#P.420)[=G+0&&_I%"8GR3MTQ]&)"(#0"[ M3,0EP\DJT?"K@;O#?M_T9H UJ*I5V0AUD(.?[DEO&Q.R[H:7I49$0PZ-3A:% MABW*Y\[LO(V?1?;X"LR>[QM2ZBUXX+ AS=U3! B%R8Q]I9,#H6$'\OGL1'R> MAB_WB=EJN#Q\5):X/AP Q=$*+=3O??\3O-\,K_"G,\!<%7Y@TM56AAF]-R.A=9OHD MAY?TPXT6^_ZU];W06K3]Y8ZSBDL+,+]OA=#/-_8!IS^5N/D'4$L#!!0 ( M -V!5E0,!H!T12 !ED 8 >&PO=V]R:W-H965T&UL MO5U;7GSW;&=4^^^X8^N^V_ M^\:/0^LZ>]M78=SM3']\85M_^/;)\R?ZP5NWV0[XP;/OOMF;C;VSP\_[VQY^ M>Q9':=S.=L'YKNKM^MLGU\^_>O$9/D\/_.+L(60_5[B2E??O\)!@IWK^'_S7OB0 MO?"G'ZH>GX;1\ =:*KT-Q+D.-^5NZ.%;!^\- MW[VTH>[=GCCDU]6+,< #(52F:ZH[M^G M#4 #O.LELE>\&179R9[?E7]X+MA&ZI776.;7+3ZJ#"97K:M_O?6\&V\ OU?6X <&O MGG_YY9=$J@.*JY>V-0?3VTJ?A44MJ[_ R$HI/(83M6":<"6;UJ],6^U[?^\: M(!D84+=^;&C(X-<#C;9OS8"F#8@/QS#8'7,GV/[>U19'-$.U]J")%3 1QS=U MC3SL[(#V9D&? 4'*9/Q5ON.7-_[>]AT,>V]<:U:M!2O2-:3E-%5C!]OO<&/H MW=YT&TM?_#8"&XJI;-B+N]L0=PM(,6U;#<>]%3ZYWY$J#]O6^7O80/H4M*4+.!.N MR('9%,&SH=@Q'/;Y%U^'"N806X[UA6LV4B9]QNW[KU\802X7T+/J&O[/N]!0GN(HOM^]K!8OBE M&>[&>863R"6<;H/FX&2J8=O[<;-%08%M4-AATEO)U9A.]'UQC@#.T<"#_O'7X#4P0P%PWI[=IU\)0#C0LP MC@6_#=S9FGN0,FL[$"R[-SWK-P[2\YAD1TCL+7"AE]=$C7Y>WBVK.UN//=%+ MA+UZ7V])0T"&=BX0-E!1O7MU$R45GZ7W-[:S/0CMD11WCZ2:M+A]#TQU^]8F M@?_^^OI6AUE6UR#N(3.5K@-M%1Z (K>&9"8*O:F9WVGA(&&@W&K:$LO(?%W# M((!"8'N1&8X,#$A7YP?6*K,'X:U)PC*B-[HCL'D[BU3!HS2,['-EQF'K@6L& M(0_S 9=5@;%=PRB-3%6]CIN6;?C= ,LQ?0-ZZ>&_R)C7UW M;G[ZYN9FMCWP\@5?H0V /8I+.OJ)6?FBC5+J1N"ZH/\A3I M85/BUK!TI :(!FEO7#TL8%AP#/"IZ5$ ^AL[TPFXJ (OC/WK@?_@AKK0.') M;!'"!E-(NX5/@D-I&Y1'V%FT);3-[%*U ID(8 M>Q%;$K+#UO*:(P\.#J1^94',@7O*RC==]8/IZRU"KX4F"/1#N27(;A^@7;[ L8X$(E[1!]'D%$VNB!8@V/=!8)@ M@8@XP#6 E;1 ?B.\VMH6E/+"=1=@^F'R'W0)\/DL/+=A(4M*B)MEA_[FET"..Z.C#@.#5$3^%73\F\T MYK!U?7.!>G$D[>@>,3QLZ+@&'H CZ#:+"L$,* $Y0EJ WS@0P#I$G)3I"?"5 MYA88.F4?L!E8,K#*D,$&?@'?=5<#V-'A A$::DN&!& N^Z[:^7Z*YU9V@,>K M7]W%:[=(L$9FK/; J2T[\<;6+M!F(41D\ I3\VP[NQ1SN"*UY\ M6!+5F+$^H5:BZP--<"@;X'9W8 GA:1%3>*EM+8@[VJU'B-.'MI/UZU2'UDGG MF#?V/=#6KPR#O5"2"9/49H0/U[SVSGOKE!,E"U V0-;G&9"4A1O.H!=#;F/?G[CX5/,[83D M[I;5SX$6]@J4#N<.PFQ$>$;CH%D\Z(* (,3G."OAOXA/5&P%# 94?+.A=Y$/ M._,.V!(G)2\"S-[M!>,B<#<0% D#S X1"BX PS,;0<^'82N-G"-= F2@ J74 M+61K$TG@<]NQ ?T W"W^=HCV=?!?H1_S!W:^*,*-'U<#>!M%=Q)4&<2CO46E M!6& 6$2#=K\"RB%>A(E 7P?? PV3(?VJ=1L343^:" H%4"R2'06#M* (NX7 MF*GZW<7*L(3NP#D&PS(""H D8J2$D '1,,=E9*SP8]H'BX(;! L2M23!#7P+ M!AL0!VQW[<- ;@@"M=\SX-(@>*5HS[R7L4K(1U_L/8=)*<"!O0'D3+',-2S+ MM%&&6;L1E(':BN/Q^5XMF-4CB!L_Q=$?O[>R4:D44I]7)R7K(>/Y5NSK6S#0 MFXX?SS$OA-S$7K7#1+'N6V U21%R,I^R,GC!HQBH1P0(;C<0 &!P[H;,O =Y M,'S%"9G/OZ[N).TALEN20"X0Q)$B_SK*(>@Z!%\PN.1,%J=)!I"7&NV=;!9F M(T2ZXJ/B3=6$1H(TV3%+D7*!;#'H=9KZXF0F-%P@@J@,98/49$!#=]8AEVES?\*^2#,>5&R1=2'955YM*!HNQ-+R 82 MXD3,B(=H"C'=PV3EZ LS(O241V4 6^.&EB> (:T&X>R&4:].2$N<82A)-NUA M*9KCH;+B0PME)L)3*=Y/<8UB/!*ZK=OO;3,E[ZSXZM"2&0O%O*R8$(=B,HA2 M5<&RSNAX&(AA.LF1X2OHRY8Z[H$*V"$B>6<:FV4+)TN=$/YAQ5K,J,S'*,:L MW)]="8@24'U,B#8Z'T2U$^)G-4Z3*:QTI4@89G]Z%!8K.3SHLL.836FW,WZ+EK MP]"@LH8\D4Q_9AWL87)VJ&U$R5D@P4;@XR-,SWPR=@ONFU5!U097@SYXY4'8 MDV0#+9WO+N('&5CGK#EX;[8K6C6 96K&-==+#8TP>4D!?WR5$^"&4R!@N7PO M )VR#;BI&$BU9UM2Q@'@*ZP$#7(MYND.*UXQ1= MI[F6-05)^*SNZ#RODX=''*_^;@<( G.29U8E0)2@"VGL)@\;U("K<(5""Q\0 M2)7!,ZP<8]X9 G/.*Q+8NS U$EVU82JC6AA5*>I^J4H#B1519RDF'):B-G M)PL56S^OQIX^ P?5;UBS$FX" A -K0 $1B#(V/?,V/.[]JA745C@01 ,%[82 M]:&KQ0?B!B,8][TB'4IN8.101@T+8(C?]&:_I1H;(+]W=DA!'!IXQ.N@$[@I M+= 3:K.W"\Y5=Q3PD??9]#Z@I/4;3!51AA5!YX*8A5F&7M(HB#N0?93$2G49 M?..W$2'&WV"9C;^8O 7PC$,ZP$6'Y>PH8$LMCHC_5V-*0T4BCP%1[2\ ME8QU8@BF*1W;),Q\3M&G(=C>' '=M&+86TXVOM\+< [!0X2!GQ$[:-VE%@*A M@&% LCE%.@W\,FH#!-Q[YFA$ 4P3H*^U&U2$'HQ%]:&_/2(E M<$:)'U)?B<1W6%W]/9*O(2'L.=@^1Y:70L9E]0:B[C9XM:1I(L\>VY,;(C*+ MLBH\/Q*N;!QP:B!(TZIG'K819$R*L9EM65:_YGQ[JWS+[1H5;$/4;&&T)CG= M,.=[\1N*(QP:4 @J.U(8"[8#M?V.HO87)'PW6=0N7YR&\RI=)\)%\3_$K!H, M95Z@^"K6=6[O?HJ%X47,,Y/&X^.(BM+#;^]^#D5M3G6&H3-FEQIQRM<[1J/, M1LK*--4K2<#SNJI;??L6S%WU-.LO>'5W>UM,=';(J\OG7U0_^H[*[ B''C_) MC_]9%?-P'0X+'C ')Y\VN+6< BSTES+@V6_1\%_8QX M)QHF_#)#;(* )0];WRQ+.ZES8!]$5X:RKMAO*A!%/-IPB ,&WE'18<6A^E;8 MDV]"8KN459&0$O!BG39HJXB5\5)5-ZZ%037GLY/Z\C8W?QT#>=:9Q<4]=D,H M1N=IT>\OJ_] <'B3)U6KUP1GL.$&W2#\/RG[$@CR[3WGUEN[X7ZKVEK$LAB> M.]J8"(LZ!G,0)_=<0HAE=>K.E+:4G#66Y4&4EIFQ"@7'*JS1:IT563O#A8C 6D#U&?L M61:<> VR#M/)%VS7Q#&YCONXR7?'%*-8+=1PJF2:ABT6\#]_@3M"LDY&W@1X MNP5J!VQ8[(%=[7'::E%:M[BWK8M6KF/BYI^1=SG;MQJ/OR%%Q M^8:ZKTPJX3S<0:$V:*$5&P)24L;IY^JF2^F%HXI3IIPL-*?&9U*D+:M2Y_,+ M@3?]A%UE=7^Z6%4TRY70O^.B;["K:: >+MJ6-S'PNY-&$?0?M<60BW%#ZB_# M%J%^W*7L8%Q7>TS6*I,:ZMU,TE"7 V,8R-1@?Y@&[&6\7INP7="_%-Z"(^$L M&8,Z$OQ0-A?&*BR@ LOD+6XF0P0)\-(&L*QHZ+$-6!*S9;/S2"U@ATB.'*^ M0X$5(T"%GP',6WBB,4?:C98VBC<=;1Q&W($,E:1.U@6?,3E*7)(LV\\=Q9MW M ^O,2TL5RU")K^#1I&'3MMIJ@FT/\\."."^(>D>F&W,"F/NPC408\#!!2PIT M)_X<412FMU+';4/N04P:-G]07E-VHGR98GL<@;)![TE)8+X_?+K\O-H!N-($ M >Z8KL1Q$&U!EHIF=9SJ16]^=P!);[:PT.AMA5W_#BK1^-VR^B$U(:RP)^E> MFX0IGIMG$7T/.+B9][)((-=I)[*%NQN'1,V@_C]*+'/7+*:[@?N 01TAJ4P) MN,C$8@:JO!?_+^TGYZ9<3NK0@!B;(O%%H>$.&_ 2:RXD5XAQ'P>)T;]-S^4 M0;^'V,NA5VDLZO:9MWYZF;VFC3ZKL7VG'8#G$G'GLLBJ64'Q+Z=65'F2XO74 M^9Z=;9#VMV7UZ]:U!6*B]J_ 72F. S!@TX@]@ XE13J%A&*=<[YQ:I6?RYAO MPHEM"6+=L262[#MWAF'P[O=XB@K-!8195$T0,X:FG92JI(*^W _:?D&Y8$+% MA*UB^RB.$^/?8ICJ3 \6[+"X=>".7Q%O6NSFU]P\.3YD"\C'HL+MSI)SJ>>0 M%A#VON/*39[DWL,7U%^ZK%YCV/J+AJW)X;S)' Z*16WZGGIYM"U(#<6<4E#5 MO[&9'PB+Y!WVYA@1)A/-(403730YE&2CD$U 919A2]L;?ZX%%=3WU&[84:2/ MYF?67?5R $"#W]]&/]BFR%BPA>>-Y<\#E^ DB,T(8C>W8&?W*C=(L,:,@JP; M_\0OGO=\5),>-'^@&\#]6AF7,O[$B'5N6:<>)3I$@H>>\M;1S M M:LAASI4FH'PB_N$S%[P+!],H'-! MY%;21.72M*!!I>+"3TL]8%#Z"'QB5GC'Y^L$-'"4ENH3W,UQZ@+F9:S'N@&6 M9"$$.IU;R(/C84;]:$U/4EJWV.!&V6#8 M;2H*D-OG@#%K1RRW9EYHF-LIS$)?ID/FS6%S-<8"E,7#)#EY":]:;F\V661V M 1]<8,\-1/(HNOEPN$Y,<_4-ZV.F=MQSQ^UY\"4"&#IP0@V@W&H= ^W85DDG M,;0FGLKE9&#AE]YN\0SOO291I*\:\XLX?M8:C2(Y8"9C<&VE1&#+B)!S0@:F M7;6O:'8+%IC$HTY-[A2)V3N)BA D8801Z_AR=H53A.*=:A=_$ )$203R5?]PEE1)=Z@#*NGP8]4!J2 :#C^A"> M;CAI3HV2="H3K*&9H'*76+;Q-)/V-9;1?%:23QD/@:'T&L-0.GLQ;%W(5HR>U&LZT0&?2"H.3D2,U'KCC%RN%E&4/.%U'O=K45BZ%/ EU M)99D#I)1,&&?WI>&0(8RF,7S?&8G MW^IB-9ID[\[J#Y[]L]6/X/^K*UWT1\.4J$77!8]?:N/UM8*ZW.\JI ^GFW/: ML8V?/$%F"1A2UX7VO<&8KXOB2;5*H";IQ-I:KPLE6J)LZEQ#$G%OVNFQ8F=PW?4$Q'@>T MO.N/; 52_, '?6"7 8<1_A*QD V0RD9&*^Z_/<1SA[&;5/KFLYT0X<6D99ZI M3.#G-%'Y-S;3_^O'MM&GC.,OL:R(C\?\8ZS9T_%@ 3QOTF$)[>75J"!V^ISV M]TRZ>B!6152-T2KU\:9XANM#![EB (WETPQIB.E=NQY4R($SY9] .@5E?%+1 M"3<*2B06>].M*.^3VF&H8R6BY@&()[6B7""UNLCI8DY+9AF1-TEM"KU:B/$I MBGN8LZ;J<@)Q69=39-KDZ&W93M2X(&>_4L,.FN*:A"RV4JZ.>7JEM&0;.2\+ M8,&)3B@1OXW8,<,A#Q@;P\FQ:"38Y#3^T*E=/M^NY*:=@P^U^66G",M\3DK/ M\P2AIJ/\>ZC15\1E#:5L?*3 EX#VLR8J+G>5X M)P?=W!#QO]JQXD2=[>Y=[SO!BMF^FJQ6=&Y?<^'*Z]V)"[*)Y!OZC]Q#Z7X\ MV4:U_&J^226S,YNBV%3859.=MVYF,RA2I0YD,-4ZF\.2+/X4N_'5M>0%DE0T M(CG)^XEM:[/""U*8G>43^R^\F1I]%I])^@&5[F\@;2L1TR021,$HL4MMS"&Z>'E%3>.3U"% M=9S(M[M)1(PR>D']T2ZW?USPQF,P$<[D_$_W%/3V0+.]U^DNG4RT8@:$61>4&;CPX=$ MSIS7DP,CJ4\=\X1*45/00+WS,6; L])&K1SK -J?V-H:6WJDA27:-EU*/W>L M*A8^^0*<<4^'BS%>P&6JR9\L8I)2TT!>SVXDFK-+?.)YQ&*%*2$$\W2^B^FA MW(L,>-W'1AH"SIZIBFN*>+P+8IAU5#F(H+\*=>$\>1,PH&V:>"S7Y5W%J0]6 M9Z+N60V4\/LBQ)2SG?J]E)8H7[U0Z]'S&9F"AVH9B9ASYX%M*O,V 9=7'V#?CR\_E(=!,)EG-\66\^2225S+(&L$AF!#&3'$6Z7:N:='Y'BZQY/%*! MDX=J#J&7B9ERHB<9 8RY,'>-MZ^4%]%0=-R-TD[B>CZ5CLWSB-_1P:S1+W,W ME@-YN=/KR$TTM=4!=;JW4@8 [V/BX MDT(\K07I01QUB&)\RB*!V..YE%NIKZ37)$;4.W?D3!P*9U&MH(Q$6YLE_L M+W1S3ZI1=&7CSB/4 )$(:XY"(US".6TC5AXHLS#+KL?$2W%E$- +)G6Q>#,=KC,C39(FB$#BX-J[P."$4.^'8] MG!0_4$BDN1$.X/-;Q_@2I:)7$>BP39'R(;+R&GYQ\):--95.)<^HZ-C210^8 M AWIE)WO\_.4O5P(]\ASZR>'FF\E?85&ISQ9@[<-:K:=#YWCNM$)?'I)_:WP M4ZP)P@KN4;XEZX+7$TK!J$[IB/P,K]!YR@RY75$NDF&4N@*G:074Q8.DE/0Y MO^[)(6)33L_U65F[XUN;])1I4B),XU":_R_F_>2RM#)R/[TE([N;9$CX%9\# M0$AW=%5X-F\CW6FQ=WG &QA[9&6>T),;! ANT#;HEP""O7]'VPI#8VUX4%/J MZ&@_KDAFIW.=%,]J493('GN@)P74^;0R(]ZY<^:BD+SQXDPZYP%(FO?6)?S' ML'[ SA$[U\+I.3.#V?W,EN1I02&"ZD-0?N?< ,1"JED0, M0>.XG!(@?*4HWAF0M]7)Q33Y7:[3!$[&OB.,B")M3F!ANK70ZIEAKA MPM9:-.JTC!1BH!NI+:I4>$DN:RSGH%//O2"V>6KS*AQ=G""IGCFBY0R"+\JQ MN7\I&B)EQ*.:L#G_3("$2(]Y'BJ$Q'2^5G8*1#I[!('L :-4U:.9^\"X-9Q3 MMU%2L&2!2<#'V!/.>AWG:,P",=E<9#IZI)F!,?!5KXD.!"_">QC/:AT2QZ^> M7U[^\RP-.C766V>F7<3VE8'!"R6XLE9%=ACW6+W"\(G]%.XC,XLVWO$1I,YN M3/'HXK26(MF/@!9)@HL@3A++X_1Z[!T! W!!BBN'.@A;:[RAL'46YD5T-ROB MMK?QEJG62C/"HWB.MR\F\I0UJ4D^/]JUID[Y>UNL34;/+ZD:.>F7=8I*Y@*? MISB?\W3*C9@[/5.\B9FD-/P'**7S\>2N/)I_R_U(HO&>A8F6PZ8F6D"JX<<1 MR:S*\:+)Y9Q(]JRUW622V!HT MMO#*B;3JEN1!F1DS^6KS)&&\.50ZWWET\9;2S#IP0]PC)+1(4D:@E'4B MS.H^D/&'JR^75[']G1I(A(83XO!^;'B@<^8\9?R[63')2,8+*SZ^<7\75 M'R#JH!^WUH!(X /P_=K#.N07G"#^-9#O_A=02P,$% @ W8%65/RUTTN7 M P B0@ !@ !X;"]W;W)KBAYH:6P1D4@M2<5Q?WV'E"Q[DW700WN1 M^3'OO9GAD./57NE'4R%:>&YJ::Z"RMIV&46FJ+#A9J):E+2S5;KAEJ9Z%YE6 M(R\]J*DC%L?3J.%"!NN57[O3ZY7J;"TDWFDP7=-P?;C!6NVO@B0X+GP6N\JZ MA6B]:OD.[]$^M'>:9M'(4HH&I1%*@L;M57"=+&\R9^\-?A>X-V=C<)%LE'IT MD]_*JR!V#F&-A74,G'Z>\!;KVA&1&U\'SF"4=,#S\9']%Q\[Q;+A!F]5_8;Q!0 ; ,S[W0MY+S]PR].(U2FN RQ(^] KN@D##X MI*2M#'R4)9;?$D3D[N@S._I\P]YD_(#%!-(D!!:SY V^=,Q!ZOG2-W+@(WZ5 MAC^O-\9JJIR_WI#)1IG,RV3_8ZK_6P7H 84#X M 3\I]8AB3_5)UV6^] S8-LXS1((W# M69;#K6H:U(7@-;2\)4*6A/F MMTISBW1;-_8\FL5\,;(\3.XGL%-/J"6].=^8'4W21;A89/!%67*EN!0'Y$F8 MIBG,XW >S\X3?Z)?!*L_<&FM=GS-M6JV?1N% ((C1L.7WH M%#K2+SM:5<.&Y+;3&-(B!>Y[ 9V;J92V1&D'ER?>(;ZA5([>4$G[RN4:09(R M>?7%Y^[;7L$!N286#34:,_G>.Q6=M07DWG?I*F:=T(:TMH2-)[,\@!TW_CZB56M;S8;9:EU^6%%_Q50.P/:WRIE MCQ,G,/[[6/\#4$L#!!0 ( -V!5E1PR3]V%@4 'L, 9 >&PO=V]R M:W-H965T5<VZ*"FMN1;D#AR4:;FCM\-=NQ;0SP,BC52:'@G6'6US4W^QN0>G>93))NX[W85HXVQE<7#=_"!W"?FG<&W\8] M2BEJ4%9HQ0QL+I/KR?G-C.2#P&OFUO$PR(@02"D<('!\/ M< M2$A#2N&\QD]XD*0[7'?J;X#OZLN86;K7\0Y2NNDR6"2MAP[UT[_7N+;3^ MS FOT-*&7[:+LM-9P@IOG:Y;9610"Q6?_&L;AX'",GM"(6\5\L [&@HL7W/' MKRZ,WC%#THA&B^!JT$9R0E%2/CB#IP+UW-4;+@S[S*4'=@?<>@,8<64=M9O\).)K*$9L.DE9GN63 M$WC3WM5IP)O^NZNOA2VD)F\M^_-Z;9W!ZOCKA(U9;V,6;,S^?SA/ E$OGMN& M%W"98+-9, ^0/(7./E; ;G7=<+5G=3RP3.!!P6W%X-Z+!RZ#)%(FYZKRH<,E-4>W9KA)%128T);-3%:KQ2,,3 M9V00722D0R3.V6_P ))-V,\_+?/)Y!7[?4VU%HJCU0_^X:BD./DW#BDH7R!3PT1)^2^XC$[:H9=49*(;PVW ,#^10'Z"@$9G#-%0/Y@7 MJI"^C-YU?A +*VHA.;)1V-@^ML@CR^D/8-_3?QJE58]AX0:8TJZ%3F-[Z1+D MR]+@A@I1YK%.4#?FB6/56[%58H.FL-Y:-TEWN!V3''",#9;T,#1/!'+:!_*3 MTH]SJ4-E]*RPN$WHQHW1]:$NXIF#HE+BWL. NU9 L:DUTCGB0PC;*1?\@%2L M^D%;'@J:2ZNQYG!PF;:8N^9 #_#KAZGY!F&?VDMOV"-74R2,\>M]ZII!FH;;!_ZM/X>&)3B3 @C@;UN2 Y[2VZ8%^(-LNO-)AHBK6?_\$1DOCJK8#PUTFO-TGB_:WUMM&FVXHVF^ M=L>D9^G\;-[^WGD5AK@\)IBGRVS9_CYC9WDZ7ZUP,9G,TQSYX6JQ2)>KZ1/A MS?KP'@WH)$NSL^6I^*WR=+4X"Z+3-)O-V+%;RWAP(<2X;L.U%Z\#]$&.=\-^ MM[]97\<+Y4$\7LOON-GB"&02-JB:C1;SA)EXU8TO3C?A>KG6#B^K85GAOP,P M)(#G&XUCMGTA _W_C:M_ %!+ P04 " #=@594[4KV(0,+ "Y&P &0 M 'AL+W=OR.%PYIEG M9JA76V-_K)NFLV+JRN7KU4EW=1L5(TW2V,KV>#6KJ[XL[JYV4@I=J=II4PNKEJ\GU\&+FYC&\X"?M=JZT;6@ MG2R,^8UNWA>O)SXII$J5-R1!XN]!W:JR)$%0X_=>YF2W)$T<7P_2W_'>L9>% M=.K6E+_HHEF_GJ034:BE;,OFWFR_5_U^$I*7F]+QK]AV8^-D(O+6-:;J)T.# M2M?=O_SRE'6NQ$=&P%O52%VZ5U<-1-. J[P7<].)"4^("4+QHZF;M1/? MU84J#@5<0:>=8N&@V$WXK,2W*I^**/!$Z(?!,_*BW48CEA=]TT;O52D;58BW MVN6E<:U53OS[>N$:"YC\YYGEXMUR,2\7_UF[/BN&0O*%V\A0%:NJH6R.\/3CW],M#@3:>)E<8R+N>^E82RN22HK!JX0A6D7S;(M$7?] MY/-YF%R(\\"+??SS_##(<#'+O!@7GZ!:P[(7Q!4]3^@_X!K2.E_+>H5KJ"R_ MLA)V(S;6%&W>0.6FM;4HM5SH4C>//(7D;935IB!YAI&B0_+9:?I/6OHQLOQ"AQ)7[KDQ5<-?2;8QO@_#_V 3'T>SS/ZAP?$ MW2G#!%Z:IB+R9FD@SB-O'D47]"R:/:>._RWJ1/.8E?)35BJ)+W8ZGM0F R(B M+\J@2^C%87C1ZW=:ER#[-EU\6GR6DB;!C%4A_4XJDJ8^EIXA# #=)(4]2;7W M-;S;&/OX%X37O=R"TAN 0Y;LO8A4C&+Q3M<:U%Z(E2&DIJDW3WR1A%X8D4%Q M3\J=\1-L"%L J*$RH4K]WNH-LF?S5Y' )^6:O512$&$[G['YO!FL>FNJ38M= MC 8%@1^%R$6WCXK00TAOU78PUF0 M3'WDZ;+$.P^WT70^W/+X"HVRBN9LK' MJ?@ 5:4IEY=POB5D,XI6.?/._Q]W8!Q-1$RRR2F!N HA#,O">:G5L8@WX?K M9G'*8 :AT)P@]()9,I9ZS5*O<\#%,9?BI?A1VGQ-&TV]SM@@R:JS#-3>J4H: M>KPO@IVL'V$]*,&C0,02UEY9Q4A!1=6LA10(V(+L;8 )F,YL\"Q'O*!R%6[ MYI V:&G;%PFJ7A.E=*C;M-:U$E(A9[O6T'6LA ;U+TJ]XGD84)R;!9.QL82"@UR)P %:05; MS\F2L[4U[6J]UP3+Y6F-$(1:// V>ZV",W-CE M;8!#-!82VLTP'7XN2]0.HFA59X;!*VL)6$#\4EMP&"E)6+IN5ZBO^Y@:H$;! MA8+^$%JYW.A&EBA%"D*6?AH8 \!D">NQ1Z)IN MRCC:4-FMM"_%[*RUQ)$;1 MPMVZI2/CYV95=TN,LL\7TLXE+%1?YM*M(?D!I$P>X.8&XR^ZC7^AX9KV!K+" MZ(JQN01[7!+MB-8I2I&E7G84# @O%,OL: Z#6T?WM E@4O;JTZTE#J2;O 4> MX(*5-<[M@61V^";T. (9F\+ FN-I;(6ZT;G>=-JUG!&^(JV_IZ*=>J]+*IY% MI4!MQ13D0@L<(5.:LK.O!U/E95MT-LP!*"80$(D#!K:PVJ'U(;(+^K-X1.S: M]6(ZDOK[W](P]%]>]_*&Q5#Z\9O@99<)TFDRQD@_ZRFI'IG= XJ*&L8G*7\+ MNC>E+MA\!PW"*5/X_Y%;XP (I(\?9(T(>SR2'[8$M!*P[\*5^" G49<=/W+ZV%CM MB*^=:2WLMX$9N>@_[YWSW?U=[X0+X1Z172NV[M=9XVP^,JA,H.AS8 ZA7]!_N6?1\6FM*P50_'^,& M:FI@@(Z5F=8 !CX*H$*%F]:Z&>C#*CHGHCN4)]QKMR "TK#CK6.5U;<527UY MA+*%D1I-@WU&/!*(?T%Y1-:#?ONR<"@7%JI62\W-1AAQS<,7\[B;8VKRG-[U M#VM5$WSN98@0Z9R(G% _F=>=6J!?9" ^=Q M*%*/.J0CJIQ(XY@5P4I>AG;SD_P,.7C%G7WLA0EMC1J'=Y:/S'BC<]3Q69*( M#\"19#U+*OH=7B;9C$1E3ULTUS>G75O83S3\.$;]F:%3ZJ(@AO81ZS2G%AA- M7$87,W13F'Z[/U88Q01%2C!_Z7;\==SH^SS-U3^0U\'(?0&B7QF\)UKZ#E!< M#XP. 1;C,P=.U6>]?[$++\RX!?22>$Z&>=!N:"B.JYKO3RF(;4;>HS8;[5O" M=@0FX+2?&NRJ#T,>R"=/U(EG*3KF<[AL3O\)&C_T3".E^TIMIV[":AZJ/<3C M/3*+A4-;RQF,%73T=*@KJ5P Y-#ZYK)U^W+P]L//[]]>PEIP5:$JG1\2+QBF MT1R*3,RC-8C0R=,_M*@4V.A4:>>Y*A47P\<0<%V6EW>(;#H 'PH3+H,Q$Y5^ M/51_=/I\2:7S)69OUX2''#&'X8?%*+(C!5+Q1+6\WSZ,AY+JZ<^T7C#6FVA-,ZT\IS7:, MV5KL_*"BI0)K5$;30_0T%,M#"I +Z (.+,8\PAXU%85$3L*7B3 LJ_)*=N,F\;."%CO&#:?TL:[W4;$QP-G#@?8-X/K/G%- M?7\44V<([B (^= MX+.XF1>FL[X!W])QY&5AMC4?^\4(:'9"^')W?TO=QH[> MSX/0YX-ON M<\Q^>/=1"RTP2-PAFRTQU9_.DXFPW8>B[J8Q&_XX@\(/69@O">_*T@"\7QK3 M##>TP.YKW9O_ 5!+ P04 " #=@5947^\?)IT# "!" &0 'AL+W=O MACW0TK5%A"(5DK*2?[]#RM;LH@E0[&DO%K_NN><>7M[K66OLO2N9 M/3U62KOYH/2^?INF+B^Y$BXQ-6OL;(RMA,?4;E-76Q9%-*I4F@V'K]-*2#U8 MS.+:K5W,3..5U'QKR355)>S3BI5IYX/1X+!P)[>E#POI8E:++7]F_WM]:S%+ M>Y1"5JR=-)HL;^:#Y>CM:A+.QP-_2&[=T9A")&MC[L/D73$?# ,A5IS[@"#P MV?$5*Q6 0.-ACSGH70;#X_$!_2;&CEC6PO&547_*PI?SP71 !6]$H_R=:7_E M?3P7 2\WRL5?:KNSXXL!Y8WSIMH;@T$E=?<5CWL=C@RFPV<,LKU!%GEWCB++ M:^'%8F9-2S:#U!FNR2)!..$EB[8(F6X6K/MT^94FU(4I VA*CD/X$!I;2QN M&".7T UT QVL+JT5>KM7_QJZ82T;CJ:G<-CEC@R"V?3&XM@8.W5C\Q(E@Y18 MQW@\.T_\T,@ZRA55JB':HT1]8?5$9Q?)Z*# .;6ES$MJX0KD]4^Y<"5<[@ 2 MO86")KUD!(#$"/PVIK&XV0?( X)!%T@Q/.5>"UG0V2B9]$J#J6/O%<=SED,M M+SKSL+ 6"O%Q=^MM+',('7=B4;6#!."'L"PBH%8X>IUDK[K#WR)7T"(WVJ&: MACW'=B=SCG=[EAVE!>X?]_%SE!-13+_8F(8OL0_6K?7Y==6_GW>->+2L."SQ'X%M.(#]C3'^, D.^G\=BW\ M4$L#!!0 ( -V!5E26B\'P!0L %@> 9 >&PO=V]R:W-H965T][[@5(49+M[*8[_2+Q 5S5)KCR6AT=EQ*71U<7?*S M6W=U:9M@=*5NG?!-64JWOE;&KEX?C _:!Y_UH@CTX/CJLI8+=:?"S_6MP]UQ M)R77I:J\MI5P:O[ZX,WXY?4)C>2A>'[PX$+F:R\:$ MSW;U@TKVG)*\S!K/OV(5QYY.#D36^&#+-!D:E+J*__(^^:$WX<7HD0F3-&'" M>L>%6,NW,LBK2V=7PM%H2*,+-I5G0SE=45#N@L-;C7GAZL:6I0[PE6/>%53_XL-_\/XL0'!9B*_I@O!=_7LEH+0V^]L/.YSI3PM<1O@V Y4=GJ M>2:K3!DY,TH@\9TDL6G*4-PH%Y#GF"O"1N+?_O)B,CY_Y?!:0DUB,)R%!,R,;7N9=$R@ 0+LNFU+45 MMZK.K0']T A)I@N@2I4S2&N1)8Z@9RALXZ&MCI U$8?B9'!R/J6;*2[/1B.Z/*&G4[X\%=/!Q?F8+L_$Z=E(?+$!_IEO M&\[&;,P?OQB,IB=8T'NAR[HA\W05E%,^B*/)8'0V>8:EQZ<0/1%O'K9SP.[8 M<9@P6LZTT6']E.=V/?0FRUR#@>UD@MYS<);CT-;6<50A9B\\AS#_].),?-I] M,9X,IN=G&R,>P*V&)PI4GZ^-=+!]!\A0\4Y6XD?KU4#<2*-1MBHM$W1D,E#,\PWA@N.\ Z/=159IJ< M0\;# R,7ZO'=FM"FB#(?@*:5^)0%F[1+D6R]HQ@(# C;V4G2I9C+ M+,86*U_+:B&-=?#.>V!;1A/CZ R$ 0:)*O972G*P0$GA!%Q+YOC?XQ^,/YP, M)QMW_"FNZ./"J"4^ZZR0+O>V&H@OZE[Z5^(G6?T*.S&YT!6&D/6_$%W\")=) MC/LY2 A9%9B:TD @(9;2:>2YR&6 %J%PMED49/,YH_ G6%S^+ACZ9M9'8H\3 M:%*;J4_D,^?G"IR-CG-).IDU/ XS;*7R&(!NC1:_[+"3$3C5?TQ%U"8SH;COPX?7LTIVB-LLH[C\92L MZ?""R8 "U>,&_Q@Y\.^(,3X9C2\ 3/815R-@&QL)M=.Y\#*')\-QF_ #NAMM M<3<>G&]>HTS4BC<29HU^2/H"OM8YFO904&/4^2JC5W. )F;ZGA-Y9;*P78M& M/45]0W';."3XXYU=%[&;C['%^O06%[6A/"*&=%&5+#5Q2)<:603GZ&J)/^NX M0LA\28T5;W5RT6#(@ZB8-=KD)$_!TL IQVO Z7!2WD!"*:L&9 :$)KMS$;"? MB[HA&H1,C5LV]A;@@E]3P6:3G[R^X[JQBZLS?U&$M<0&J#H 8\&%: ^ MM;7!*[?4Y#9VD]P!4HTZ@96VZTXA-T[.!ZQ5*==BIEK/Y*1_%X:VKC-]#KJ4 M2(IOF*H7ZXTCVJA'#R)DY#]BLI5"P"2Y%)U$$WR0D?]3T+&Z;R0UG38YN>+] M90.2@CN7VO/FB(WV#0IR)WSX6#>?R&XRVO4&:+>&S'M=(KD G,Z'S7-;C'F*3UBW4KE 6HJHH QDN9BK!EQ-:PP.#E)$DL ^] M04>?E6+GK&Q+_%]V8CQWMF06X7'XC[%&X?L5NM/##;U!<]YNDFFZG,'[T*E] MW2D5.?$!O+(S%PQ)';30D^[:YW=UWR T6XIN)N]U2[.]L?.*DZ!1J\1=1 MU\QZ9D^_1JM:DM_@S8;)C4M+7_.[@+]N1T8+.%70T2KV+N\KV*O$T0?K_;.A M^ !G+"*$WNUG6Q\E,2&L64:7MKL&HQ:1T0@7\"'5;G!;B^)X?N-*C$'WZ6)3 M-FLP@/%!GN!P[)2Q6)+3Z0+M K@0Q++$IP.[BQ)(P3ASX#'6%^I%S-G6368*H!LTL==YPZQ"SBD&T0'XLJ+,I MT !S$8,6&CHF'82:SXFR'NVOHD,&O=8QT@%3#&HKD*C9AXGGN PSX"0PCP2C M.HMO/4]ND>E.TP)%^UC$U:,80C]"KV#P/TJE+S.P^ M(A^H^1M= 0ZXDG;YW*E$=Z/7;+8:DB@W MXQ,.Y%RI6?\C#0.[4ZA4\Q_MF6@$DC7:Q2 1F*C3V]6;+:/8==']+JWB=P_F\X0GQM#SF/$I"(Q+ MN>FTNYYX3G6!U ?F MR+_L[6:SX;XNK,D:2#4T.?AE+W%9$1!Y&#C_1R*T+? M94?L\AI*JZCZUOZK9T:2,N.#EM"S6I7?!AO[F0P#N'HM9*HK+=,A'I676>0! MB@]!AVO#+,%@8^U07&.+1"!FSUKR(G&-G9FV-$CO+?B'YK<@H#W]NN9/"X_U MMD2C1.-?J0\&+]$)BQ.)4;M\V@2MIO[=_LNO[ZR8ZJ.Q6IC#')WGI-#(= MIVQ/_J,MQO"A3T_'O:]]2)(%?]/T$6CQPU_WM/ML^B9^+=P,C]]&UL[5Q;<]M&EOXK71IEQZJ"( *\^U8E.W8F59-$:\5);6WM0Q-HDCT& M 00-B.;\^CGG] 4-$*2EQ%.3AWT12; OY_J=2S?UG6Q MK>OR^,U?*PV-ZJL!$]ITBZ[B4>CV]?EDT=29S<5QVO#J\$5FQ?W417=@''^1F6^.#F]BBS#A8",W\R:%VY+G.B_MZN_)]Z!EQ57XFV1_2K3>OOJ8G'! M4K'F359_*/9_$X:?*:Z7%)FBOVROQX[G%RQI5%WLS&2@8"=S_'E30TKX_*O8N3T7:7> & M2')TQ9:N-_'9%;\52N,G\,E^+&K!_O=VI>H*K./_ MSFPS<=M,:)O)'Q3GV570$9^KDB?BU05XFA+5@[CH+/U??UG$T?R%Y>,.+%E4 ME4@9#6(_;P5[4_ J9<6:?2LK\("B4FS+%:OA*][4VZ*"B0$8&[QM:L;9NJG@ MNXH]H$Q@&@Y4WI8!JPLP=R4W.8<1/$^95*H1K"GQFVDX O/,,O0TM>5 -2Y2 M.L)H*29S5N2P?,5V107KBTK"0%P+EEC+S[1KA8X$^^G)(D\$?9 /,A,;,QS6 MKRM)CDT\5:)8A\BW&IQ/<[PEDJ+)@/X\R9I4L!2>IP)7-3.3(G\ E@EWS",0 MB\PW[F,MJAUQ"+R)78ET!"R3H(Z4$]ITB%ZM:U@UMQ_.#%1+(#,=;#> >.*E)MF9$0*-A&,\R_&J_E?#=CA_82K - M #9L#$OPW!,RCDN*W0Z5A@HB$9)>.5!NS>!ML2MA;6-TZDBK6IH\19F)[,#X M>@T61U.-V,IBKYDTQM3?UXDCDY]$)K=%@1]YK?FSD_9@7R#P1 ".MTHK^0&" M1&UT;#\T):SM*21DWT,(2%.I557WV!QF:('%"0\Y7Q0A.P\#NQ#5'D)G#8OW'!%7'@,TNXU$(@TH0 @T,3"S2^+%N0(;BLZ@2J9S]NJU;(Y (Z753-E4@#L* M([/#.4"+R1$]OF,&&$@A?\5]P230',JJ2(1(:>CE;!1&-JP'1M^0WS4)S>B0 MA0_ 6@ XP0Y0F^(S% X*]B0?,5P8J4*<@8"DFNI@ .*#J,$MR8;.*,-9TH S MFZ3FGT+;4=4N:*QQ&HSC9;"(YIXL.GK9BHQ\N;:D&>OXB"R">V=\CRX$+[@> M2-JL ULU56[-T*,#W ;DHP&QNU59%%G(;H%JHX"NS4$(A%2?(!L?7TY&7G;5 M)0]*D@R#6(!V"(YL%"-AZ0V49"#%SL:@ADM/IZ0HSUI05=<8MW@I:_B,P\?+ M<&G'AS;C_!ZVS+&>8G>PO0)51REHHR78*4/1CI?W/H9CL(=X]$+&HQ/Z7/TXDIG/.XQ)!PE9C&IRS/+C&," M:78:/66G46R,/:_6FC=9%!-6U]4&=V/90%!I6I62J:2N\H LDD($N ,B@+^'@IX"OP4 M;$_&PV.$"'1FD-G2I.OIQ(&ZB: M(?N #$.%ST;H,@VE!$'NE0''X8_LZ-Y3S#,T.0-QN&& @;JX8UA\QJQZM/D Z!AS5./QVY%%I^5G^T0Y\L8UA#5&T MK2O*N!\$YCK3;^R*:UDI3*%RB04UATAOML>!J' D S-@RFY2VXW!:,Y^:W@% M-@>K G!(TQK1>1N*E&/**8M4)\E^Y*^WE1#L('AE4,.R0'4/QY:CW#4[,FBB M!Q)@,QH2MO=B535(J4[9[NY_4C:!=>K4?2+<=;.IH-C08AL=6T'? ,E:O&0_ M$54-J4V;+7T628.^I*B=!<1J5";)D"Z=$B^7831KTV[-*10;Z$Y'C@#W MMW>4Y8 6&A\R [:GUU6 5_?B8JZ\>@;/^L-7)*1-I7%F"(7 MUZ@BY->-U_JW2:TVR>$EJ

(A,$LL)F/EL8EZ'QK,-A)$]5.V:M&.^"@3':O*>PVIX:[=1.HRU!XT-4HI =/=KVR,=QD@ %GN*; M-4I782J3NFY,(,@>67G49NQ0Y>@(CY45EH8G&V<#90L:LUQ+D\M2Y=>SKG,Z M\H,8S2^:2NL<0[1,=#]1.SFA,O;3 @TVIL7K? X_D>.2OR'6:*E3J$-?"ER1 M#H45." *9SZTTG$O@B .,SO,^R2A'J0OX!\M7F&M E_H[ATFFWI1F ,C413C M&=O1&4/0Y]H!@-<-HRN:N0^;Y)!#^4AKWQT#8]3)TY$61C6?A?/)G1^+H/!)'7Q^)!Y43T'(N1T1"(^)Z*L6X!% ?&KY^Q7'YE4/G618P?'3Z_L\!^1\#^=[D6X)4U )^224\<]]K@P&WT6Z*8 MHN 5^X42]&?1%?O)K[\'J\@1FP6+4<0NV3*_Q4,LXIA^F+7P,EL/] M$XUCTM#3YLL0)-0:X=H<3YL8*O-KV. :%A('$S>= WB-F)!]V\;2LWF3,1"= M/45+O+. ;6SI3-+1W_4VX0P&\>!RNFSSMP#Q8MY-[T9AW'[M)VB0QM"&V+JS M[45S)BG:+FC;]N]3X@C!X]XACC1]4>03 .0L^_1-3M%GF['&.>_LJ9%NXR-D MO;N_NT,E%7O5-A5;ZOVCIFXT.GLD:>&[Y(<*,-&>(IGFLTD&7'0"@W-;=V#< M"R4V P6\$16V,#[@.6N#=*1XD0#B/LU1O:-_2'I*B&(RD24FJ'B [!BB6RG4 M#XI[IV;=EEBN\Q5W]&=S.6J<=!_Z4*Y%BUOL(?.2GZ\I0A[/((,QAV#1E%$D MU.)S^4XTP<>H[?919Z2=3N. 2(8G4=3Z3+Q[KF4$43:)QK2P$6;.V3V.L>3 MNV7#K2L"'^QMFWJ$:#TIGS]Y%F&[8NBY#4DV72Z/2T\T?+4XC=T M&2Q9'C?-T'TB[V#O*9W8L5>M/K83BV0=X?)I6!X="4-O?Y%Z^IAY7 MGK>;=W,W9]Q^Y%X)/R.DW)9[.;3-4-M.*AZH>IW3'__[/XBA\1C,Z3K*!ZTD'@%P5OP"OC"D'KX"[>]:E# M+'NVNFH/%G.S\Q"./$+=YG3,"WI@B%)]PND@B;60=5,YL-+7C#IR<<=/RCPC MW$4EF#EX&]-V)I #"?"&"E!"'A^+!#"_+8M4XLGS05I.TU7M/Z8N"P^X)O3,-I M;]_ =NGLU@1C_5$$80GA)>;PK5/9./R(X!+_CF,^0[I_*ZJGIFNGI2.9.J5] MU?#D[CN?8_OIH6GA7>SIA29/?T^(3GM;S7-3PA^'JZ@-5[I=\H9H[/3-OM"[ M^")OG6[$U7/V/U2UO3O14*$2A\J;MX6BHJC2N?QS=E<5&!B@Z&'SY0C^3N=3 M_#N:LWO;.YO-H/"?CM@8BMY[GIE[(SHE1?)GP3R&$4$\'T/!#'4[E H*"$HT MV*2P5U:4!(TP=+:$H?/Q#(8NH3C_3I_3FIM2@*9X(Y)3XV4)*TYQ6#R#>F$Y MG6/Q#=N,D8YX,'KY2>O=R#'Q9(,8K(N36CU=, M]UP;^)R%TRDU'N@%4LB9OL=R2<5]%+\@UL,XAM=9.(NU,<.S.%R.48/A%+^* MP]'$F3H\A<=V&_JE2>G +W3 M?I\R;$3N*-2ZJNA$MX%:1><8."H9-?&>.>B..#Y\DW'0^GV"N9@R6UPC7\0F ME,(9D@D@0N_!L7YK9&6(;)1COC5-#BBG?]&@GH,?7[%W%GT>"@ HO+![>)3( MZ>HB,D!(L&9817O<3 PNWN3%LR'3* LY"%>@.?X<$#\%5#%$S /_TU0+[X MK009R^XL?3V\XG1\83M-^1=Y,=<$VQ^3X5G3$%4>^=BIT2S02=70%GCU6JF= M3MLH;QU8DE2'5[=M"T^#SPD-K!M*"8U5D7G7%=;6'&6N(48K?UAV+D$W"QW+ M, 2C\*TBPZ:OH<9TL0A]G/X_6,)/H)R)3"0!%^9;9\%+>U[\TZ&NVQ[\>5A] M8&GNAS*B0VZ#K%C85<0C'?CL! 0M@DN>)$654EY"(KFO^7K-;A.ZWXQN\J:! M:@/>068: M"-H&P1-G2C2^HB8;T&1T3]>M)V;59LR5,MJ/-GBN-<%3G%!GU_ MATS'%#R%@QA/()#@FQQ2IM=E(6$KOZ7K'X^TK1:\MZ8E0\]Q'PH:RG[=+NZ@ M",V0I$/Z]PW W4@\2+Q!;=5^V[J"5*TS#QFM%@ZA"M[**ND7-MYO+\S/3XQ) M:OJX*WS]7P*A62"!#U?L Q1*UVN\U22Q0XCM>#H2MO2]\2GZ&-Y[=](U(Y!L M/U#F;W[]8\R3?E1B0X V#M!)4YG?,6!>^AFU9 &:QK6G-[X=AK\K*_ 6NL- M2=26T=GS>N "U'$@LI64#4CMK[S.AJ3?D5%TCX-Z^<50D)G.V#=L.H8_DSG\ MZ2+.,W-T-,,$8A9&D?YSUBHA*>F_GK*2"!?[!@J#R0)>HG"&%)QDC43R"(YF MR,Q\A!PM3G($>RZQ(EGJ=U^+HU$XFA)'40POD'P'>JD M?L^!EL2&1#?1U'?F$3H?4204.749T*H*=XK:MCWZIVDA>]_=WP0'1]Z@@SX" M> PJHRUC;QKVT3?R@_;$NK:ME:,0K@]'^Y(!Q+.';+5..G8\!^?%6-]B@:$\ M."TJ_!U'^H]&GS!22 (7QW.'$NC RQH(" ,:5^X^ 386K6J. MP,ELKG^K9YA.#J;8QR?Q=HE2F49892R",90IOQXA M*216M?PG]ZCU3Z5C*)2Q6.YD^<2Y,C\?T+0\KM2/O$-%<[H7!_#8/[W3C\=T MYKCH/9WHL[WX:)5I:,_6/^B;^;HE]%Y'R^]M>^5F9\%B,CL[K]=*(E0>!U-L M"SQ^EJT8XV QBJ$0#1:+*1OZUP WWG]=V(EJ0_];@GY;GM?Z'S"XI^[?5]SJ M_]K0#M?_^^('7FUDCC_"7,/443B?7NBP:S_414G_PV%5U'6QH[=; 55,A0/@ M^W51U/8#;N#^J&ULI57;;MLP#/T5PAN&#!P/4O.1A\7D^ ?';Y+W/J#-81*5M;>!>.JG"59((0*"PH(@O_N\1R5 M"D!,XW>'F?0I0^#A>H_^.=;.M:R$QW.K?LB2JEERFD"):]$HNK';+]C5HNF&TM3?LO'CH=#@).LV<"\BX@C[S;1)'EA2 QGSJ[ M!1>\&2TL8JDQFLE)$R[EEAR?2HZC^:6NE=TAP@(-KB7!4@DS38FA@T-:=#"+ M%B9_!F:4P[4U5'FX-"663P%2YM03R_?$%OF+B!=8#&$\&D">Y:,7\,9]H>.( M-WX&[P9).N3G1/M2/?P\6WER_#!^O9!@TB>8Q 23_U7R'V"^5@CG5M?"[,#7 MUGCK/ B89*.W=^^ Q,-[?HCH');@Q;TT&P\UAP$W+0BE #M0#]O*@@[-7J C M[EE )3=R)96D'3?9[Z83R0]A*1S)0G)2EDJ+'11\PTZN&L(!A(8"'@/O.7EH M"^D'80-=P<'' "#@+$$9 $?"F3>(KQJJ1O] MF"9VK;8-7UG=.-\PD1!PVS;TFU>CX^Q3)T&;#:X,H3.<[0;OT31!M!*'<" ? MLZ3H6DI?.(PYNN"%%:X,Q@5K4!!+/(AE:W&'(,I2!F?&YE%05*SQ$Z(^*++" M2JCU'J\^T.\)!T8H\3D8LB14V'X]'N;<\4I%P5[GPY.]Q9*68>.HW^![#&T2 MFR6+QWDV^C#@"_4UQKFG=L._O?'T8')H=)LX'SU38M';(=+O]B/XK)T\C^[M M_+X6;B.Y (5K#LV&)T<)N'8FM@;9.LZAE26>:G%9\6<$77#@\[6UM#="@O[# M-/\#4$L#!!0 ( -V!5E17X^2!VP, ,T( 9 >&PO=V]R:W-H965T MQ6UL413"J59R.1J=Q+:2.YM/P[,;.IZ;Q M2FJ\L>":NA9VNT1E-K,HB78/;N6J\OP@GD_78H5WZ+^L;RSMXAZED#5J)XT& MB^4L6B27RPGK!X7?)6[%[-HQ(108>X90=#R@->H% ,1C:\= M9M2[9,-]>8?^2XB=8LF$PVNC_I"%KV;1>00%EJ)1_M9L?L,NGA/&RXURX1\V MK>[X+(*\<=[4G3$QJ*5N5_'8Y6'/X'STBD':&:2!=^LHL'PKO)A/K=F 96U" M8R&$&JR)G-1\*'?>TEM)=GZ^R/.F;I3P6, G7Z&%:U/3\5:<]P>$#\:Y:>S) M$^O'>8>Z;%'35U"3%#X:[2L'[W2!Q7. F"CV/-,=SV5Z$/$MYD,8)\>0CM+D M -ZXCWL<\,:OX+W[VDB_A3\7F?.62N.O YB3'G,2,"?_25T"N2);?!$YP)(P7"I9""9TC"/)2 I4 UAD1;LL@N8 ?X:F<7 M S@9D9"2<-A)PKR# :^3)*SC=#2 !:78M^E64F12M7DD##Y6+@2AMX'AV96# M3664VH+9:#JHLLNU:S(G"TG50(;"4IUT.6<=:VI&DI8N6+?&<$5"V>AP9=() MY.U!!5,/^-@6$EBR#M6$94E&_([Y9%V4[3@I2.DX4+?X@+K!(.,CS1/W/94. MHN9K@V(0#VAI*/0N7>MSR)7NG@R)I6/J= A4"VJ*P#I"O MP>_/O2LQSDLH:!8X+Q9S8]F"8N+334=7;K,/ RHRG\1?$BKXWT+("O2^- M\;L-.^B_8.;? %!+ P04 " #=@594X["/KK$* 9' &0 'AL+W=O MP )XLDGJA\@8X\5T; MM-<&\>6*HNB'%;F2]D)R=;M+*\JO[S.S)$W94F(O7_*]]_;U2]/X4M?JO16NJ2II#V]4:?:O+N*+[L8'O=EZNG'U M^N5.;M2M\A]W[RV^7?5:"EVIVFE3"ZO6KRZNX^=OIK2>%_RJU=X-K@5YLC+F M$WUY5[RZF)!!JE2Y)PT2_^[46U66I AF_-[JO.BW),'A=:?])_8=OJRD4V]- M^4]=^.VKB^Q"%&HMF])_,/N_J-:?&>G+3>GX4^S#VC2]$'GCO*E:85A0Z3K\ MEY];' 8"V>2,0-(*)&QWV(BMO)%>OGYIS5Y86@UM=,&NLC2,TS4%Y=9;_*HA MYU^_JW-3*?&+_*SVW3OQ8%ZHX5G %4WI[ MDLZ>-\E7-=ZH?"S2.!+))(F_HB_M_4M97_I-_\2-=GEI7&.5^/?URGD+1OSG M*UM,^RVFO,7T#T+X=&GQRU:) E^=U[F0=2&0=>!5+;!F9VI5>R?,6N@@X99T4% B[YRXU+7P6],X:'6CY^)?2MHV:@*8JVJE;(\[ M?4SP$2_%36?-,[&81(O%'!=IBHL%+B[C1;1,9R/Q4VMF'&6+3,PF"UQ-)RD) M)=%\-B6A:91D4Q::1[,T&8G6\V!O;I#GSL,:^.ND5=DZB+,[H?S8C@^*TMWN:!JNS=-:)=2##/)%&R6PN%LL$;L73#+NN%185 MS\5/JE!6EG!JMHC2&:#X_D]9$BO88&5>? =*7\7JF:X70PH_'&'IA6 M"HNX'/(&%A:Z2*C/*.O.87/P1HJ=LCEP0&6FD-3*?XUV(8K10]H]/5@=D/=V MDE4BB<<3\=V#?^^J'5*7K'(,;F 00C">C\1D' M<],"B?4$3&@!63,8)+9B+ MRV2W'#&.0 72.[XO%47$[IU_DXZ96T3N)?V7 [>AC&RWB$(I!@Q+:6VZ@/>]2TG""@#[.,7GY8(,^HY9Y@"*7NMXL[LCZPHL4+ M1TTRD)J EF"8_W9].L.5FQ.J+DLM5[K47BN2/.%I+JT]@*U[:0M'28.BM$@H M;^)IM%RD#'-@P(.ULP2U*A/3)991WB-#?^E C&8Q )MGL;C. M<]O(TO$J9)6R=Z!H/(G224+_%K/TWA>K[E3=*%B#$A*+990@(E6J#HQT$ 7#TCDQBE;-,BH_7)KF"1>EY4A[P% MUH(4>0FC0"XN@BV?:F=*7;#<&UFR.;<\LH)!I/X'CSP:B^M36H5VV/3W1I-- M^ZVJ(Q%0;78<1<; N8J2$ 2^DU:#AF*-$F,L[.>D+XA+B#TO.B;7%FT+]0K& MU^B3>L=6KAM/9B7 M;W&'56!O^*5-$0USN 6'Q@KUHQ@"TU!?71HM/E$1=B;,"X4;647*P-R[8S3W-+4'7YAQK96[JQ9:]]9 MB6^_A2,!51^+,H@N0 G$4>$(KW4-YFBT(YC!!Q^H&_&*6FWD@UT" 5 ,R]." MPUU&Q%C$-60!/#)0%#@+J'CNZ9#-S1W\NX?V+'PWC25A*I+'L2,=J--?J*/7 MPXEBI6H%1$CK,\P2XP5.%F4)1+K4 *8P':V?<.]C0IP=I@KMA0K8A&]DW\?Q M[5BLVU9.<"D>HQT0Z#1 MC@ 7>*T#E.;";N6+,L\"("SE@;CDBTY>U:8-VI@SFI L;P) MY9.Q;QV!<.,U8?2D'*/D =V:;ELD%/Z YZGB211)EAB%6H80-7)E6>)1M+\1 MYR%B*U5J13V1@D^Q?@(!*&(/(W3-4\>C:>$X/%M9G#.V?C0M*-8H=R#+9PX: M#'J69MD Q)_-J.QJ,\;<'$71NKR$- ^VO#Q-@\&C:U$35FI35-S3:#1+)0D M+MY=Q(:_^;Y5%2VSK&DV6[B/!J[7C%]+BR)8=,[C_[,IUP7F+( &DAT>QNFX MA$3B+2(/PVHM!^6$E[ SCFO;P3\FW:=1!D$#]I)BI&Y]_]I&FLSG.LI',&X;E$W?F'/ &87 MN2&H_U,&S,?B8]V5#!JTWW.CIO9[??M6+*:3B,\3%\%E(Q/?B%X(.I;G5 M*Q5*/K HUG$[FI]GV9/>1%0U4/%1!IPES6 MVLJC!XH?-?)=:"^A-H7[7#[Y**U0GNH ^:;!R$HU%.< 0[V')@9W?YOBHP96 M1/WHF\OP7>8Y=5?N/;0)IEQ==;4O\.#^F58[XX9)B4:.ID=]Z(GK:T%=(-T[ M,7>4B/"M'Q[. A@>(H0,J\_LQ@/WMP?9)M\.1(AD@-8UCO3UDSJ&<'_6V XH1(I.MVM+3;.162_3+O]&3E.#3_?,NSZ<",A*(E\>1Z6>Q\U[\ M@<=EW9E*TA%AH\-)!$8?($K/RU(<;.G!7Y)$R7PJ/JBB"<_4B69'Y!H"C6D- M/[,.'(VGR8(?1J2CO@&X)\O'T7*ZZ)],/%&^&^PZ#;,Y/96,9T-W55T,'9U% MRV5R[_&9X8))0< ]GC+.AX4'J?FPLU"K2=+Q[/00@3./QPCWKPO5W,-Z0B/X)!OWB4.L8.,N>XD@Q2X4QG/,[0=2!P7QE= M-W5_1,WKDB24LJZ!A"GE-QQJ',Y_'-5H*/)7D+,P%6:#+8H2B[ZQ\HLNP\ZT MUX$IGTPFDT$C0MQ0'J,51L!F]1NC:/A\!G7A.'D(XS6-#2 AF;.APUA- MV4S3XP8'/\*F"$V0T>A;SM$P-3[U?N%J\+JF4G;#+Z7H$3AJ?7AST]_MWWM= MA]<]]\O#2[.?I46^.E&J-40GX\7L0MCP(BI\\6;'+W]P1/:FXLNMDN@[M "_ MKXWQW1?:H'\;^/J_4$L#!!0 ( -V!5E3^(OGB'@0 +() 9 >&PO M=V]R:W-H965TTC9BG-%BO9%XFW.G#GD<+AHE+XU&;.E M^R(OS7$OL[8Z&@Q,DG$A3%]57&)FK70A++IZ,S"59I%ZHR(?A,/A9% (6?:6 M"S]VJ9<+5=M>J.>Z->KN!*[G)K!L8+!>5V/ UVYOJ4J,W MZ%!267!II"I)\_JX=S(Z.HW=>K_@=\F-V6N3BV2EU*WK?$V/>T-'B'-.K$,0 M^-WQ&>>Y P*-O[>8O$1_L-#;PT'86BY66+';7O<9XC.:TT5=L!96Z2.Z>$'K$X71 M+(BF,[2B*(AG,1H'HVDPF<>'@"T5TJ4U_NYSD].?Q!WP-OPD'$,__C +1^'G MK1B3* BG4QK/@^$TIG$ MQAWR!PGL]F R#6;C"4U&\#W;43CU[#ZP/9"CCP ^T; _=K^#83\*HX :@:.-4F5QS$7>?S?\# S@ELM. M"%IK5;R6(&6Q!!7!N#C=.)1;O.4TCW)(; H_[I](;0=JRI?E5?*HL;[9H9'%6NW /-K!>&V'>>@>Z8M_P%02P,$ M% @ W8%65&(DRWM5" 6A0 !D !X;"]W;W)K&ULK5AMC]NX$?XKA)M>[P"M+%(5P=M[NQ.",?NZTK9UY.=<\W+ MVX%_2'&PHVM&GFRTOJ.;]\7K24R 1"5R1QHX_O;B5E05 M*0*,WSJ=D\$D;1Q?]]I_]K[#EPVWXE97_Y2%V[V>K":L$"5O*_=9'_XF.G\6 MI"_7E?6_[!!DL^6$Y:UUNNXV T$M5?CG]UT<1AM6\9D-:;P*K'/77\6>Z%:P4JC:W:KE3.(DP4(MV.W MWKPP]FKF8(HVS/).[9N@-CVC-DG91RC;6?9.%:)XJ& &C /0M ?Z)OVNQKF"5A 02--AY+[P]A.2'T1E 6;>Y:(Z;CT/[P MIU6:+%_!P$Z*_N1=X25;%?RE+FPD0^CD;L MB9%8*157N>050 =.)KT@9 NH<(B8KM=\ 2X11%H2,:8X-JUIM!6(9,EX5>E\ M"+IN#5+M715[7K5AX60,KGAK*H?+?Q5Z:WBSDSE[?P+QTH>BU-![H,WPDO=D M3P9-5ZF%M'R[-6++">_FR+8G=7A*[A#/%JQ%IGV@ E#<0 O=YT-=_RA)0K<6 MP.U/+]F_!#<=YS PAJ@W"'?/&O03XR=9LZ]((D2^.&"P[ 5;7"ZB]66&JVPY MCY;+-:[F>+:,$_:N-<@DRQ;1"L_3-%JG"Y8D40;Y&Z! MU@F[O.JI7)C7Z=? MIB2\A)ET&:WBE*59A!2SC[(H4&#ON'7L!UXWK]A-2;M9LH[B9,62+(J74+V* M+I,EN[&2LT\\ER@"ED:K),/OY6+%@"]= M_E;,>Y2^@F2: M1$M(XB+&EN3$XS?6PBN*0F.D+\"\7^)^"<79UR,\U5LE?P_-@RB5X#PX#G^L M,'M)?9&?B-4S'L5@6*3X8%794IB.4\95RO0>/PZC#'6RS'=LAR = 2*0ST96 ME2@"GQ(Y54"(I$,1D3A14V!.0IP+N2<&!;_5X1D9#QI8)VH*ZM)P A .CEX3 MQ87OIMZ/%LXY86H;^&O#*[^'>V9XG*\#%EXDTR4FD*KJ&C&X,F96<=\("A&Y M!3FV3O[<=VQOH&@-%0V4IL^Q' ?+Z73^V/*+>)H.3XV@ ?14GQVDOU@J":LK M6?CJ?=-9^^+G7>X>NQI0@:^IDD6O[IOB(5"% 44KHB_R%4Z%DZJAYCY5!NH% MYRK]DQK4 'E/B=[KJJT%>?,_"FYZ*NH/DL.61 >_%5VI]37L3S3K^;_\ID&? MV8VW+10J]Y)],KIH\V$JZ/"\(.);K"ZI/3/0$&CQW@G/LY@&4/Q !99;I_A= MS%?$?-ER1:V/#^#@D_ MUN+4G)0!@S(/,T6Q]T:0$PLNM>61$O*P/D<'*].;2FZ'F:@LJ=9@YT6R'I7Z MZ"0=,9?;\5"7\!P'T:D3SGH.>=^9.'&5(EQ=Y5 DIJP?*[LI(;!:Z#*2/8.: MAJT\^VV$4",7>G+L'+"/D5/%\([V@K_$,GY\VVN44>$E M1D'A)Y)'-,J6!C:"+G7AB8\F%*^O([AT,2*:,UPXS+U/T=Y@F\TSSWVVA4<] MAG .8*<2]X[A%:D.KTB]PA#>(@BA?$MTS*C];[5U#R?YG#?2\0KV0!@XVK$; MA5:),,=+3RH4@G"HGTH82''2.WGAJ]ZV&YL;V70C/PT'CSK0M@U-Q;Y=3L0? M/!<^*QB9?^]F41]@:AHIKZ^9<9$EGJSIE-!MVI0KIH1C&GOFL M+:=9G[,I^_DY[>P/Q9!WFGO&V+N#;M X?LLY^-IE$K&7QK\85-I2PX4(T_;^ MY/>9.F6G\%G,!26RGV.'E\S/TMZQO^O3N- =]X!.T08Z$0*8Q,-Q^NUHYS0, M#77V'$Z;L@\X?Q3[5>0[I2N]E0*<\U[A)?M'ZFQA4">W0-R:XP>I[L+:3]&3 MYK6"<)?L"\)Z :P7NKP8CJ?.M^A$$ "58#Z@\":+X-A9)^P9+V*_G09Z4FRI M&,' U7'*?E&C^>N!S?1L$)\8L\Z1P/1!PL;ZGY6NYUN*IT]]>9B-OO< P-9_ MU:*FA]+PZ6=X.GPXNPG?BT[BX:O;1V[ _Q9OS26VQM/E8L),^)(5;IQN_->C MC7;PUE_N! =)D0#62ZU=?T,&AL^)U_\%4$L#!!0 ( -V!5E3UU)HR!QX M /M@ 9 >&PO=V]R:W-H965TY/;1G+_*B@E ME7V-YHSW:E4OEC" S).8$8"@,L17_Z]*][7B !KN3S M55V=N"0PT]/OY_C;O6W?N8W67?%A6S?NNR>;KMM]_>R9*S=ZJ]S"[G1#OZQL MNU4=_=FNG[E=JU7%+VWK9U<7%U\\VRK3//G^6_[NKOW^6]MWM6GT75NX?KM5 M[>%&UW;_W9/+)^&+MV:]Z?#%L^^_W:FUOM?=+[N[EOYZ%E>IS%8WSMBF:/7J MNR?7EU_?7%W@!7[B5Z/W+OM!X[Q=]$O?$B_GGL/IK/CP=9JFF5ZNONK=W_A_8' M^ASKE;9V_/_%7IY]03N6O>OLUK],?V]-(_^J#QX1V0M?7DR\<.5?N&*X92.& M\J7JU/??MG9?M'B:5L,'/BJ_3<"9!E2Y[UKZU=![W?EW_=& M]KV:V/?RJOC1-MW&%:^:2E?#!9[1(>))KL));J[.KOA2EXOB^>6LN+JXNCRS MWO.(F>>\WO.)]<9._+_72]>UQ$G_=V:#O\0-_L(;_&5B@QOEC /2[UKM=-,I M85-"?+;U#[VI5%/J,0S_BJ.>"7TC:.CEVI3E?%RC3TE%%U MX6@=35+9N6*C'G2QU+HI2!_L5$O/F887:67-O>DV14<+M_I];UK_&D&$[WY9 MW"^*>UWVK>F 6@#VZD.Y4A6U?4!V^H=0%7I<+O6$-"[&JSJ5_GA^OHN++,HKFLZ4,;DINETZW% MLE[C% (9$;UQBA5)?G!=&Y))1A$=/:&,'J/5:1%2,;K50 ;]3L=VNFAL1XMV MME"[';&56M8Z!WH=*$+$VVI 18_R,O@ S*F^VUC"FH(^$SS@6(5RQ8I6J?Q6 MQ>M(M(S@]QT=1[65*VXL_1,1\_KZ_B;B=_3Y6ULQGKJ<*M?WD2J+,R+Q>12) MS\_R["^$'^*/5ZXSI'"U&^/Z3UN!&5OX4P4E-\K-A&XA(2R=Z0["O1&[LV*_ M,>4FL#+11C5DM? NZ+)5[W2AXZ9@&>7(TNV$8[J-Z@JU6I$I$A)N@5]'J^UL MZ[D'WS\N=+QR+J?,3HN"3!2O<"N_S#RS)9!(%.J^TK-BV1,H+?-A ?;%5IW] MNB QLGOA>$)!4=E^V:WZ.O"F;.T4I*G57=\V;E;H#V4P%G9)D.L.C/Y D-J6 M8#A:TBYKLU8>([8PM"8=F/4IT-FOZ$/?ZI86?E!U'^E%1K!\-X?MK0J=DAE9_Z#3L3K%7+8DVD;NT M#D^19U.;W]72U. !VKR"Z$&W=>J#7XM7Z.E8;:= ./IA9YV1@^$WG(IH0W)O M0)MK.A91D;B&7 64A=XJ 5? M>(7@:0Y!O'SQCQ*LUF&4O) S& <31,0*WJQ MBC\OBD!9 RPS<7_''ANRGZH@1N30 A8OZ0<\"QEW*Z.KH'IM29\.0L M>V>" .VJV)M+9DJTC4NHLB)\0Y2+"(3<#1CEZ7Q"EGT-!E;Q PN:F13>6G) MI8VPM9.G+&225)[I:MF EM3!DUFQ7H9XGX"6,,-D$]5ZGHO&)/L&Y:F11X(56ZPKPBF*EI$1P"*5+;(3%A/ M00 )88;U[P"^[*C]CJ @"C'(6T4\KQZ4J=E[.CKJ$>"/"]9L1&0^13!&^7[R M),1*!#79E@?=!A83&TA:?7L$_*C$!8]4A&[($DK0GQZEPU8:EK %2:_/")P* M8L0RD8%E(V/1UQ71B=1.Q_RR)4H#3K.O)TWI^"93/:8WO35,9$FJX+Q]U M+$(>_$HG_K8F-B>-0!"OC,0Y335+@,[XV4#1<5PG"[]5AVCOMN3((+";.)7W MA]F#8HD51]W3/2CPP%QN((5G&#+PX 0JD3I9^WBWEN",?$-+ M\D6C/RHN^,3:XU3[J%?!+/0@,89Q&W;MQ=3B@4A@Q 2V#9X._20!S#!XF1%" M[+I5NXV!.2+/[YWNL%YE@H)'V$ R :)06%^Y4NWT3 )^J%;O_:];Z\!I[9K0 M;Y=_UYPSQ/N$+(*$@*.3E9+$ /JP?\*>F&Q3RA'!.VSF@:% IQC4!!15YQ'$ MIJ[;M+9?;QA#A!A90PPK[L9EH0.@3;V9MYYV= M>XPAMT5N\6%1O Q13[!&\8N@3D,T(4YPGA[90[X'DD;1%+M&N7F 8Q3U9^ZP MX4CBV"A'LJ8./O!ML6>I.:9#?-HS)]LVUUFMSUQ]I&]XXCC5'L )=@8DRGB+UG?>/H/[.3 !\LA MM!S^>3M$>L=81(#=7GO'+2IKK'CFW$>&6@VW9W1[3(/I*O'669.G]-BY4/%% M#!5?G(WR;DG. *!GJ[$P\9,6*,+?@2V9PTF6LPA0,CZB8X0'8HJBV/4MB3:P M%(.Y*0MTG*(@?!&V:^]QU"S*B DDHG/.4@2.[UA.62"'YH$ )4<[1*X3FU2: M0@ LY+DF_RD7['%]_&?GZR[-L^5N.^;<>\V/<_0>6&5A^5@@N MVCY/<>/I9;HQ[Q2_J* ]D/UIV*1H4F*$F3.G_RJ>_JNS8-]S@NZ&Y>@V2]"- M(>"/K53<3^0 @\B=2!PG#0L;4Q>9SS;X*::R[^Y_=B&7C3P@&4-3BGW&XXAA MTL-O[W]Q@W)$4"02Z#IZO/(N]/568DW+6#8*7C]_DI_\N!OM(Z<'U$"LE&>LU MV*Q 8GKH3*Z4:3E;JX/=4<1\U2R$?RD6F[&-A#*V[4H;Z TH'!<'HV7Y^*GR0/&&P_PIN V\:^? 3C%W@R(,0>3 6KC?;$AS#DW2&XX MH$U^&5(V(RQ0YGU8[\F=XBK%!#>U(@:^+S>6TSRR74IS;RWIJ3'PP&F?!)8G M)B"+E"IKRX!X/R^&(./V;KNE5SQ:A,J5]^7Y9(M/%T;(EGRB%<"Y@6 KK9@1 MO!N"--(@EAXF"-FD1%:(_OV 7^.9IZG\9Y+L'V3T"?9.,!SA2W6DE2@ XOUU MM['D&MZ.40"EWV:8>#(#>I.=<"EZK"0A8=C](\.QE,3:QJ,G)T)"^Y[<>JY' MZ*/PM-6PZOA?\$27644EG45"8"F")?$5,E=_[QV[&R.'BS0VG1NL+MO"&3IG MU"\O4G/$Q5ES]%\(!V_S:LYHI\/Y1=X:]TX8_)=0,V*#G6,,2:>>XTTN]\8W M^L$;"OD<";RB]/[\ZYN7\\NOR!TE#; UI5"",Y;Q(4.;E-.O!"D_U@3+T Q" MT&U(RQ [I:H7H$-URI2 AH F1[4B@PG'F*A)WZH6=7F'4,BHK/)?VM8VZL&T MO?.5LIZ#$FDKHD"/B]AX^ \_,Q&](YGM4OFF*'Q7I6?247 RS1R;DV.!2K5@? MD9(562?#\Z#KZ$/$'+'B%J4Y0HTYK2&!\@[-)0=VTI!5[A0G^&K.3^& X/&@ M^R4T ZXVNB;1G9MFOB,MA9I@ ^WE&.:_]O0ZVF"&(+<:S5S0!+0D5[8%V9L7)D% 4/46!UQ$GW ?";4!X MB#(*MX#0<^PX8R)+3R1'H=V MFH3 A3);;=<^%97*25%."*\^,32*OA@8 //,3*N+8/Y>CKJ-(-Z5=V#H*C&->M M8+"KQQM;!+W>;+&"!BW'S178)* %%89I$J>=HMD>K-N](@6RLA/D4Y/7-2CW8EITYVW=LW.B7 M4U BQL4#5(4H*]]MU/9<2:J!@M3;DM6/^9?<%F-!] =# M63R4/T0AVLZ7 24736OLB *<3P,I G(("!9A^:[P2:''*'2C10'0JD/W;SR1,\J;$--+GSJF V%_@@R!(."L]58DJ(?SG+XCSZ-*+0@1ZNR9H MN^)]3S*ER2D^]LJ&P5*D;6VBF]L(\+E0".Z]B< J#URYS]'.JL)I^8WUFNA_ M[E]5J8WLO+,5=- L*$C.RWBMV8ZIV(7O)N:NMTPXA6E.E<^1/A]VQDT7%YT0 M_01=0T?@^+!!T+1T8_YYASX7<&;=^)?GRQL(HKH"(2.3]DU,T-][OQ0VJ-1( MC;.I&HU'_^0]LDYB1#UMOTTM#!'_]2%IU8R[$:MD7%L.%T9)0*!!R!N*-\/: M#.U:E7BA:[?9H@;@9JBKD;QU"CSPUAGI[@HB!Q3 M$5TREKQ;_DO#((DC$G+@B$-DJYM6_6[J67&[H8-& MK\"CZS])="N[75 @'QNVEPBS'K1+":X)%/'O&UM7X]X )1FTB/> G7CDI , M3FEP]XO,1Z GA["_-8UACR\3 NF$$S8CE;/S?HKWJ*>V7!PURU*@7PV*H)P1 MWR*G0![/4BK&P=49K^G%8L?MC\-:AVW-VL#Z51JR/?'6SR^SUT+LLNSK=R&I M,564G6IU"9+E0MI/@M@@/$GPV@IP, +Q9(SH%\5O&U,/6Q,0T3KIX#>2=R8T M]4AK&'"*#WX\Q&'/\5APF<].C<<5L87;6R%D>=@.2;"+FH7=81J..QS(W8(4 M>C4&$\1"-82"?]QUH56=&U;8>VA@8@---!"_#$K0.ZL4)O2*'P 1R&MI(_R3IP=_< IL[/&\RH9SZNSANTU M,OZ_AHQ_,EIODM$:-9?_\*K,L*5J6Y[(",,=086-B2OG""N=62@W2W9KIP[1 M1Q=T2A!612>'35W2GB @09F5/'R.0;X/_6C01"FWTW#I!8IQU)"2"N.E0C7B M?6\[70U*2&)[A.7D>R<=C+ZJD %TEL)I)._R^7G7A7T!-N6O=Z'P%!A%IH,R:F9TC*6.,?2?VN3H4G @(!T?TD<5 M+8%IIOP=G^.7_,C$"<2L^_1QUW+5C6(^\H*YRZ[=6;20$0LLN]Q9Y X\"K1E M*D7M?.0B0WS(!#9LF--&PZ.%OC7N"!YX.KZ[I@OP<9B!UH:M3)=ZM\NW.,5N M'VG:/S6BX[+0H@L'G;='*/IG(^'D=&O:J^.T*:GVV&[6G3B?4P2\U99##ZG+^88K5A0=(/\5K:<;RF$O\#RF(F=U-YD&(Q^A O(PYF< M%93\>TRIQ"$^+L^%UN>4QY7>O"VQT ;3[ \A7>:3[2A,8_TL7PZ6[)"SZDQ= M!" P&>#!.0$#]?HP/C)*@AFJOSP7* ,!L>SKXU^XF8C18KNV;U24&K/@6+"5 M$,_VGS#?;WO)"X46K9.C2DUFQ!\BC 5OD=\E;P6Y@J>^T/L9E](7WHM,Y^=% M]UR_%A?:2'8<):^34TB:IJ3KRC!]P&33=A?7H]*NLA[L" M7^E1/+&W&ML/145D#X5>@RBOM-'CK#,+K!/J?;ZBE(][?1HN\SXBOPHZ/=+[ M?NY+7"[D:ZT4C52*YEJ8;'72Q@-=;I03LFP"7&>S A;1O!96Z-7AL.2Y'RP5_%D(W3[)3KYA5[ M>'+/P**XCGEEY ;B&J0[B&D@9\6>9$K/[6KE8IKCM$11AQM/4G+F../L#];D MJ>QTM@0].G*0KU.284>^ ,,*D@V-D5!(9>=KL M=4^P84%(M0.(T6VBA>H?.3L2/!&I(Q.5R:-C3RYTQ L!?#4L@Q7TU_O8UA*G M"/R\=T8)S[Q(=.?9[>1&G2:W_^ 0^+__>>/?E^G6ALOSERZD#/*OL3N.+Y ) M^>38>LH7>W33H?@_89^4WTZ#JB$6BM,"IS,"1Y,!MS]R+($L!P^IIBA.ZI_[ M,(-!)N)IYE]Y@[,R+8F[(1="/I$D>=_JLX*;/3@4DTB9 %YROC"UU'/7>XP5 M.@*>50#GD+E=WM\_(NGL+)/V)HGX0 ?,O*(<%*]1D^%FS.2Z9I,2$6E'76C# MD83*.-\&D9K^X5R5+!"QLV%YR--R0ZV[]JUCY"(9+[\!B/<]NJ,DT"/%J"2I M&A6:J,?*[IM@0Z9''LSQ6-RY&;:LH6:8!TSE)]G E7S9"U2"+C>-K>WZ, O/ MHT>*],2AK-.8$YO\,#,FBH<+3);.I%R7.4W168F)IMC%*#2QR;KK6JYEQFB&.-7N<.FDMT\V!: MVW@/.:.KRFJA4W3-F2MO#TU8\$1D.]9^(@W]:-\)&8.5"J:&13)K7_*"S8T+ MP;SDE[AHD0]QL9@W+'?7Q+F8H^\H"TD0*0WA[E <"CC:(0*LC@SV60N<;F"Y/'][ MRFWPB3$/-VY:/V6!8?)-[4S'\;"+[9V2;2CC-5VI.239";C9\,KGG%1Z_!J& MB8MY_)4,:1(/#0X821AM KW;YE\ M/#(-](6=> PPA.OX?1#=^TN]:.-*^3>Y5&,,<%;X_LE Q^#J.>1X5$23!4TN38,K%Y8.CLQ@G MQ6]U/F,R')3R*;\H'F]% M8K[)7.VH&$;?0%[_'.'2L.;E^3'+'\C#1PIFE%0?]VH1/^R5&UB/DPF-XS1D M*4,_09!^+DNU+7[2'=_$.B.7O5R I5_K9=MCBOSJXO*2*?CS3OSH>UOWWG\8 M>?CBB_$TQCH"[&\-RFX"8.GDVG?6<1K!C%[E4:K,'Q#33D?CO-%$AG0RJX.3 MATK)ORP2,OW4>5*("-A10L%DR'!(AE,K3>_[UTSK!_<=:T;N45_!49+V3T/L M^A#:*H.GA9#)M"0S2&I(-3/WM4V7-Z2;]N@ZF,QKCJ@-&1\&2SP:%9NDM3B? M/CU*3F#H"(S"M*+@B5Z$6 SZ529&M22,#W-!_IZ7-$W%M^ZHHQM71H#.T.<- MH,:U&&3(N5OO 7.)U]WC1S@=.($JJ'4H1WJTC.T+LBV*F]QO3]GR?'"6:V8B;=0^2$ 9S#HIFG,X:5OX] MR?_:DS*]>C'S58EK 70&PNU]]U2C$<= ;#$_)7DS,>![.R>>WX6 5PX\A;E! M@^HY!9GFN2_/CV&_D63ZW]2'B1+ZQ[\^(3+ V^G%B=EUE5WR=/ 2=WJ+FVAX&N3)_FQLK8XX)PH_D+EG[CAUQ6AH%W"XPFN%KUD < MOSO?LPPGO;$R\>:]>"F,V#6O***KN4.6UO;N:!;V([!^GVY= MQ0S-H"SC.?PIID(^"V.#&9_$[64N.[OJU]>I<)!:[:5! 0%SJG>Q.B%&DS"2 MX_7.^!+P==X]Z.\J#0'#V('&D"J^%0*4A@/VA-H<0,5%YBX5'%T\('L>H1[3 MA J-BR%1@/;E9C0+$X/[QUC86*8S)-/(C2_ZD]\0-UY7E"Z-' M+SL>-%.:2IP2O,"E5"0MLBN;77R-V K:WHN#/LK1' 7^Q6-'*WZB7?^'3%H M]6\\,)JZ(##9FE]W/7AYZ.A,/Q>S0CFHN)PI[^R>/L48D9]E]]%O=;OF6_>Y M=M%T['\M]]FGQ^4_"_ CW\6%FNR*7KU8O/C\B=QX$/[H[(YOMU_: MKK-;_K@A9U&W>(!^7UDZA_\#&\3_WL'W_P]02P,$% @ W8%65$Z9Z#T3 M P %0< !D !X;"]W;W)K&ULC57;CM,P$/V5 M44 (I*A)G*1-2UMIMX#@ 6E%N3P@'MQDVEB;V,%VMNS?,T[:M,"VXB7Q9>:< M,V//>+Y7^MZ4B!9^U94T"Z^TMID%@7<]7:2DB\TV#:NN;Z\18KM5]XD7=<^"1VI74+P7+> M\!VNT7YI[C3-@@&E$#5*(Y0$C=N%=Q/-;A-GWQE\%;@W9V-PD6R4NG>3#\7" M"YT@K#"W#H'3[P%76%4.B&3\/&!Z Z5S/!\?T=]UL5,L&VYPI:IOHK#EPLL\ M*'#+V\I^4OOW>(@G=7BYJDSWA7UOFY)QWAJKZH,S*:B%[/_\UR$/9PY9>,&! M'1Q8I[LGZE2^X98OYUKM03MK0G.#+M3.F\0)Z0YE;37M"O*SRQ4WI0_N"V]_ MMN*!5RBM 2X+^,CU/5J^J1#6F+=:6($&7GYV*^;5/+!$[T""_$!UVU.Q"U01 M@X]*VM+ 6UE@\2= 0+H'\>PH_I9=17R#^0CBR <6LN@*7CPD(^[PXBO)Z$+_ M)Q_?;S;&:KI"/Z[0) --TM$D%VC6?0& VD)^9.P&>&)\*KU745WUSDS#0<,; F21GV8, M7CS+6,1>NUN#CP>]L&V)'9@?$U44^N$X(W_=*,TM4CEN['DTTVPZH'P9K4>P M4P^H)365/\R.)O'4GTX3^*PL2;EX-)!&?AS'D(5^%D[.R^0$.?LW*&<>L?^1 M,PY]-IE"ROPI9>%O0VJ5,G\\MT_]E$T&X,O9B/UT,CYEM94B%PWI.S-A%%(V MF/2)>/JB1&GLAR$[JJ13#1-*2TJC*([]"67^J5()SEH5Y6?7-61W[5II^ZXU MK X]_Z9O=2?S_L&@Q.^$-%#AEES#T23U0/=-N)]8U72-;Z,LM=%N6-*[A=H9 MT/Y6*7N<.(+A)5S^!E!+ P04 " #=@594>5-6RS # #[!@ &0 'AL M+W=O>)TY<^:(,UH>E7XU!:*% M[U4IS2HHK*UOHLAD!5;JD:6PJ)CQI,4U5HVO^>K(':$L,3,.@1.TP'O ML"P=$-'XI\,,AI#.\7S=HW_VN5,N6V[P3I5_BMP6JV >0(X[WI3V21V_8)?/ MQ.%EJC1^A&-KF\X"R!IC5=4Y$X-*R';FWSL=SASF\1L.K'-@GG<;R+.\YY:O MEUH=03MK0G,+GZKW)G)"NH_R;#7="O*SZ\]<:/C&RP;A ;EI-)+BUL#[%[XM MT7Q81I:B.-LHZQ W+2)[ S%A\*"D+0S\)G/,?P2(B-[ D?4<-^PJXCUF(Q@G M(;"8)5?PQD/.8X\W_GG.]\)DI7)I&_CK=FNLIF?R]Y48Z1 C]3'2G\8(X=88 M)$D[?7.@Q_B$6:.UD'O8<"/,)96OXKM:O3$USW 54#$:U <,UB\%PDZ55&@. MV?HO"#XV5:\MP-+]G:IJ+D^__C)GR>P3W0C)929X";RE6?4TN86=R^+@E7(5 M1%78T]XZVKX>?#X.V18:\:,5J,_]"MISG14G>"^%&6V-&;PA.]?/U*G6K7$ 2\ Q:.64RSSX9]&DZ^CIY' ML%<'U-(]9]* > NB9F :AVRV&#RZ+:E2H?8RU+PF-OU]$A/B(AWF_R-3XY+9 MZ3Q [SD))VS6C7=*UTISB]0PMO:2=1I.II-N?&BDR$1-7"X8LG >S[OQ'4Q9 M.%DL:)$DDY 1/UK-9N%\,7Y#WGB0]Z*@21S&T_DU_18L7,RFWG0MUT#F6JD;7O3<#IT]MNVH?UGWOX6'KC>"VF@Q!VYQJ/9) #=MMIV M8U7MV]M666J6?EG0WPFU,Z#[G5*VW[@ P_]N_2]02P,$% @ W8%65)/E M#D1T!P A!0 !D !X;"]W;W)K&ULK5C;;MM( M$OV5AC98V 3\7[QV 9\B;$!9B:![=E@L=B'%MF2&D.Q-=U-RYZOWU--BI)C MBC$U:RUXY1:MZFGH^^ETQ64SN3QWS[[HRW/5VEHVXHMFIEVMN'ZY%K7: M7$R"R?;!O5PL+3V87IZO^4(\"/O'^HO&W7204LF5:(Q4#=-B?C&Y"LZN [? M??%O*39F[YJ1*3.E_J2;3]7%Q"=$HA:E)1$-AS(P;<:/JK[*RRXM)/F&5F/.VMO=J\R_1&Y20O%+5QAW9IOLVC2:L M;(U5JWXQ$*QDTYWY<^^(O06Y?V1!V"\('>Y.D4-YRRV_/-=JPS1]#6ETX4QU MJP%.-A25!ZOQ5F*=O;SF-6]*P1X"QT ^#$7G18''D MY$4_9/&]J+D5%;N5IJR5:;4P[+]7,V,U^/*_$77QH"YVZN(CZJ[*4K6--=!4 M"OE$?O58(^PAUXY*HOP\,VM>BHL)$M (_20F._'ZM7A6*F2.(=/4G-FE8'-5 M(P5ELV GLL$3U1K>5.;T#%$OQ6HF].!E.OCL@&CVCN6)5\0Q+C+?R\.879%4 MYU"4"%:I=F;G;8ULZQ>?9&%RRDX"+_9Q=NO#H,!%6G@Q+D9' C&J[W @'N%BZWPTHU+7ESGY-W"1 M]\L=1OX=CQ'&=8]1"]OJAM62SV0M[8M;0O+60DM5D;Q*EH[!WT9URW-NV;58 MR*:AT(,+_Q%8?TWB$T^^J.";P\SUGDI7G 3B(OBZ)3>A:E8W#\'X$39;$#Y><.5!*?#AB/HBG [,B+ M"F )O3@,3WM\Q[$$Q8]A\4EYFA.2('50"-]1('GN0W6*=$8*)CG\68PG73HD M73J:=)\:$,0J_7(H?T:7'LZ?0=Y/J%SW?(,>:<%77CM"1>2U*&9WLI'HE15; M*$J>//>RQ&=)Z(41Q1CWY*]W[@E\/.*F;'!3-NHF! :IBD!0KGS\JY5KC#3V M: <8%7;8<:\TB%<:?H(K'X6Q.ZGD193M+'6T\U*P\4:MUBU0'%7REM)5_ M=P].8F2S:TMQXN5)3ED4!EZ61W3A>Q%JR$CL\R'V^6CL'S!"5RTZ IS_&=Y' MV35&6..QWU53MEK#H$,D&)5ZF 2=^%HUB_>(Q8IQI^@GQ/]38]&X)/4U)Y,: M-Y*$*F'A)4'&CFC&1[Z/2*9Q[A(0=9G6!*$7I,F81LX[[B*+NS6JH922 M0W5<"F3$[ 7SQ7I=2Z$-0QX& ;I-483LIF,56Q/;H0AHD7R:-WU]0'_0"MJP MR,\H14/D#RK(7!C:9_':?4768E=#ULT%K(^1E@6.<9%! ^U)8!ZOGJA5N6E! MBQELH0^S.&2Y1RWI !3=#17OS9(*PIJ_="F-51&\Y!7H[X_\&7+PRHU2L1:/IIH.O#_4+E'L=@ M:H$^T%$Y!OK(8&X^)N40JWKS\\Q]Y&&2_&)HN'-T/\V0W26P$56O3,]^\X3V--N;8V-?E M $TY^X/B;'\N?:'1Z%U/23C>"PO7D[TDSLA+3]+]":#)Z##4@4W<3!? MPQYCR=[./!AE"?8G5H,:K28/=;-V5S)N8-[!:CEL''Y5%'7IM M?1=;JI&)%V!$H $\<',Y>G^>=HV5;6AK\KY2F\9M 6($SM$\_&6XO^%FN:L\ M)T'HN\VI'X?N'*3A7K -!?K-GL$I#]T>.(@Z*!'JTVO ?57']C=/]U"XNV\P MA%E&NB-"$/O%]_0'I#&GXU9J=W^(<].]'T.HV0OW^XNZ&;83W3^BX>GPB^VJ M^[&T^[S[/_<; B!1+FLQQU+_0X8]LNY^>74W5JW=;Z:9LF@0[G(I>"4T?8#W M+_\/4$L#!!0 ( -V!5E32?R[79P, $) 9 >&PO M=V]R:W-H965TZ1DU>DN'?K&/U-US+\^=3K.=TA_- M%M'"YUI(,P^VUC97463*+=;,G*L&)3U9*UTS2T>]B4RCD57>J!91&L=%5#,N M@\7,WSWHQ4RU5G")#QI,6]=,/U^C4+MYD 3[BT>^V5IW$2UF#=O@$]H_F@=- MIVA J7B-TG E0>-Z'BR3J^O"Z7N%/SGNS($,+I.54A_=X;=J'L0N(!186H? MZ.\3WJ 0#HC"^*?'# :7SO!0WJ._];E3+BMF\$:)OWAEM_/@(H *UZP5]E'M M?L4^G]SAE4H8_PN[3G<:!U"VQJJZ-Z8(:BZ[?_:YK\.!P<5K!FEOD/JX.T<^ MREMFV6*FU0ZTTR8T)_A4O34%QZ4CYLK)SBYN5%US2U6V!IBLX$9)R^4& M9-F2>>;SLAS*_Y:84RK0:X>_EREA-[?-AQ.MD\#KQ M7B>O>+U#8Q!#^+U!S9P_N$-JJA#N.%MQP>US"/?,MIJD8U4?17<3?&4:5N(\ MH!$UJ#]AL'C;6I<&-0^OVQH:]MPEW1(Q&NP602KYIF2R1.'H!C7$)EQL!DI% M0V@L5J#6WF"M!$VSTV#&W1$W6*\(;<\/G'))FJHU5%IS=@7OD6G7"L[FA78? MW7T?G:\&/.QC)*P43F 23J:9.V0D%G'LQ(F[S;R80Q9>3A,G%I 7,;Q3E@E8 MOTS<)_,U_>0BC+,).$* UTWKTN/2(M7-PFD:QD5Z1JZ3G*!3&*$^'ZC/?X1Z MN;"JR"%<(C%8KV044= M2*-.W>([=&ST1MW^O]'[B0/UU*[$T9G*XHMNHJ9Y/T_3;L9R*(KD^ B9/=B0 MR0FDX>3R.''1P5JJ46_\\G7)M])V&VJX'?;[LEMK7]6[CX-[IC=<&FJ;-9G& MYU,:$-TMW.Y@5>.7W$I96IE>W-(W"FJG0,_72MG]P3D8OGH67P!02P,$% M @ W8%65&;M&!4@!P A1, !D !X;"]W;W)K&ULK5AM;]LX$OXK U^[UP"*+,F69*=) #=-=POL=GWQML7AL!\8:6P+D40M M2<7U_OJ;H63%3APU5]P7O5#D,\.99UZH\XU4=WJ-:.!;D9?Z8K VICH;#G6R MQD)H5U98TI>E5(4P]*I60UTI%*E=5.3#P/.B82&RC'P6"/,,3$,(>AVCU>8YXQ$>OS5 M@@XZF;QP_WF'_L%NGC9S*S1>R?QKEIKUQ6 R@!27HL[-C=S\@NV&0L9+9*[M M%3;M7&\ 2:V-+-K%I$&1E('? M@S?J-CRR>*/_9<.?I$'XS^Q6&T4T^;-'S+@3,[9BQL^)H?!)ZQQ!+L&*A-\K MIJ&&&?.0A!XS;C_F'VN$I21(1>LAH8YK;2/5N,M"J5/X(O( M:QKP3^#WVFA#6V MA&89Q"BT\EI6>1 Y$\^'5S!UXPA^5J(D[<%WPG@"X\"= M3#NU4H)TQJ%W K$;>W ER&8YCP83$A6,77_R H$^"8S&$Q+HQ^XX(JS1F%[& M?NB$TQB^H&;Y!$%&KRA[T8N1<$_#/8#CR;@!]$<,R-L9>[$SCN/.8-CLPO+F M.:"1XT]Y[<2-? A=^QP$L1.1%=BHD*P!MV@V MB*4=QITW*^M-WA$/+T6F*(>I.RHZ]]91I$HBBX*R=$-:88ZH1I->Q5.7+/1 M0BI+(/(T)\+ +\+ W&-]G.LFEKE43 MXJS-*9>'U,87E2UAJ\Y,$9U62'6,C':[/9@X%UL>A]E&J/18.NC5@.OUF:Y$ M@A<#ZPMUCX/OY0AKWE9\LJ\G,ZW4>!CU%-[_YGAJDOD1E]CH"3Q_2ILF=I(A M%-YC6>,9!;!,ZX0V_0KBJ4?7, [YZL6P(%6)#QJBB (L]&!$Y%H(JCB6(@TS M6/W(B0.:X03QB(A)\4$919-"R=I.3$E6+BMK0YH:36EJ/(IHZI2"X&?D M=J9(J71FG-UM@IL28LC3@@@"9QK&3'(2,V(]?1J/[(/O^!,?>K@2=5R)7EP, M;'J!]YSV/G 0 M8-[J!H!>LR;H*3@S2<,9A5I"J.G+2;0XJ%CDD\@-0YN,[&WD1A'<+#[S)ZM0 M\-:ZR0T"ND=N%,#U8C[GL<"=CIAM;LB? M<;PZ=_[;Z&-&P=/'7'?(_=8-SG MYKAS<]SK9G9E&_6:K-YLPSFL6L<9OCM=*D3:@J$J1XE.L=E\!GL-GDNE_#6]1:1!#XLF'8LF/\(B-NDQ\O2# M/6MIZZ$7&#ABVU*K0P:>/&M@,L&4+J-I\_3_,K#G>J$U,)TJ7G,0CWH-/.T, M/'UQ-OY<*DSDJJ10>E2XN: =LW<_]NQX6^50;.P)^FX5ID;!)EL55"G_/RQ!E18O_Z)'L54IGL;[&G[7YO'[@^QUX/$WSOX?3K M]7.A.4/<- 4T!3KIPX>:#0L?*?JXOS]Z".Y%/5Z;'XM:/A4%S])GKQ3#6J1= MM]Q@JGW,98.9[3"ITV]\JI\T=X?U=J]!;@\HK?M,V-"G?9H\Y MG1KY)$4'FKYUG5[-4IN'1D[('>#+5^UJ>4 'MX#JN#.9A$C*SL M?Y9;:8PL[.,:!:G+$^C[4DJS>V$!W9^WR_\"4$L#!!0 ( -V!5E0CCDH% MVP( % & 9 >&PO=V]R:W-H965TR] 2SM MIME5:U*G3[,$U:N#-2ND'DR-:>"Z$-/T@MW9Y'H8FS;%@YE@M4=+-7.F"6=KJ16B6&EGF MC0H1)E%T$A:,RV#0\V>W>M!3I15+V\U[<(:)>,%2L.5!(WS?C",ST=MI^\5OG-#[H! M9#AGI;!W:O45-_%T'%ZJA/%?6%6Z'5).2V-5L3$F!@67U-WG8,>A&>PR2 MC4'B>5>./,L+9MF@I]4*M-,F-"?X4+TUD>/2%65B-=URLK.#89J612F8Q0QN M;(X:QJJ@\N8N[T\(WY0QT)BRF4#3[(667#K#,-W CRKX9 ]\G,"UDC8W<"DS MS%X#A,2U)IQL"8^2@X@7F!Y#*_X(293$!_!:=0):'J^U!^_RL>1V#3^',V,U MO9%?!S#;-6;;8[;W8$ZH=;)2(*@Y_"_!5S)5!4+#)?K-!!]V-CB:,:%PS_8 5HPFFI>:6DRYU$/6'A'&I-WP&[^'#NVX2 M)Y](:G0[[6:]WKP1&:]2O#4Y.6GYWT$G253K-^*SN+GY'H!ON 0ZO=.S)G0B M$A(2#CN)'6]OX-9V[-=6$C7?>H3A3I<7J!=^EADB4TI;-7Q]6H_+834E7M2K M64M%6KAJ"IR3:71\V@E 5_.KVEBU]#-CIBQ-("_F-/)1.P6ZGRMEMQOGH/X3 M&?P#4$L#!!0 ( -V!5E3@D'&PO=V]R:W-H965T MR;#8GHV"T_7"I;E:6/LQ.C]?B1EY)^VG]4>-M-F@I M5"5KHYJ::;D\&9T%1^<9S7<3/BNY,3MC1I$LFN8+O;PO3D8^.21+F5O2(/#X M*M_(LB1%<./?7N=H,$F"N^.M]G5,:=V>;;FX\'[&\-;:I>F%X4*FZ>XK;'H<=@5))=BUMIV/A:+$II M)LR>*A@!I\&Q_C6L7-^4..%S*@)$U>H MF*(M)6N6K#>WD*@;R>Z->^P"(V-5SD1=,# +O*GW 7[8UO5*LF)7T[+3Q&!H MW=2RMH;<4)WA,<(UDZTWW4?#K$OZ1N*3,%!0HD)! E4SNVI: ZUFFB88A"$&*0;C(/7F83S9!LP"+TLS%OLI M1I$?DA#WDC@BH2$$B\.^>1 :N(A-?&S4_/F 4([O'A[BU9G@-:YK.52 MV;UU<- .M= CLQ:Y/!FA1QJIO\K1:6>A0SMOT,^,!9:P;9'$#G95W_PP\&]: MK1'-$;NRPDK@QKTLR.B9Q01G$ ZH1V&'>1;&6[$M1> >"ST>)RR=$D8_/_WUH.$92R(!LV[ MUI'NS)MG_J2;XO(?>RF/)AAGOH\[W$HX.\"'9.!#\FP^O%TNI5L;=KEP2=%< M2J0K5Z42M(+L8\-A*ZY(%=0#Z!S)7TB[D;)V>3? J[6-OG/5*PTPQ,S_"FG"0D;\VDV89$P MR,$.A1(-IA$;1_0WF?)!21\D'F7K]@>/^38.IN$$I&SR+Z]HU2Y<8T1Y.]/X M[0Q",;@ZCNG^![*B">1*U*XNK*R\^[F HB$\*/XNR M[2P(PEL@[1#T,U(RCC)G+4AHYN_(7P\%:I\R2/E6>NM?2'/#%-$/(7'N% #V M:8C[."6'7ARHAG2HAO39U3!4)D5Z!O8A!\30WY18H!*LDF9?(1PV0(5@D#>U M5+D M@\7*2H':LJBOG.QIJ\-;:PZ-X@+HG/C>RO5$W2^V*-J7-Z' \D]R0 73+!=GSR)L'P5;7?V 3>=\75C5-=ZM2P% M[4)LP]9:X;?3 3I&/'4]"@WKK"CZV<^5#[QYE X-ZYGR>;\1V6K %@1N!/%N MN+(N=@.-O?F\CT.SG3-1)?6-._G1_JNM;7<\&KX.A\NS[DQU/[T[F7X0 M&F ;5LHE1/UIBCV@[DY[W8MMUNZ$M6@LSFMNN,(!66J:@/_+IK';%S(P'+E/ M_P-02P,$% @ W8%65&R]_X!+ P (P< !D !X;"]W;W)K&ULC55M;]LV$/XK!ZT8$D"S7FW9GFT@3E.LP!H83;=B&/:! MELX648K42"I.__V.E*RD71/DB\27NX?/<\<[KDY*?S$UHH6'1DBS#FIKVV44 MF;+&AIF):E'2SD'IAEF:ZF-D6HVL\DZ-B-(XGD4-XS+8K/S:3F]6JK."2]QI M,%W3,/UUBT*=UD$2G!<^\F-MW4*T6;7LB'=H_VAWFF;1B%+Q!J7A2H+&PSJX M2I;;W-E[@S\YGLR3,3@E>Z6^N,G[:AW$CA *+*U#8/2[QVL4P@$1C7\'S& \ MTCD^'9_1WWGMI&7/#%XK\9E7MEX'\P J/+!.V(_J]!L.>J8.KU3"^"^<>ML\ M#Z#LC%7-X$P,&B[[/WL8XO#$81X_XY .#JGGW1_D6;YEEFU66IU .VM"C5?=R_W[:F^LIMORSPOX^8B?>_S\&?P[*J*J M$PCJ ))"+2C$T-)9QIWUHXB^B.=*=&E:5N(ZH!HTJ.\QV'RJ$0Y*4'V1%+ N M6V#0&EK4M@9+VY3@MK/,%P)1H7O,2V"R@HJ+SF+ER?'A'@A_#QS+LK\'GJQ# M\UBTP55ER+SB)7/.%US2CNH,(9H0\*'$UC[*A(INYN42_D*FAZL E$AL]F1Q M3J;[Q/1)%G#;-:B957H)M_^C]0;2;!YFQ9Q&61;F\YP&%TD1SA;Y)<%*1572 M.W_V)8G5+^R>\([XC1P#/_\T3Y/TUR$8LRQ,BP*FBS NS(IQ/9S!+Z.SYF<+6LWM% M>B@<$Q+P!N+)U/TNXDF64D1>GV"',$UZA/P187=6++X^AF&00*D6'>4SA-/W M6I.0W@4HIAG,PEE#;'JI.U[V+@ZO@!7?>-[-.^?CP], M'[DT(/! KO&DF :@^Y;<3ZQJ?1O<*TM-U0]K>L50.P/:/RC2.4S< >.[N/D/ M4$L#!!0 ( -V!5E1_:*C0^@, !4) 9 >&PO=V]R:W-H965T?ZID7V(2PQW=]K+BFEV=*8..B]V7/>UY>.%0!&\X1'N'R.6]"^2RO&*&S:=*;D%9:T*S M';=5YTW)<6%%N3>*5CGYF?D=/J(8$!HE.UA*813QI"D)LX&E"X]*P_LO;-6B M_C"=&(II/2?5'O]RAQ^]@1]&<$.H&PW7HL;Z-<"$DATSC@X97T8G$:^P.H,X M]"$*HO $7CPR$#N\^/\P\)H ^&.QTF[^SQ,!DS%@X@(F_Q%P]0P_HUPKUF]X M!7>XIE-ZC."3:+9HSW7/*IQY5)4:U2-Z\]^1J3WC0'QAMZ)-'#BS34!-6,*# MX(9,[@TSJ.%'2+/4+[.$>DD>^WE>4B^FN3P(X7I0=!5 DOH%S4>17T8IA*&? MD/V"2.(5TX!/53O47*SAX>S^S!KG%";*_2*(($K\@L+?\+IN$:Z9-O".=?T% M+!KK#6'I!V$!8>('.4$7?A;FL-"$,D17X1)M1F:0&47Y13?EE>^G%I M(X@!-JI:-:Z4FU;NVNE7D&)FJX_C;PGJXD\]WBG00_+MZ7 M#=(Y['HFGM_]0(3E%QKZEUG@(0L?!%W;LJ&[K1JZH656S!H)JN+,7GH^,(70 MRLJM< &&L!O9TE5L-5J/.V"MM20!WSLC.6@*I#^&"!/6+)("R+."3J$G&) :WH^B"+*/0S\F2.@&YA*>TRD:MLI-:':]>G\Z0 M)IXL=9\Y6_&6F^=C6IT$/Z[5%3:H%#&A]D5=27JOM.6&9'G-]G=2NQP(4)AS MH)-7#_8RMHG;>+QR7%/II45FN4ZH$*@PGPRZ2M\RI9B@0T)U5D;4IG%A:R_) M"ZM+6)3P68KU3P95]Q9\[(=Q;H6C&O\W,-6D7:!/0,5/B01AMM/>W1FEG[A" MC*F0R_BHHI,73Q5ILW8/LB;:!F%VK]8X.[[YB]U3][?Y[H?AAJDU%QI:;,@U M.,NIUM3N$=X-C.S=P[>2A@Z"ZV[HOP65-:#U1DIS&-@ XY_0_"]02P,$% M @ W8%65#U-_0G\ 0 '@0 !D !X;"]W;W)K&UL?51-;]LP#/TKA$\;T-6.TVQ#X1C(!X;M,"!HT.TP[*#(M"U4'YY$SVU_ M_23%,3(@Z<4B);['1XIR,1C[Y%I$@F=LLLBJ"E$SS+/N8*B9T4A9Q;V?+PO0DA<:=!=S+&J49ELDL.6T\ MB*:EL)&61<<:W",]=COKO71BJ81"[8318+%>)JO9_7H>XF/ #X&#.[,A5'(P MYBDXWZIED@5!*)%38&!^^8L;E#(0>1E_1LYD2AF Y_:)_4NLW==R8 XW1OX4 M%;7+Y',"%=:LE_1@AJ\XUK,(?-Q(%[\PC+%9 KQW9-0(]@J4T,>5/8]]. /, M[JX \A&01]W'1%'EEA$K"VL&L"':LP4CEAK17IS0X5+V9/VI\#@JM^BX%5WL MD*EAW3L?X!PP7<%>-%K4@C--L.+<])J$;F!GI. "'7R C=%D?6.]X>2;7^&[I/?7 MZN"BW-]O))A/">8QP=V5!!O6"6)2O&(%_-0&[MMP TP92^*5Q:9V:(6I+C7D M;?X%O""S[I+2].RZP\OYSFPCM .)M:?*;C\M$K#':3PZ9+HX 0=#?IZBV?H' MC#8$^//:&#HY8:BF7T+Y#U!+ P04 " #=@594V:"&)N " #/"@ &0 M 'AL+W=OL/&T2(W%:6D!M M)4I!0QI2!6-[F/9@DDMCX1_!=M8B[8^?[:1)>:@K32HOC7_1CC:'CS056G<03R;5&0%CV">JJ6R MN[A#R2D'H:D42$$QC:[PY1R/G8.W^$%AK7?6R*7R+.6+V]SETRAQC(!!9AP$ ML9\_< V,.23+X[4%C;J8SG%WO46_]M6]LD0EFMC>2MLV7 J6B^9-,*L>. 1WL51Z/L+;5^9K8 G2E:>85D@>:UM@9:(R)R M]$A7@A8T(\*@JRR3M3!4K-!2,II1T.@+>M)0U Q]L\)JY[Y4]KDH\^;=;UYK M6MD"&O1I 890IC]/8F,YN\AQUO*;-_S2/?QPBNZE,*5&-R*'_#U ;)/M,DZW M&<_3(.("LE,TP" Z]^!8&==L+-@!FT5&2W %;':+>*>I!JAP[ I>@.B M=(#@J",X"B(M:Y65]J]GGZ0LS)HH0'_1/164USP /^[@Q\<7^[P+=GX_,&!S4RD]2&OFIH!DWNM-N6KMJ9I3>O!GU[HE:4:$1 M@\*Z)J=C6S;53$_-QLC*3RS/TMCYQR]+.W&"<@;VOI#2;#&PO=V]R:W-H965TI=&,=U)]UP6 07E8UH8S 2N% M=%V61-W/@7C^P?_3%VV)NB(:%Y'\Q:HI)-(P0A0VIN?DB=W] 6Y 7F$NN_2_:M;%) MA/):&UFV8*N@9*+Y)W>M$0< /#@!2%M ^A30.P'(6D#V4D"O!?2\,TTIWH0D?T9@F&,/[61ERO ME^C-;V_'L;%B7V'8#6'-RI+4!9OP7Z M$U2IT;?/-A1=&BCUWX%$O2Y1SR?JG4BT4I+6N4$[HI1]$NY1!8I)>NQ$PT09 MN@>B=$!2OY/4#S+]+B7=,<[?(596A"G;APSB4NMCHAJJOJ=R7?!V:D_O]O#< MGXU8AB(>53#H*A@$*_A*>-V\*X3;UDM$#L>T-R2#@[QGZ2C-!DGRM(;!3PK/ M\' T[ \/0Q])O>BD7@2EKNL;S2@CRKWR_Z*Y(C^8=7Y1,$'0S+:):\$,4/3) M]@8JR\#Q#KN,P]=]M$==HE&PM 71Q3';1S^9Z2T_Y21.]LTV"2:\8H*5=<@C M?-"X\>NZA--]JO3_:@'/,&'? T*B]OT/9V$OR=US7NY;'.Z]LI?[UH7#O>M7 MO PS]4_WT_A@("A!;?U@I9'_A#&PO=V]R:W-H965TV$2 M ]$D,;7-T-E?OT[(Q"$GF IN((?O^,9Y8GNRY^));AA3X%>:9')J;93:?K1M M&6Y82N6(;UFF[ZRX2*G2IV)MRZU@-"JQ! [M*4BI<[EO#]U$+6ZX5O\7JC\@OV;+*E:[9@ZG'[(/29746)XI1E,N89 M$&PUM6[1QSGQH;W__%RH:< M/%[($UG\@GUI"RT0[J3B:>FL*TCC[/!/?Y5"U!R0V^. 2P?<=!CW.)#2@12- M'BHKVKJGBLXF@N^!R*UUM/R@T*;PUMW$6?X8%TKHN['V4[,YE9L;D/^"3S]W M\3--6*8DH%D$OE+QQ!1=)@PL6+@3L8J9!._O];4XD1_ '^!Q<0_>O_L WH$X M W]O^$YJ/SFQE2XL#V^'91%WAR)P3Q$(@Z\\4QL)/F41BXX#V+JCJBW\VM8= M'HQXS\(1(.@&8(A11T'S\]WA0#FD4ID4\DF.UWXP;<]KT<70VX MKU8$WV,%CIM&>Q/^Q""1O\KK M#^<=+49@S9^9R#3R%= ?A"Q\Z7W41SF"*D=PW7<*0<-(>)G16L8Y&H<.]AK/ MNL.J1V]4PS@:'JL\39D(8YJ +=TR,=0W-D'QE24V@$3D0A*3EGB:1Z@)A ZS M/HT-6]$P7)NC^JSAC P2D7-EM0W8T##9SE>[S2478B]HJMTV&^ O,OA"P_R: M<['E@BJF9V;+K>M>D8W-I##)R"WR^(P MWFJ G"4S-FC"Z+HR8P,LC"\CV.G1UZ -GYBTG?\AQ(9#V+NRU@9* M>'CJ]#:M_;;6R/%;6K?-^L:Q(1H^032>L1>]$LU?.+#:M=9]Q^LD0R$"KZLT M,5PB)Z9,;U&ZC'6D-,&P(72'%8+0];O%)H9K9)AKO_,=)+7%Z957I\1 BUQP M?5K&JJL9^,VI1X=1S]@FAG=DF'>_-=$C!E'$O;+>!ESDQ 3J37I[K:5^:X"W M34@0!..&XG9M0TK3>%WLTTD0\EVF#GM3U=5J+_"VV &SC?EA(U%_TM=Q)D'" M5MH5CCR=6QSVY@XGBF^+[:TE5XJGQ>&&T8B)W$#?7W&N7D_R!-4.Z>Q_4$L# M!!0 ( -V!5E1X=5<:\P4 (DN 9 >&PO=V]R:W-H965TY<(QT"0HID [*)JFLQC,0K&96*@D M>B0Y:8%Y^*%D14>V+%K6:,%-X@LOA^?Y MYMUTFBW7*@ZR"[U1B7GG0:=QD)NGZ>,TVZ0J6)6=XFA*/$],XR!,)HMY^=J7 M=#'7VSP*$_4E1=DVCH/TUY6*]//E!$]>7O@:/J[SXH7I8KX)'M6MRN\V7U+S M;%J/L@ICE62A3E"J'BXG[_&[:[_L4+;X'JKGK/$8%4NYU_I'\>3CZG+B%1&I M2"WS8HC _'M2URJ*BI%,'/]4@T[J.8N.S<J[;>!"VW6:[CJK.)( Z3W?_@9Y6( M1@?,.CJ0J@/IVX%6'6BYT%UDY;)N@CQ8S%/]C-*BM1FM>%#FINQM5A,FA8RW M>6K>#4V_?/$A"%/T/8BV"GU60;9-E=$HS]#K&Y4'892]0;^AN]L;]/K5&_0* MA0GZMM;;+$A6V7R:F_F+4:;+:JZKW5RD8ZX;M;Q %+]%Q"/X2/?K_MV]_>Y3 ML^IZZ:1>.BG'HR>7_A:]SS)E5FW6A3Z%P7T8A7FHLI>4K)#YP'U5RVV:ALEC MV>H/G:3U"U=!%F;HKT]F O0Q5W'VMR4\6H='R_!81WB?@_2'T> ^4B@K9BHC M.I;TW3"\'*;8M4\+S*GGD?GTJ9G<=C-.9CZTV@N2U4$R:Y!W%[<7Z%$_J30I M/C>=D>X-SNO!N8L"B3H\,8Y NV%$(_/"(W)VH$^[E44?6<ZSA6Z3(, M(K0)-BJU+-NOA_1=5&56AS<;1Y59*]^^Y^/#7=-NY1U7!'M 7.^L/6.^+9/E MKWY;!S>XCEV4"0-],1E'J&J<-,ZT=JH>S3GZ%WU23RI"V+8XP"*A3F8?R$KL MI]*3V6?M$QGAL\,3V9%FV*,>8QTB 5B)':QVD8@M!T!&(IP4"0A+[$?3DR+) M=O:Q.1)W91_(2>SD[,K^H%J& W)S$5!*$"5VL^E_0M.[T1!LQ\ 0)/:H7F^ M,+W 1@&>U$U'H&$)C.4)T+,D K)2.UG_AT0VK%% )W72$Z# 73J2*T#;!7_' MB8L"4ZF=J5WRG&$#4. H==((H$!<.I(50-M5/O8([?JJ88!49D=J7SUZ<8P! M2)F3M3\#T+*1:G_6NZIG %%FA^C9HMC(Q1I.J9/E/@.TLI'*?=8NY*W;!=C) M[.SL^^URCF/& )[,R9*? 7#92"4_:Q?S>X[9_OS 4S:@GN\C3R^\<: J=[+Z MY\!?;C_(]A:*MVT [Z (/=)D1F8-(0O F ]S M$3IEZ0=!@#%WTDX00&DQDIT@VG9"QQE/ ('%,"OAM#HVJ@F@JW#221" 73&2 MDR#:3D+W]A% 53',2#CS!QT!&!5.&@>B<9M@K.L$;>-@[P>=_?D!J&*8=W!, MD5XL$\!2X:23( "V8B0G0?2^+R !I'*8B6 5QH8Q"1B53AH)$C@K1S(29-M( MZ-XT$C JAWD)GW6B?J&XC X];%O7Y?:G VI*)ST$"925)SR$$^NNQ&@;"(22 MKHT"!)7#[(-V4+WX)1N7K)QT#B0 5IYP#OK)M4@W/+5,VW<$RXN:1MZ/H9)AB+U M8/IX%\6^3'?WGG=/(_ M4$L#!!0 ( -V!5E07ZX;K3 ( -<% 9 >&PO=V]R:W-H965TF[6%2E*S;LP.78-78 MS#9)]^]G&\)H0ZKN!7_=<^ZY!U_')RY>9 &@T&M)F9P[A5+5D^O*M( 2RQ&O M@.F3G(L2*[T4!U=6 G!F025U \^;N"4FS$EBN[<12JS E%-IO^C4Q$YG#DIKJ7C9@K6" MDK!FQ*^M#SV 'UX!!"T@^"Q@W +&MM!&F2UKC15.8L%/2)AHS68FUAN+UM40 M9O[B3@E]2C1.)4M,,4L![>R568/"A$KT@!9IRFNF)-I""N2(]Q30;7M\I\^? M=VMT>W.';A!AZ$?!:XE9)F-7:4V&V4W;_,LF?W E_QK2$1K[]RCP G\ OOH\ MW'L+=[43G1U!9T=@^<97^';-948\UQ>L=4!T#MPC!NJ#+.,NR]AF":]D65Q2 M#SG7D$26Q'3C,7F,9F$8N\>^09=14^\Q^!?U1F'8*0P_5DAU>]N+H1\*E/%Z MK_*:=IX,J6T()ST=#],@>B=V(,@/O6A8;-2)C?[7SH$_U:B,!CP-_-D[F9=1 MDUG8BVIDNKVV,T_>=RP.A$E$(=\N3OU!+ P04 " #=@594$9G$D,T# K#0 &0 'AL M+W=O@T%O&Q6S"2\4HSF\"B2++"/BQQP8/TX=[)PFEG2[4V;"G4WV9 LK4%_V MKT*/W-I+2C/()>4Y$K"9.L_X8XQ#8V 17RD<9>,9&2IKSK^;P6_IU/%,1L @ M4<8%T7\'6 !CQI/.XY_*J5/'-(;-YY/W7RQY369-)"PX^T93M9LZD8-2V)"" MJ24__@H5H8'QEW F[2\Z5EC/04DA%<\J8YU!1O/RG[Q5"]$PP,,;!GYEX+<- MPAL&0640W&L05@9VJ=V2BEV'F"@RFPA^1,*@M3?S8!?36FOZ-#=U7RFAWU)M MIV9SPDB> %I9D<6@"&42/:)GIA5AWY \1:^"IT6BT!)4(7+])T$< +VO\!^T MP9=5C-Z_^X#>(9JC/W:\D-I03EREDS2AW*1*:%XFY-]("/OH$\_53J*7/(7T MTH&KV=44_1/%N=_K,8;D"07X ?F>CSL26MQO[G68QW>;XW$/FZ N6&#]A3?\ MG0NC-SU*>;%6FX+I_9/P(E>R)T)81PAMA.!&A-7+ JUT?TD+!@\(^X_>^$'7 MY !ZNRM3W:^$%<3NVCH9:652Z4*BOY:<,:0WYI&(].^>G 9U3H->UB>9$H7F ML*5Y3O,MXAOT)Q#1I;'2V\!Z,ZWO,,.A-YBXAV;=KT'!*+S$Q%T8K\9<D=JCDM(].(+"IV[ MJ8PU;"3XJ)768GH-PE[46HZX S2,NJF.:JJC7JK?!%6 ?M]L3OHP[:.3QNB: M1C@:MVAT@ ;M@G5@\##LIA'5-*)[U:>;4I_NHJOH([\MNVO,M3;C:U!3FQZB-E$4M0K8 M@1KCEE;C#E 4W>@=\MN+P)[62RM'%&18%PS:= M+E1;L7$'JJG8DHO;N$5FH,5E;N,2V7M%>=NJ9^L;_[.]Y[;FY^9+P-Y.SV[* MSXA/6K-4BY?!1KOTGD8Z(U'>S,N!XGM[5UUSI6^^]G&GOV9 &(!^O^%&PO=V]R:W-H M965T5$+2[ MSR:9$*N.S=J&M'^_8R=D*3>5!^*QYYPY9WQ):JG>= E@R'O%A1Y[I3&;1]_7 M60D5U3VY 8$KA505-1BJM:\W"FCN0!7WPR 8^A5EPDL3-S=7:2*WAC,!2LPJ$9E(0!<78^]%_ MG,8VWR7\9E#K@S&Q3E92OMG@.1][@14$'#)C&2A^=C %SBT1ROC;R",Y%'3+S4+6/Z'UXP1FDFOW3^HF=_C=(]E6 M&UFU8%10,=%\Z7O;AP- ?W !$+: \*N J 5$SFBCS-F:44/31,F:*)N-;';@ M>N/0Z(8)NXM+HW"5(2KG55.0Z\0TJL7Q^UE:=-%7#"U5GD/5(U+\G81#VS\"G7X<' MG^$^^N^:$'9-"!U?=(%OV1QA(@OTU?J^)P+,%>ZHXXX<]^ "]X+6N%\&%*/\ M;*<:>.S@]L[MTGZ$IG:'[3C-B09=RB=9@T[6X*JL)R88GIJY&&\O];<4Y=?-*1$?Z.U9UFH;KAZ$B=?W!] M[-/UBZHU$YIP*! 7]!Z00#7/01,8N7$W:B4-WD\W+/$%!643<+V0TNP#>TF[ M-SG]!U!+ P04 " #=@594G6+K#&N$DS$OXP>Y,D85*7<6<2<). ^PFS,PE.D^ \ M-F'6),R,,G4I1H$EU(GR+FM-+=J!3MJ>*QJ'O@,#X3!!YZK1(*W>4SCAP"V+JJM#!\K M6^%)Q#6-+H&#+@"&&(T0NGY\.AQ)7S\Z'843U3CM/CD&SSF#=]R/"[#1&Z8> M;@OX>J/#P7M%,_EM8K%9N]C,+#;[S6)F%=IM_EYP.;JW-9QKX"JGN5MZ.(#! MW+X[%7PDRL-.V$8]X.JV7-U)KE=15&9E2A2-]?.NO2]BI'84S9UD7"CVRTR, M\:ZAO1-&KV<(8K='?"S,#=Q@G+G7,O?^2&7]B(UQ]08D,/(#IT=U) HZ 1IG MZK=,_4FFZ_^KJS]@@5R(<(_K2)3CH]ZI6?N#4X.@@[SQBH*VHF"RHD]4JD[S MB4^U]N2L3#?\^&XVNCD+8,F^5[SK"@5 M%8_2'.$.%C^#ZIT'(^>)57>&1QPA=Z#Z,"R$'CXC>N?B:-K&MWRG#D30J=H[ MFT7N,TC=>2/Z,W,\+_70^4*(^O8X$H4\&#IGI.X,$DT[Y+M2Y$R5@AJ^.W9? MC>64$IU3H> 9A.]\#(5/+'PXE#08>/U(%(;>F7<_[GP03_O@#=7?_ E/8\"R M0O [6I&=TAUWEH71W]<==U:&\=/JWN ]>#$Z+NKI/AHUE6EQ>O,KW036+5L'4W>0'XC8LUR"E.XT)+ST-251-V7U MA>*%:5-NN=)-CQDFNI&EH@K0]W>Y)FYU8L*YH!5U1P)&$]=J;XTSV.K@@8I#JG(.;O%>Z L9S)Z/A1DCJ5SQQ87Y_8/]O@ M33!+HN!.L+_I2F_'3N*@%:S)GNEG([Z"U27>-4%5D?FGR&9^+^$"=K?(3SXBW\/#%CUW M_? YI+9 358PXL7]#!]YERJN'FT1S* M5>/9*O3/H[%'#QHR]:W'VZ#R-K#>!AW>:@Y([J M^P5#:!GR;O8ZB9(D'+FO M]1PWC88ACBNC"W%A)2[L%?>'WH)$3/#-C0:9%0K;"O:NX(DN)'K>&XE-(S\: M).T2HTIB=(7$;F%1PR<.HD;R6JQ\'(7MTN)*6MPK;9JF*&VQ"G#048G#2NFP M5^DC3,Q/+&EJ#Z$>'Z A$JK[J.C=K MW-^MK^PWN-F&!W$S72W-NCM;YVZ-KVG75W> DG8U-JT,HVI(=:MC7X9 MR(V=N94YA.;@%5-@=;6:ZZ=VFG7/YL5'@9DY-I0KQ&!MH-YM;'S+8LXN-EKL M[""Y%-J,I7:Y-=\F(',#P 'U37DDS"SU+01AP101'$I:3X#P^R^+( IS%-P);M3=&-I1;(>[L MY**8!)%5!!1R;2FP>=W#'"BU3$;'KYHT\#XM<'^\8__D@C?!W&(%@> *0U('TKH%L#NBXS52@N#QG6>#J68HNDM39L=N"2Z= F?,)M MW1=:FJ_$X/1TABGF.:"%VV09:$RH0A_0')=$8TJ>H$!S*C8%NF E!5-QC5W! MYD)IA8YKQ(F!W"PR='QT@HX0X>B24&K,U#C41J7U%>:UHEFE*#F@*$[0I>!Z MK=!'7D#QDB TX?D8DUV,LZ25,8.\@]+X%"51$C<(FK\='C7 LW;X%\P/P5]$ MD_J*I8XO/<#WHC(F4=(<'5<-]..K,447&ICZV>*HZQUUG:/N&QSE.T>Y<72* M,!-2DZ=J)Y0@B2B:"MW.WT./@*5J4=KS2GO_0VF3Q(IXY(CM'7D_C3O=<7C? MH*;OU?3;U1P\+BVA#CSYX'VK/_2.AO^6TZ83,/PCBX-.KSF+(^]_]+Z[+VOG M3T:(N6NF)5=Q]'R+1N^U VOF_>2EG=@GK[JA_F)4J0[WV@ #N7+M5!D9&ZZK MV]*O^I9][AK5J_59?#:O&N\S3?4?<(GEBG"%*"P-9=09F/,CJ]9:3;0H7;.Y M%=JT+C=[V@N3O,)GCS_\)7M M,VU^/U]7/TAVKSL)D- M470I\N]LJ[/Y9#I!6[HCAUQ_%:<_:;.AT,1+1:ZJ3W1J;-T)2@]*BZ)Q!H*" M\?J;/#5"7#EXT8"#USAXO^K@-PY^M=&:K-K6/=%D,9/BA*2QAFCFHM*F\H;= M,&[^QK66\)2!GU[?4Q3>:!;](F1#O7WS#KU!C*/'3!P4X5LU MMK@O?]W=?>GN@!*M'%XKAU?%\P?BK>ML1F('"58KD%\4&%G ;Q?PJP6"@066 MHH *5*3.8;Z%4LB)AF4VE-,=TU8)ZY!A%=+4Y7'A^3@*9\[Q6BF;51RXK=4+ MWJ#E#5[E%9QR#?_S$;X$B)/1''C/4/IEF3,JKS$ M84L..M!]H\1SIW;HJ(6. M1J%7@$25Z8TDKRA3P15T(L;W:$>[F5?#1CV.8(J3#JS%*$AB.VS2@D),BZ@3RV@L9]ACCP.J!]HREDKQUTVH).?S<5)(4L/M#W*B.2 MHI*<8239BVYJH?:["=PW\A(OM%,G+74R2OU(GD!20".;G-K(DCZ9%W;)^D9^ M<)7*+\BP>YD6[BC;@ZSFHK7/N[9BCCM8%BNYOI14DJI:<@I# MW3Z($AC3LC>88A_W:Z)M%T]@?*MK+;,'CP^52')], M<=RTA[KS#6I:Y U::VC?IAF:+OG .#1V!CM<"<6JWOGCCR=M3N_0D\!?Z7^L M&QT'^1W1EO]/K%HRY^J ;-Y./A.Y9UQ!L]A!"O;[0HJS/S1F@8 M==5E!B])5!H#>+X30C_?F&-X^]JU^ ]02P,$% @ W8%65#L&ULC5;?;]HP$/Y7K*@/ MK;0V(3\(5(!4R*;MH1(JZ_HP[<%-#F+5L9GM0+N_?K83,B"!\0+^\7WG^^Z. M.T9;+MYD#J#0>T&9'#NY4NM[UY5I#@66=WP-3-\LN2BPTENQRRI4Y<">C-5[! M M3S>B[TSFVL9*0 )@EG2,!R[#ST[I/8X"W@!X&MW%LCH^25\S>S^9:-'<\X M!!1292Q@_;6!&5!J#&DW?M9)0]Q?[ZQ_L=JUEE3(*(7ES7H!N->EXDZ/KJ M!ETAPM#WG)<2LTR.7*4],_;=M/9B6GGAG_"BYZ-'SE0NT6>6079HP-62&EW^ M3M?4/VLQ@?0.!;U/R/?\7H=#L\OI7@<]N9C>&YY1$S19"JR]X(2]73:VNVS@ M*AL$)/KYQ"E%^D>@+[-?9QX+F\="^UCXGY+ "KW"BC!&V KQ)5J#(#SK2FYE M+[+V3)_93(:^-QBYF_V MT&Q/PP/04D;-(C"N $=Z(D:/=%9/3IX&V+;E.Z2 M>R%DF>Y;2O E42C-L5A!AA1'*9?*R!6P 59"E][JO?Z>ET$0>T=ZVZ!H,#@* M2M(&A:$?=>OM-WK[9_4^*T+)'VS;JM4A06PZ=?1;K]_ZP\%13F8=J& 8'V>N M Q7UXT&WE+B1$E]:BJ#3=;8(XW811L?U->L M2HU:8,.*K52XN[UW )T\9C9 M)77UE$Q5;:HY;<;C@YT*1^=3/3:K*??/3#5S'W5-$B81A:4VZ=W%VB51S;%J MH_C:=O97KO2%I$Y@0 -08 9 >&PO=V]R:W-H965TY$)?& M,:5;>(%YKN]D),E[XU'Y[(Z/1VPCTR2G=QR(3981_C2E*=M> M]V#O^<%]LES)XH$S'JW)DLZI_+:^X^K.::S$249SD; <<+JX[DW@U0T>% JE MQ/>$;L7.-2A">6#L5W'S);[NN<6*:$HC69@@ZM!7, Q$T9.F/)):KZ]Z@!V*Z()M4WK/M'[0.J%_8BU@JRI]@6\D& MN >BC9 LJY75"K(DKWZ3WW4B=A24';,"JA70OH+?H8!K!;ROX'4H>+6"=ZA" MOU8H0W>JV,O$S8@DXQ%G6\ +:66MN"BS7VJK?"5YT2ASR=7;1.G)\92D)(\H MF)==.:.2)*D %^">"LDWD=SP)%^"L_K%N7KS;3X#9Y_.P2>0Y.#O%=L(DL=B MY$BUFL*F$]6>IY5GU.$9@Z\LERL!;O*8Q@;]T*X/D<6 H]+0Y (]YV**K!9G M-+H$&'X&R$70M*#_ISX[7-TUJ-\#L@>9TD]=(@!;J+T;T>R!V"UC(,M6L+&6H7 M'%J[01/-P!K-1 @%PBU/)+V(V38W;>1!>_DX\ 9FQ\/&\=#J."1B!=;D27V% MI0FGX;#MU7.'>TDS"$'H(_/2H*N_$NZ)6VU:6]PM#1S E\L-:R'?)C0S"75V M+=SY\D%K3'.2@S^9H)]!2-)$S5QY0BR[$B)M&'T .J$F-<0GWH#3VN*+/AFX M'5L':HI#[SW!!S5@8?_D(???$K)F,+1#>*)"NTN)+&9V<+M1*Z)@HJK]0\W' M%[><91>3_&F[HNIQJ(;7\G6:+/-BF]M2H>D+@X_H-LU': ?D$;B';6#ZN#/U M&IAP^)[=AC3]D)U^1X2,VLSJ#AEI9B$[LVY)E*2)3*BP!:9)A3Z"5$B3"IV: M5"$RD*H]*QBD^A!V?/:0YAEZ5YXAS3-DY]D1HQQJ\PPBS^L(6?,,V7EV3(G: M4Z6I1&TI2XDT_I!]^CQD7D.&>;-[8$,:A>-$/<)G.K/ 9X=Y='PQN_,HP> $/X.=O+WG5TP M==LX/,#R*'2CN1J8!39G*6,617%O' MKK' RP!2,DZ3Y$.LN-!1GH78QN:9:5$*#1O+7*L4MR]+D.8PC\;1,7 OZAWZ M0)QG#:_A ?"QV5CRXH&E% JT$T8S"]4\6HROEU-?'PJ^"3BX$YOY3K;&/'EG M7KS#2A3L[]+5)Q(K6H5$]F!0HH;LG?^[G< )(QV< M:0](@^[NH*!RQ9'GF34'9GTUL7DCM!K0)$YH_U(>T%)6$ [S&PNE0+:H+0#- M&AU[S[Y0#3,5ZW,7*T NI+NDU)+K)W97L84"*PI.D7O8&[D7NCZ6W_)"2($O M68RDSY\2%[V69:/#BEV\N_R;):;NAA;3H<4TT$[. MTFZ1K;5#V_H.V8_0WQI!N9]OT$\&^DF@GYZA_S. HAM U0_@RK\GH5K%"MY0 M[/61=.2S0.Z_H'T^F27ARN+]*[*F@ZSIF[+N6G3(=>F%;8TE-%GN-073_Q3\ M>W1\LE_^4_W*;2VT8Q(JPB2CCP2VW?IW#IHFK-S6("UP,'?TQP#K"RA?&8-' MQV_Q\ _*?P-02P,$% @ W8%65,*Y!:@, P XPD !D !X;"]W;W)K M&ULM59;3]LP%/XK5L0DD+;FUBMJ*[4I:$A#JJ@8 M#],>W.0TL4CL8#LM_/O93AH*I%D?X*7QY7S?N?;XC'>,/XH$0*+G+*5B8B52 MYI>V+<($,BPZ+ >J;C:,9UBJ+8]MD7/ D0%EJ>TY3M_.,*'6=&S.EGPZ9H5, M"84E1Z+(,LQ?YI"RW<1RK?W!'8D3J0_LZ3C',:Q WN=+KG9VS1*1#*@@C"(. MFXDU_=HXKYQ98P$!2Q]()).)-;10!!M87 M[4K9PA7 N&Z7OIO +;#$TS%G.\2UM&+3"Q-]@U;Q(E07RDIR=4L43DX##A&1:!9S M )5_*= /=$THIB&A,9IQCFE<79PO0&*2B@LE0(5 ]63=+%; MR0$T<(ZJEE'7U%4KO/:]9Q/**M%Q=([R*17 MY[&LO$KD;;*'SQW_.8"M \>LPQX M;*8(@4)64%D^!/5I/:G,S/O\[GSN7@;EO/%*4XX_MYC'A J4PD91.IV!2C O M)XIR(UENGLPUD^H!-LM$36' M8"ZWS F]QNMH)[KIO\ 4$L#!!0 ( -V! M5E3HQTO'G ( "X' 9 >&PO=V]R:W-H965TW"A -8M>/,/BGMOY_MT)2- M -)NB+_>\[S'V,?%6JIGO0) \BIXI4?>"K&^\GU=KD!0?2EKJ,S,0BI!T735 MTM>U CIW(L']* @R7U!6>>/"C=VI<2$;Y*R".T5T(P15;S? Y7KDA=[[P#U; MKM .^..BIDMX 'RJ[Y3I^5V4.1-0:28KHF Q\J[#JYLPL *WXCN#M=YJ$YO* M3,IGV_DR'WF!=00<2K0AJ/F\P 0XMY&,C]^;H%['M,+M]GOT3RYYD\R,:IA( M_H/-<37R!AZ9PX(V'._E^C-L$DIMO%)R[7[)NEV;QQXI&XU2;,3&@6!5^Z6O MFXW8$D3A'D&T$43.=PMR+J<4Z;A0T(N063/#F= E+&]1DY(:PBCRO9 M:*/3A8_&C8WIEQOR34N.]I"G4%Z2.#PG41"%3P]3L ->ZHL:,F>Z@FAZAO"UI5ZE3V@KR,DR2/ M"_^EAY5TK.08*^YCM:ILFY4%03\K[5CI,5;2QTIW64F\AY5UK.P8*^UC93NL M>)B'_:R\8^7'6%D?*]]AI=F>M 8=:G 0]2B1Q+\I6J):NT02R,+KC, M30#5%N>V@[)V!7$FT917UUR9!PV476#F%U+B>\?6V.Z)'/\!4$L#!!0 ( M -V!5E0K,4=]? ( , & 9 >&PO=V]R:W-H965TUG@PJ^R'N[O8R;_O M[(*1U1"GZL7LU_L^,[-XR/=*/YD:P))GP:69!;6UV^LP-&4-@II+M06).Y72 M@EJ5,PITFIA&"ZI=;X&H_"T;! M8>&>;6KK%L(BW](-+,$^;N\TSL+>9']P_^=PQEQ4U M,%?\!UO;>A9, [*&BC;N#D>"T?@-0=P)XG\5))T@\8FVD?FT%M32(M=J3[0[C6YNX&OCU9@-D^X6 MEU;C+D.=+>9*"&;Q6JPA5*[)7$G+Y 9DR<"0CV39K#A@F4F2T06)HW@T()^?EG]3 M.Y1'0_(0R]#7(NYK$7N_Y+]JL6"FY,HT&LC/FY6Q&M_ 7R>H24]-/'7\!O50 MX0MB00NB*E(BU[D/5>2T5W)%!(IKNM)6-?$JUR-V11)- M\W W@)KTJ,E[J&0(U:K2(U0VB891:8]*WT.-AU#I:U26#*.R'I6]AYH,H;)7 MJ#0=#:.F/6IZ$O6@+.6D:JQ[.[%+,-$(;,S=7W=+7_Q+/13,]-5MQN.K^*]H MPJ/^XGK[5ZHW3!K"H4)9=)FA7K?]LIU8M?4M9Z4L-C _K/$3 ]H=P/U**7N8 MN"[6?[2*/U!+ P04 " #=@5945*(T^ZH" ;!P &0 'AL+W=OU0^.]G.VDH4% W[27QC_ONOOON;(_60MZK E'#8\FX&GN% MUM6I[ZNLP)*H8U$A-SM+(4NBS52N?%5))+D#E

$<]6TUDV;F=UYR6B)75'"0 MN!Q[9_W326+MG<$/BFNU-0:;R4*(>SOYEH^]P!)"AIFV'HCY/> $&;..#(W? MK4^O"VF!V^.-]PN7N\EE011.!/M)Y+@D-=,W8OT5VWQBZR\33+DO MK%O;P(.L5EJ4+=@P*"EO_N2QU6$+$ [? 80M(-P7$+6 R"7:,'-I38DFZ4B* M-4AK;;S9@=/&H4TVE-LJSK4TN]3@=#H194FU*8M60'@.$\$UY2OD&44%G^"Z M0DGL"ERB40LN*5E01O43'$Y1$\K4D;&ZG4_A\. (#H!R^%Z(6AE?:N1KP]#& M\;.6S7G#)GR'S12S8XCZ/0B#L+\#/MD?'KR$^T:73IRP$R=T_J)_$F=*5<:$ MJB7"W=E":6E:\M<'4:,N:N2B#MZ)>I9ELL8<6"MU4XBLEM(0@4I(U_]B":*K M#;.UV:EW$RIVH>R)?DBC>)B,_(=M5=\:AY!K/"1; M -NWXX'"2[Z<4=O?AOZ'5B/^WB&;]E$ ]/PMT,DHY!LB<#=[)Z MST>K!Y.FV#V8:Z+1-J"M]P7EQ+0>83 3BKHNN/ORJ.V5NF#V:*K7_=?0_YC' MIMTNG]NM([#K"/XO;XUH_M;599^-*R)7E"M3E:7Q'QR?&-5E&PO=V]R:W-H965T59 MB.]V<1=/>[YE! E$VJJ@YN\%YI D5I/A\6^IM%?9M,##Y[WVWW/GC3//5,%< M)-]8K-?3WJB'8EC2+-$/8OL'E [UK;Y()"K_1=M"=MCOH2A36J0EV#!(&2_^ MZ6L9B , &70 2 D@1P <=@""$A"<"@A+0'@JH%\"]PO<\< NJZ6PBQ19) M*VVTV8<\^CG:Q(MQFRB/6IJWS.#T;"[2E&ES\EHARF,T%UPSO@(>,5#H CW! MJ\YH@MXO0%.6J ]F[^OC KU_]P&]0XRCI[7(E$&JB:<-'ZO5BTK;-X5MTF$; M$_39F%LK=,MCB-\J\(PCE3=D[\T-<6I<0'2) OP1$9_@%D+ST^%^"WQQ,AR/ M6^"W;OB72'>1?Q.,H#K:(-<7=.C[))0Z.L^_/QD9=*!+:I,8RTYD$FYPLS5*4@/ENT8;N\J1JRXI":3]7:@O9RPR/_""<>"\M7/H5 ME[Z3RY<-2&I=+0A\1-*6B NQO,@,':H4Z#8NA=+!(1>"1Z3B4J1-O\D8#T/< MSGA0,1Z^S7+<,_[PQ<'WNIZY!H,.[D<-"VL)/#?2:CM3W>J&Y@K>9QPSP) MAT$CG"URF 3=P2(U4>(D>AU%,C/IN9%B"KTS)M)TV$ER9VXP-XQ*@G3QI MD!H.,#ZF3AJG'(S''94!U]T#!T[BCY2C/X4]WCE-F+F2&PO=V]R:W-H965T]8I2@WYD7.C+SLJ8_&L0Z'A%,Z+/94X%/%E*E1$#MRH-=*XH21PH MXP$.PV&0$28ZTXEK6ZCI1!:&,T$7"NDBRXAZN:)<;BX[4>>UX9ZE*V,;@NDD M)RE]H.8Q7RBX"^HH"BM:V13>9+RV=Y\ M2RX[H65$.8V-#4'@9TVO*>BZ;7D?['$ MK"X[%QV4T"4IN+F7F]]HE=# QHLEU^X_VE1]PPZ*"VUD5H&!0<9$^4M^5$)L M 2#.80"N /@M8-@"Z%6 WEM OP70KP!.ZJ!,Q>DP)X9,)TIND+*](9J]<&(Z M-*3/A!WW!Z/@*0.A)8" ]2S*(JU2NRE1P2RH1NI7"K#2Z M$0E-#N"OC^"Q)T NM;BXE=QK[ WXJQ(SU$OZB(-U9B>9&V!P'DW5I6VC=UXHBA5E)Q?Z%!R=0467KZ2'] MR_A#%]\ZY'HZ"-W?)%AO"WV\WTX"@SJ!P8<28%H7Q\D/]DB]I>WKL4-X6!,> M?H@P+"C:P,0'KSC&>GB4M:_'#NM1S7KD93UG:Y90D6A8$&).+'VI4$Y8*7$B M.31JE%-5$C_(NWS%X#BKBYK5A9=5Y9&5D#E1:$UX07^"4AE_M$WI/,2#-W(> MZ[5#?ER3'WO)U^N!HP\; +L>)-TRA4/6/=Z3K]^B7Q0V2U?X'@7=*N.QDVAK M+8P^A\-%N*&$/R#TD4EV507=,:P>'E]$HQ;-FS4@ZOV_ U_%&^_47]1"HW'^ MR&_]]W9+(4"(&Z($N([VB=W8<33X)./?&&[D=]R?UWNXIW=O?#YN$;RQT,CO MH8OBB;/XS;[0EV%C@]'%)Q&],;?([VX/Y:JF85MLMZ2R2O?HK!OOS;H>QNW; M!-PX'7Z7TWU\K;BJ7K!MP+B-5N.7./+2NEM3=3;C7!HW&G>Y'3??OKFQ/8P_ M1U'@QOFPW_D^6!15U.VBZ/MJHK% [+? 69HJFA)#D: &Y4K&E,(69ZED5IF% M/#A-*UK]/9L8[OMRL'6PS*A*W0%=HU@6PI1GS+JU_@@P?D&X)2IE M0B-.EP -ST=0BJH\E)6*$CB7V@[P?"FE>;VQ+Z@_C4S_ M U!+ P04 " #=@594-;_3Y7H' !?+ &0 'AL+W=O-Y9A(?+2F[YS-"!'A(DXP? M=V9"S ][/3Z9D13S+IV33/XRI2S%0MZRNQZ?,X*C0BA->LAQ@EZ*XZQSM [.9KC.W)+Q/?Y#9-W MO5I+%*?UM1G..LX@?]82$J@SV)A6LL(2%-L""X)IF8L;! M>1:1J$7^W"*/# IZ9OUR:W$X;!'_O,7<85!81RWB5V;Q:_RXP?BS M.'#K#>,6ZMQ-&T:%^B>57R-P1E-).AP7:?N4,9S=$4D$ HP?07/<#7XL'I\N M,8O WW]*E>!*D)3_8P#DU8"\ I!GVL&5H4D#4%N4E)K\0I.BP<4)\I K7;IH M!L/Z*.@.@Y51ERVC(!S >M2SR?CU9'S[9 "=JPEP<"=75,AI?9#)I$PQ']MF M5:H,FDC\_L!QG'8L08TE,&+Y61 EB3[A!6&2^$LX(,*"@"F.&5C@)"=@3E@) M[@#P9^@5ZH@F"69<#VJ=0(ECT'1+T/7]%;>LCQK(04[C'UQQT;J$VPV"]E7I MUZO2-Z[*#6%%B269 81%T)4^^U+-^C]P_D F>4$:7Z;3>$*8(<@'M=7!?NRZ M80UH:%R&0FD=H0=5>+8E]N%:= X*9[6[ 3J:N!TC@LO6:-PZZ$:5^F9T#+MP M0W3 1CT![0LCRV!90/!88N.$+600*# Q;6/RD44A!(\$FV(((HT-&54I"E@O M;4K$JL Q&='\ />$(*!F"&BAB+(\PPM9N^%Q(@.&,C#-1CI@IH MYHKK.(O3/ 7D@;!)S&6X,Q7T=/J,$P[4+E!A)]FD%9_9"'2J8R4XSEXLG"$M7R*L5G5DC=(J-RDWP=+J'@S?M5$DSJ[1S4R08\"4C M)@0ZO\/A?FQCI#,^,F?\4NV"X*#\J9VUDOTN+ M>ZJ9"F 62F =6]@6;]]@VS.R(J M3^RPJD,ZPR-_3URF4SDR9]ER40">S&*R* ',&ZLC9I)=U N3>N>U=O-F&P-; M(D:>7]406GR_@;&1YH?D+D!>*I-BB!<%JUBM='5VA:5RFX\8H;AVSSB M:GIQS5SP;$8[P6XQ:*]G7,T^KIE]F@E,5&FM:CTXF-"LK!0-78A%OV?-PZ[F M*=?6AKPA#^LRYX5)V6V\X=J3#L;5U.6:J>L5I<^91:6U]'$UB[GF/F47#I5% MT$L=JBG-#?;$H9JV7#.3O,JA9I5]JT,U.;EF,5;J6J^EQVLMNP7+8-@L*D+]C2#>)9NPD'P70I,3_."!_LU/GV8<_A.B]_08LQ:_'J:,#PS M8;QC\1MZZR^]-FUT32B>N7]YI^(WM,"P%K^>YB//3!X[+WY#BT%[\>MINO+, M;//6XC>TZ+<7OY[F,F]W7.:MTU3@;J(I7].4;VET7O&1,:QT-K>1Z26WKQG* M-W<6[_:9,:R //L>&'3[WH89:$+SK?W,#FE?O2?,QUS2H]IWYXNU[?4[(06E=;NU=?LX=N^M;S=H2_O7GW-&/Z> M?(D)-(,$._\2$UI46KO70#-*8&84:_<:6A08N]=>X[!A2F2DJ).JJLS(,U$> MHZJ?UJ=A3XLSH"O/0W@X@BW/S^'A97G65:LOC]Y>R\",9=@E9"I-.=V^S%2L M/,U:W@@Z+XXZCJD0-"TN9P1'A*D!\O+I1AFHSQ2?_ ]02P,$% @ MW8%65#K?X)4 !0 9Q4 !D !X;"]W;W)K&UL MM5AM;Z,X$/XK5E3I6JE-L,-;JC12V_1T^V'OJNWV]K,#3H(*.&N;I/WW-P8" M-+P$]N[ZH0'CF7EFQCR/\?S Q9O<,J;0>Q3&\FZT56IW.YE(;\LB*L=\QV)X MLN8BH@INQ68B=X)1/S6*P@DQ#'L2T2 >+>;IV+-8S'FBPB!FSP+))(JH^'A@ M(3_Z>!=Q-"B]^$+%8!CQ&@JWO1O?X=DD< M;9#.^#M@!UFY1CJ5%>=O^N:+?SO\]31Z265')'GGX(_#5]F[DCI#/UC0)U3=^^(/E"5G:G\=#F?Y'AWRN M,4)>(A6/^YL;#>;+WN9XUI'-M.CE-/4W[>KEL6G7 MZ,\D6C&!^!J]I-VX[0AA%B',-(39&8+GZP)X1"KH91!OKM&*;8(XADMT"6W. M%L!54Y.S"'8:0=/2?F&[!E1_WX#+*G!9 W!M!(T5\\\!L6I L.6XS4#L H@] M A[9\(+Y'DH=@W*#38MHQF+4V!Q!F !C5BSH$=9G#H6XK;TQRV@N+^Z;ECZ M>PZ46U\TMEGV*GM;&R:UKJQ9@7PV /F>25U!P Z]W8%VP8WBZ?"Y#&9U<*9K M-H/#1DG?QO#U1ELS+WN8('+)&-WU@*L)'<\A-T_DU=/:&8=FC-V6H"5[(Z'T/MG)NL) MS*H#(^88M] ]+OD>#R'\-F;K"=*N@\3.V+1/>"Z?UW-=EG*!A^C%.:KKF9+3 MF!*>MH M!04/4913XNL)SJW5T1W;QJSZUX*SE _J0;M7Y%TEU M+*NF),\ .28Y+9+$9[,LM8S@_RO+RGILS*H[L)5GA8TB+?=L6J5(DFZ1O-]L M!-M0Q>!S3(D /N$]M*=AP@:NOSR,554A;%FS%K8GI3Z2;GWL#7#H6IK6MCRF MX9A.&^!2-TFW;O8&?&Y9F+6*$N+8;<).2OTD _3S^A1ER9(#N#./6.5.9S9N M;7ZIIZ1;3[]S!>_4*4*0_,I^Y%-1&\'9M4):,]LP3G2T89KMG,Y:-LPB1LNG M&2G%EG2+[1P7N>IY7$/A2>92-^3LUR!B3>O[U:;-Z^O5)9BW]2>4$*F)BDY[D24@LB55V'%.,%J>% M]^D9VQ&\5UZSK7B2O$H MO=PR"L74$^#YFG-UO-$!BK/5Q3]02P,$% @ W8%65)('MNEW P O@L M !D !X;"]W;W)K&ULS5;;;MLX$/V5@;# -D"C MJRW;A6T@B=-M@>W"B)'V8=$'1AI;1"A1(2F[!OKQ2U**K/BV>6B!^,$BJ7.& M,W.&U(PW7#S*#%'!CYP59$NKS$0K]9Z/NQEQ-:.-.Q79N+Z9A7BM$"YP)DE>=$;*^1\J^G L]\UHK*,;CY!AHHP)HA]KO$'&C"7MQU-CU&GW-,3N^-GZ1QN\#N:!2+SA[!M-539Q MA@ZDN"054W=\\PF;@/K&7L*9M/^P:;"^ TDE%<\;LO8@IT7])#^:1'0(07R" M$#:$<)_0.T&(&D+T6D*O(?1L9NI0;!YF1)'I6/ -"(/6ULS )M.R=?BT,+HO ME-!OJ>:IZ4+QY#'C+$4A_X3;IXJJ+5S"1T(%?"6L0N!+N-H0D4KX2Y!"80KO M9J@(9?)" _\ #V1&!,JQI[0_QJJ7-'M?UWN')_8.0OC""Y5)N"U23%\:\'0@ M;33AA,-%&K363M1:>T,7F] M-%6=P@W/]5&7Q!Z6*Z&56*$^?@H>MM#%SB<<^F9/$::79(U"WPJP,A4!*5$(2U,Q:ULQ)8JZ)MZ#-.4%O#1N2WA' M"T@Y8T3('>CB6.'4?@RM'^;J6D_#V.WWQ]ZZJ^8A:JA!?N<7O&3,#AF1&\S/%4$4:75.?V-B\9WR(VYW1>B23328&G;IP>N=#-FAYEN ML%$8@'Z_Y%P]3\P&;&ULS5==;]LV%/TKA-!B+;!$(O5E M%;:!.,ZZ BM@).WV,.R!EFB+B"2Z)&TG_WXDI4BJ+',9D >_V"1U[M6Y]U"7 MO-,CXX\B)T2"I[*HQ,S)I=Q];!@OL513OG7%CA.<&:.R M<)'G16Z):>7,IV9MQ>=3MI<%K%>[K-I5YPY],= MWI('(K_O5ES-W-9+1DM2"5ABB>=3SHZ :[3RI@HEL@J\>XVA+U.4JP?@9]W H_F^6;(^89^/L/Y1)\ MD:04_U@(!2VAP! *;)L'U"]*>X3&I*\]A<:3+D:'.0J0K[)ZZ.MQBH)^$@U0 MRQ$4A!/8HGX*)FR#":W!K A/=:;8!N14?7>M>> M]]Z2YZBE%KV6&BUW!57IMO.RN_M/7G'+*[;SXBS;IU)87$U:5Y/+V-M)2RAY ML[V=G.S'.!GN[!H3]3!A' [V]0C&B\=W-?2Z N_9 R'\0%-B$PGV3@MX&3)! MU%%";R94XZJ?X2B:#)0: 07AL 2-@/Q)*\@,8GE&NJ]#07E/O MB2"8I[D1+R,'=:'>Z?39CA3]VQU ^!8MR2V6VA7@Y%W&0*BKI(C^&8" M-J[Z!UR"AJ?7[0C*3]!0P!$42L+A*>?V.IJ2\*WI#(4BNJ]D??UO5]ON\\;T M7(/UA>I*ZQZR-TEUA/)=J9O6C.INC SS%5G M3;@&J.<;QN3+1+^@[=7G_P)02P,$% @ W8%65%PG.=:'!0 (AD !D M !X;"]W;W)K&ULS5EA;]LV$/TKA-%A+=#&(A4[ M<>$82&P'*[!T1H.N'X9]H"7:YB*)+DG%<=$?OR,E2Y8M44[6 0V"6))YC^^. MIWM'9K@1\D&M&-/H*8X2==59:;U^W^VJ8,5BJL[$FB7PS4+(F&JXE?UN3'G2&0WMLYD<#46J(YZPF40JC6,JMS@8O$)&R?]$F'^MU4) J+>+<&!C$/,D^ MZ5,>B#T#/&@P(+D!.=7 SPW\ P/?;S XSPW.3S7HY0:] P/2Y'0_-^C;V&?! MLI&>4$U'0RDV2)K1@&8N[')9:P@P3TQFW6L)WW*PTZ-[+8*'E8A")M6O:/HU MY7J+WJ'I_6R&7D^8ICQ2;] KQ!-TQZ,(DD$-NQHF-N;=()_D)IN$-$R"T9U( M]$JA:1*RL,9^XK;WV^RG+?,3!T 7(E:$C>S"=D.&I%):N+ MROA4##QHQ)BX,28L.-L1P9_O)^CUJS=K)KD(&Q&G/QSQUHUXO9: Z#4[6ED! MOTA-Z "V 7Z*)*O*8WX@K,03>-U)+:,(9O3:);*8 4U!\TBFC@F/"\F M/+<3^DUOBF'^SE2Q$(U%#*5=45LLX(?$SC.9-(+.!W 2N4+%&^4.A[?E674!EHWX(:W7D< MD6'W<3]!7",J3/L%T_Z)3&D8@?T"+5J61H M":FFZU;U\GC-#J*3K6W[N KG0<%YX.3\Q2HX"]_11R:A(T$T%E+S;]D;TIB, M4S+[7"]'S#JDM[0HZ=4$7YTTQ"H[ ?>.J#I52A]U:ESMD7(#P;H[2_4 MX5JZAE2YE\J&W=)FMA6NEZ^4&SSX.9HQ4DH*<9?RETI@"^QS-9"4@D%:!,/L M\;Z_M&TF9=TFY"=9J[)V$W?MWLD_V_D.LJ<"R=>6EP1IK-V*N4%Q8Q/P L.J M8V7A)^["OW,L.12GPM. )GM-0&H%5;0K*SFN[*2QF)&RKI/_90]#VC_7M4HG#*R>BY1"Y+L5XZA/29,0 MEB$[TG/W>3GRJ4V+7VJ-[]::']*TY',,]MAY9_Y!7%L&5?F7&N:[=PXO%?<6 MV'95[^X=[<9,+NTAO(*PI8G.CBN+I\5!_[4]WCYX?H/?C[/C^A(F^^_!'95+ MGB@4L05 >F<74#EE=B"?W6BQM@?(&ULQ5==;],P%/TK5Y$0($$3)^G'4%MI6X;@ 5%M IZ]YJ:U MYL3%=MOUWV,[7=I"/CJ&Q$L;.SG']QS;U[[CK9 /:HFHX3'GA9IX2ZU7'WQ? MS9>84]43*RS,FTS(G&K3E M?K232U(%R[H=!,/!SR@IO.G9],SD=B[7FK,"9 M!+7.%6'3V#E7(OQ(-M?$XG7F C0HYS;2FH^=O@-7)NF4PD M7C6F!1X_/[%_=.*-F'NJ\%KP'RS5RXDW\B#%C*ZYOA7;3[@7U+=\<\&5^X5M M^>TP]F"^5EKD>[")(&=%^4\?]T8< %O@#!J $1[0'0N(-X#G-5^ M*<7YD%!-IV,IMB#MUX;-/C@S'=K(9X6=]SLMS5MF<'IZI\7\82EXBE*]AIN? M:Z9W\!XNE5D(*SLS"MXDJ"GCZNW8UV9$B_/G>_:KDCUL8"0=A$)*:@*[/AP.+VYS M'[Z61K?PQ15?[/BB!KX?;IEC"G2#TFQ;H$?SN%;FA1: 2C.S81 RRB1L*%\C MB R4BT5TQM*O8NFW:KMY7)F];8;<"$XUXV9AU2V@=I+^H!<$K^KFN0,7->"2 M=EP\_!-WHGY0J1^KA?281 M@14:I=F3(,V>K)/?3D1ZA-3*;X<%O7A4*[]KM,&P3?Y%)?^B??;O9K,6&A(< MCJ_@OV<\-2QK$EXL"!\6>+KP/?+1*,@ M'#2FO@Z*N*((&K/>BZ(XM>9PV)/VT_X9*:^#J3'G_24N>3[NU(/#!87$_RKO M=3"9F/KU'G3A2%CO03LN[ 51K0?^T>T[1[EP58R"N5@7NKS85KU5I73IZH/? M^J]L!>5N]0>:LOSZ0N6"F83&,3.406]H;C&RK&C*AA8K=\>_%]I4#.YQ::I ME/8#\SX30C\U[ !573G]!5!+ P04 " #=@5941B/"$2(# 8"P &0 M 'AL+W=O*,]"&D6= M,&=%Z[Y+#5N(1SVYVR&8S0W M\Y&RL[!427B.0G,I0.%T$)R0XU/2=@9^QT^.2UT9@PME(N6=FUPF@R!R1)AA M;)P$LW\/>(99YI0LQ_U:-"A].L/J^%G]BP_>!C-A&L]D=LL3DPZ";@ )3MDB M,]=R^177 7G 6&;:_\)RO3<*(%YH(_.UL27(N2C^V>/Z("H&M+7%@*X-J.-V,HO MGRR92N#7-RL)EP9S_;L!Z+ $.O1 ATV97#N*JT!89 F,A E"):\V4S0BW;HD M%:[:WI5[L1^&I->)HG[X4$/8+@G;[T+8JR,L7'6JA%%O&V&G).R\!R&-Z@@[ MKP@[W6V 1R7@T;L DCK HU> =&N.NR5@]VU ^#YW4+KA5O=*O=['>,U(M*F8 M46.(+VJC?B,AM14P>O5VM4B;T/J3)Y523AK!;OTG")-]]H#*?E*!Y5(9_E0 MS5%QF=3R-,M26"%3&@CDKC)#!Q*V:LHMH1MBVBA],1Z-FH0VQ9A\D&I,-N68 M--?C_[\FKXMPM]5N;[DEFR),FJOP/]^29EGB;\E?7)*PTJSDJ&:^)=/V5!;" M%'U+N5JV?2=%L[/97O2,5TS-N-"0X=2:1@='%E$5;5@Q,7+N6Y^)-+:1\L/4 MMJZHW ;[?"JE>9XX!V4S//P#4$L#!!0 ( -V!5E18H0 3)P, +8+ 9 M >&PO=V]R:W-H965T"2WMW<.I#R89B+5.S-H.%.E^_(V3;&"[;.A5K;0O)'9FQM]\ M,_Z8\4[I.Y,A6OB:R\),O,S:S3O?-TF&.3<7:H,%?5DIG7-+2[WVS48C3RNG M7/IA$$1^SD7A3"TV.+,Y3212(<]TU0KSW3.1Z_/T3_4"5/R2RYP9F2?XO49A,O M]B#%%2^EO56[W[%):.#B)4J:ZA=VC6W@05(:J_+&F1#DHJB?_&M#Q)$#ZS_C M$#8.X?ZFXJ;PI&U&X,BZLIJ^"_.QT M855RERF9HC:_P?5]*>P>WL(BXQH-W*)!O<44B#+X4-I2(]P84_(B07AUA98+ M:5Z3O:GMFXXXAE]-;URHIS%1.]\?PJ@,OM>;%&JFG+2SW<&PW MY_MJ^W+'=0K_?*20<&,Q-U\Z /5:0+T*4+^K9* V#H0!NIK&$M&B6,,K(KXN MP>M3M-=AHRJLN][;:13UX[&_/2;WA%$)^B[C?C;AN"[ZE=N%+B4#R M ZNZG43;3MW@^T]PL5$<#TX#&[3 !IW KA?S>4=%HC9,]#):9-@"&OYRPH=/ M".\-XM%ION,65]R)*PS8".:2%QTYCMI8HY=!.@L.6AK\,.UK F6A+$AHH:7A M7 V:\Q[?QGYTN@CL2//9N3(,X4]5W)=06/-:&"B-1!NF31-2!6+[,.V#FUP;"[]D]I72?S_;2;/"6L27Q'>^Y[DW MW^4;I9], X#D17!I)D&#V%Z'H:D:$-2,5 O2WBR5%A2MJ%>A:370VH,$#Y,H MN@@%93(H[9JD&G"(N\I2MX 'QL MY]I*XX,?##9F[TQ<)@NEGISPK9X$D0L(.%3H M&*C]/<,,.'=$-HP_/6:RH 9FBO]D-3:3X'- :EC2-<=[ MM?D*?3YCQU;=-GTK7] ;6]91:'Q:UH MN=H"D"E(6#(D/FC'PBCP\E.3TY(R>$27+'.+?M,GF(UKFC"*O> MT;1SE!QQ%"?D3DEL#+F5-=2O"4(;]1!ZL@M]FKS+6$(U(FE\3I(HB0\$-/LX M/#H +S\,CZ_>R28=&I%ZOO0(WST@TV '"G>M,.37S<*@MJ/Q^QT'V> @\PZR M(PYF2K14;NWCP:IA+_C_-LGH\K5->.=@# "Q#@ &0 'AL+W=O MB(,SM*]:QC M2@WZFG"AYTYLS/Z#Z^HPI@G1-W)/!3S92I40 U.U<_5>41)E3@EW?<\;N0EA MPEG,LK5[M9C)U' FZ+U".DT2HEYN*9?'N8.=UX4'MHN-77 7LSW9T34U3_M[ M!3.W1(E80H5F4B!%MW-GB3^L?,\Z9!:_,WK4M3&R6]E(^6PGGZ*YXUE&E-/0 M6 @"?P>ZHIQ;).#QI0!URIC6L3Y^1?\IVSQL9D,T74G^!XM,/'W8=U"8:B.3PAD8)$SD_^1KD8B: QZ=XQKH^ I S^S6(9A MFJ2<&!JAWTQ,%5K)! HBMB=UH.A7J35Z?T<-85Q?H6OTM+Y#[]]=H7>("?08 MRU03$>F9:X",A73#(O!M'M@_$QC[Z+,4)M;HHXAHU 1P81?E5OS7K=SZO8AW M-+Q! _PC\CT?=Q!:O=W=ZZ$S*#,[R/ &9_ ^B1#>*TUM]O+1E4W9VLCP.98\ MHDK_@#Y^29EY07\^2,X1U.61J.BOGN##,O@P"SX\$_R6<")"BHA!&[IC0C"Q M0W*+]E0Q&76=5HX79'CVW3\L_(DW\(.9>ZCGL&V&@Z'G3TJS!MV@I!OTTLTK M+VQ4'A,PA^QQJ,"K+L8YY*A&Y1K[TQ.^;:/1:-!-=E22';TUMU1$_5D=M<(' MH\FPEJZ<9=OL)/D-HN.2Z+B7Z*,TA/<4TZ3$F7S_2IZ6P:<7KN1I1UU,\4G& M.XPFP; [W]BKQ-2[6&D44 T* ZL\#9Y=5O7=-(G65!_W$GT2<(Z<_0.J_S-\ MZS4"$<^TGFH$']?E >2>;#B]AHO"]9IPBCX3]0Q? 5A#:QJFBAE&=<_Y8K_B MXG__\L*53./!A0NL *R?2>O8^DR:1"M)Q_V:_DTB66 VZV=\JI(=5N?H5I*. M^S7]/[T+75K>9MFV.L>RTG+<+^902G#3$VB5*D5%^((>%1$:[D/VCKF,_H8; M&%Q:36^E5WJ,Q_]#I57KO3)6[2TR^J\F%;"C_N5_]OJO2WL0>OE;-N< MO13XE?;[E]/^ BIHY'5XFM=.JY;VN[7+?T+5+NN)-.0M%2:_/)>K9=^US+J- MD_5;Z,?R[JF"R9LYT/Z=_4APN@5([V8,E%3>'^43(_=9B[&1!AJ6;!A#3TF5 M-8#G6RG-Z\0&*+O4Q;]02P,$% @ W8%65-.:TANM @ 2@< !D !X M;"]W;W)K&ULC57);MLP$/T50L@A 9IHEYS -A!' M+1J@ 8PL[:'H@9;&%A&)=$EZZ=]W2,FJ]^9B<7EOYCV..>ROA'Q7)8 FZ[KB M:N"46L_O7%?E)=14W8@Y<-R9"EE3C5,Y<]5< BTLJ:[

5?A:KK]#ZB4V\ M7%3*_I)5B_4,7%Y'FK9)1HR0XH<0/R)/@NE3D,R^@V W@HJW.6[#Q-@K.1LP@OR&A_XD$ M7N ?$?3P<;IWA)Y]F.[?GG$3=I4*;;SPOY4B&5-Y)=0"B_3S?J*TQ-OSZTR* MJ$L1V131*PXPMT_22Y3#UTC3IN\OM$SU$A6&:IKNH[!!U[:>W M8=S!=M3'G?KXK'KL WC+^3'Q#3'92NCWTMZ>]D-0[.TK/Q(H\L+CNI-.=W)6 M=UO82ZPH7JCV\K%F49OK=LQ1GNH[!!U[2=Q&.S9Z M3 UR9KNU(KE8<-UQ#N;1_<6Q_A0]'T]7]AFE?FBTPQ(?.Y &@/M3(?1F8A)TS^?P+U!+ P04 " #= M@594$=KP(D8# #Q"@ &0 'AL+W=O49ASI'8%@7A?Z>0L]W8PM9A MX#%;K64Y8$]&&[*")Y OFSE7/;N)DF8%4)$QBC@LQ]8MOHFQ)FC$CPQVXJB- M2BL+QE[+SGTZMIQ2$>20R#($47]O,(,\+R,I'7_JH%:3LR0>MP_1OVGSRLR" M")BQ_&>6RO78BBR4PI)L<_G(=M^A-A24\1*6"_V+=C76L5"R%9(5-5DI*#): M_9-]O1!'!!R>(;@UP34)_AF"5Q.\CQ+\FN#KE:FLZ'6(B223$6<[Q$NTBE8V M]&)JMK*?T7+?GR17LYGBR9$=-"(#GI%JZNO+C;MDET1PZ-LOF>J M;F,"9V"H;F,B+^A6'3:JPU[5LRWGZHJI.Z-W59)]EX&PE=AS@]!PT 8-AJ[A MH(W!V(^Z+0P:"X/^A8<4.,F[= ]:Z;[B8. %QG&8M7&.(;P/<:(Z:E1'GSOC M48=F''K8D-R&F9+[$">2AXWDX6=/^+"5RSP=;81Q ^(V OO=@K'S_J(XO9)C M6((ZX.GQ\W&W5X6* '0Y!0K+3%YUOA%.QS:$T3 R5GG6 32-=4#..CMZ*W&O ML_OFPB(X&%KT&<*M3YXR% Q;8Z0.J0NH8I^Z@6*("O=$TE4,*V M5%;/9S/:U&VWNEHQQJ=E/:=KC/N!DL2K^JKJ2+;1 M%<>"256_Z.9:U:3 2X":7S(F#YTR05/E3OX!4$L#!!0 ( -V!5E2B,&S? M\0, !H0 9 >&PO=V]R:W-H965T7LGH?!"+=0T&$SRHHU9MA[GMC0 MW5[JB6"UJ,@.[D!^KFZY&@4=2T8+* 5E)>*P77I7^'V")QI@5GRA:Z9E![?6E*ODZF!I^_/[!^,\R)@ MS?)_:";W2V_NH0RVI,[EAAW^A-8@HV#* MY*EUQ D ]P&B%A#]"(A[ .,6,'XM(&X!L?%,8XKQ0T(D62TX.R"N5RLV_6*< M:=#*?%KJN-])KKY2A9.KFS)E!:!/Y D$ND#'(=H0"6@#*2M3FE-BHC1*0!*: MBW>+0"KAFB)(6T'7C:"H1Q".T$=6RKU ?Y099.<$@=*Z4SUZ5OTZY,]?R#NS?M99/W,R M;=Z2HOH]T5%'*8>,2JOY;A+LQ\Y0S#MEYK] F;6;9!1;?-,XU0VB1U4RZ27+45I$RM-<8 RR@*Y_V; M8 ;S_M/PP 43P<]<:RWL+MP^4OU;>U=6^Z0*ND$@J>*\O[\T/#AIEK7/=OC MZD(5#6-5WSZ>.<"R4)V967R^+FG734^7=4O.K3H64=A=C7QBDN16[0?*IBCJ M#^Q#DZ:I@+XSC2?0J7PNI1-$]+-=@WNE6GK?IB_UHVO M:<:.-$W7_)'P'2T%RF&K*$-_II3E32/:#"2K3&MVSZ1J],SK7C7OP/4"]7W+ MF'P>: '=WP&K_P!02P,$% @ W8%65#%G;E2& P ;@L !D !X;"]W M;W)K&ULC99M;^(X$(#_BA7MAU9:FM@A(:D J0NZ MNTKW4FWWY;,) UAU;,XVT+U??W:2!DJ<[$J(Q,Z\/![;,S,]2?6B=P &O99< MZ%FP,V9_'X:ZV$%)]9W<@[!?-E*5U-BAVH9ZKX"N*Z62AR2*TK"D3 3S:37W MI.93>3"<"7A22!_*DJH?GX#+TRS P=O$9[;=&3<1SJ=[NH5G,%_W3\J.PM;* MFI4@-),"*=C,@@=\O\!CIU!)?&-PTA?OR"UE)>6+&SRN9T'DB(!#89P):A]' M6 #GSI+E^++E^YOUWZK%V\6LJ(:%Y-_9VNQF01:@-6SH@9O/\O0' M- M*G+U"9>JMA4VG8U3+AM?#;*?F56S\P?12%+0%_H*V@T M0@M9[J4 8322&[2$#2@%:_<9/6@-=IJ*-?J3T17CS#"K<[,$0QG7MU;[Z_,2 MW7RX11\0$^C+3AZTE=;3T%A0YRXL&JA/-13I@5I"<8=B_!&1B&"/^N+7U:/W MZJ$-3QLCTL:(5/;B7GM-&(P- ZW#<,//,;B]'W 2MT[BRLFXQ\G?]LK:RZFH M86*+N-0:%52I'_:FGJCR1[&VF%06W7T]SC.23L@T/%X&JRN%\3B?Q*W8.]YQ MRSL>Y'5'HK!!8>;GG+6E]((@(4F<77%VI<9Y/LG\F$F+F0QB+L%FMX+1.F?8 MLTM+J0S[KYKPL28=BA%.,+YB[4JE&?:3IBUI.DCZ4!3J0'E]PQ1H4$?P1C/M M^,91'%WOND]JDO1L^J1EG/PDFLU-4' $<0 ?WJ3K&,?)=0"[4CG!N9\N:^FR M0;IG(XN7D4OJ:V2SFJUTNG>;,\]A(]>0'J&,]&QSWD+F@Y"/PE"Q92L.32KQ MT>4=Q_$DS:^WN"LU2M*>^X*CJ1R_(L[CF%^%PN,!FD_4;YH4DXW+9)5!3> MB])8>1;TR#G0I"^LYY*#AVN.I[!Y03T5),WRE/3X/Y<0/%Q#7,U[ MMZD71=5;]L<=D%$G:807S9#K1/^B:LN$1APV5BNZFUAU53=W]<#(?=4?K:2Q MW5;UNK,-,2@G8+]OI#1O ]=RM2WV_']02P,$% @ W8%65-SH%]S8 @ M&P@ !D !X;"]W;W)K&ULK9;?3]LP$,?_%2OB M :1!?J<%M97Z8]-X0$(%MH=I#VYR;2P<.[,=6O;7SW;2K)2D0MI>FMB^^][G M+K:OHRT7SS('4&A74";'3JY4>>.Z,LVAP/**E\#TRIJ+ BL]%!M7E@)P9IT* MZ@:>E[@%)LR9C.S*4H87 OD*R* HO7&5"^'3N^LY]8DDVNS(0[&95X M P^@GLI[H4=NJY*1 I@DG"$!Z[$S]6_F0V-O#;X1V,J#=V0R67'^; :WV=CQ M#!!02)51P/KQ G.@U AIC%^-IM.&-(Z'[WOU+S9WG(=2'2)GIB E&\8^0V9F40S8+ F2J*IJ3=1K^A\ 0H3*B^,^<,"G9]= MH#-$&'K,>24QR^3(59K,Z+MI0S&K*8(>"C] =YRI7*+/+(/LK8"K4VKS"O9Y MS8*3B@M(KU#H?T*!%_@=0/./NWLG<,*VS*'5"WOT^NOZ8\DI17I+;K'(?IX( M%;6A(ALJZ@DUPQ2S%!!6: 4;PAAA&\37Z!6PZ/HRM5ILUPG(_?E ML%P=5D&01*W5&]2X18U/HBXAJ^K3K*\CI'192BZ)F9#ZAJ!8Z6(ICDI!]'(? M?QTB.2"[]*-@<,3?996$W?A)BY^T]?+]QX^OKX(BQP^K- M(:@AW8-[M@"QL>U'HI173-574SO;=KBIO=B/YF>Z\]6-ZJ],W3;OL-!G5B(* M:RWI70TTDZA;43U0O+2W^8HKW1OL:ZZ[-PACH-?7G*O]P 1H_P],_@!02P,$ M% @ W8%65#Y64@BV P X T !D !X;"]W;W)K&ULK5==C]HX%/TK5M2'5MJ2V/D@5( T,[3J2%MU-'2Z#]4^>)(+6$UL M:IN![J]?YX,D3(([K7B!V+GW^-QCY]B>[H7\KC8 &AWRC*N9L]%Z^\YU5;*! MG*J1V (W;U9"YE2;IER[:BN!IF52GKG$\R(WIXP[\VG9=R?G4['3&>-P)Y': MY3F5/Z\A$_N9@YUCQSU;;W31XB'[9TT+;=!25D.7#'!D835S+G" M[Q:D3"@COC+8J\XS*DIY%.)[T;A-9XY7,((,$EU 4//W!#>09062X?&C!G6: M,8O$[O,1_4-9O"GFD2JX$=D_+-6;F1,[*(45W67Z7NP_0EU06. E(E/E+]I7 ML6'HH&2GM,CK9,,@9[SZIX=:B$X"CLXDD#J!/$\(SB3X=8+_TH2@3@A*9:I2 M2AT65-/Y5(H]DD6T02L>2C'+;%,^X\6\+[4T;YG)T_-;GH@HB]P MT#N:H=<+T)1EZHWI>U@NT.M7;Z:N-N,566Y28U]7V.0,-B;HD^!ZH]![GD)Z M"N :H@U;(1/$#HYN7IWD#ZXL7I>&*IQF^T]TL\_R7: M?_O;O$6W&G+UKP4[:+"#$CNP8VMZ0(_ 8<7TT/Q5&&&)43C$TQQ'X9@$GF?D M>>H*VX]\&WM>+VXQ$(=Q1+J!)_6$33VAM9ZO--O1RBDRXU64)S!44 42=88G M$^)'_7KZ@3B>Q&%\EFC4$(VL1.]! 97)!E&>&@-Z,LZZ-3ZI42(A95H-L8YZ M9$(2^G&?=3\PF$S&YTF/&])C*^D'+B$1:\[^@[2[9@;9COL:AY,)Z;,=]]8" M\4/YIIR51[.G_5?F^M+ M==EH8:J[SR&ULK99=;^,H%(;_"K)ZT9&:^/NK2B)-XEGM M2#NK:+J=N:8VB=%@R )N9O[] G9[Y9L5H23-&> U%7%>2_MHBP\]IRK4O'5WPLI>ZP-ZL3/*(')!]/>ZY:=N>E MP!6B C,*.#JLK8_N?>8: Z/XAM%9]+Z!1GEB[(=N?"[6EJ-7A C*I78!U=\S MVB%"M">UCG];IU8WIS;L?U^\_V'@%5B QX<,W-Y\ #? !J*18@H>*9;BKM?Q3\EJH=RJSINK]LJ6BDVO MT,Y;CFW#X;W"X7K@"Z.R%. 3+5!Q[DBXUTBL_5F/68H7P+?O0.>X[D3 M"]J]W]R9,,_>;>ZF,S1^M\^^\>>_ML]UA3B4C-_/. LZ9X%Q%LPD#6Z3ANBD MF=JOQD5H7.C;YWGC^8D?)RO[N1_%LK<1;-A^6XN&50LX+.*]1&!O#E&;<(O] 6ESM$MOG1-QJV9(^JA M1KX7QX.PC55AZL3#L$VH@C3UIZ,6=YCQ+.:GPT%=VH =0*%O W5M@Q.3B$H, MR0#Y#=1XM+P@C-,!Z5CDI=X0="QRIB&3#C+YO;TLVIOP#<1DO)MQ$D8#Q@F5 MFZ:#HY*-53.[F7:@Z2QH<[?3X8D&)_4,])D-:,$(@5R80=,[R=Q,F/2/]'*4 MP&.1LPP'HFPL6CA+WYLF=IV7-\^99;Z\8O\K=3OG-7;H#K G5(I[F,X3JCGP MWF/OSH+O+^>4_'HYO$WVWH'S,.7?2.UVKGX^NJK:' */57'H#WG'HBARX@&N MW2MSU&MV-.6B4/M54]F\ZUUO5Y)^-(78H'^K2U53/KVX:>K<+Y ?,16 H(-R MZ2QC]8#PIG1L&I*=3#'UQ*0JS_)T# #V#0 &0 'AL+W=O5OO@@A.L 3MK M.TWGWZ\-!!(@J,I+7@(VYUS.O2=11 +DK M"BQ^W9*<[V\L:!TFGN@F4V;"GDVW>$-61#UO'X4>V4V4E!:$26XB:1W_U4&M MYIV&>'Q_B/YGF;Q.Y@5+LN#Y#YJJ[,:*+)"2-=[EZHGO_R)U0KZ)E_!G9CS/NX) K37'[2P.?5$GS\\ E\ M )2!OS.^DYBE5,'1&&$3@0N(HA>RNB7Q)- M]WF=!6'LQM[4?CTN>A_F>Q"Y\2ELV8=YR'-=IX&=R/<;^?ZH_&=&E:[-2F%% MY$@Y@B9><$53PD9%>*DI%3$XKG;@QT'7E#[,"]TP[)K2A[F!'SIPV)2HD1^- MRK_;";VLC=0A;@+%5W0#.FV+=2[UHV:>5-J/NH5>#, 0BI'?\6, !J%WY.YI M D=K!!Q-8*ZK11,L 7E+\EU*V08\3U:3L>*@-C:ZIDEM.X7NQ2:Y R:%L&=2 M'X;"R$%=DP9@7H3.?#2P[<1PO!4_T#3-";C#4H'?<+'] \S7QK6QZK1]$OK7 M=*GMKS"XV*6@_^>/'1AU71J >4[8^Y0&8%$ PS,NM:T9CO?FN:08/.*$KFDR M5I&V6<+HFLZTO1;&%SL3]Q9O%,'NFC.$"ORHZTL?Y8:H:XM]M"'61=B4!PL) M$KYCJMHP-K/-X65>;MD[\[?F4%-NM-LPU8GH 8L-91+D9*U#.I-02Q+5(:,: M*+XMM]TO7&DGRMM,'\R(, #]?,VY.@S,"YJCWNQ_4$L#!!0 ( -V!5E1- M6+H:Q0( $() 9 >&PO=V]R:W-H965T=UW(PR[@S[]MI$#OMBC2GC,)%$K;.,RI<;2,5VX/C.[L*4 MK1(T%]QA/Z:83U\YW[-]N\;F9.%8Q$ M^H?%F R/%D3Z7 M(&H"O_6.("@%P4<%82D(;:-%,MO6F"(=]J78$FFJM9LYL6RL6G?#N)G&&4I] MEVD=#J>P ;X&LI0B(R/!46JP2H? A(SLXT$JL 69PLI,S>D8D+)4G6G=PVQ,3D_.R EAG/Q*Q%II ]5W46Y5/[PNY1U6*Z#.Y1V^)]EJ'V-\615'O.'3?>UU3UN&"7.!FH\]3?1'#DA3H.\OA<#=P&RCU6?3\#]02P,$% @ W8%65+J] M@B [ @ )04 !D !X;"]W;W)K&ULG51=;YLP M%/TK%NI#*W4AD&19*X*4CTW;0Z0H4;>':0\.7,"JL9EM0MM?OVM#6*HVD;87 M[/MUSKD7VU$CU:,N QY*KG0,Z\PIKKW?9T44%(]D!4(C&12E=2@J7)?5PIH MZHI*[H?#X4>_I$QX<>1\&Q5'LC:<"=@HHNNRI.IY 5PV,R_PCHXMRPMC'7X< M532''9B':J/0\GN4E)4@-)."*,AFWCRX7TQLODOXSJ#1)WMB.]E+^6B-;^G, M&UI!P"$Q%H'B,$)I)K]R5-FSN]\TA2:R/+KA@5E$RT*WWJYG!2$ 9G"L*N M('2Z6R*GP%4I(<^1*<_BW) ME=3OSKI%O'.(]CH>XNE@'/F'=V1,>AF3_Y5!2ZD,>Z'V>KVG9O)&3?!&C7]R M='&$N;N@&@EJ8=I3W'O[-V#>'OV_Z>T#LJ8J9T(3#AF6#@=3Y%?MI6P-(RMW M$?;2X/]RVP+?,5 V >.9E.9H6(+^98S_ %!+ P04 " #=@594<3<7=(\" M #-!@ &0 'AL+W=OMKVS 0P/^5 MPW300AH_\MI*8FB3C156%I)U^U#Z0;'/B:AL>9+RZ'^_D^R8%))L@T*(I=,] M?G%'GDK8\H;W]?)"G.FV[+$@DXRJ7)F:*N6OBX5LM09 MY<*/@J#OYXP77CQTLJF*AW)M!"]PJD"O\YRIUSL42XJT".CE!P[C05W !O( '+@2)]= W MQ&8C^$G-<5=Q1"?,JL22]JTHN&3 MBV!?JDT<1KUV9^AOCH!U&[#N6;"Z$BV8H7U7>;$\T=,6?-ZS_N"YU9,9S!TO M2RJ%N6'* -TWI.+MN'Z^L6V+KH.0?F>*V&M8>__2M7=@A:=OY!ON#>;Z7'O[ M#5G_+U7< Y5'&]VR\@0+0P/M6&O/>^]TVT'PX0SFH,$8S\? M,H179.H8NW\PG>R@?V!JR0E&8$:>@O: +H.JAF>U,;)T VLA#;VA;KFB[PTJ MJT#GF91FO[$SL/F"Q7\ 4$L#!!0 ( -V!5E3JT*!?P0, &L- 9 M>&PO=V]R:W-H965TM[ MWL0M"&7.8F;OW8O%C.]53AG<"R3W14'$\QWD_#AWL'.Z\4"SK3(WW,5L1S)X M!/5U=R_TRJU94EH DY0S)& S=V[QAR6.C(%%_$;A*%O7R(2RYOR;67Q*YXYG M%$$.B3(41/\<8 EY;IBTCK\J4J?V:0S;UR?VGVWP.I@UD;#D^>\T5=NY$SDH MA0W9Y^J!'W^!*J"QX4MX+NU_=*RPGH.2O52\J(RU@H*R\I<\58EH&6B>?@._ M,O"[!N$5@Z R"&R@I3(;UHHHLI@)?D3"H#6;N;"YL=8Z&LI,&1^5T$^IME.+ M!S@ VP/:"%Z@)6=*Z,1*+4)MT=*Z!R'1^_H1NI42-("P%'VF9$USJBA(]'8% MBM!U7'6P?JG8._\0<(5)#S[NT;/\[^;>@)R@SGU@^8)K?%22 M+!.0$=O1?(-.U?CCLX:B3PH*^>> H[!V%%I'X15'=?%L69.JK"-$3"W[ZE+2 MC2V=&02'!9YZ.N1#.UF7(#]H@CA#C2D>1 M\(S1O[N=7JJ>7";[6JZGM<+IH,(5;$ (FS_;=2.M4J_[LU923=K^I^$TZK3$ M)0K'.(K[=4:USNB%.G/.LO<*1-&G-+I4ZGMXTE%ZB<)Q[(7]2N-::?PBI7WR MX@O'8:S_.O(N44'LQ4&_/.PUP][[KJ;,JTG^/#I)_Y=VK/RN]6!77>;^.HVZ_]L!P.!GC M*PEO=@8\O#6\\.6JV,X:$P?3KMA+%(ZF5\8 ;O8&/#R;/SXI," MAZK5S&D\^<&-T0Q<_(H3%U\.TS"*_6ZJ>U#C(+J2ZF;DXE>=N17;V8$A:E>\ M$ML'\_QQ1ZW;.L[J\9394[Y$"=\S59YLZ[OUE\2M/3^[#;S\#/E"1$:91#EL MM*EW,]6^17FR+Q>*[^SA>,V5GH7V&ULM57;;MLP#/T5PL" #>CB2R[-BB1 DVY8@18KTET>ACTH-AT+L25/ MDIL.Z,>/DATOZ1)O+WV))9'G\)",J,E6JHW.$ T\%KG04R\SIKSP?1UG6##= MDR4*LJ12%;.+.[M1L(BN3S9?R3M'.;UD27J#07 I0F$Z]R_!B,;;^ MSN$KQZW>6X/-9"7EQFZNDZD76$&88VPL Z// RXPSRT1R?C9<'IM2 O<7^_8 M/[C<*9<5T[B0^3>>F&SJC3U(,&55;I9R^Q&;?(:6+Y:Y=K^P;7P##^)*&UDT M8%)0<%%_V6-3ASU .#H!B!I ]!PP. 'H-X"^2[16YM*Z8H;-)DIN05EO8K,+ M5QN'IFRXL%V\-XJLG'!FML0'%!5"JF0!"RF,HL)J$F$R6+CPJ#2\M:88K=45 M?\GU!EY?H6$\UV^LN7$]XC?Q#>FTT?RXT32O-44G-(41W)*23,-[D6!R2.!3 M@FV6T2[+>=3)>(5Q#_KA&41!%!P1M/AO>/BN0TZ_+7K?\0U.\-U4= _@,\:9 MD+E<<]1G<"THQA,<[<=A.V".(L[HSFTZI Q:*0,GI7]"RI&^?K\A'[@V6.@? M'1&&;81A9[*'$60*L<*$&U 4ZPQ*5-9* ^/8_Z2;.0Q[0?#J6#O_@1O^C3M( M;=2F-NHD^D1U:KOR!)=Q+"M!MV>),?('MLJQ(\AY&^3\A3HT;B.,7ZQ#WDGOE_:.H7Z):I-1<:K&:QS8 H7!-@KMAWTK2BPG EGR9*5+^NNGLQSGI;J0]<.6SB&U M=(_ON4=WYTID6)N58'=SQDRP+(6L,S(WIOH8AO5TSDI:7ZB*28L42I?4V*F> MA76E&M]^W@#O2.@EO3R"]*+7PXD!Q,B3X\@/ M<6/45T=1'V#&B >[Q-L)V%MPV)9M-"R4W%0O)LY@V6G)@DL9".1" M= +[Q!E&PXH:P[2\L9/FX<;X# K:\?VJL@IGFJZB_B79.#0W&V2B=,YT%R8B M:]-H*%@!%N5!4":(PJ[2#G=*8D;32L/=J!I9TR(>[@=?M1[' OBZVZ M]:!JLAM:0>W0T;@)\&^S.>YMVOZ+>(.*/RKS>6&7(YLY-!J[U:S@RV:^+#H! M&'N$L].J$JM/@L]DR=SBCPXX&M*U7S!7FC_9:- J4VM@F@2/3!L^W;;\TK2Z M9TNS;J=E@6ONOT+-?S?/,R:9IF);M.W]4\[RBQ6W^]._T-S\6]E7[!497YV^ MQG9//G61R6L0^0K*':>GK[$]%9V_E7FJ9QG"181L=C MKX(QEK MDCA.4S\"F%]!'&,(O(TX@BD #1@2Q\T^N+M]*MS\!C;Z#5!+ P04 M" #=@594EXJ[', 3 @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_Q="> M, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C] M$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA< MUYVE/=LO3T%O@*\Z3'%":4A+,P[PS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A M(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X M4$L#!!0 ( -V!5E2@D[>O=P4 *$P / >&PO=V]R:V)O;VLN>&UL MQ9M=3^,X%$#_BM679:1EV^:K#*)(4(;=2LQ049;7E4E<:N'87=LI,+]^G'0[ M<\,T5_MR)T]MG)">W-@^OK8Y>S'V^=&89_9:*NVF@[7WF]/AT.5K47+WA]D( M'@V5O#"K87PI1I&HU$V++G4@_.S_;T6=@@/C!>YET:'PKK@ M08H7]^-\?JV5N MC5+3P7AWXD%8+_.?BI6#&K_3QC-:B5S<67RJA3: M[^)HA:H!M5O+C1LPS4LQ'<(/S(O=L_D !2)E3V4X8>=%@T>'++BYZAA2AF3.Z4LI2^_5[?0IGT8 0B=2]&"Q+0R)O9*W>4]KXTJA'6_ M-2W$OT$VS"9C8IU\*C?*O G!+H46J_".%Z$:0CC,(F-BC5SDX9)*-1WTK5\+ MVRC.BK70+HP"(2;FD3&Q2.8Z-Z5@]_RU7>F#JI037>>NGH;!FQ M>3HUOE,EQ,3,$Q.;Y[#&CUGH[$VE/<3$W!,3NZ<34RGSTDK)8LP],;%[NC#G M.O2GWD!,S$(QL86Z,!P MI2>8A9(^IM!V+=U6HH"8F(428@LA=;.H M0TS,0@GYT@V"V1J])YB%$F(+X9AP()=@%DJHEV]03#AZ3S +)<06.CB%<-PL M*#ZSVQ5<^<0LE!);J /SOR]SB(E9*"6V$![-UCHR9J&4V$(=F/O< V)B%DI[ M6.+91_/X$FX=2#$+I7W,PH6ZN5PLZK0-8J*[!X@MU(%YX5Q5ANP=8F(62HDM MU('YM[8B-T\P94LQ"Z7$%NJJFVMN@]/O("9FH9380@=7(O>3":WYS12S4$IL M(7R.&#H]PRR4$5NH-4<<1L3&.?8HPJU$G6=L(29FH8S80N\PZU :O=^%,X=- M*,,LE!%;Z!WFCT-V%X@8Q,0LE!%;"(UFJWO/, MEQ!9ZA[GO+^L]I'4AQ,0L ME!%;Z!WFO7CU%5??>R2(B>YB([80ON#2ZI P"V7$%L(77%J8F(6R7M>%8"Z4 M81;*B"V$8\*5C EFH0FQA7#,#&)B%IH06PC'G$!,S$(38@OAF"<0$[/0I+'0 ML+G8G9\58;"E1?$E_(0+Y3E7^<*R^F.WNR])ZZTWJTJI62B[U3>&%_L=]OO_ M#CC_!E!+ P04 " #=@594M\<#,$(" !"*P &@ 'AL+U]R96QS+W=O M24'XIM M$-!*LONVG(%]4 ]Z$G%&J$!<_@'ZA(#'EW)HQGU[&G;[;EA\'@^G857MQK'[ M5=?#>E>.S7#7=N5T/K)I^V,SGI?]MNZ:]7NS+;4LEU'WMS.JI\?;F8O7KZ[\ MS\1VL]FOR^]V_>=83N,_!M@WD*@MZ#>0J"W3!ZV"?06U%L(]!;46PCT%M1;"/06 MU%L(]!;46PCT%M1;"/06U%L(]%;46PGT5M1;"?16U%L)]-;)RQ("O17U5@*] M%?56 KT5]58"O17U5@*]%?56 KT5]58"O0WU-@*]#?4V KT-]38"O0WU-@*] M;?*RFT!O0[V-0&]#O8U ;T.]C4!O0[V-0&]#O8U ;T>]G4!O1[V=0&]'O9U M;T>]G4!O1[V=0&^??*PDT-M1;R?0VU%O)]#;46\GT-M1;R?0.U#O(- [4.\@ MT#M0[R#0.U#O(- [4.\@T#M0[R#0.R8_FQ#H':AW$.@=J'<0Z!VH=Q#HG5'O M3*!W1KTS@=X9]F?4._^DWL/X=2C#M>=[C=?_2:K'\[GE>OG+\GOGY%:Y MX%S?5@Q/?P%02P,$% @ W8%65/C# AT& @ 3RH !, !;0V]N=&5N M=%]4>7!E&ULS=K-;N(P% 7@5T'95L3X-],1L)F9;8=%7\!-+B4BB2W; M;>'MQPEMI58=-!4C]6R(P/8]-[[2MV)Y>_049X>^&^*JV*7DOS,6ZQWU-I;. MTY!7MB[T-N6OX9YY6^_M/3&Q6!A6NR'1D.9IK%&LES]I:Q^Z-/MUR#_'U@VK M(E 7B]F/T\8Q:U58[[NVMBFOL\>A>9Q0X=B^G842S/E_B@1[?=MC4UKG[H\Y$R^D"VB3NB MU'?EJ>C5^>24;YA.G_SB_*G,N<"\&UL M4$L! A0#% @ W8%65$4=X6E5!@ ?1D !@ ("!#0@ M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W8%6 M5&+A'MW/ @ NPD !@ ("!-A< 'AL+W=O&PO=V]R:W-H M965T&UL4$L! A0#% @ W8%65,*$X,?1!P -B$ !@ M ("!&B@ 'AL+W=O&PO=V]R:W-H965T&UL M4$L! A0#% @ W8%65'#)/W86!0 >PP !D ("!:50 M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MW8%65):+P? %"P 6!X !D ("!Q&@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W8%65&(DRWM5" 6A0 !D M ("!$9\ 'AL+W=O #[8 &0 @(&=IP >&PO=V]R:W-H M965T@]$P, !4' 9 M " @=O% !X;"]W;W)K&UL4$L! M A0#% @ W8%65'E35LLP P ^P8 !D ("!)&PO=V]R:W-H965T&UL4$L! A0#% @ W8%6 M5&;M&!4@!P A1, !D ("!U=< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W8%65&R]_X!+ P (P< M !D ("!D>@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W8%65-F@AB;@ @ SPH !D M ("!=_( 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ W8%65'AU5QKS!0 B2X !D ("!I/T 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ W8%65(LN MPHT] @ GP4 !D ("!50H! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W8%65('R4$'# @ [ @ !D M ("!G10! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ W8%65/)X6D3F! U!@ !D ("! M_AX! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ W8%65.C'2\>< @ +@< !D ("!NBD! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W8%65/JDEO$H M! < \ !D ("!(3(! 'AL+W=O&PO=V]R:W-H965T@< %\L 9 " @0$[ 0!X;"]W;W)K&UL4$L! A0#% @ W8%65#K?X)4 !0 9Q4 !D M ("!LD(! 'AL+W=OVZ7<# "^"P &0 @('I1P$ >&PO=V]R M:W-H965T&UL M4$L! A0#% @ W8%65%PG.=:'!0 (AD !D ("!HD\! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MW8%65%BA !,G P M@L !D ("!2UP! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ W8%65#%G;E2& P ;@L !D M ("!U7 ! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ W8%65/ DV567 P S L !D ("!CGL! 'AL M+W=O_)T# M #V#0 &0 @(%&PO=V]R:W-H965T&UL4$L! A0#% @ W8%6 M5+J]@B [ @ )04 !D ("!+(8! 'AL+W=OB $ >&PO=V]R:W-H965T&UL4$L! A0#% @ W8%65"HIK B6 @ 9@< M !D ("!7(\! 'AL+W=O&POO M=P4 *$P / " 6B6 0!X;"]W;W)K8F]O:RYX;6Q02P$" M% ,4 " #=@594M\<#,$(" !"*P &@ @ $,G $ >&PO M7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " #=@594^,,"'08" M !/*@ $P @ &&G@$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+ 4!08 40!1 "X6 "]H $ ! end XML 88 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 89 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 90 FilingSummary.xml IDEA: XBRL DOCUMENT 3.22.0.1 html 262 471 1 false 85 0 false 5 false false R1.htm 0001001 - Document - Cover Sheet http://www.calix.com/role/Cover Cover Cover 1 false false R2.htm 0002002 - Document - Audit Information Sheet http://www.calix.com/role/AuditInformation Audit Information Notes 2 false false R3.htm 1001003 - Statement - Consolidated Balance Sheets Sheet http://www.calix.com/role/ConsolidatedBalanceSheets Consolidated Balance Sheets Uncategorized 3 false false R4.htm 1002004 - Statement - Consolidated Balance Sheets (Parenthetical) Sheet http://www.calix.com/role/ConsolidatedBalanceSheetsParenthetical Consolidated Balance Sheets (Parenthetical) Cover 4 false false R5.htm 1003005 - Statement - Consolidated Statements of Comprehensive Income (Loss) Sheet http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss Consolidated Statements of Comprehensive Income (Loss) Statements 5 false false R6.htm 1004006 - Statement - Consolidated Statements of Stockholders' Equity Sheet http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity Consolidated Statements of Stockholders' Equity Statements 6 false false R7.htm 1005007 - Statement - Consolidated Statements of Cash Flows Sheet http://www.calix.com/role/ConsolidatedStatementsofCashFlows Consolidated Statements of Cash Flows Statements 7 false false R8.htm 2101101 - Disclosure - Description of Business and Significant Accounting Policies Sheet http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPolicies Description of Business and Significant Accounting Policies Notes 8 false false R9.htm 2106102 - Disclosure - Cash, Cash Equivalents and Marketable Securities Sheet http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities Cash, Cash Equivalents and Marketable Securities Notes 9 false false R10.htm 2109103 - Disclosure - Fair Value Measurements Sheet http://www.calix.com/role/FairValueMeasurements Fair Value Measurements Notes 10 false false R11.htm 2112104 - Disclosure - Balance Sheet Details Sheet http://www.calix.com/role/BalanceSheetDetails Balance Sheet Details Notes 11 false false R12.htm 2123105 - Disclosure - Credit Agreements Sheet http://www.calix.com/role/CreditAgreements Credit Agreements Notes 12 false false R13.htm 2126106 - Disclosure - Commitments and Contingencies Sheet http://www.calix.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 13 false false R14.htm 2132107 - Disclosure - Stockholders' Equity Sheet http://www.calix.com/role/StockholdersEquity Stockholders' Equity Notes 14 false false R15.htm 2143108 - Disclosure - Employee Benefit Plan Sheet http://www.calix.com/role/EmployeeBenefitPlan Employee Benefit Plan Notes 15 false false R16.htm 2145109 - Disclosure - Accumulated Other Comprehensive Loss Sheet http://www.calix.com/role/AccumulatedOtherComprehensiveLoss Accumulated Other Comprehensive Loss Notes 16 false false R17.htm 2148110 - Disclosure - Income Taxes Sheet http://www.calix.com/role/IncomeTaxes Income Taxes Notes 17 false false R18.htm 2156111 - Disclosure - Net Income (Loss) Per Common Share Sheet http://www.calix.com/role/NetIncomeLossPerCommonShare Net Income (Loss) Per Common Share Notes 18 false false R19.htm 2159112 - Disclosure - Revenue from Contracts with Customers Sheet http://www.calix.com/role/RevenuefromContractswithCustomers Revenue from Contracts with Customers Notes 19 false false R20.htm 2202201 - Disclosure - Description of Business and Significant Accounting Policies (Policies) Sheet http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies Description of Business and Significant Accounting Policies (Policies) Policies http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPolicies 20 false false R21.htm 2307301 - Disclosure - Cash, Cash Equivalents and Marketable Securities (Tables) Sheet http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesTables Cash, Cash Equivalents and Marketable Securities (Tables) Tables http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities 21 false false R22.htm 2310302 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.calix.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.calix.com/role/FairValueMeasurements 22 false false R23.htm 2313303 - Disclosure - Balance Sheet Details (Tables) Sheet http://www.calix.com/role/BalanceSheetDetailsTables Balance Sheet Details (Tables) Tables http://www.calix.com/role/BalanceSheetDetails 23 false false R24.htm 2327304 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.calix.com/role/CommitmentsandContingenciesTables Commitments and Contingencies (Tables) Tables http://www.calix.com/role/CommitmentsandContingencies 24 false false R25.htm 2333305 - Disclosure - Stockholders' Equity (Tables) Sheet http://www.calix.com/role/StockholdersEquityTables Stockholders' Equity (Tables) Tables http://www.calix.com/role/StockholdersEquity 25 false false R26.htm 2346306 - Disclosure - Accumulated Other Comprehensive Loss (Tables) Sheet http://www.calix.com/role/AccumulatedOtherComprehensiveLossTables Accumulated Other Comprehensive Loss (Tables) Tables http://www.calix.com/role/AccumulatedOtherComprehensiveLoss 26 false false R27.htm 2349307 - Disclosure - Income Taxes (Tables) Sheet http://www.calix.com/role/IncomeTaxesTables Income Taxes (Tables) Tables http://www.calix.com/role/IncomeTaxes 27 false false R28.htm 2357308 - Disclosure - Net Income (Loss) Per Common Share (Tables) Sheet http://www.calix.com/role/NetIncomeLossPerCommonShareTables Net Income (Loss) Per Common Share (Tables) Tables http://www.calix.com/role/NetIncomeLossPerCommonShare 28 false false R29.htm 2360309 - Disclosure - Revenue from Contracts with Customers (Tables) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersTables Revenue from Contracts with Customers (Tables) Tables http://www.calix.com/role/RevenuefromContractswithCustomers 29 false false R30.htm 2403401 - Disclosure - Description of Business and Significant Accounting Policies - Contract Costs (Details) Sheet http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesContractCostsDetails Description of Business and Significant Accounting Policies - Contract Costs (Details) Details 30 false false R31.htm 2404402 - Disclosure - Description of Business and Significant Accounting Policies - Useful Lives of Property and Equipment (Details) Sheet http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails Description of Business and Significant Accounting Policies - Useful Lives of Property and Equipment (Details) Details 31 false false R32.htm 2405403 - Disclosure - Description of Business and Significant Accounting Policies - Additional Information (Detail) Sheet http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail Description of Business and Significant Accounting Policies - Additional Information (Detail) Details 32 false false R33.htm 2408404 - Disclosure - Cash, Cash Equivalents and Marketable Securities (Details) Sheet http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails Cash, Cash Equivalents and Marketable Securities (Details) Details http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesTables 33 false false R34.htm 2411405 - Disclosure - Fair Value Measurements (Details) Sheet http://www.calix.com/role/FairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.calix.com/role/FairValueMeasurementsTables 34 false false R35.htm 2414406 - Disclosure - Balance Sheet Details - Accounts Receivable (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails Balance Sheet Details - Accounts Receivable (Details) Details 35 false false R36.htm 2415407 - Disclosure - Balance Sheet Details - Allowance and Product Return Reserve (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsAllowanceandProductReturnReserveDetails Balance Sheet Details - Allowance and Product Return Reserve (Details) Details 36 false false R37.htm 2416408 - Disclosure - Balance Sheet Details - Inventory (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsInventoryDetails Balance Sheet Details - Inventory (Details) Details 37 false false R38.htm 2417409 - Disclosure - Balance Sheet Details - Property and Equipment, net (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails Balance Sheet Details - Property and Equipment, net (Details) Details 38 false false R39.htm 2418410 - Disclosure - Balance Sheet Details - Intangible Asset Acquisition (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails Balance Sheet Details - Intangible Asset Acquisition (Details) Details 39 false false R40.htm 2419411 - Disclosure - Balance Sheet Details - Capitalized Cloud Implementation Costs (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsCapitalizedCloudImplementationCostsDetails Balance Sheet Details - Capitalized Cloud Implementation Costs (Details) Details 40 false false R41.htm 2420412 - Disclosure - Balance Sheet Details - Accrued Liabilities (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails Balance Sheet Details - Accrued Liabilities (Details) Details 41 false false R42.htm 2421413 - Disclosure - Balance Sheet Details - Product Warranty Activity (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsProductWarrantyActivityDetails Balance Sheet Details - Product Warranty Activity (Details) Details 42 false false R43.htm 2422414 - Disclosure - Balance Sheet Details - Restructuring (Details) Sheet http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails Balance Sheet Details - Restructuring (Details) Details 43 false false R44.htm 2424415 - Disclosure - Credit Agreements - Line of Credit (Details) Sheet http://www.calix.com/role/CreditAgreementsLineofCreditDetails Credit Agreements - Line of Credit (Details) Details 44 false false R45.htm 2425416 - Disclosure - Credit Agreements - Financing Arrangements (Details) Sheet http://www.calix.com/role/CreditAgreementsFinancingArrangementsDetails Credit Agreements - Financing Arrangements (Details) Details 45 false false R46.htm 2428417 - Disclosure - Commitments and Contingencies - Operating Lease (Details) Sheet http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails Commitments and Contingencies - Operating Lease (Details) Details 46 false false R47.htm 2429418 - Disclosure - Commitments and Contingencies - Sublease (Details) Sheet http://www.calix.com/role/CommitmentsandContingenciesSubleaseDetails Commitments and Contingencies - Sublease (Details) Details 47 false false R48.htm 2430419 - Disclosure - Commitments and Contingencies - Operating Lease Liability (Details) Sheet http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails Commitments and Contingencies - Operating Lease Liability (Details) Details 48 false false R49.htm 2431420 - Disclosure - Commitments and Contingencies - Textual (Details) Sheet http://www.calix.com/role/CommitmentsandContingenciesTextualDetails Commitments and Contingencies - Textual (Details) Details 49 false false R50.htm 2434421 - Disclosure - Stockholders' Equity - Stock Offering, Treasury Stock Retirement, Preferred Stock and Common Stock (Details) Sheet http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails Stockholders' Equity - Stock Offering, Treasury Stock Retirement, Preferred Stock and Common Stock (Details) Details 50 false false R51.htm 2435422 - Disclosure - Stockholders' Equity - Equity Incentive Plans (Details) Sheet http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails Stockholders' Equity - Equity Incentive Plans (Details) Details 51 false false R52.htm 2436423 - Disclosure - Stockholders' Equity - Stock Options Activity (Details) Sheet http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails Stockholders' Equity - Stock Options Activity (Details) Details 52 false false R53.htm 2437424 - Disclosure - Stockholders' Equity - Fair Value of Awards Granted (Details) Sheet http://www.calix.com/role/StockholdersEquityFairValueofAwardsGrantedDetails Stockholders' Equity - Fair Value of Awards Granted (Details) Details 53 false false R54.htm 2438425 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Details) Sheet http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails Stockholders' Equity - Stock-Based Compensation Expense (Details) Details 54 false false R55.htm 2439426 - Disclosure - Stockholders' Equity - ESPP (Details) Sheet http://www.calix.com/role/StockholdersEquityESPPDetails Stockholders' Equity - ESPP (Details) Details 55 false false R56.htm 2440427 - Disclosure - Stockholders' Equity - Assumptions (Details) Sheet http://www.calix.com/role/StockholdersEquityAssumptionsDetails Stockholders' Equity - Assumptions (Details) Details 56 false false R57.htm 2441428 - Disclosure - Stockholders' Equity - Unrecognized Stock-based Compensation Expenses (Details) Sheet http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails Stockholders' Equity - Unrecognized Stock-based Compensation Expenses (Details) Details 57 false false R58.htm 2442429 - Disclosure - Stockholders' Equity - Shares Reserved For Future Issuance (Details) Sheet http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails Stockholders' Equity - Shares Reserved For Future Issuance (Details) Details 58 false false R59.htm 2444430 - Disclosure - Employee Benefit Plan (Details) Sheet http://www.calix.com/role/EmployeeBenefitPlanDetails Employee Benefit Plan (Details) Details http://www.calix.com/role/EmployeeBenefitPlan 59 false false R60.htm 2447431 - Disclosure - Accumulated Other Comprehensive Loss (Details) Sheet http://www.calix.com/role/AccumulatedOtherComprehensiveLossDetails Accumulated Other Comprehensive Loss (Details) Details http://www.calix.com/role/AccumulatedOtherComprehensiveLossTables 60 false false R61.htm 2450432 - Disclosure - Income Taxes - Loss before Provision for Income Taxes (Details) Sheet http://www.calix.com/role/IncomeTaxesLossbeforeProvisionforIncomeTaxesDetails Income Taxes - Loss before Provision for Income Taxes (Details) Details 61 false false R62.htm 2451433 - Disclosure - Income Taxes - Components of Income Tax Provision (Details) Sheet http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails Income Taxes - Components of Income Tax Provision (Details) Details 62 false false R63.htm 2452434 - Disclosure - Income Taxes - Income Tax Rate Reconciliation (Details) Sheet http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails Income Taxes - Income Tax Rate Reconciliation (Details) Details 63 false false R64.htm 2453435 - Disclosure - Income Taxes - Components of Deferred Tax Assets and Liabilities (Details) Sheet http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails Income Taxes - Components of Deferred Tax Assets and Liabilities (Details) Details 64 false false R65.htm 2454436 - Disclosure - Income Taxes - Unrecognized Tax Benefits Activity (Details) Sheet http://www.calix.com/role/IncomeTaxesUnrecognizedTaxBenefitsActivityDetails Income Taxes - Unrecognized Tax Benefits Activity (Details) Details 65 false false R66.htm 2455437 - Disclosure - Income Taxes - Textual (Details) Sheet http://www.calix.com/role/IncomeTaxesTextualDetails Income Taxes - Textual (Details) Details 66 false false R67.htm 2458438 - Disclosure - Net Income (Loss) Per Common Share - Basic and Diluted Shares Calculation (Details) Sheet http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails Net Income (Loss) Per Common Share - Basic and Diluted Shares Calculation (Details) Details http://www.calix.com/role/NetIncomeLossPerCommonShareTables 67 false false R68.htm 2461439 - Disclosure - Revenue from Contracts with Customers - Revenue by Geographic Region (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersRevenuebyGeographicRegionDetails Revenue from Contracts with Customers - Revenue by Geographic Region (Details) Details 68 false false R69.htm 2462440 - Disclosure - Revenue from Contracts with Customers - Property and Equipment by Geographic Region (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersPropertyandEquipmentbyGeographicRegionDetails Revenue from Contracts with Customers - Property and Equipment by Geographic Region (Details) Details 69 false false R70.htm 2463441 - Disclosure - Revenue from Contracts with Customers - Contract Costs (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails Revenue from Contracts with Customers - Contract Costs (Details) Details 70 false false R71.htm 2464442 - Disclosure - Revenue from Contracts with Customers - Performance Obligation (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationDetails Revenue from Contracts with Customers - Performance Obligation (Details) Details 71 false false R72.htm 2465443 - Disclosure - Revenue from Contracts with Customers - Contract Assets and Liabilities (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails Revenue from Contracts with Customers - Contract Assets and Liabilities (Details) Details 72 false false R73.htm 2466444 - Disclosure - Revenue from Contracts with Customers - Concentration Risk (Details) Sheet http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails Revenue from Contracts with Customers - Concentration Risk (Details) Details 73 false false All Reports Book All Reports calx-20211231.htm calx-20211231.xsd calx-20211231_cal.xml calx-20211231_def.xml calx-20211231_lab.xml calx-20211231_pre.xml calx-20211231xex211subsidi.htm calx-20211231xex231kpmgcon.htm calx-20211231xex311.htm calx-20211231xex312.htm calx-20211231xex321.htm calx-20211231_g1.jpg http://fasb.org/us-gaap/2021-01-31 http://xbrl.sec.gov/dei/2021q4 true true JSON 93 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "calx-20211231.htm": { "axisCustom": 0, "axisStandard": 30, "contextCount": 262, "dts": { "calculationLink": { "local": [ "calx-20211231_cal.xml" ] }, "definitionLink": { "local": [ "calx-20211231_def.xml" ] }, "inline": { "local": [ "calx-20211231.htm" ] }, "labelLink": { "local": [ "calx-20211231_lab.xml" ] }, "presentationLink": { "local": [ "calx-20211231_pre.xml" ] }, "schema": { "local": [ "calx-20211231.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/2021/elts/srt-2021-01-31.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd", "https://xbrl.sec.gov/country/2021/country-2021.xsd", "https://xbrl.sec.gov/dei/2021q4/dei-2021q4.xsd" ] } }, "elementCount": 613, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2021-01-31": 5, "http://www.calix.com/20211231": 3, "http://xbrl.sec.gov/dei/2021q4": 4, "total": 12 }, "keyCustom": 43, "keyStandard": 428, "memberCustom": 29, "memberStandard": 52, "nsprefix": "calx", "nsuri": "http://www.calix.com/20211231", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0001001 - Document - Cover", "role": "http://www.calix.com/role/Cover", "shortName": "Cover", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "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": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2109103 - Disclosure - Fair Value Measurements", "role": "http://www.calix.com/role/FairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2112104 - Disclosure - Balance Sheet Details", "role": "http://www.calix.com/role/BalanceSheetDetails", "shortName": "Balance Sheet Details", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2123105 - Disclosure - Credit Agreements", "role": "http://www.calix.com/role/CreditAgreements", "shortName": "Credit Agreements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2126106 - Disclosure - Commitments and Contingencies", "role": "http://www.calix.com/role/CommitmentsandContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2132107 - Disclosure - Stockholders' Equity", "role": "http://www.calix.com/role/StockholdersEquity", "shortName": "Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2143108 - Disclosure - Employee Benefit Plan", "role": "http://www.calix.com/role/EmployeeBenefitPlan", "shortName": "Employee Benefit Plan", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2145109 - Disclosure - Accumulated Other Comprehensive Loss", "role": "http://www.calix.com/role/AccumulatedOtherComprehensiveLoss", "shortName": "Accumulated Other Comprehensive Loss", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2148110 - Disclosure - Income Taxes", "role": "http://www.calix.com/role/IncomeTaxes", "shortName": "Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2156111 - Disclosure - Net Income (Loss) Per Common Share", "role": "http://www.calix.com/role/NetIncomeLossPerCommonShare", "shortName": "Net Income (Loss) Per Common Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "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": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2159112 - Disclosure - Revenue from Contracts with Customers", "role": "http://www.calix.com/role/RevenuefromContractswithCustomers", "shortName": "Revenue from Contracts with Customers", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "dei:AuditorName", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "false", "longName": "0002002 - Document - Audit Information", "role": "http://www.calix.com/role/AuditInformation", "shortName": "Audit Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "dei:AuditorName", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2202201 - Disclosure - Description of Business and Significant Accounting Policies (Policies)", "role": "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies", "shortName": "Description of Business and Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2307301 - Disclosure - Cash, Cash Equivalents and Marketable Securities (Tables)", "role": "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesTables", "shortName": "Cash, Cash Equivalents and Marketable Securities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2310302 - Disclosure - Fair Value Measurements (Tables)", "role": "http://www.calix.com/role/FairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2313303 - Disclosure - Balance Sheet Details (Tables)", "role": "http://www.calix.com/role/BalanceSheetDetailsTables", "shortName": "Balance Sheet Details (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2327304 - Disclosure - Commitments and Contingencies (Tables)", "role": "http://www.calix.com/role/CommitmentsandContingenciesTables", "shortName": "Commitments and Contingencies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2333305 - Disclosure - Stockholders' Equity (Tables)", "role": "http://www.calix.com/role/StockholdersEquityTables", "shortName": "Stockholders' Equity (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2346306 - Disclosure - Accumulated Other Comprehensive Loss (Tables)", "role": "http://www.calix.com/role/AccumulatedOtherComprehensiveLossTables", "shortName": "Accumulated Other Comprehensive Loss (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2349307 - Disclosure - Income Taxes (Tables)", "role": "http://www.calix.com/role/IncomeTaxesTables", "shortName": "Income Taxes (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2357308 - Disclosure - Net Income (Loss) Per Common Share (Tables)", "role": "http://www.calix.com/role/NetIncomeLossPerCommonShareTables", "shortName": "Net Income (Loss) Per Common Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2360309 - Disclosure - Revenue from Contracts with Customers (Tables)", "role": "http://www.calix.com/role/RevenuefromContractswithCustomersTables", "shortName": "Revenue from Contracts with Customers (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1001003 - Statement - Consolidated Balance Sheets", "role": "http://www.calix.com/role/ConsolidatedBalanceSheets", "shortName": "Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:PrepaidExpenseAndOtherAssetsCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "span", "div", "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedContractCostAmortizationPeriod", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2403401 - Disclosure - Description of Business and Significant Accounting Policies - Contract Costs (Details)", "role": "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesContractCostsDetails", "shortName": "Description of Business and Significant Accounting Policies - Contract Costs (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R31": { "firstAnchor": { "ancestors": [ "span", "div", "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ia0bab1b629f8471eb7cdc594e71fdd9a_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2404402 - Disclosure - Description of Business and Significant Accounting Policies - Useful Lives of Property and Equipment (Details)", "role": "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails", "shortName": "Description of Business and Significant Accounting Policies - Useful Lives of Property and Equipment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ia0bab1b629f8471eb7cdc594e71fdd9a_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "us-gaap:GoodwillImpairmentLoss", "us-gaap:GoodwillImpairmentLoss", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:GoodwillImpairmentLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2405403 - Disclosure - Description of Business and Significant Accounting Policies - Additional Information (Detail)", "role": "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail", "shortName": "Description of Business and Significant Accounting Policies - Additional Information (Detail)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:GoodwillImpairmentLoss", "us-gaap:GoodwillImpairmentLoss", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:GoodwillImpairmentLoss", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408404 - Disclosure - Cash, Cash Equivalents and Marketable Securities (Details)", "role": "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails", "shortName": "Cash, Cash Equivalents and Marketable Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "lang": "en-US", "name": "calx:CashCashEquivalentsAndMarketableSecurities", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2411405 - Disclosure - Fair Value Measurements (Details)", "role": "http://www.calix.com/role/FairValueMeasurementsDetails", "shortName": "Fair Value Measurements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i868510ddf065434c96a572a365f76e9e_I20211231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AssetsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccountsReceivableGrossCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2414406 - Disclosure - Balance Sheet Details - Accounts Receivable (Details)", "role": "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails", "shortName": "Balance Sheet Details - Accounts Receivable (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccountsReceivableGrossCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "calx:ScheduleOfChangesInAllowanceForDoubtfulAccountsAndProductReturnLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i6fdc48552cb54a039931fd0eca112144_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ValuationAllowancesAndReservesBalance", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2415407 - Disclosure - Balance Sheet Details - Allowance and Product Return Reserve (Details)", "role": "http://www.calix.com/role/BalanceSheetDetailsAllowanceandProductReturnReserveDetails", "shortName": "Balance Sheet Details - Allowance and Product Return Reserve (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "calx:ScheduleOfChangesInAllowanceForDoubtfulAccountsAndProductReturnLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ibe2d734e093441b886dded937885990a_I20181231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:ValuationAllowancesAndReservesBalance", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2416408 - Disclosure - Balance Sheet Details - Inventory (Details)", "role": "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails", "shortName": "Balance Sheet Details - Inventory (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417409 - Disclosure - Balance Sheet Details - Property and Equipment, net (Details)", "role": "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "shortName": "Balance Sheet Details - Property and Equipment, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsNetExcludingGoodwill", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2418410 - Disclosure - Balance Sheet Details - Intangible Asset Acquisition (Details)", "role": "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails", "shortName": "Balance Sheet Details - Intangible Asset Acquisition (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfOtherAssetsNoncurrentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsNetExcludingGoodwill", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "us-gaap:PreferredStockParOrStatedValuePerShare", "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1002004 - Statement - Consolidated Balance Sheets (Parenthetical)", "role": "http://www.calix.com/role/ConsolidatedBalanceSheetsParenthetical", "shortName": "Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "us-gaap:PreferredStockParOrStatedValuePerShare", "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "div", "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedContractCostAmortizationPeriod", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2419411 - Disclosure - Balance Sheet Details - Capitalized Cloud Implementation Costs (Details)", "role": "http://www.calix.com/role/BalanceSheetDetailsCapitalizedCloudImplementationCostsDetails", "shortName": "Balance Sheet Details - Capitalized Cloud Implementation Costs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ia187c8dfff774546a9b3111e9d39807d_I20200131", "decimals": "-5", "lang": "en-US", "name": "us-gaap:CapitalizedContractCostNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2420412 - Disclosure - Balance Sheet Details - Accrued Liabilities (Details)", "role": "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails", "shortName": "Balance Sheet Details - Accrued Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i0e4243272dd34712a17056d197d2983e_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2421413 - Disclosure - Balance Sheet Details - Product Warranty Activity (Details)", "role": "http://www.calix.com/role/BalanceSheetDetailsProductWarrantyActivityDetails", "shortName": "Balance Sheet Details - Product Warranty Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i7df072a57f554a8fb84f0f396bb200b6_I20181231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:ProductWarrantyAccrual", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestructuringCharges", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2422414 - Disclosure - Balance Sheet Details - Restructuring (Details)", "role": "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails", "shortName": "Balance Sheet Details - Restructuring (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfRestructuringAndRelatedCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i5ba18a864d404c0faf5b3fdfed311a27_D20200101-20201231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RestructuringReserveSettledWithoutCash2", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ib83abf27fb344247a2cea6d96dad4bb2_I20211231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2424415 - Disclosure - Credit Agreements - Line of Credit (Details)", "role": "http://www.calix.com/role/CreditAgreementsLineofCreditDetails", "shortName": "Credit Agreements - Line of Credit (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ib83abf27fb344247a2cea6d96dad4bb2_I20211231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "iddbed82baede4d9ea9a04dc1ac27b792_I20181231", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:PurchaseObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2425416 - Disclosure - Credit Agreements - Financing Arrangements (Details)", "role": "http://www.calix.com/role/CreditAgreementsFinancingArrangementsDetails", "shortName": "Credit Agreements - Financing Arrangements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "iddbed82baede4d9ea9a04dc1ac27b792_I20181231", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:PurchaseObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2428417 - Disclosure - Commitments and Contingencies - Operating Lease (Details)", "role": "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails", "shortName": "Commitments and Contingencies - Operating Lease (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i3c289ae8f8754578a381b4e706bb74bb_I20211130", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LessorOperatingLeaseTermOfContract", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2429418 - Disclosure - Commitments and Contingencies - Sublease (Details)", "role": "http://www.calix.com/role/CommitmentsandContingenciesSubleaseDetails", "shortName": "Commitments and Contingencies - Sublease (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i3c289ae8f8754578a381b4e706bb74bb_I20211130", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LessorOperatingLeaseTermOfContract", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseLiabilityCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2430419 - Disclosure - Commitments and Contingencies - Operating Lease Liability (Details)", "role": "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails", "shortName": "Commitments and Contingencies - Operating Lease Liability (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R49": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2431420 - Disclosure - Commitments and Contingencies - Textual (Details)", "role": "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails", "shortName": "Commitments and Contingencies - Textual (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "3", "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1003005 - Statement - Consolidated Statements of Comprehensive Income (Loss)", "role": "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "shortName": "Consolidated Statements of Comprehensive Income (Loss)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "us-gaap:PreferredStockSharesAuthorized", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockSharesAuthorized", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2434421 - Disclosure - Stockholders' Equity - Stock Offering, Treasury Stock Retirement, Preferred Stock and Common Stock (Details)", "role": "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails", "shortName": "Stockholders' Equity - Stock Offering, Treasury Stock Retirement, Preferred Stock and Common Stock (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "INF", "lang": "en-US", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensation", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2435422 - Disclosure - Stockholders' Equity - Equity Incentive Plans (Details)", "role": "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails", "shortName": "Stockholders' Equity - Equity Incentive Plans (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i3d98734e3548455db45694065b876e09_D20200201-20200229", "decimals": "INF", "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i0e4243272dd34712a17056d197d2983e_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2436423 - Disclosure - Stockholders' Equity - Stock Options Activity (Details)", "role": "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails", "shortName": "Stockholders' Equity - Stock Options Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "calx:ScheduleOfGrantDateFairValuesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "reportCount": 1, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2437424 - Disclosure - Stockholders' Equity - Fair Value of Awards Granted (Details)", "role": "http://www.calix.com/role/StockholdersEquityFairValueofAwardsGrantedDetails", "shortName": "Stockholders' Equity - Fair Value of Awards Granted (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "calx:ScheduleOfGrantDateFairValuesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i4464518b6d314c06b27b7736550548e5_D20210101-20211231", "decimals": "2", "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2438425 - Disclosure - Stockholders' Equity - Stock-Based Compensation Expense (Details)", "role": "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails", "shortName": "Stockholders' Equity - Stock-Based Compensation Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ia96b639afa2a4fc3ae2c629f78c0b174_I20211231", "decimals": "INF", "first": true, "lang": "en-US", "name": "calx:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods", "reportCount": 1, "unitRef": "period", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2439426 - Disclosure - Stockholders' Equity - ESPP (Details)", "role": "http://www.calix.com/role/StockholdersEquityESPPDetails", "shortName": "Stockholders' Equity - ESPP (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i5feb030e9fb94b43b541ae8c35c894ac_D20200501-20200531", "decimals": "INF", "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i887835d694be40aa9647795d228597c4_D20210101-20211231", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2440427 - Disclosure - Stockholders' Equity - Assumptions (Details)", "role": "http://www.calix.com/role/StockholdersEquityAssumptionsDetails", "shortName": "Stockholders' Equity - Assumptions (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i887835d694be40aa9647795d228597c4_D20210101-20211231", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-5", "first": true, "lang": "en-US", "name": "calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedNextTwelveMonth", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2441428 - Disclosure - Stockholders' Equity - Unrecognized Stock-based Compensation Expenses (Details)", "role": "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails", "shortName": "Stockholders' Equity - Unrecognized Stock-based Compensation Expenses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-5", "first": true, "lang": "en-US", "name": "calx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedNextTwelveMonth", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "calx:SharesReservedForFutureIssuanceTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2442429 - Disclosure - Stockholders' Equity - Shares Reserved For Future Issuance (Details)", "role": "http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails", "shortName": "Stockholders' Equity - Shares Reserved For Future Issuance (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "calx:SharesReservedForFutureIssuanceTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CommonStockCapitalSharesReservedForFutureIssuance", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:DefinedContributionPlanCostRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2444430 - Disclosure - Employee Benefit Plan (Details)", "role": "http://www.calix.com/role/EmployeeBenefitPlanDetails", "shortName": "Employee Benefit Plan (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:DefinedContributionPlanCostRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i1015640863624e30976f10dda5143859_I20181231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CommonStockSharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1004006 - Statement - Consolidated Statements of Stockholders' Equity", "role": "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity", "shortName": "Consolidated Statements of Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i1015640863624e30976f10dda5143859_I20181231", "decimals": "-3", "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", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i0e4243272dd34712a17056d197d2983e_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2447431 - Disclosure - Accumulated Other Comprehensive Loss (Details)", "role": "http://www.calix.com/role/AccumulatedOtherComprehensiveLossDetails", "shortName": "Accumulated Other Comprehensive Loss (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2450432 - Disclosure - Income Taxes - Loss before Provision for Income Taxes (Details)", "role": "http://www.calix.com/role/IncomeTaxesLossbeforeProvisionforIncomeTaxesDetails", "shortName": "Income Taxes - Loss before Provision for Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CurrentStateAndLocalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2451433 - Disclosure - Income Taxes - Components of Income Tax Provision (Details)", "role": "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails", "shortName": "Income Taxes - Components of Income Tax Provision (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CurrentStateAndLocalTaxExpenseBenefit", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2452434 - Disclosure - Income Taxes - Income Tax Rate Reconciliation (Details)", "role": "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails", "shortName": "Income Taxes - Income Tax Rate Reconciliation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2453435 - Disclosure - Income Taxes - Components of Deferred Tax Assets and Liabilities (Details)", "role": "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails", "shortName": "Income Taxes - Components of Deferred Tax Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:DeferredTaxAssetsOperatingLossCarryforwards", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SummaryOfIncomeTaxContingenciesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i0e4243272dd34712a17056d197d2983e_I20201231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:UnrecognizedTaxBenefits", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2454436 - Disclosure - Income Taxes - Unrecognized Tax Benefits Activity (Details)", "role": "http://www.calix.com/role/IncomeTaxesUnrecognizedTaxBenefitsActivityDetails", "shortName": "Income Taxes - Unrecognized Tax Benefits Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SummaryOfIncomeTaxContingenciesTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxExpenseBenefit", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2455437 - Disclosure - Income Taxes - Textual (Details)", "role": "http://www.calix.com/role/IncomeTaxesTextualDetails", "shortName": "Income Taxes - Textual (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "INF", "lang": "en-US", "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProfitLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2458438 - Disclosure - Net Income (Loss) Per Common Share - Basic and Diluted Shares Calculation (Details)", "role": "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails", "shortName": "Net Income (Loss) Per Common Share - Basic and Diluted Shares Calculation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R68": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2461439 - Disclosure - Revenue from Contracts with Customers - Revenue by Geographic Region (Details)", "role": "http://www.calix.com/role/RevenuefromContractswithCustomersRevenuebyGeographicRegionDetails", "shortName": "Revenue from Contracts with Customers - Revenue by Geographic Region (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ic63b1606004745da9d7866bb86568732_D20210101-20211231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R69": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2462440 - Disclosure - Revenue from Contracts with Customers - Property and Equipment by Geographic Region (Details)", "role": "http://www.calix.com/role/RevenuefromContractswithCustomersPropertyandEquipmentbyGeographicRegionDetails", "shortName": "Revenue from Contracts with Customers - Property and Equipment by Geographic Region (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "if575ff57e9ff4e8ba6ca715bcd8ef60c_I20211231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ProfitLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1005007 - Statement - Consolidated Statements of Cash Flows", "role": "http://www.calix.com/role/ConsolidatedStatementsofCashFlows", "shortName": "Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R70": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedContractCostGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2463441 - Disclosure - Revenue from Contracts with Customers - Contract Costs (Details)", "role": "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails", "shortName": "Revenue from Contracts with Customers - Contract Costs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:CapitalizedContractCostGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R71": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2464442 - Disclosure - Revenue from Contracts with Customers - Performance Obligation (Details)", "role": "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationDetails", "shortName": "Revenue from Contracts with Customers - Performance Obligation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R72": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2465443 - Disclosure - Revenue from Contracts with Customers - Contract Assets and Liabilities (Details)", "role": "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails", "shortName": "Revenue from Contracts with Customers - Contract Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "i912415075c1049e094dfb065372915a4_I20211231", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R73": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie745c91cad5543fa9e68d5dd956b725c_D20200101-20201231", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2466444 - Disclosure - Revenue from Contracts with Customers - Concentration Risk (Details)", "role": "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails", "shortName": "Revenue from Contracts with Customers - Concentration Risk (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie745c91cad5543fa9e68d5dd956b725c_D20200101-20201231", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2101101 - Disclosure - Description of Business and Significant Accounting Policies", "role": "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPolicies", "shortName": "Description of Business and Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2106102 - Disclosure - Cash, Cash Equivalents and Marketable Securities", "role": "http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities", "shortName": "Cash, Cash Equivalents and Marketable Securities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "calx-20211231.htm", "contextRef": "ie971987cb2c74e569daa061f01ba93f3_D20210101-20211231", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CashCashEquivalentsAndMarketableSecuritiesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 85, "tag": { "calx_A2017NonqualifiedEmployeeStockPurchasePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2017 Nonqualified Employee Stock Purchase Plan", "label": "2017 Nonqualified Employee Stock Purchase Plan [Member]", "terseLabel": "2017 Nonqualified Employee Stock Purchase Plan" } } }, "localname": "A2017NonqualifiedEmployeeStockPurchasePlanMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails", "http://www.calix.com/role/StockholdersEquityFairValueofAwardsGrantedDetails", "http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails" ], "xbrltype": "domainItemType" }, "calx_A2019EquityIncentiveAwardPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2019 Equity Incentive Award Plan [Member]", "label": "2019 Equity Incentive Award Plan [Member]", "terseLabel": "2019 Equity Incentive Award Plan" } } }, "localname": "A2019EquityIncentiveAwardPlanMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "calx_A2019PlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2019 Plan", "label": "2019 Plan [Member]", "terseLabel": "2019 Plan" } } }, "localname": "A2019PlanMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails" ], "xbrltype": "domainItemType" }, "calx_A2020PerformanceTargetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2020 Performance Targets [Member]", "label": "2020 Performance Targets [Member]", "terseLabel": "2020 Performance Targets" } } }, "localname": "A2020PerformanceTargetsMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "calx_A2021PerformanceTargetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2021 Performance Targets", "label": "2021 Performance Targets [Member]", "terseLabel": "2021 Performance Targets" } } }, "localname": "A2021PerformanceTargetsMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "calx_AccruedCustomerRebates": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 8.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued customer rebates.", "label": "Accrued Customer Rebates", "terseLabel": "Customer advances or rebates" } } }, "localname": "AccruedCustomerRebates", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "calx_AccruedExcessAndObsoleteInventoryAtContractManufacturer": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 7.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued excess and obsolete inventory at contract manufacturer.", "label": "Accrued Excess and Obsolete Inventory At Contract Manufacturer", "terseLabel": "Component inventory held by suppliers", "verboseLabel": "Accrued professional and consulting fees" } } }, "localname": "AccruedExcessAndObsoleteInventoryAtContractManufacturer", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails", "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "calx_AccruedFreight": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued Freight", "label": "Accrued Freight", "terseLabel": "Freight" } } }, "localname": "AccruedFreight", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "calx_AccruedRevenueSharePaymentsCurrent": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 10.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accrued Revenue Share Payments, Current", "label": "Accrued Revenue Share Payments, Current", "terseLabel": "Current portion of revenue-share payments" } } }, "localname": "AccruedRevenueSharePaymentsCurrent", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "calx_AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "All Platform Future And Work-From-Anywhere Culture Alignment", "label": "All Platform Future And Work-From-Anywhere Culture Alignment [Member]", "terseLabel": "All Platform Future And Work-From-Anywhere Culture Alignment" } } }, "localname": "AllPlatformFutureAndWorkFromAnywhereCultureAlignmentMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" ], "xbrltype": "domainItemType" }, "calx_AmericasExUSMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Americas Ex U.S.", "label": "Americas Ex U.S. [Member]", "terseLabel": "Americas excluding U.S." } } }, "localname": "AmericasExUSMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenuebyGeographicRegionDetails" ], "xbrltype": "domainItemType" }, "calx_AuditInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Audit Information", "label": "Audit Information [Abstract]" } } }, "localname": "AuditInformationAbstract", "nsuri": "http://www.calix.com/20211231", "xbrltype": "stringItemType" }, "calx_BangaloreIndiaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Bangalore, India", "label": "Bangalore, India [Member]", "terseLabel": "Bangalore, India" } } }, "localname": "BangaloreIndiaMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "calx_BankOfAmericaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Bank Of America [Member]", "label": "Bank Of America [Member]", "terseLabel": "Bank Of America" } } }, "localname": "BankOfAmericaMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/CreditAgreementsLineofCreditDetails" ], "xbrltype": "domainItemType" }, "calx_BrazilChinaAndUnitedKingdomMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Brazil, China And United Kingdom", "label": "Brazil, China And United Kingdom [Member]", "terseLabel": "Brazil, China And United Kingdom" } } }, "localname": "BrazilChinaAndUnitedKingdomMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "calx_CaliforniaStateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "California State [Member]", "label": "California State [Member]", "terseLabel": "California State" } } }, "localname": "CaliforniaStateMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/IncomeTaxesTextualDetails" ], "xbrltype": "domainItemType" }, "calx_CashCashEquivalentsAndMarketableSecurities": { "auth_ref": [], "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cash, Cash Equivalents, And Marketable Securities", "label": "Cash, Cash Equivalents, And Marketable Securities", "totalLabel": "Cash, Cash Equivalents, And Marketable Securities" } } }, "localname": "CashCashEquivalentsAndMarketableSecurities", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "calx_CashCashEquivalentsAndMarketableSecuritiesPolicyPolicyTextBlockPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for cash and cash equivalents, and for investments in debt and equity securities that have readily determinable fair values (marketable securities).", "label": "Cash, Cash Equivalents, and Marketable Securities, Policy [Policy Text Block] [Policy Text Block]", "terseLabel": "Cash, Cash Equivalents, and Marketable Securities" } } }, "localname": "CashCashEquivalentsAndMarketableSecuritiesPolicyPolicyTextBlockPolicyTextBlock", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "calx_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": "Changes in accounts payable and accrued liabilities related to purchases of property and equipment" } } }, "localname": "ChangeInCapitalExpendituresIncurredButNotYetPaid", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "calx_CloudImplementationCostsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cloud Implementation Costs [Member]", "label": "Cloud Implementation Costs [Member]", "terseLabel": "Cloud Implementation Costs" } } }, "localname": "CloudImplementationCostsMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsCapitalizedCloudImplementationCostsDetails" ], "xbrltype": "domainItemType" }, "calx_ConsultingServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Consulting Services [Member]", "label": "Consulting Services [Member]", "terseLabel": "Consulting Services" } } }, "localname": "ConsultingServicesMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/CreditAgreementsFinancingArrangementsDetails" ], "xbrltype": "domainItemType" }, "calx_ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent", "label": "Contract With Customer, Asset, Expected To Be Billed Remainder Of Year, Percent", "terseLabel": "Contract with customer, asset, expected to be billed remainder of year, percent" } } }, "localname": "ContractWithCustomerAssetExpectedToBeBilledRemainderOfYearPercent", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails" ], "xbrltype": "percentItemType" }, "calx_ContractualTermStockOptions": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Contractual Term, Stock Options", "label": "Contractual Term, Stock Options", "terseLabel": "Contractual term, stock options" } } }, "localname": "ContractualTermStockOptions", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "durationItemType" }, "calx_ContractwithCustomerAssetPriorPeriodNotRecognized": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Contract with Customer, Asset, Prior Period, Not Recognized", "label": "Contract with Customer, Asset, Prior Period, Not Recognized", "terseLabel": "Contract with customer, asset, prior period, not recognized" } } }, "localname": "ContractwithCustomerAssetPriorPeriodNotRecognized", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "calx_CostOfRevenueProductsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cost Of Revenue, Products [Member]", "label": "Cost Of Revenue, Products [Member]", "terseLabel": "Products" } } }, "localname": "CostOfRevenueProductsMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "calx_CostOfRevenueServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cost Of Revenue, Services [Member]", "label": "Cost Of Revenue, Services [Member]", "verboseLabel": "Services" } } }, "localname": "CostOfRevenueServicesMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "calx_EffectiveIncomeTaxRateReconciliationForeignIncomeInclusionPercent": { "auth_ref": [], "calculation": { "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails": { "order": 5.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Effective Income Tax Rate Reconciliation, Foreign Income Inclusion, Percent", "label": "Effective Income Tax Rate Reconciliation, Foreign Income Inclusion, Percent", "terseLabel": "Foreign income inclusion" } } }, "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeInclusionPercent", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails" ], "xbrltype": "percentItemType" }, "calx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearFour": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Four", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Four", "terseLabel": "Stock-based compensation expense to be recognized in 2021" } } }, "localname": "EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearFour", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails" ], "xbrltype": "monetaryItemType" }, "calx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearThree": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Three", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Three", "terseLabel": "Stock-based compensation expense to be recognized in 2020" } } }, "localname": "EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearThree", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails" ], "xbrltype": "monetaryItemType" }, "calx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearTwo": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Two", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized In Year Two", "terseLabel": "Stock-based compensation expense to be recognized in 2019" } } }, "localname": "EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedInYearTwo", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails" ], "xbrltype": "monetaryItemType" }, "calx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedNextTwelveMonth": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized Next Twelve Month", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, To Be Recognized Next Twelve Month", "terseLabel": "Stock-based compensation expense to be recognized in 2018" } } }, "localname": "EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationCostNotyetRecognizedToBeRecognizedNextTwelveMonth", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails" ], "xbrltype": "monetaryItemType" }, "calx_EmployeeStockPurchasePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Employee Stock Purchase Plan", "label": "Employee Stock Purchase Plan [Member]", "terseLabel": "Employee Stock Purchase Plan" } } }, "localname": "EmployeeStockPurchasePlanMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "domainItemType" }, "calx_ExtendedWarrantyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Extended Warranty", "label": "Extended Warranty [Member]", "terseLabel": "Extended warranty" } } }, "localname": "ExtendedWarrantyMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails" ], "xbrltype": "domainItemType" }, "calx_IncomeTaxesLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Income Taxes [Line Items]", "label": "Income Taxes [Line Items]", "terseLabel": "Income Taxes [Line Items]" } } }, "localname": "IncomeTaxesLineItems", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/IncomeTaxesTextualDetails" ], "xbrltype": "stringItemType" }, "calx_IncomeTaxesTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Income Taxes [Table]", "label": "Income Taxes [Table]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxesTable", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/IncomeTaxesTextualDetails" ], "xbrltype": "stringItemType" }, "calx_LesseeOperatingLeaseLiabilityTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease Liability", "label": "Lessee, Operating Lease Liability [Table Text Block]", "terseLabel": "Lessee, Operating Leases" } } }, "localname": "LesseeOperatingLeaseLiabilityTableTextBlock", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "calx_LumenTechnologiesIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Lumen Technologies, Inc.", "label": "Lumen Technologies, Inc. [Member]", "terseLabel": "Lumen Technologies, Inc." } } }, "localname": "LumenTechnologiesIncMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "calx_MiddleEastAndAfricaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Middle East And Africa", "label": "Middle East And Africa [Member]", "terseLabel": "Middle East & Africa" } } }, "localname": "MiddleEastAndAfricaMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenuebyGeographicRegionDetails" ], "xbrltype": "domainItemType" }, "calx_MinimumExercisePriceOfStockOptionPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Minimum exercise price of stock options expressed as a percentage of the fair market value of the Company\u2019s common stock at grant date.", "label": "Minimum Exercise Price Of Stock Option Percent", "terseLabel": "Minimum exercise price of stock option, percentage" } } }, "localname": "MinimumExercisePriceOfStockOptionPercent", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "percentItemType" }, "calx_OneCustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "One Customer", "label": "One Customer [Member]", "terseLabel": "One Customer" } } }, "localname": "OneCustomerMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "calx_OperationsLiabilityCurrent": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Operations Liability, Current", "label": "Operations Liability, Current", "terseLabel": "Operations" } } }, "localname": "OperationsLiabilityCurrent", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "calx_OtherStateMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Other State [Member]", "label": "Other State [Member]", "terseLabel": "Other State" } } }, "localname": "OtherStateMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/IncomeTaxesTextualDetails" ], "xbrltype": "domainItemType" }, "calx_PaymentsForFinancingArrangements": { "auth_ref": [], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Payments For Financing Arrangements", "label": "Payments For Financing Arrangements", "negatedTerseLabel": "Payments related to financing arrangements" } } }, "localname": "PaymentsForFinancingArrangements", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "calx_PaymentsToSettlePurchaseObligations": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Payments To Settle Purchase Obligations", "label": "Payments To Settle Purchase Obligations", "terseLabel": "Payments to settle purchase obligations" } } }, "localname": "PaymentsToSettlePurchaseObligations", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/CreditAgreementsFinancingArrangementsDetails" ], "xbrltype": "monetaryItemType" }, "calx_PercentOfHistoricalVolatility": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percent of Historical Volatility", "label": "Percent of Historical Volatility", "terseLabel": "Percent of historical volatility" } } }, "localname": "PercentOfHistoricalVolatility", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "percentItemType" }, "calx_PercentOfImpliedVolatility": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percent of Implied Volatility", "label": "Percent of Implied Volatility", "terseLabel": "Percent of implied volatility" } } }, "localname": "PercentOfImpliedVolatility", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "percentItemType" }, "calx_PerformanceBasedStockOptionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Based Stock Options", "label": "Performance Based Stock Options [Member]", "terseLabel": "Performance Based Stock Options" } } }, "localname": "PerformanceBasedStockOptionsMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "calx_PerformanceTargetsServicesConditionPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Targets Services Condition Period", "label": "Performance Targets Services Condition Period", "terseLabel": "Performance targets services condition period" } } }, "localname": "PerformanceTargetsServicesConditionPeriod", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "durationItemType" }, "calx_ProductAndServicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Product and Services", "label": "Product and Services [Member]", "terseLabel": "Products and services" } } }, "localname": "ProductAndServicesMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails" ], "xbrltype": "domainItemType" }, "calx_ProductReturnReserveCurrent": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 11.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Product Return Reserve, Current", "label": "Product Return Reserve, Current", "terseLabel": "Product returns" } } }, "localname": "ProductReturnReserveCurrent", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "calx_ProductWarrantyPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the general warranty period for the Company's hardware products from the date of shipment.", "label": "Product Warranty Period", "terseLabel": "Product warranty period" } } }, "localname": "ProductWarrantyPeriod", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "durationItemType" }, "calx_PublicStockOfferingMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Public Stock Offering", "label": "Public Stock Offering [Member]", "terseLabel": "Public Stock Offering" } } }, "localname": "PublicStockOfferingMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "domainItemType" }, "calx_ResearchAndDevelopmentEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Research And Development Equipment [Member]", "label": "Research And Development Equipment [Member]", "terseLabel": "Research And Development Equipment" } } }, "localname": "ResearchAndDevelopmentEquipmentMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/CreditAgreementsFinancingArrangementsDetails" ], "xbrltype": "domainItemType" }, "calx_SECSchedule1209ReserveProductReturnsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Reserve established for amounts due that are unlikely to be received due to customer's return of products.", "label": "SEC Schedule, 12-09, Reserve, Product Returns [Member]", "terseLabel": "Product return liability" } } }, "localname": "SECSchedule1209ReserveProductReturnsMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAllowanceandProductReturnReserveDetails" ], "xbrltype": "domainItemType" }, "calx_SanJoseCaliforniaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "San Jose, California", "label": "San Jose, California [Member]", "terseLabel": "San Jose, California" } } }, "localname": "SanJoseCaliforniaMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails", "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "calx_ScheduleOfCertainTermsLineItemsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of Certain Terms [Line Items]", "label": "Schedule of Certain Terms [Line Items] [Line Items]", "terseLabel": "Schedule of Certain Terms [Line Items]" } } }, "localname": "ScheduleOfCertainTermsLineItemsLineItems", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "calx_ScheduleOfCertainTermsTableTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of ranges of cutomer payment term and warranty term.", "label": "Schedule of Certain Terms [Table] [Table]", "terseLabel": "Schedule of Certain Terms [Table]" } } }, "localname": "ScheduleOfCertainTermsTableTable", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "calx_ScheduleOfChangesInAllowanceForDoubtfulAccountsAndProductReturnLiabilityTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule Of Changes In Allowance For Doubtful Accounts And Product Return Liability", "label": "Schedule Of Changes In Allowance For Doubtful Accounts And Product Return Liability [Table Text Block]", "terseLabel": "Changes in Allowance for Doubtful Accounts and Product Reserve" } } }, "localname": "ScheduleOfChangesInAllowanceForDoubtfulAccountsAndProductReturnLiabilityTableTextBlock", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "calx_ScheduleOfGrantDateFairValuesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of Grant Date Fair Values [Table Text Block]", "label": "Schedule of Grant Date Fair Values [Table Text Block]", "terseLabel": "Schedule of Grant Date Fair Values" } } }, "localname": "ScheduleOfGrantDateFairValuesTableTextBlock", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityTables" ], "xbrltype": "textBlockItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardsPercentageOfTotalSubjectToServiceCondition": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Awards Percentage Of Total Subject To Service Condition", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Awards Percentage Of Total Subject To Service Condition", "terseLabel": "Awards percentage of total subject to service condition" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardsPercentageOfTotalSubjectToServiceCondition", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "percentItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Bookings, Target Achievement Performance Threshold, Percent", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Bookings, Target Achievement Performance Threshold, Percent", "terseLabel": "Bookings target achievement performance threshold, percent" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardBookingsTargetAchievementPerformanceThresholdPercent", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "percentItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Employee Termination Period Following Purchase Date To Receive Shares Subject To Risk Of Forfeiture", "terseLabel": "Employee termination period following purchase date to receive shares subject to risk of forfeiture" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeTerminationPeriodFollowingPurchaseDateToReceiveSharesSubjectToRiskOfForfeiture", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "durationItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Maximum Contribution Percent", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Maximum Contribution Percent", "terseLabel": "Maximum contribution percent" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumContributionPercent", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "percentItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income Per Share, Target Achievement Performance Threshold, Percent", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Net Income Per Share, Target Achievement Performance Threshold, Percent", "terseLabel": "Target achievement performance threshold, percent" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNetIncomePerShareTargetAchievementPerformanceThresholdPercent", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "percentItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Offering Periods", "terseLabel": "Number of offering periods" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfOfferingPeriods", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "integerItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Authorized Per Purchase Period", "terseLabel": "Number of shares authorized per purchase period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorizedPerPurchasePeriod", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "sharesItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares", "label": "Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant, Additional Shares", "terseLabel": "Shares available for issuance, additional shares (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantAdditionalShares", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails", "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "sharesItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Number Of Shares Granted If Target Achievement Performance Threshold Not Met", "terseLabel": "Number of shares granted if target achievement performance threshold not met (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesGrantedIfTargetAchievementPerformanceThresholdNotMet", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "sharesItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Offering Period", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Offering Period", "terseLabel": "Offering period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "durationItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Target Achievement Performance Threshold, Percent", "terseLabel": "Shares award target achievement performance threshold, percent" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardTargetAchievementPerformanceThresholdPercent", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "percentItemType" }, "calx_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Shares Award Weighting Percent For Target Achievement Performance Threshold, Percent", "terseLabel": "Shares award weighting percent for target achievement performance threshold, percent" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesAwardWeightingPercentForTargetAchievementPerformanceThresholdPercent", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "percentItemType" }, "calx_SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsOutstandingIntrinsicValueAmountPerShare": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value, Amount Per Share", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value, Amount Per Share", "terseLabel": "Stock options, intrinsic value per share (in dollars per share)" } } }, "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsOutstandingIntrinsicValueAmountPerShare", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "perShareItemType" }, "calx_SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Offering Period", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Offering Period", "terseLabel": "Offering period" } } }, "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardPurchasePriceofCommonStockOfferingPeriod", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "durationItemType" }, "calx_SharesReservedForFutureIssuanceTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the schdule to summarize the number of common shares reserved for future issuance. [Table Text Block]", "label": "Shares Reserved For Future Issuance [Table Text Block]", "terseLabel": "Shares Reserved For Future Issuance" } } }, "localname": "SharesReservedForFutureIssuanceTableTextBlock", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/StockholdersEquityTables" ], "xbrltype": "textBlockItemType" }, "calx_SoftwareMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Software", "label": "Software [Member]", "terseLabel": "Software" } } }, "localname": "SoftwareMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "calx_SystemsProductMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Systems Product [Member]", "label": "Systems Product [Member]", "terseLabel": "Systems" } } }, "localname": "SystemsProductMember", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "domainItemType" }, "calx_TaxesPayableCurrentExcludingAccruedIncomeTaxes": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Taxes Payable, Current, Excluding Accrued Income Taxes", "label": "Taxes Payable, Current, Excluding Accrued Income Taxes", "terseLabel": "Taxes payable" } } }, "localname": "TaxesPayableCurrentExcludingAccruedIncomeTaxes", "nsuri": "http://www.calix.com/20211231", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "country_CN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CHINA", "terseLabel": "China" } } }, "localname": "CN", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPropertyandEquipmentbyGeographicRegionDetails" ], "xbrltype": "domainItemType" }, "country_IN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "INDIA", "terseLabel": "India" } } }, "localname": "IN", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPropertyandEquipmentbyGeographicRegionDetails" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES", "terseLabel": "United States" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPropertyandEquipmentbyGeographicRegionDetails", "http://www.calix.com/role/RevenuefromContractswithCustomersRevenuebyGeographicRegionDetails" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_AuditorFirmId": { "auth_ref": [ "r646", "r647", "r648" ], "lang": { "en-us": { "role": { "documentation": "PCAOB issued Audit Firm Identifier", "label": "Auditor Firm ID", "terseLabel": "Auditor Firm ID" } } }, "localname": "AuditorFirmId", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.calix.com/role/AuditInformation" ], "xbrltype": "nonemptySequenceNumberItemType" }, "dei_AuditorLocation": { "auth_ref": [ "r646", "r647", "r648" ], "lang": { "en-us": { "role": { "label": "Auditor Location", "terseLabel": "Auditor Location" } } }, "localname": "AuditorLocation", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.calix.com/role/AuditInformation" ], "xbrltype": "internationalNameItemType" }, "dei_AuditorName": { "auth_ref": [ "r646", "r647", "r648" ], "lang": { "en-us": { "role": { "label": "Auditor Name", "terseLabel": "Auditor Name" } } }, "localname": "AuditorName", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.calix.com/role/AuditInformation" ], "xbrltype": "internationalNameItemType" }, "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]", "terseLabel": "Cover [Abstract]" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentAnnualReport": { "auth_ref": [ "r646", "r647", "r648" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an annual report.", "label": "Document Annual Report", "terseLabel": "Document Annual Report" } } }, "localname": "DocumentAnnualReport", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "booleanItemType" }, "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "dateItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r649" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "submissionTypeItemType" }, "dei_DocumentsIncorporatedByReferenceTextBlock": { "auth_ref": [ "r644" ], "lang": { "en-us": { "role": { "documentation": "Documents incorporated by reference.", "label": "Documents Incorporated by Reference [Text Block]", "terseLabel": "Documents Incorporated by Reference" } } }, "localname": "DocumentsIncorporatedByReferenceTextBlock", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "textBlockItemType" }, "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r643" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r643" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r643" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r657" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityPublicFloat": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.", "label": "Entity Public Float", "terseLabel": "Entity Public Float" } } }, "localname": "EntityPublicFloat", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "monetaryItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r643" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r643" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r643" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r643" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "employerIdItemType" }, "dei_EntityVoluntaryFilers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.", "label": "Entity Voluntary Filers", "terseLabel": "Entity Voluntary Filers" } } }, "localname": "EntityVoluntaryFilers", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityWellKnownSeasonedIssuer": { "auth_ref": [ "r658" ], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.", "label": "Entity Well-known Seasoned Issuer", "terseLabel": "Entity Well-known Seasoned Issuer" } } }, "localname": "EntityWellKnownSeasonedIssuer", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_IcfrAuditorAttestationFlag": { "auth_ref": [ "r646", "r647", "r648" ], "lang": { "en-us": { "role": { "label": "ICFR Auditor Attestation Flag", "terseLabel": "ICFR Auditor Attestation Flag" } } }, "localname": "IcfrAuditorAttestationFlag", "nsuri": "http://xbrl.sec.gov/dei/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "booleanItemType" }, "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r642" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r645" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "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/2021q4", "presentation": [ "http://www.calix.com/role/Cover" ], "xbrltype": "tradingSymbolItemType" }, "srt_AsiaPacificMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Asia Pacific [Member]", "terseLabel": "Asia Pacific" } } }, "localname": "AsiaPacificMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenuebyGeographicRegionDetails" ], "xbrltype": "domainItemType" }, "srt_ConsolidatedEntitiesAxis": { "auth_ref": [ "r118", "r288", "r292", "r297", "r475", "r476", "r481", "r482", "r533", "r638" ], "lang": { "en-us": { "role": { "label": "Consolidated Entities [Axis]", "terseLabel": "Consolidated Entities [Axis]" } } }, "localname": "ConsolidatedEntitiesAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "stringItemType" }, "srt_ConsolidatedEntitiesDomain": { "auth_ref": [ "r118", "r288", "r292", "r297", "r475", "r476", "r481", "r482", "r533", "r638" ], "lang": { "en-us": { "role": { "label": "Consolidated Entities [Domain]", "terseLabel": "Consolidated Entities [Domain]" } } }, "localname": "ConsolidatedEntitiesDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "srt_EuropeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Europe [Member]", "terseLabel": "Europe" } } }, "localname": "EuropeMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersRevenuebyGeographicRegionDetails" ], "xbrltype": "domainItemType" }, "srt_ExecutiveOfficerMember": { "auth_ref": [ "r197" ], "lang": { "en-us": { "role": { "label": "Executive Officer [Member]", "terseLabel": "Executive Officer" } } }, "localname": "ExecutiveOfficerMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r195", "r359", "r364", "r611" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "terseLabel": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r302", "r333", "r384", "r385", "r544", "r545", "r546", "r547", "r548", "r549", "r568", "r608", "r612", "r639", "r640" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r302", "r333", "r384", "r385", "r544", "r545", "r546", "r547", "r548", "r549", "r568", "r608", "r612", "r639", "r640" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r195", "r359", "r364", "r611" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r190", "r359", "r362", "r571", "r607", "r609" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "http://www.calix.com/role/CreditAgreementsFinancingArrangementsDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r190", "r359", "r362", "r571", "r607", "r609" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "http://www.calix.com/role/CreditAgreementsFinancingArrangementsDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r302", "r333", "r373", "r384", "r385", "r544", "r545", "r546", "r547", "r548", "r549", "r568", "r608", "r612", "r639", "r640" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r302", "r333", "r373", "r384", "r385", "r544", "r545", "r546", "r547", "r548", "r549", "r568", "r608", "r612", "r639", "r640" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r191", "r192", "r359", "r363", "r610", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r637" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails", "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail", "http://www.calix.com/role/RevenuefromContractswithCustomersPropertyandEquipmentbyGeographicRegionDetails", "http://www.calix.com/role/RevenuefromContractswithCustomersRevenuebyGeographicRegionDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r191", "r192", "r359", "r363", "r610", "r623", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r637" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails", "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail", "http://www.calix.com/role/RevenuefromContractswithCustomersPropertyandEquipmentbyGeographicRegionDetails", "http://www.calix.com/role/RevenuefromContractswithCustomersRevenuebyGeographicRegionDetails" ], "xbrltype": "stringItemType" }, "srt_SubsidiariesMember": { "auth_ref": [ "r381", "r529", "r530", "r532" ], "lang": { "en-us": { "role": { "label": "Subsidiaries [Member]", "terseLabel": "Subsidiaries" } } }, "localname": "SubsidiariesMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "domainItemType" }, "srt_TitleOfIndividualAxis": { "auth_ref": [ "r197", "r531" ], "lang": { "en-us": { "role": { "label": "Title of Individual [Axis]", "terseLabel": "Title of Individual [Axis]" } } }, "localname": "TitleOfIndividualAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Title of Individual [Domain]", "terseLabel": "Title of Individual [Domain]" } } }, "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "srt_ValuationAndQualifyingAccountsDisclosureLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]", "terseLabel": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Line Items]" } } }, "localname": "ValuationAndQualifyingAccountsDisclosureLineItems", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAllowanceandProductReturnReserveDetails" ], "xbrltype": "stringItemType" }, "srt_ValuationAndQualifyingAccountsDisclosureTable": { "auth_ref": [ "r119", "r120", "r121", "r123", "r124" ], "lang": { "en-us": { "role": { "label": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]", "terseLabel": "SEC Schedule, 12-09, Valuation and Qualifying Accounts Disclosure [Table]" } } }, "localname": "ValuationAndQualifyingAccountsDisclosureTable", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAllowanceandProductReturnReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]", "terseLabel": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r40", "r536" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 3.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", "verboseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableGrossCurrent": { "auth_ref": [ "r198", "r199" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails": { "order": 1.0, "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before 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, before Allowance for Credit Loss, Current", "verboseLabel": "Accounts receivable" } } }, "localname": "AccountsReceivableGrossCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [ "r624" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r4", "r19", "r198", "r199" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "totalLabel": "Accounts receivable, net", "verboseLabel": "Accounts receivable, net" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails", "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounts Receivable, after Allowance for Credit Loss, Current [Abstract]", "verboseLabel": "Summary of accounts receivable, net" } } }, "localname": "AccountsReceivableNetCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r43" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.calix.com/role/ConsolidatedBalanceSheets": { "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 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", "totalLabel": "Total accrued liabilities", "verboseLabel": "Accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails", "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails", "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current [Abstract]", "verboseLabel": "Summary of accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccruedProfessionalFeesCurrent": { "auth_ref": [ "r7", "r9", "r43" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 12.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 professional fees, such as for legal and accounting services received. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Professional Fees, Current", "terseLabel": "Professional and consulting fees" } } }, "localname": "AccruedProfessionalFeesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r38", "r249" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "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", "negatedLabel": "Accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember": { "auth_ref": [ "r57", "r58", "r59", "r63", "r71", "r72", "r73" ], "lang": { "en-us": { "role": { "documentation": "Accumulated unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent.", "label": "AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-sale, Parent [Member]", "terseLabel": "Unrealized Gains and Losses on Available-for-Sale Marketable Securities" } } }, "localname": "AccumulatedNetUnrealizedInvestmentGainLossMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/AccumulatedOtherComprehensiveLossDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": { "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": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Line Items]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/AccumulatedOtherComprehensiveLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r22", "r61", "r62", "r63", "r597", "r617", "r618" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 4.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", "verboseLabel": "Accumulated other comprehensive loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": { "auth_ref": [ "r71", "r72", "r504", "r505", "r506", "r507", "r508", "r510" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss).", "label": "Accumulated Other Comprehensive Income (Loss) [Table]", "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Table]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/AccumulatedOtherComprehensiveLossDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r60", "r63", "r71", "r72", "r73", "r126", "r127", "r128", "r480", "r613", "r614", "r659" ], "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 Loss", "verboseLabel": "Total" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/AccumulatedOtherComprehensiveLossDetails", "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AccumulatedTranslationAdjustmentMember": { "auth_ref": [ "r56", "r63", "r71", "r72", "r73", "r480", "r505", "r506", "r507", "r508", "r510" ], "lang": { "en-us": { "role": { "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent.", "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]", "terseLabel": "Foreign Currency Translation Adjustments" } } }, "localname": "AccumulatedTranslationAdjustmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/AccumulatedOtherComprehensiveLossDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "auth_ref": [ "r20" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.", "label": "Additional Paid in Capital, Common Stock", "verboseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapitalCommonStock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r126", "r127", "r128", "r419", "r420", "r421", "r486" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r387", "r389", "r425", "r426" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "verboseLabel": "Adjustments to reconcile net income (loss) to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r389", "r415", "r424" ], "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", "verboseLabel": "Stock based compensation" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForCreditLossMember": { "auth_ref": [ "r119", "r120", "r121", "r123", "r124" ], "lang": { "en-us": { "role": { "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "SEC Schedule, 12-09, Allowance, Credit Loss [Member]", "terseLabel": "Allowance for doubtful accounts" } } }, "localname": "AllowanceForCreditLossMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAllowanceandProductReturnReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r26", "r200", "r214" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails": { "order": 2.0, "parentTag": "us-gaap_AccountsReceivableNetCurrent", "weight": -1.0 } }, "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", "negatedLabel": "Allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccountsReceivableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r148" ], "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": "Potentially dilutive shares, weighted-average (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_Assets": { "auth_ref": [ "r112", "r176", "r180", "r186", "r212", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r475", "r481", "r502", "r534", "r536", "r577", "r595" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "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/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "verboseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r5", "r6", "r54", "r112", "r212", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r475", "r481", "r502", "r534", "r536" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 6.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/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "verboseLabel": "Current Assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r489" ], "calculation": { "http://www.calix.com/role/FairValueMeasurementsDetails": { "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", "totalLabel": "Total assets" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "auth_ref": [ "r203", "r205", "r220", "r581" ], "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails": { "order": 1.0, "parentTag": "calx_CashCashEquivalentsAndMarketableSecurities", "weight": 1.0 }, "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.calix.com/role/FairValueMeasurementsDetails": { "order": 2.0, "parentTag": "us-gaap_AssetsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale", "terseLabel": "Marketable securities", "verboseLabel": "Marketable securities" } } }, "localname": "AvailableForSaleSecuritiesDebtSecurities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails", "http://www.calix.com/role/ConsolidatedBalanceSheets", "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r391", "r417" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityAssumptionsDetails", "http://www.calix.com/role/StockholdersEquityESPPDetails", "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails", "http://www.calix.com/role/StockholdersEquityFairValueofAwardsGrantedDetails", "http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails", "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetRelatedDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Balance Sheet Related Disclosures [Abstract]", "terseLabel": "Balance Sheet Related Disclosures [Abstract]" } } }, "localname": "BalanceSheetRelatedDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "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 and Accounting Guidance" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessDescriptionAndAccountingPoliciesTextBlock": { "auth_ref": [ "r125", "r169" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the business description and accounting policies concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Accounting policies describe all significant accounting policies of the reporting entity.", "label": "Business Description and Accounting Policies [Text Block]", "terseLabel": "Description of Business and Significant Accounting Policies" } } }, "localname": "BusinessDescriptionAndAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CapitalizedContractCostAmortization": { "auth_ref": [ "r231" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "Capitalized Contract Cost, Amortization", "terseLabel": "Capitalized contract cost, amortization" } } }, "localname": "CapitalizedContractCostAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsCapitalizedCloudImplementationCostsDetails", "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostAmortizationPeriod": { "auth_ref": [ "r229" ], "lang": { "en-us": { "role": { "documentation": "Amortization period of cost capitalized in obtaining or fulfilling contract with customer, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Capitalized Contract Cost, Amortization Period", "terseLabel": "Capitalized contract cost, amortization period" } } }, "localname": "CapitalizedContractCostAmortizationPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsCapitalizedCloudImplementationCostsDetails", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesContractCostsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_CapitalizedContractCostAxis": { "auth_ref": [ "r230" ], "lang": { "en-us": { "role": { "documentation": "Information by cost capitalized in obtaining or fulfilling contract with customer.", "label": "Capitalized Contract Cost [Axis]", "terseLabel": "Capitalized Contract Cost [Axis]" } } }, "localname": "CapitalizedContractCostAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsCapitalizedCloudImplementationCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CapitalizedContractCostDomain": { "auth_ref": [ "r230" ], "lang": { "en-us": { "role": { "documentation": "Cost capitalized in obtaining and fulfilling contract with customer.", "label": "Capitalized Contract Cost [Domain]", "terseLabel": "Capitalized Contract Cost [Domain]" } } }, "localname": "CapitalizedContractCostDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsCapitalizedCloudImplementationCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CapitalizedContractCostGross": { "auth_ref": [ "r230" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "Capitalized Contract Cost, Gross", "terseLabel": "Capitalized contract cost, gross" } } }, "localname": "CapitalizedContractCostGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostLineItems": { "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": "Capitalized Contract Cost [Line Items]", "terseLabel": "Capitalized Contract Cost [Line Items]" } } }, "localname": "CapitalizedContractCostLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsCapitalizedCloudImplementationCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CapitalizedContractCostNet": { "auth_ref": [ "r230" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "Capitalized Contract Cost, Net", "terseLabel": "Capitalized contract cost" } } }, "localname": "CapitalizedContractCostNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsCapitalizedCloudImplementationCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostTable": { "auth_ref": [ "r230" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about cost capitalized in obtaining or fulfilling contract with customer.", "label": "Capitalized Contract Cost [Table]", "terseLabel": "Capitalized Contract Cost [Table]" } } }, "localname": "CapitalizedContractCostTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsCapitalizedCloudImplementationCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_Cash": { "auth_ref": [ "r35", "r536", "r621", "r622" ], "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. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash", "terseLabel": "Cash" } } }, "localname": "Cash", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Abstract]", "terseLabel": "Cash and Cash Equivalents [Abstract]" } } }, "localname": "CashAndCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r2", "r35", "r104" ], "calculation": { "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails": { "order": 2.0, "parentTag": "calx_CashCashEquivalentsAndMarketableSecurities", "weight": 1.0 }, "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails", "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of cash and cash equivalent balance.", "label": "Cash and Cash Equivalents [Axis]", "terseLabel": "Cash and Cash Equivalents [Axis]" } } }, "localname": "CashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails", "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "calculation": { "http://www.calix.com/role/FairValueMeasurementsDetails": { "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": "Money market funds" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsLineItems": { "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": "Cash and Cash Equivalents [Line Items]", "terseLabel": "Cash and Cash Equivalents [Line Items]" } } }, "localname": "CashAndCashEquivalentsLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsAndMarketableSecuritiesTextBlock": { "auth_ref": [ "r208" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of cash, cash equivalents, and debt and equity securities, including any unrealized or realized gain (loss).", "label": "Cash, Cash Equivalents, and Marketable Securities [Text Block]", "terseLabel": "Cash, Cash Equivalents and Marketable Securities" } } }, "localname": "CashCashEquivalentsAndMarketableSecuritiesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecurities" ], "xbrltype": "textBlockItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r98", "r104", "r106" ], "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 and cash equivalents at end of year", "periodStartLabel": "Cash and cash equivalents at beginning of year" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r98", "r503" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net increase (decrease) in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashMember": { "auth_ref": [ "r12" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Cash [Member]", "terseLabel": "Cash" } } }, "localname": "CashMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommercialPaperMember": { "auth_ref": [ "r287" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails", "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r47", "r269", "r584", "r601" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and Contingencies", "verboseLabel": "Commitments and contingencies (See Note 6)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "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/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r266", "r267", "r268", "r276", "r625" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommitmentsAndContingenciesPolicyTextBlock": { "auth_ref": [ "r283", "r626" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.", "label": "Commitments and Contingencies, Policy [Policy Text Block]", "terseLabel": "Loss Contingencies" } } }, "localname": "CommitmentsAndContingenciesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "auth_ref": [ "r48" ], "lang": { "en-us": { "role": { "documentation": "Aggregate number of common shares reserved for future issuance.", "label": "Common Stock, Capital Shares Reserved for Future Issuance", "terseLabel": "Shares available for future issuance (in shares)" } } }, "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockDividendsPerShareDeclared": { "auth_ref": [ "r340" ], "lang": { "en-us": { "role": { "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding.", "label": "Common Stock, Dividends, Per Share, Declared", "terseLabel": "Dividends declared or paid (in dollars per share)" } } }, "localname": "CommonStockDividendsPerShareDeclared", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r126", "r127", "r486" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity", "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r18" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "verboseLabel": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheetsParenthetical", "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r18" ], "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", "verboseLabel": "Common stock, shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r18" ], "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", "verboseLabel": "Common stock, shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r18", "r335" ], "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, shares", "periodStartLabel": "Beginning Balance, shares", "verboseLabel": "Common stock, shares outstanding (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheetsParenthetical", "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r18", "r536" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock, $0.025 par value; 100,000 shares authorized; 64,274 shares issued and outstanding as of December 31, 2021, and 62,122 shares issued and outstanding as of December 31, 2020" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": { "auth_ref": [ "r371", "r372", "r386", "r428" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans.", "label": "Compensation and Employee Benefit Plans [Text Block]", "terseLabel": "Employee Benefit Plan" } } }, "localname": "CompensationAndEmployeeBenefitPlansTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/EmployeeBenefitPlan" ], "xbrltype": "textBlockItemType" }, "us-gaap_CompensationAndRetirementDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Retirement Benefits [Abstract]", "terseLabel": "Retirement Benefits [Abstract]" } } }, "localname": "CompensationAndRetirementDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r66", "r68", "r69", "r78", "r587", "r603" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income (loss)" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNoteTextBlock": { "auth_ref": [ "r77", "r88", "r586", "r602" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.", "label": "Comprehensive Income (Loss) Note [Text Block]", "terseLabel": "Accumulated Other Comprehensive Loss" } } }, "localname": "ComprehensiveIncomeNoteTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/AccumulatedOtherComprehensiveLoss" ], "xbrltype": "textBlockItemType" }, "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" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "auth_ref": [ "r239", "r242", "r472" ], "lang": { "en-us": { "role": { "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks.", "label": "Computer Software, Intangible Asset [Member]", "terseLabel": "Purchased Software", "verboseLabel": "Licensed Software" } } }, "localname": "ComputerSoftwareIntangibleAssetMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r163", "r164", "r195", "r499", "r500", "r624" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r163", "r164", "r195", "r499", "r500", "r620", "r624" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r163", "r164", "r195", "r499", "r500", "r620", "r624" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskCreditRisk": { "auth_ref": [ "r158", "r593" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for credit risk.", "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]", "terseLabel": "Credit Risk and Inventory Supplier Concentrations" } } }, "localname": "ConcentrationRiskCreditRisk", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r163", "r164", "r195", "r499", "r500" ], "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 of credit risk, percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r161", "r163", "r164", "r165", "r499", "r501", "r624" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r163", "r164", "r195", "r499", "r500", "r624" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r347" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "terseLabel": "Contract with Customer, Asset and Liability" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetNet": { "auth_ref": [ "r344", "r346", "r360" ], "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 with customer, asset" } } }, "localname": "ContractWithCustomerAssetNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r344", "r345", "r360" ], "calculation": { "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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", "totalLabel": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r344", "r345", "r360" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 }, "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_ContractWithCustomerLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue, current", "verboseLabel": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets", "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "auth_ref": [ "r344", "r345", "r360" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 }, "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_ContractWithCustomerLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.", "label": "Contract with Customer, Liability, Noncurrent", "terseLabel": "Long-term portion of deferred revenue", "verboseLabel": "Deferred revenue, long-term" } } }, "localname": "ContractWithCustomerLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets", "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r361" ], "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": "Contract with customer, liability, revenue recognized" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateDebtSecuritiesMember": { "auth_ref": [ "r374", "r382", "r619" ], "lang": { "en-us": { "role": { "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment.", "label": "Corporate Debt Securities [Member]", "terseLabel": "Corporate debt securities" } } }, "localname": "CorporateDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails", "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r82", "r571" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "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 revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfRevenueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cost of Revenue [Abstract]", "verboseLabel": "Cost of revenue:" } } }, "localname": "CostOfRevenueAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "stringItemType" }, "us-gaap_CostOfSalesPolicyTextBlock": { "auth_ref": [ "r370" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for cost of product sold and service rendered.", "label": "Cost of Goods and Service [Policy Text Block]", "terseLabel": "Cost of Revenue" } } }, "localname": "CostOfSalesPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CreditFacilityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Axis]", "terseLabel": "Credit Facility [Axis]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CreditAgreementsLineofCreditDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Domain]", "terseLabel": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CreditAgreementsLineofCreditDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CurrentForeignTaxExpenseBenefit": { "auth_ref": [ "r113", "r455" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails": { "order": 2.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Current Foreign Tax Expense (Benefit)", "terseLabel": "Foreign" } } }, "localname": "CurrentForeignTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "auth_ref": [ "r113", "r455", "r462", "r464" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.", "label": "Current Income Tax Expense (Benefit)", "totalLabel": "Current income tax" } } }, "localname": "CurrentIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "auth_ref": [ "r113", "r455", "r462" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails": { "order": 1.0, "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Current State and Local Tax Expense (Benefit)", "terseLabel": "State" } } }, "localname": "CurrentStateAndLocalTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r162", "r195" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r110", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r316", "r323", "r324", "r326", "r331" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.", "label": "Debt Disclosure [Text Block]", "verboseLabel": "Credit Agreements" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CreditAgreements" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentLineItems": { "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": "Debt Instrument [Line Items]", "terseLabel": "Debt Instrument [Line Items]" } } }, "localname": "DebtInstrumentLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CreditAgreementsFinancingArrangementsDetails", "http://www.calix.com/role/CreditAgreementsLineofCreditDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentTable": { "auth_ref": [ "r45", "r111", "r118", "r299", "r300", "r301", "r302", "r303", "r304", "r306", "r312", "r313", "r314", "r315", "r317", "r318", "r319", "r320", "r321", "r322", "r325", "r327", "r328", "r329", "r330", "r336", "r337", "r338", "r339", "r512", "r513", "r514", "r515", "r592" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer.", "label": "Schedule of Long-term Debt Instruments [Table]", "terseLabel": "Schedule of Long-term Debt Instruments [Table]" } } }, "localname": "DebtInstrumentTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CreditAgreementsFinancingArrangementsDetails", "http://www.calix.com/role/CreditAgreementsLineofCreditDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedGainLoss": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Unrealized Gain (Loss)", "negatedTerseLabel": "Unrealized losses" } } }, "localname": "DebtSecuritiesAvailableForSaleUnrealizedGainLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtWeightedAverageInterestRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average interest rate of debt outstanding.", "label": "Debt, Weighted Average Interest Rate", "terseLabel": "Weighted average interest rate" } } }, "localname": "DebtWeightedAverageInterestRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CreditAgreementsFinancingArrangementsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "auth_ref": [ "r113", "r456", "r462" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Federal Income Tax Expense (Benefit)", "terseLabel": "Federal" } } }, "localname": "DeferredFederalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": { "auth_ref": [ "r113", "r456", "r462" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Foreign Income Tax Expense (Benefit)", "terseLabel": "Foreign" } } }, "localname": "DeferredForeignIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r433", "r434" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 3.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/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r102", "r113", "r456", "r462", "r463", "r464" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails": { "order": 2.0, "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred Income Tax Expense (Benefit)", "totalLabel": "Deferred Income Tax Expense (Benefit)" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredRevenueArrangementTypeAxis": { "auth_ref": [ "r8" ], "lang": { "en-us": { "role": { "documentation": "Information by type of deferred revenue arrangement.", "label": "Deferred Revenue Arrangement Type [Axis]", "terseLabel": "Deferred Revenue Arrangement Type [Axis]" } } }, "localname": "DeferredRevenueArrangementTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredRevenueArrangementTypeDomain": { "auth_ref": [ "r8" ], "lang": { "en-us": { "role": { "documentation": "Category of obligation arising when an entity receives consideration from a customer before achieving certain criteria that must be met for revenue to be recognized.", "label": "Deferred Revenue [Domain]", "terseLabel": "Deferred Revenue [Domain]" } } }, "localname": "DeferredRevenueArrangementTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "auth_ref": [ "r113", "r456", "r462" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails": { "order": 3.0, "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.", "label": "Deferred State and Local Income Tax Expense (Benefit)", "terseLabel": "State" } } }, "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsDeferredIncome": { "auth_ref": [ "r453", "r454" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income.", "label": "Deferred Tax Assets, Deferred Income", "terseLabel": "Deferred revenue" } } }, "localname": "DeferredTaxAssetsDeferredIncome", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets": { "auth_ref": [], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails": { "order": 8.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from intangible assets including goodwill.", "label": "Deferred Tax Assets, Goodwill and Intangible Assets", "terseLabel": "Intangible assets" } } }, "localname": "DeferredTaxAssetsGoodwillAndIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGross": { "auth_ref": [ "r447" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.", "label": "Deferred Tax Assets, Gross", "totalLabel": "Gross deferred tax assets" } } }, "localname": "DeferredTaxAssetsGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsGrossAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Gross [Abstract]", "terseLabel": "Deferred tax assets (liabilities):" } } }, "localname": "DeferredTaxAssetsGrossAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredTaxAssetsLiabilitiesNet": { "auth_ref": [ "r449" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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, without jurisdictional netting.", "label": "Deferred Tax Assets, Net", "totalLabel": "Deferred tax assets" } } }, "localname": "DeferredTaxAssetsLiabilitiesNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": { "auth_ref": [ "r453", "r454" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.", "label": "Deferred Tax Assets, Operating Loss Carryforwards", "terseLabel": "Net operating loss carryforwards" } } }, "localname": "DeferredTaxAssetsOperatingLossCarryforwards", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsOther": { "auth_ref": [ "r453", "r454" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails": { "order": 7.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.", "label": "Deferred Tax Assets, Other", "terseLabel": "Other" } } }, "localname": "DeferredTaxAssetsOther", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment": { "auth_ref": [], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment.", "label": "Deferred Tax Assets, Property, Plant and Equipment", "terseLabel": "Depreciation and amortization" } } }, "localname": "DeferredTaxAssetsPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost": { "auth_ref": [ "r453", "r454" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails": { "order": 6.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.", "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost", "terseLabel": "Stock-based compensation" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": { "auth_ref": [ "r453", "r454" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails": { "order": 4.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities", "terseLabel": "Accruals and reserves" } } }, "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r448" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.", "label": "Deferred Tax Assets, Valuation Allowance", "negatedTerseLabel": "Valuation allowance", "terseLabel": "Valuation allowance" } } }, "localname": "DeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail", "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails", "http://www.calix.com/role/IncomeTaxesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxLiabilities": { "auth_ref": [ "r434", "r449" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.", "label": "Deferred Tax Liabilities, Net", "negatedTotalLabel": "Net deferred tax liabilities" } } }, "localname": "DeferredTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DefinedContributionPlanCostRecognized": { "auth_ref": [ "r383" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost for defined contribution plan.", "label": "Defined Contribution Plan, Cost", "terseLabel": "Company matching contributions, 401(K) Plan" } } }, "localname": "DefinedContributionPlanCostRecognized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/EmployeeBenefitPlanDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r102", "r247" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.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", "verboseLabel": "Depreciation and amortization" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r359", "r362", "r363", "r364", "r365", "r366", "r367", "r368" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersContractAssetsandLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock": { "auth_ref": [ "r391", "r417" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of share-based payment arrangement.", "label": "Disclosure of Share-based Compensation Arrangements by Share-based Payment Award [Table Text Block]", "terseLabel": "Disclosure of Share-based Compensation Arrangements by Share-based Payment Award" } } }, "localname": "DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DomesticCountryMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile.", "label": "Domestic Tax Authority [Member]", "terseLabel": "U.S. Federal" } } }, "localname": "DomesticCountryMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "Earnings Per Share [Abstract]" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r79", "r131", "r132", "r133", "r134", "r135", "r139", "r141", "r145", "r146", "r147", "r151", "r152", "r487", "r488", "r588", "r604" ], "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)", "verboseLabel": "Basic net income (loss) per common share (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareBasicAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic [Abstract]", "verboseLabel": "Net income (loss) per common share:" } } }, "localname": "EarningsPerShareBasicAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasicAndDilutedAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic and Diluted [Abstract]", "verboseLabel": "Computation of basic and diluted net loss per share" } } }, "localname": "EarningsPerShareBasicAndDilutedAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r79", "r131", "r132", "r133", "r134", "r135", "r141", "r145", "r146", "r147", "r151", "r152", "r487", "r488", "r588", "r604" ], "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)", "verboseLabel": "Diluted net income (loss) per common share (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDilutedOtherDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted, Other Disclosures [Abstract]", "verboseLabel": "Weighted-average number of shares used to compute net income (loss) per common share:" } } }, "localname": "EarningsPerShareDilutedOtherDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r148", "r149", "r150", "r153" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "verboseLabel": "Net Income (Loss) Per Common Share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/NetIncomeLossPerCommonShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r503" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.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", "verboseLabel": "Effect of exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r436" ], "calculation": { "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "totalLabel": "Total" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "auth_ref": [ "r115", "r436", "r466" ], "calculation": { "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails": { "order": 1.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).", "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "terseLabel": "Federal statutory rate" } } }, "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r436", "r466" ], "calculation": { "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails": { "order": 9.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.", "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent", "terseLabel": "Valuation allowance" } } }, "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": { "auth_ref": [ "r436", "r466" ], "calculation": { "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails": { "order": 3.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.", "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent", "terseLabel": "Foreign operations" } } }, "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther": { "auth_ref": [ "r436", "r466" ], "calculation": { "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails": { "order": 7.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other nondeductible expenses.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Other, Percent", "terseLabel": "Other permanent items" } } }, "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment": { "auth_ref": [ "r436", "r466" ], "calculation": { "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails": { "order": 11.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research and development expense.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Percent", "terseLabel": "R&D tax credits" } } }, "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseResearchAndDevelopment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost": { "auth_ref": [ "r436", "r466" ], "calculation": { "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails": { "order": 6.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for share-based payment arrangement.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-based Payment Arrangement, Percent", "terseLabel": "Stock-based compensation" } } }, "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes": { "auth_ref": [ "r436", "r466" ], "calculation": { "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails": { "order": 8.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to revisions of previously reported income tax expense.", "label": "Effective Income Tax Rate Reconciliation, Prior Year Income Taxes, Percent", "terseLabel": "Tax true-up" } } }, "localname": "EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "auth_ref": [ "r436", "r466" ], "calculation": { "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails": { "order": 2.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).", "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent", "terseLabel": "Impact of state taxes" } } }, "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": { "auth_ref": [ "r436", "r466" ], "calculation": { "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails": { "order": 4.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.", "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent", "negatedTerseLabel": "R&D tax credits" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017Percent": { "auth_ref": [ "r436" ], "calculation": { "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails": { "order": 10.0, "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Percentage of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to Tax Cuts and Jobs Act.", "label": "Effective Income Tax Rate Reconciliation, Tax Cuts and Jobs Act, Percent", "terseLabel": "Net operating loss expiration" } } }, "localname": "EffectiveIncomeTaxRateReconciliationTaxCutsAndJobsActOf2017Percent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesIncomeTaxRateReconciliationDetails" ], "xbrltype": "pureItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r43" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 9.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": "Compensation and related benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r416" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "verboseLabel": "Unrecognized stock-based compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r416" ], "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", "verboseLabel": "Weighted-average amortization period" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails", "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r416" ], "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 stock-based compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "auth_ref": [ "r416" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for option under share-based payment arrangement.", "label": "Share-based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount", "terseLabel": "Unrecognized stock-based compensation expense" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "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": "Severance and Related Benefits" } } }, "localname": "EmployeeSeveranceMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" ], "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": "ESPP" } } }, "localname": "EmployeeStockMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityAssumptionsDetails", "http://www.calix.com/role/StockholdersEquityESPPDetails", "http://www.calix.com/role/StockholdersEquityFairValueofAwardsGrantedDetails", "http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails", "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [ "r414" ], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Share-based Payment Arrangement, Option [Member]", "terseLabel": "Stock Options" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityAssumptionsDetails", "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails", "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails" ], "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": "Test Equipment", "verboseLabel": "Test equipment" } } }, "localname": "EquipmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails" ], "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/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r0", "r71", "r72", "r73", "r126", "r127", "r128", "r130", "r136", "r138", "r155", "r213", "r335", "r340", "r419", "r420", "r421", "r458", "r459", "r486", "r504", "r505", "r506", "r507", "r508", "r510", "r613", "r614", "r615", "r659" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/AccumulatedOtherComprehensiveLossDetails", "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity", "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FacilityClosingMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Closing of a facility associated with exit from or disposal of business activities or restructurings pursuant to a plan.", "label": "Facility Closing [Member]", "terseLabel": "Facilities" } } }, "localname": "FacilityClosingMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r489", "r490", "r491", "r495" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r489", "r490" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class 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": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]", "terseLabel": "Fair Value, Assets Measured on Recurring Basis" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r314", "r327", "r328", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r382", "r490", "r541", "r542", "r543" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "auth_ref": [ "r489", "r490", "r492", "r493", "r496" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/FairValueMeasurementsDetails" ], "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/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r494" ], "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]", "verboseLabel": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/FairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r314", "r374", "r375", "r380", "r382", "r490", "r541" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel2Member": { "auth_ref": [ "r314", "r327", "r328", "r374", "r375", "r380", "r382", "r490", "r542" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/FairValueMeasurementsDetails" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r314", "r327", "r328", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r382", "r541", "r542", "r543" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementsRecurringMember": { "auth_ref": [ "r494", "r496" ], "lang": { "en-us": { "role": { "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value.", "label": "Fair Value, Recurring [Member]", "terseLabel": "Fair Value, Recurring" } } }, "localname": "FairValueMeasurementsRecurringMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueOfFinancialInstrumentsPolicy": { "auth_ref": [ "r497", "r498" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments.", "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]", "terseLabel": "Fair Value of Financial Instruments" } } }, "localname": "FairValueOfFinancialInstrumentsPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FinancialInstrumentAxis": { "auth_ref": [ "r206", "r207", "r209", "r210", "r211", "r215", "r216", "r217", "r218", "r219", "r221", "r222", "r223", "r224", "r325", "r334", "r485", "r538", "r539", "r540", "r541", "r542", "r543", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r650", "r651", "r652", "r653", "r654", "r655", "r656" ], "lang": { "en-us": { "role": { "documentation": "Information by type of financial instrument.", "label": "Financial Instrument [Axis]", "terseLabel": "Financial Instrument [Axis]" } } }, "localname": "FinancialInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails", "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Useful life" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r239", "r240", "r243", "r244", "r572", "r573" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails" ], "xbrltype": "stringItemType" }, "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r239", "r242" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r243", "r572" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "terseLabel": "Intangible asset" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "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", "verboseLabel": "Furniture and fixtures" } } }, "localname": "FurnitureAndFixturesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GainLossOnDispositionOfAssets": { "auth_ref": [ "r102", "r246", "r251" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property", "negatedTerseLabel": "Asset retirements and write-downs" } } }, "localname": "GainLossOnDispositionOfAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r83" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 4.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and Administrative Expense", "verboseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "auth_ref": [ "r80" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing general and administrative expense.", "label": "General and Administrative Expense [Member]", "verboseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r232", "r234", "r536", "r576" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 2.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", "verboseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": { "auth_ref": [ "r236" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.", "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]", "terseLabel": "Goodwill" } } }, "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillImpairmentLoss": { "auth_ref": [ "r102", "r233", "r235", "r237" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesAdditionalInformationDetail" ], "xbrltype": "monetaryItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r81", "r112", "r176", "r179", "r182", "r185", "r188", "r212", "r288", "r289", "r290", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r502" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "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", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_ImpairmentOfIntangibleAssetsFinitelived": { "auth_ref": [ "r102", "r245" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 5.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of a finite-lived intangible asset to fair value.", "label": "Impairment of Intangible Assets, Finite-lived", "terseLabel": "Loss on asset retirement" } } }, "localname": "ImpairmentOfIntangibleAssetsFinitelived", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": { "auth_ref": [ "r114", "r465" ], "calculation": { "http://www.calix.com/role/IncomeTaxesLossbeforeProvisionforIncomeTaxesDetails": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic", "terseLabel": "Domestic" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesLossbeforeProvisionforIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r76", "r176", "r179", "r182", "r185", "r188", "r575", "r585", "r589", "r605" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 1.0, "parentTag": "us-gaap_ProfitLoss", "weight": 1.0 }, "http://www.calix.com/role/IncomeTaxesLossbeforeProvisionforIncomeTaxesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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 (loss) before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "http://www.calix.com/role/IncomeTaxesLossbeforeProvisionforIncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": { "auth_ref": [ "r114", "r465" ], "calculation": { "http://www.calix.com/role/IncomeTaxesLossbeforeProvisionforIncomeTaxesDetails": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign", "terseLabel": "Foreign" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesLossbeforeProvisionforIncomeTaxesDetails" ], "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/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r252", "r256" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r256" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxAuthorityAxis": { "auth_ref": [ "r440" ], "lang": { "en-us": { "role": { "documentation": "Information by tax jurisdiction.", "label": "Income Tax Authority [Axis]", "terseLabel": "Income Tax Authority [Axis]" } } }, "localname": "IncomeTaxAuthorityAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesTextualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxAuthorityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes.", "label": "Income Tax Authority [Domain]", "terseLabel": "Income Tax Authority [Domain]" } } }, "localname": "IncomeTaxAuthorityDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]", "terseLabel": "Income Tax Disclosure [Abstract]" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r115", "r437", "r445", "r451", "r460", "r467", "r469", "r470", "r471" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "verboseLabel": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r116", "r137", "r138", "r175", "r435", "r461", "r468", "r606" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 2.0, "parentTag": "us-gaap_ProfitLoss", "weight": -1.0 }, "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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)", "negatedLabel": "Income tax benefit", "totalLabel": "Income tax expense (benefit)", "verboseLabel": "Income taxes" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "http://www.calix.com/role/IncomeTaxesComponentsofIncomeTaxProvisionDetails", "http://www.calix.com/role/IncomeTaxesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxPolicyTextBlock": { "auth_ref": [ "r70", "r431", "r432", "r445", "r446", "r450", "r457" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.", "label": "Income Tax, Policy [Policy Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r105" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.", "label": "Income Taxes Paid, Net", "terseLabel": "Income taxes paid" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r101" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 8.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", "verboseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r101" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 5.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, net" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r101" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 9.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", "verboseLabel": "Accrued liabilities" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredRevenue": { "auth_ref": [ "r101" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 10.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", "verboseLabel": "Deferred revenue" } } }, "localname": "IncreaseDecreaseInDeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r101" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 6.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": "Inventory" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "verboseLabel": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "auth_ref": [], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.", "label": "Increase (Decrease) in Other Noncurrent Liabilities", "verboseLabel": "Other long-term liabilities" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r101" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 7.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 assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/AccumulatedOtherComprehensiveLossDetails", "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r142", "r143", "r144", "r147" ], "calculation": { "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails": { "order": 1.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": "Effect of dilutive potential common shares (in shares)" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r238", "r241" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails": { "order": 1.0, "parentTag": "us-gaap_OtherAssetsNoncurrent", "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": "Intangible asset" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r95", "r99", "r105" ], "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": "Interest paid" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "auth_ref": [ "r28", "r227" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails": { "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 merchandise or goods held by the company that are readily available for sale.", "label": "Inventory, Finished Goods, Net of Reserves", "verboseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoodsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r3", "r52", "r536" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "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", "totalLabel": "Total inventory", "verboseLabel": "Inventory" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails", "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory, Net [Abstract]", "verboseLabel": "Summary of inventory, net" } } }, "localname": "InventoryNetAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InventoryPolicyTextBlock": { "auth_ref": [ "r11", "r53", "r107", "r154", "r225", "r226", "r228", "r569" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.", "label": "Inventory, Policy [Policy Text Block]", "terseLabel": "Inventory Valuation and Supplier Purchase Commitments" } } }, "localname": "InventoryPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "auth_ref": [ "r29", "r227" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails": { "order": 2.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", "verboseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterialsNetOfReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsInventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeNet": { "auth_ref": [ "r84", "r86" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after accretion (amortization) of discount (premium), and investment expense, of interest income and dividend income on nonoperating securities.", "label": "Investment Income, Net", "verboseLabel": "Interest expense, net" } } }, "localname": "InvestmentIncomeNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r248" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "verboseLabel": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r525" ], "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": "Lessee, Operating Lease, Liability, Maturity" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r525" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails_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", "terseLabel": "Total future minimum lease payments", "totalLabel": "Total future minimum lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails", "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r525" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails": { "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 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": "2022" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r525" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails": { "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 fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r525" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in 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": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r525" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails": { "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 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": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r525" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in 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": "2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r525" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails_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 payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedTerseLabel": "Less imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r520" ], "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": "Term of contract" } } }, "localname": "LesseeOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LessorOperatingLeasePaymentsToBeReceived": { "auth_ref": [ "r527" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesSubleaseDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease payments to be received by lessor for operating lease.", "label": "Lessor, Operating Lease, Payments to be Received", "totalLabel": "Total future minimum sublease payments" } } }, "localname": "LessorOperatingLeasePaymentsToBeReceived", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesSubleaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears": { "auth_ref": [ "r527" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesSubleaseDetails": { "order": 4.0, "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease payment to be received by lessor for operating lease 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": "Lessor, Operating Lease, Payment to be Received, Year Four", "terseLabel": "2025" } } }, "localname": "LessorOperatingLeasePaymentsToBeReceivedFourYears", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesSubleaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock": { "auth_ref": [ "r527" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of maturity of undiscounted cash flows to be received by lessor on annual basis for operating lease.", "label": "Lessor, Operating Lease, Payment to be Received, Fiscal Year Maturity [Table Text Block]", "terseLabel": "Lessor, Operating Lease, Payment to be Received, Fiscal Year Maturity" } } }, "localname": "LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths": { "auth_ref": [ "r527" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesSubleaseDetails": { "order": 3.0, "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease payment to be received by lessor for operating lease 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": "Lessor, Operating Lease, Payment to be Received, Year One", "terseLabel": "2022" } } }, "localname": "LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesSubleaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears": { "auth_ref": [ "r527" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesSubleaseDetails": { "order": 2.0, "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease payment to be received by lessor for operating lease 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": "Lessor, Operating Lease, Payment to be Received, Year Three", "terseLabel": "2024" } } }, "localname": "LessorOperatingLeasePaymentsToBeReceivedThreeYears", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesSubleaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears": { "auth_ref": [ "r527" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesSubleaseDetails": { "order": 1.0, "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease payment to be received by lessor for operating lease 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": "Lessor, Operating Lease, Payment to be Received, Year Two", "terseLabel": "2023" } } }, "localname": "LessorOperatingLeasePaymentsToBeReceivedTwoYears", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesSubleaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LessorOperatingLeaseTermOfContract": { "auth_ref": [ "r528" ], "lang": { "en-us": { "role": { "documentation": "Term of lessor's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessor, Operating Lease, Term of Contract", "terseLabel": "Sublease, term of contract" } } }, "localname": "LessorOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesSubleaseDetails" ], "xbrltype": "durationItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r42", "r112", "r181", "r212", "r288", "r289", "r290", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r476", "r481", "r482", "r502", "r534", "r535" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "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/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r25", "r112", "r212", "r502", "r536", "r580", "r599" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "verboseLabel": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r44", "r112", "r212", "r288", "r289", "r290", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r476", "r481", "r482", "r502", "r534", "r535", "r536" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "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/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "verboseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCredit": { "auth_ref": [ "r15", "r578", "r594" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.", "label": "Long-term Line of Credit", "terseLabel": "Outstanding borrowings" } } }, "localname": "LineOfCredit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CreditAgreementsLineofCreditDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LineOfCreditFacilityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Line of Credit Facility [Abstract]", "terseLabel": "Line of Credit Facility [Abstract]" } } }, "localname": "LineOfCreditFacilityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityAxis": { "auth_ref": [ "r41", "r111" ], "lang": { "en-us": { "role": { "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit.", "label": "Lender Name [Axis]", "terseLabel": "Lender Name [Axis]" } } }, "localname": "LineOfCreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CreditAgreementsLineofCreditDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityLenderDomain": { "auth_ref": [ "r41", "r111" ], "lang": { "en-us": { "role": { "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility.", "label": "Line of Credit Facility, Lender [Domain]", "terseLabel": "Line of Credit Facility, Lender [Domain]" } } }, "localname": "LineOfCreditFacilityLenderDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CreditAgreementsLineofCreditDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r41" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "verboseLabel": "Revolving credit facility, maximum capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CreditAgreementsLineofCreditDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LossContingenciesLineItems": { "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": "Loss Contingencies [Line Items]", "terseLabel": "Loss Contingencies [Line Items]" } } }, "localname": "LossContingenciesLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingenciesTable": { "auth_ref": [ "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r278", "r279" ], "lang": { "en-us": { "role": { "documentation": "Discloses the specific components (such as the nature, name, and date) of the loss contingency and gives an estimate of the possible loss or range of loss, or states that a reasonable estimate cannot be made. Excludes environmental contingencies, warranties and unconditional purchase obligations.", "label": "Loss Contingencies [Table]", "terseLabel": "Schedule of Commitments and Contingencies" } } }, "localname": "LossContingenciesTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r374" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails", "http://www.calix.com/role/FairValueMeasurementsDetails" ], "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]", "verboseLabel": "Product warranty activities [Roll Forward]" } } }, "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsProductWarrantyActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MovementInValuationAllowancesAndReservesRollForward": { "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": "SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]", "terseLabel": "SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward]" } } }, "localname": "MovementInValuationAllowancesAndReservesRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAllowanceandProductReturnReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MunicipalNotesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Short-term debt securities issued by state, city or local governments or the agencies operated by state, city or local governments.", "label": "Municipal Notes [Member]", "terseLabel": "Municipal securities" } } }, "localname": "MunicipalNotesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails", "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r98" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.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 financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "verboseLabel": "Financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r98" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 3.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/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "verboseLabel": "Investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r98", "r100", "r103" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 4.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/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "verboseLabel": "Operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLossAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Attributable to Parent [Abstract]", "verboseLabel": "Numerator:" } } }, "localname": "NetIncomeLossAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "verboseLabel": "Recent Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "verboseLabel": "Non-cash investing activities:" } } }, "localname": "NoncashInvestingAndFinancingItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r85" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "Nonoperating Income (Expense)", "totalLabel": "Total interest and other expense, net" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "verboseLabel": "Interest and other expense, net:" } } }, "localname": "NonoperatingIncomeExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "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/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "verboseLabel": "Operating expenses:" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r176", "r179", "r182", "r185", "r188" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 3.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 (loss)" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r521", "r526" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating Lease, Cost", "terseLabel": "Rent expense" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r517" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails_1": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 }, "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "terseLabel": "Operating lease, liability", "totalLabel": "Operating lease liability" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseDetails", "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails", "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r517" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 5.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 }, "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails": { "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 current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Accrued liabilities - current portion of operating leases", "verboseLabel": "Operating leases" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails", "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "auth_ref": [ "r518" ], "lang": { "en-us": { "role": { "documentation": "Indicates line item in statement of financial position that includes current operating lease liability.", "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]", "terseLabel": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]" } } }, "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails", "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails" ], "xbrltype": "enumerationSetItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r517" ], "calculation": { "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails": { "order": 2.0, "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0 }, "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Operating leases", "verboseLabel": "Operating leases" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesOperatingLeaseLiabilityDetails", "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r519", "r522" ], "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 lease, payments" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r516" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right-of-use operating leases", "verboseLabel": "Operating lease, right-of-use asset" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails", "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r524", "r526" ], "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, percent" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r523", "r526" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingLossCarryforwards": { "auth_ref": [ "r452" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.", "label": "Operating Loss Carryforwards", "terseLabel": "Operating loss carryforward" } } }, "localname": "OperatingLossCarryforwards", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "auth_ref": [ "r7", "r9", "r10", "r43" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 1.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", "verboseLabel": "Other" } } }, "localname": "OtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsMiscellaneousNoncurrent": { "auth_ref": [], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails": { "order": 2.0, "parentTag": "us-gaap_OtherAssetsNoncurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of other miscellaneous assets expected to be realized or consumed after one year or normal operating cycle, if longer.", "label": "Other Assets, Miscellaneous, Noncurrent", "terseLabel": "Other long-term assets" } } }, "localname": "OtherAssetsMiscellaneousNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r39" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 1.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", "totalLabel": "Other assets", "verboseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails", "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r473", "r474", "r479" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 2.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, attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "verboseLabel": "Foreign currency translation adjustments, net" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r65", "r68", "r71", "r72", "r74", "r77", "r335", "r504", "r509", "r510", "r586", "r602" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "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": "Total other comprehensive income (loss), net of tax" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "verboseLabel": "Other comprehensive income (loss), net of tax:" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r65", "r68", "r473", "r474", "r479" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "terseLabel": "Other comprehensive income (loss)" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/AccumulatedOtherComprehensiveLossDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r57", "r61" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 1.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 gain on available-for-sale marketable securities, net" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilities": { "auth_ref": [ "r583" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other.", "label": "Other Liabilities", "terseLabel": "Other liabilities" } } }, "localname": "OtherLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r46" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "verboseLabel": "Other long-term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails", "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r87" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 2.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)", "verboseLabel": "Other expense, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_OverAllotmentOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Right given to the underwriter to sell additional shares over the initial allotment.", "label": "Over-Allotment Option [Member]", "terseLabel": "Over-Allotment Option" } } }, "localname": "OverAllotmentOptionMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentsForRestructuring": { "auth_ref": [ "r96", "r255" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireMarketableSecurities": { "auth_ref": [ "r204" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.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", "negatedTerseLabel": "Purchases of marketable securities" } } }, "localname": "PaymentsToAcquireMarketableSecurities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r91" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "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": "Purchases of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r391", "r417" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails", "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails", "http://www.calix.com/role/StockholdersEquityFairValueofAwardsGrantedDetails", "http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails", "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails", "http://www.calix.com/role/StockholdersEquityFairValueofAwardsGrantedDetails", "http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r17", "r332" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, Par or Stated Value Per Share", "verboseLabel": "Preferred stock, par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred Stock, Shares Authorized", "verboseLabel": "Preferred stock, shares authorized (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheetsParenthetical", "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r17", "r332" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred Stock, Shares Issued", "verboseLabel": "Preferred stock, shares issued (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheetsParenthetical", "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r17" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred Stock, Shares Outstanding", "verboseLabel": "Preferred stock, shares outstanding (in shares)" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheetsParenthetical", "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r17", "r536" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred Stock, Value, Issued", "verboseLabel": "Preferred stock, $0.025 par value; 5,000 shares authorized; no shares issued and outstanding as of December 31, 2021 and 2020" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r5", "r33", "r34" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 1.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", "verboseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "auth_ref": [ "r92" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the additional capital contribution to the entity.", "label": "Proceeds from Issuance of Common Stock", "terseLabel": "Proceeds from the sale of common stock in connection with public offering, net of expenses" } } }, "localname": "ProceedsFromIssuanceOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLinesOfCredit": { "auth_ref": [ "r93", "r111" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.", "label": "Proceeds from Lines of Credit", "terseLabel": "Proceeds from line of credit" } } }, "localname": "ProceedsFromLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": { "auth_ref": [ "r89", "r90", "r204" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.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", "verboseLabel": "Maturities of marketable securities" } } }, "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r92", "r418" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "verboseLabel": "Proceeds from common stock issuances related to employee benefit plans" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrual": { "auth_ref": [ "r284", "r285", "r582" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsProductWarrantyActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "auth_ref": [ "r43", "r277", "r280" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails": { "order": 6.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": "Current portion of warranty and retrofit" } } }, "localname": "ProductWarrantyAccrualClassifiedCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualPayments": { "auth_ref": [ "r281" ], "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", "negatedLabel": "Utilization of reserve" } } }, "localname": "ProductWarrantyAccrualPayments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsProductWarrantyActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualWarrantiesIssued": { "auth_ref": [ "r282" ], "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", "verboseLabel": "Provision for warranty and retrofit charged to cost of revenue" } } }, "localname": "ProductWarrantyAccrualWarrantiesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsProductWarrantyActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r1", "r64", "r67", "r73", "r97", "r112", "r129", "r137", "r138", "r176", "r179", "r182", "r185", "r188", "r212", "r288", "r289", "r290", "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r473", "r477", "r478", "r483", "r484", "r488", "r502", "r589" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net income (loss)", "totalLabel": "Net loss" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows", "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity", "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r38", "r250" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "http://www.calix.com/role/CreditAgreementsFinancingArrangementsDetails", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r37", "r248" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "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", "verboseLabel": "Property and equipment, gross" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r13", "r14", "r250", "r536", "r591", "r600" ], "calculation": { "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "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", "totalLabel": "Property and equipment, net", "verboseLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "http://www.calix.com/role/ConsolidatedBalanceSheets", "http://www.calix.com/role/RevenuefromContractswithCustomersPropertyandEquipmentbyGeographicRegionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "auth_ref": [ "r36", "r250", "r627", "r628" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy 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, Policy [Policy Text Block]", "terseLabel": "Property and Equipment" } } }, "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r13", "r250" ], "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]", "verboseLabel": "Property and Equipment, net" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r13", "r248" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "http://www.calix.com/role/CreditAgreementsFinancingArrangementsDetails", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.", "label": "Property, Plant and Equipment, Useful Life", "terseLabel": "Useful life of property and equipment" } } }, "localname": "PropertyPlantAndEquipmentUsefulLife", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails" ], "xbrltype": "durationItemType" }, "us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted": { "auth_ref": [ "r16", "r579", "r596" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations.", "label": "Purchase Commitment, Remaining Minimum Amount Committed", "terseLabel": "Purchase commitments" } } }, "localname": "PurchaseCommitmentRemainingMinimumAmountCommitted", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PurchaseObligation": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.", "label": "Purchase Obligation", "terseLabel": "Purchase obligation" } } }, "localname": "PurchaseObligation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CreditAgreementsFinancingArrangementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy": { "auth_ref": [ "r27", "r201" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for determining the allowance for doubtful accounts for trade and other accounts receivable balances, and when impairments, charge-offs or recoveries are recognized.", "label": "Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]", "terseLabel": "Allowance for Doubtful Accounts" } } }, "localname": "ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": { "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": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]", "terseLabel": "Unrecognized Tax Benefits [Roll Forward]" } } }, "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesUnrecognizedTaxBenefitsActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RepaymentsOfLinesOfCredit": { "auth_ref": [ "r94", "r111" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.", "label": "Repayments of Lines of Credit", "negatedTerseLabel": "Payments related to the line of credit" } } }, "localname": "RepaymentsOfLinesOfCredit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r429", "r570", "r641" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 2.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", "verboseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "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]", "verboseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Type of cash and cash equivalent. Cash is 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 [Domain]", "terseLabel": "Cash and Cash Equivalents [Domain]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails", "http://www.calix.com/role/FairValueMeasurementsDetails" ], "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 (RSUs)" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails", "http://www.calix.com/role/StockholdersEquityFairValueofAwardsGrantedDetails", "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestructuringCharges": { "auth_ref": [ "r102", "r253", "r260", "r263" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "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 (benefit)" } } }, "localname": "RestructuringCharges", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails", "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestructuringCostAndReserveAxis": { "auth_ref": [ "r254", "r255", "r263", "r264" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestructuringReserve": { "auth_ref": [ "r255", "r261" ], "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": "Balance as of December 31, 2020", "periodStartLabel": "Balance as of December 31, 2020" } } }, "localname": "RestructuringReserve", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestructuringReserveSettledWithoutCash2": { "auth_ref": [ "r255", "r264" ], "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": "Asset write-down" } } }, "localname": "RestructuringReserveSettledWithoutCash2", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r21", "r340", "r422", "r536", "r598", "r616", "r618" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "order": 5.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)", "verboseLabel": "Accumulated deficit" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r0", "r126", "r127", "r128", "r130", "r136", "r138", "r213", "r419", "r420", "r421", "r458", "r459", "r486", "r613", "r615" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Accumulated Deficit", "verboseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity", "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "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/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "auth_ref": [ "r173", "r174", "r178", "r183", "r184", "r190", "r191", "r195", "r358", "r359", "r571" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.", "label": "Revenue from Contract with Customer, Including Assessed Tax", "terseLabel": "Revenue" } } }, "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "http://www.calix.com/role/RevenuefromContractswithCustomersRevenuebyGeographicRegionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerMember": { "auth_ref": [ "r163", "r195" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "auth_ref": [ "r108", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r369" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue from contract with customer.", "label": "Revenue from Contract with Customer [Policy Text Block]", "terseLabel": "Contract Costs" } } }, "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "auth_ref": [ "r193" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue.", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "terseLabel": "Revenue by Geographic Region" } } }, "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "auth_ref": [ "r108", "r109" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.", "label": "Revenue [Policy Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueRecognitionPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r348" ], "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 expected to be satisfied" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationDetails" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r349" ], "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": "Performance obligations expected to be satisfied, expected timing" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r349" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationDetails" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "auth_ref": [ "r349" ], "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": "Remaining performance obligation, percentage" } } }, "localname": "RevenueRemainingPerformanceObligationPercentage", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPerformanceObligationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_RevenuesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenues [Abstract]", "terseLabel": "Revenue:" } } }, "localname": "RevenuesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "stringItemType" }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "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": "Revenues from External Customers and Long-Lived Assets [Line Items]", "terseLabel": "Revenues from External Customers and Long-Lived Assets [Line Items]" } } }, "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPropertyandEquipmentbyGeographicRegionDetails", "http://www.calix.com/role/RevenuefromContractswithCustomersRevenuebyGeographicRegionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving Credit Facility" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CreditAgreementsLineofCreditDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RoyaltyGuaranteesCommitmentsAmount": { "auth_ref": [ "r574" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount the entity has committed to make for future royalty guarantees.", "label": "Royalty Guarantees, Commitments, Amount", "terseLabel": "Royalty payment commitment amount" } } }, "localname": "RoyaltyGuaranteesCommitmentsAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SaleOfStockConsiderationReceivedOnTransaction": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cash received on stock transaction after deduction of issuance costs.", "label": "Sale of Stock, Consideration Received on Transaction", "terseLabel": "Aggregate net proceeds from stock offering" } } }, "localname": "SaleOfStockConsiderationReceivedOnTransaction", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.", "label": "Sale of Stock [Domain]", "terseLabel": "Sale of Stock [Domain]" } } }, "localname": "SaleOfStockNameOfTransactionDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.", "label": "Sale of Stock, Number of Shares Issued in Transaction", "terseLabel": "Shares sold in offering (in shares)" } } }, "localname": "SaleOfStockNumberOfSharesIssuedInTransaction", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": { "auth_ref": [ "r51" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.", "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]", "verboseLabel": "Accounts Receivable, net" } } }, "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "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]", "verboseLabel": "Accrued Liabilities" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r63", "r509", "r510" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss).", "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "terseLabel": "Schedule of Accumulated Other Comprehensive Income (Loss)" } } }, "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/AccumulatedOtherComprehensiveLossTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfCashAndCashEquivalentsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances.", "label": "Schedule of Cash and Cash Equivalents [Table]", "terseLabel": "Schedule of Cash and Cash Equivalents [Table]" } } }, "localname": "ScheduleOfCashAndCashEquivalentsTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashAndCashEquivalentsTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of cash and cash equivalents.", "label": "Schedule of Cash and Cash Equivalents [Table Text Block]", "terseLabel": "Summary of cash and cash equivalents" } } }, "localname": "ScheduleOfCashAndCashEquivalentsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "auth_ref": [ "r457" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.", "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "terseLabel": "Schedule of Components of Income Tax Expense (Benefit)" } } }, "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [ "r449" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.", "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]", "terseLabel": "Schedule of Deferred Tax Assets and Liabilities" } } }, "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r147" ], "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]", "verboseLabel": "Schedule of net loss per share" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/NetIncomeLossPerCommonShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "auth_ref": [ "r436" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.", "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "terseLabel": "Schedule of Effective Income Tax Rate Reconciliation" } } }, "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": { "auth_ref": [ "r192" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the names of foreign countries in which material long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets are located, and amount of such long-lived assets located in that country or foreign geographic area.", "label": "Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]", "terseLabel": "Property and Equipment by Geographic Region" } } }, "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r239", "r242", "r572" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsIntangibleAssetAcquisitionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": { "auth_ref": [ "r113" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions.", "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]", "terseLabel": "Schedule of Income before Income Tax, Domestic and Foreign" } } }, "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r11", "r30", "r31", "r32" ], "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]", "verboseLabel": "Inventory" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfOtherAssetsNoncurrentTextBlock": { "auth_ref": [ "r39" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of noncurrent assets.", "label": "Schedule of Other Assets, Noncurrent [Table Text Block]", "terseLabel": "Schedule of Other Assets, Noncurrent" } } }, "localname": "ScheduleOfOtherAssetsNoncurrentTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": { "auth_ref": [ "r286" ], "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]", "verboseLabel": "Schedule of Product Warranty Liability" } } }, "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r38", "r250" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsPropertyandEquipmentnetDetails", "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesUsefulLivesofPropertyandEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTable": { "auth_ref": [ "r254", "r255", "r256", "r257", "r263", "r264", "r265" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRestructuringAndRelatedCostsTextBlock": { "auth_ref": [ "r258", "r259", "r262" ], "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 and Related Costs" } } }, "localname": "ScheduleOfRestructuringAndRelatedCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "auth_ref": [ "r75", "r194" ], "lang": { "en-us": { "role": { "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.", "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "terseLabel": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]" } } }, "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomersPropertyandEquipmentbyGeographicRegionDetails", "http://www.calix.com/role/RevenuefromContractswithCustomersRevenuebyGeographicRegionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r391", "r417" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityAssumptionsDetails", "http://www.calix.com/role/StockholdersEquityESPPDetails", "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails", "http://www.calix.com/role/StockholdersEquityFairValueofAwardsGrantedDetails", "http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails", "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails", "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails", "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r396", "r404", "r407" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-based Payment Arrangement, Option, Activity [Table Text Block]", "terseLabel": "Schedule of Stock Options Activity" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock": { "auth_ref": [ "r409" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of employee stock purchase plans, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block]", "terseLabel": "Valuation Assumptions, ESPP" } } }, "localname": "ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r409" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]", "verboseLabel": "Valuation Assumptions, Stock Options" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock": { "auth_ref": [ "r416" ], "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 Compensation Cost" } } }, "localname": "ScheduleOfUnrecognizedCompensationCostNonvestedAwardsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r170", "r171", "r172", "r176", "r177", "r182", "r186", "r187", "r188", "r189", "r190", "r194", "r195", "r196" ], "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": "Revenue from Contracts with Customers" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/RevenuefromContractswithCustomers" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss": { "order": 3.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Selling and Marketing Expense", "verboseLabel": "Sales and marketing" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingAndMarketingExpenseMember": { "auth_ref": [ "r80" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling and marketing expense.", "label": "Selling and Marketing Expense [Member]", "verboseLabel": "Sales and marketing" } } }, "localname": "SellingAndMarketingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r101" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 4.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", "verboseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows", "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1": { "auth_ref": [ "r392" ], "lang": { "en-us": { "role": { "documentation": "Estimated period over which an employee is required to provide service in exchange for the equity-based payment award, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Requisite Service Period", "terseLabel": "Award requisite service period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r392" ], "lang": { "en-us": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period", "terseLabel": "Vesting period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r403" ], "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, shares" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r403" ], "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", "verboseLabel": "Weighted-average grant date fair value per share" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityFairValueofAwardsGrantedDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r402" ], "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", "terseLabel": "Grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]", "verboseLabel": "Weighted average assumptions used to estimate fair value of stock options" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityAssumptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r412" ], "lang": { "en-us": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "verboseLabel": "Expected dividend yield" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r411" ], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "verboseLabel": "Expected volatility" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r413" ], "lang": { "en-us": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "verboseLabel": "Risk-free interest rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityAssumptionsDetails" ], "xbrltype": "percentItemType" }, "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/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityAssumptionsDetails", "http://www.calix.com/role/StockholdersEquityESPPDetails", "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails", "http://www.calix.com/role/StockholdersEquityFairValueofAwardsGrantedDetails", "http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails", "http://www.calix.com/role/StockholdersEquityStockBasedCompensationExpenseDetails", "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails", "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate": { "auth_ref": [ "r417" ], "lang": { "en-us": { "role": { "documentation": "The highest percentage of annual salary that an employee is permitted to utilize with respect to the plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Maximum Employee Subscription Rate", "terseLabel": "Maximum employee subscription rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee": { "auth_ref": [ "r417" ], "lang": { "en-us": { "role": { "documentation": "The highest quantity of shares an employee can purchase under the plan per period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Maximum Number of Shares Per Employee", "terseLabel": "Maximum number of shares employee can purchase during offering period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumNumberOfSharesPerEmployee", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of additional shares authorized for issuance under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Additional Shares Authorized", "terseLabel": "Number of additional shares authorized (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r393" ], "lang": { "en-us": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Number of shares authorized (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r417" ], "lang": { "en-us": { "role": { "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Shares available for future grant", "verboseLabel": "Shares available for future grant under 2019 Plan (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails", "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails", "http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r399" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "terseLabel": "Stock options exercisable (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r399" ], "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", "terseLabel": "Stock options exercisable (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "auth_ref": [ "r406" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Total intrinsic value for exercised stock options" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r401" ], "lang": { "en-us": { "role": { "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period", "negatedTerseLabel": "Stock options forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "verboseLabel": "Stock options granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r405" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Weighted-average grant date fair value per share, stock options (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails", "http://www.calix.com/role/StockholdersEquityFairValueofAwardsGrantedDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r417" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Aggregate intrinsic value, stock options outstanding" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r398", "r417" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Stock options outstanding, ending (in shares)", "periodStartLabel": "Stock options outstanding, beginning (in shares)", "terseLabel": "Stock options outstanding (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails", "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "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, Options, Outstanding [Roll Forward]", "terseLabel": "Stock Options, Number of Shares:" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r397" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Stock options outstanding, ending (in dollars per share)", "periodStartLabel": "Stock options outstanding, beginning (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Stock Options, Weighted-Average Exercise Price Per Share:" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "auth_ref": [ "r407" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value", "terseLabel": "Aggregate intrinsic value, stock options vested and expected to vest" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "auth_ref": [ "r408" ], "lang": { "en-us": { "role": { "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number", "terseLabel": "Stock options vested and expected to vest (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r408" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "terseLabel": "Stock options vested and expected to vest (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": { "auth_ref": [ "r417" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period", "terseLabel": "Shares issued in period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward": { "auth_ref": [ "r388", "r417" ], "lang": { "en-us": { "role": { "documentation": "Number of shares purchased for issuance under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Shares Purchased for Award", "terseLabel": "Shares purchased for award" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r388", "r394" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityAssumptionsDetails", "http://www.calix.com/role/StockholdersEquityESPPDetails", "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails", "http://www.calix.com/role/StockholdersEquityFairValueofAwardsGrantedDetails", "http://www.calix.com/role/StockholdersEquitySharesReservedForFutureIssuanceDetails", "http://www.calix.com/role/StockholdersEquityUnrecognizedStockbasedCompensationExpensesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "verboseLabel": "Stock options exercised (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price", "terseLabel": "Stock options forfeited (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "terseLabel": "Stock options granted (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheOneMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share-based Payment Arrangement, Tranche One [Member]", "terseLabel": "Period One" } } }, "localname": "ShareBasedCompensationAwardTrancheOneMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share-based Payment Arrangement, Tranche Two [Member]", "terseLabel": "Period Two" } } }, "localname": "ShareBasedCompensationAwardTrancheTwoMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "auth_ref": [ "r391", "r395" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.", "label": "Share-based Payment Arrangement [Policy Text Block]", "terseLabel": "Stock-Based Compensation" } } }, "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "auth_ref": [ "r392" ], "lang": { "en-us": { "role": { "documentation": "Percentage of vesting of award under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage", "terseLabel": "Award vesting rights, percentage" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r410", "r423" ], "lang": { "en-us": { "role": { "documentation": "Expected term of 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 Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term", "verboseLabel": "Expected life" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityAssumptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "auth_ref": [ "r417" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Aggregate intrinsic value, stock options exercisable" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r417" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted-average remaining contractual term, stock options exercisable" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r408" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted-average remaining contractual term, stock options outstanding" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r408" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted-average remaining contractual term, stock options vested and expected to vest" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": { "auth_ref": [ "r343", "r428" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).", "label": "Shareholders' Equity and Share-based Payments [Text Block]", "verboseLabel": "Stockholders' Equity" } } }, "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquity" ], "xbrltype": "textBlockItemType" }, "us-gaap_StandardProductWarrantyPolicy": { "auth_ref": [ "r283" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.", "label": "Standard Product Warranty, Policy [Policy Text Block]", "terseLabel": "Warranty and Retrofit" } } }, "localname": "StandardProductWarrantyPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StateAndLocalJurisdictionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Designated tax department of a state or local government entitled to levy and collect income taxes from the entity.", "label": "State and Local Jurisdiction [Member]", "terseLabel": "State" } } }, "localname": "StateAndLocalJurisdictionMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r0", "r50", "r71", "r72", "r73", "r126", "r127", "r128", "r130", "r136", "r138", "r155", "r213", "r335", "r340", "r419", "r420", "r421", "r458", "r459", "r486", "r504", "r505", "r506", "r507", "r508", "r510", "r613", "r614", "r615", "r659" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/AccumulatedOtherComprehensiveLossDetails", "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity", "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "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/2021-01-31", "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/2021-01-31", "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/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r126", "r127", "r128", "r155", "r571" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan": { "auth_ref": [ "r17", "r18", "r335", "r340", "r427" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of capital stock issued (purchased by employees) in connection with an employee stock ownership plan.", "label": "Stock Issued During Period, Shares, Employee Stock Ownership Plan", "terseLabel": "Shares purchased under ESPP (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityESPPDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "auth_ref": [ "r17", "r18", "r335", "r340" ], "lang": { "en-us": { "role": { "documentation": "Number of new stock issued during the period.", "label": "Stock Issued During Period, Shares, New Issues", "terseLabel": "Issuance of common stock in connection with public offering, net of expenses (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesNewIssues", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "auth_ref": [ "r17", "r18", "r335", "r340" ], "lang": { "en-us": { "role": { "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).", "label": "Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture", "terseLabel": "Issuance of common stock under equity incentive plans, net of forfeitures (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r17", "r18", "r335", "r340", "r400" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "negatedTerseLabel": "Stock options exercised (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "auth_ref": [ "r17", "r18", "r335", "r340" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.", "label": "Stock Issued During Period, Value, New Issues", "terseLabel": "Issuance of common stock in connection with public offering, net of expenses" } } }, "localname": "StockIssuedDuringPeriodValueNewIssues", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "auth_ref": [ "r17", "r18", "r340", "r390", "r405" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).", "label": "Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture", "terseLabel": "Issuance of common stock under equity incentive plans, net of forfeitures" } } }, "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r50", "r335", "r340" ], "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 under equity incentive plans, net of forfeitures" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOptionsActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "auth_ref": [ "r17", "r18", "r335", "r340" ], "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", "negatedTerseLabel": "Treasury stock retirement" } } }, "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r18", "r23", "r24", "r112", "r202", "r212", "r502", "r536" ], "calculation": { "http://www.calix.com/role/ConsolidatedBalanceSheets": { "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": "Balance at end of period", "periodStartLabel": "Balance at beginning of period", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/AccumulatedOtherComprehensiveLossDetails", "http://www.calix.com/role/ConsolidatedBalanceSheets", "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "verboseLabel": "Stockholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Note [Abstract]", "terseLabel": "Stockholders' Equity Note [Abstract]" } } }, "localname": "StockholdersEquityNoteAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventMember": { "auth_ref": [ "r511", "r537" ], "lang": { "en-us": { "role": { "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event [Member]", "terseLabel": "Subsequent Event" } } }, "localname": "SubsequentEventMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r511", "r537" ], "lang": { "en-us": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]", "terseLabel": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r511", "r537" ], "lang": { "en-us": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Domain]", "terseLabel": "Subsequent Event Type [Domain]" } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SubsidiarySaleOfStockAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by type of sale of the entity's stock.", "label": "Sale of Stock [Axis]", "terseLabel": "Sale of Stock [Axis]" } } }, "localname": "SubsidiarySaleOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SummaryOfIncomeTaxContingenciesTextBlock": { "auth_ref": [ "r439", "r444", "r446" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months.", "label": "Summary of Income Tax Contingencies [Table Text Block]", "terseLabel": "Unrecognized Tax Benefits Activity" } } }, "localname": "SummaryOfIncomeTaxContingenciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "auth_ref": [ "r55" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.", "label": "Supplemental Balance Sheet Disclosures [Text Block]", "verboseLabel": "Balance Sheet Details" } } }, "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetails" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental disclosures of cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_TaxCreditCarryforwardAmount": { "auth_ref": [ "r452" ], "calculation": { "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.", "label": "Tax Credit Carryforward, Amount", "terseLabel": "Tax credit carryforwards", "verboseLabel": "Research and development credits" } } }, "localname": "TaxCreditCarryforwardAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails", "http://www.calix.com/role/IncomeTaxesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_TechnologyServiceMember": { "auth_ref": [ "r362" ], "lang": { "en-us": { "role": { "documentation": "Technology assistance, including but not limited to, training, installation, engineering, and software design.", "label": "Technology Service [Member]", "terseLabel": "Services" } } }, "localname": "TechnologyServiceMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss" ], "xbrltype": "domainItemType" }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "auth_ref": [ "r206", "r207", "r209", "r210", "r211", "r325", "r334", "r485", "r538", "r539", "r540", "r541", "r542", "r543", "r544", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r650", "r651", "r652", "r653", "r654", "r655", "r656" ], "lang": { "en-us": { "role": { "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms.", "label": "Financial Instruments [Domain]", "terseLabel": "Financial Instruments [Domain]" } } }, "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails", "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockMember": { "auth_ref": [ "r49", "r342" ], "lang": { "en-us": { "role": { "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.", "label": "Treasury Stock [Member]", "terseLabel": "Treasury Stock" } } }, "localname": "TreasuryStockMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockRetiredCostMethodAmount": { "auth_ref": [ "r18", "r335", "r341" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease of par value, additional paid in capital (APIC) and retained earnings of common and preferred stock retired from treasury when treasury stock is accounted for under the cost method.", "label": "Treasury Stock, Retired, Cost Method, Amount", "terseLabel": "Treasury stock retired, value" } } }, "localname": "TreasuryStockRetiredCostMethodAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_TreasuryStockSharesRetired": { "auth_ref": [ "r18", "r335", "r340" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common and preferred stock retired from treasury during the period.", "label": "Treasury Stock, Shares, Retired", "terseLabel": "Treasury stock retired (in shares)" } } }, "localname": "TreasuryStockSharesRetired", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityStockOfferingTreasuryStockRetirementPreferredStockandCommonStockDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_TypeOfRestructuringDomain": { "auth_ref": [ "r254", "r255", "r263", "r264" ], "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/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsRestructuringDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": { "auth_ref": [ "r117", "r374", "r590" ], "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. government agency securities" } } }, "localname": "USGovernmentAgenciesDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails", "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_USGovernmentDebtSecuritiesMember": { "auth_ref": [ "r590" ], "lang": { "en-us": { "role": { "documentation": "Debt securities issued by the United States government.", "label": "US Government Debt Securities [Member]", "terseLabel": "U.S. government securities" } } }, "localname": "USGovernmentDebtSecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/CashCashEquivalentsandMarketableSecuritiesDetails", "http://www.calix.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UnrecognizedTaxBenefits": { "auth_ref": [ "r430", "r441" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrecognized tax benefits.", "label": "Unrecognized Tax Benefits", "periodEndLabel": "Balance at end of year", "periodStartLabel": "Balance at beginning of year", "terseLabel": "Unrecognized tax benefits" } } }, "localname": "UnrecognizedTaxBenefits", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesTextualDetails", "http://www.calix.com/role/IncomeTaxesUnrecognizedTaxBenefitsActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": { "auth_ref": [ "r442" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.", "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions", "negatedTerseLabel": "Reduction for tax positions related to prior year" } } }, "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesUnrecognizedTaxBenefitsActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": { "auth_ref": [ "r438" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.", "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued", "terseLabel": "Accrued interest or penalties for uncertain income tax" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": { "auth_ref": [ "r443" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.", "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions", "terseLabel": "Additions for tax positions related to current year" } } }, "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesUnrecognizedTaxBenefitsActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": { "auth_ref": [ "r442" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.", "label": "Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions", "terseLabel": "Additions for tax positions related to prior year" } } }, "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/IncomeTaxesUnrecognizedTaxBenefitsActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r156", "r157", "r159", "r160", "r166", "r167", "r168" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/DescriptionofBusinessandSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": { "auth_ref": [ "r449" ], "calculation": { "http://www.calix.com/role/ConsolidatedStatementsofCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.", "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount", "negatedTerseLabel": "Deferred income taxes" } } }, "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesBalance": { "auth_ref": [ "r119", "r124" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount", "periodEndLabel": "Balance at End of Year", "periodStartLabel": "Balance at Beginning of Year" } } }, "localname": "ValuationAllowancesAndReservesBalance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAllowanceandProductReturnReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": { "auth_ref": [ "r122" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense", "terseLabel": "Additions Charged to Expenses or Revenue Net of Recoveries" } } }, "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAllowanceandProductReturnReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesDeductions": { "auth_ref": [ "r123" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction", "negatedTerseLabel": "Write Offs and Returns" } } }, "localname": "ValuationAllowancesAndReservesDeductions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAllowanceandProductReturnReserveDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ValuationAllowancesAndReservesDomain": { "auth_ref": [ "r119", "r120", "r121", "r123", "r124" ], "lang": { "en-us": { "role": { "documentation": "Valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]", "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]" } } }, "localname": "ValuationAllowancesAndReservesDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAllowanceandProductReturnReserveDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ValuationAllowancesAndReservesTypeAxis": { "auth_ref": [ "r119", "r120", "r121", "r123", "r124" ], "lang": { "en-us": { "role": { "documentation": "Information by valuation and qualifying accounts and reserves.", "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]", "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]" } } }, "localname": "ValuationAllowancesAndReservesTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/BalanceSheetDetailsAllowanceandProductReturnReserveDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VestingAxis": { "auth_ref": [ "r417" ], "lang": { "en-us": { "role": { "documentation": "Information by vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Axis]", "terseLabel": "Vesting [Axis]" } } }, "localname": "VestingAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VestingDomain": { "auth_ref": [ "r417" ], "lang": { "en-us": { "role": { "documentation": "Vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Domain]", "terseLabel": "Vesting [Domain]" } } }, "localname": "VestingDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/StockholdersEquityEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r140", "r147" ], "calculation": { "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails": { "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 common shares - diluted (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r139", "r147" ], "calculation": { "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (in shares)", "verboseLabel": "Weighted-average common shares - basic (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/ConsolidatedStatementsofComprehensiveIncomeLoss", "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]", "verboseLabel": "Denominator:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.calix.com/role/NetIncomeLossPerCommonShareBasicandDilutedSharesCalculationDetails" ], "xbrltype": "stringItemType" } }, "unitCount": 5 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e7018-107765" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3044-108585" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4297-108586" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=SL98516268-108586" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(c))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(f))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column B))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C(1)))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C(2)))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column C)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column D))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-09(Column E))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24092-122690" }, "r125": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1448-109256" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1505-109256" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1252-109256" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1707-109256" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1757-109256" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1500-109256" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1337-109256" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e3842-109258" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e4984-109258" }, "r153": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "270", "URI": "http://asc.fasb.org/extlink&oid=124437754&loc=d3e543-108305" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(25))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592" }, "r169": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "http://asc.fasb.org/topic&trid=2134479" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8657-108599" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8844-108599" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8924-108599" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8981-108599" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9031-108599" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "a", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9054-108599" }, "r196": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5144-111524" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=124260329&loc=d3e26610-111562" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=124260329&loc=d3e26853-111562" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27232-111563" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "5A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=SL120269820-111563" }, "r208": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "320", "URI": "http://asc.fasb.org/topic&trid=2196928" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "321", "URI": "http://asc.fasb.org/extlink&oid=123583765&loc=SL75117539-209714" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "321", "URI": "http://asc.fasb.org/extlink&oid=123583765&loc=SL75117539-209714" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "321", "URI": "http://asc.fasb.org/extlink&oid=123583765&loc=SL75117539-209714" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919244-210447" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919253-210447" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919258-210447" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124258926&loc=SL82898722-210454" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922888-210455" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922895-210455" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=116847112&loc=d3e4556-108314" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.BB)", "Topic": "330", "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729" }, "r228": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "http://asc.fasb.org/topic&trid=2126998" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=123353750&loc=SL49131251-203054" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=123353750&loc=SL49131252-203054" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=123353750&loc=SL49131252-203054" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16373-109275" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=123351718&loc=d3e2443-110228" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=109237686&loc=d3e17752-110868" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.3)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.3)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140864-122747" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.4(b)(2))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.P.4)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(1))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(b)(2))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308" }, "r268": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14394-108349" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14453-108349" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14472-108349" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349" }, "r276": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123377177&loc=d3e11281-110244" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=124440162&loc=d3e12021-110248" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=124440162&loc=d3e12053-110248" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12524-110249" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(2))", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "((c)(3))", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(5)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123368208&loc=d3e12565-110249" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=99376301&loc=SL5988623-112600" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r32": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "69E", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(7))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "69F", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612" }, "r331": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "http://asc.fasb.org/topic&trid=2208564" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21463-112644" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21475-112644" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21506-112644" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21521-112644" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21538-112644" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(8))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655" }, "r343": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130531-203044" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130532-203044" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130533-203044" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.1)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130561-203045" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130563-203045" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130563-203045" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130564-203045" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130543-203045" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r369": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.13)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "705", "URI": "http://asc.fasb.org/topic&trid=2122478" }, "r371": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "710", "URI": "http://asc.fasb.org/topic&trid=2127225" }, "r372": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "712", "URI": "http://asc.fasb.org/topic&trid=2197446" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.14)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(n)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "70", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=49170846&loc=d3e28014-114942" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948" }, "r386": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "715", "URI": "http://asc.fasb.org/topic&trid=2235017" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=123468992&loc=d3e4534-113899" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b),(f)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)-(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11149-113907" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122142933&loc=d3e11178-113907" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "25", "SubTopic": "40", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=109244457&loc=d3e16649-113920" }, "r428": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "10B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=SL37586934-109318" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32247-109318" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e32280-109318" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r444": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32840-109319" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32847-109319" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32559-109319" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32621-109319" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32632-109319" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r460": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.3)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r471": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569616-111683" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569643-111683" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r477": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r479": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r480": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684" }, "r481": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123477628&loc=d3e90205-114008" }, "r486": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r488": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29,30)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(1)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19279-110258" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "6A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=SL6742756-110258" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "60", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=7493716&loc=d3e21868-110260" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13279-108611" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611" }, "r501": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3,4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901" }, "r512": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28541-108399" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629" }, "r515": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "835", "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r517": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r518": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918631-209977" }, "r519": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r520": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918673-209980" }, "r521": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r523": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r524": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r525": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918701-209980" }, "r526": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971" }, "r527": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=124258985&loc=SL77919396-209981" }, "r528": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=124258985&loc=SL77919359-209981" }, "r529": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r530": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r531": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864" }, "r532": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864" }, "r533": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=124437977&loc=d3e55792-112764" }, "r534": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r535": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r536": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766" }, "r537": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r538": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(i)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r539": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)(ii)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.9)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r540": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r541": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r542": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r543": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r544": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r545": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r546": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r547": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r549": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r55": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "210", "URI": "http://asc.fasb.org/topic&trid=2122208" }, "r550": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r551": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728" }, "r552": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729" }, "r553": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746" }, "r554": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746" }, "r555": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746" }, "r556": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)(i)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122625-111746" }, "r557": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r558": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r559": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a),(b),(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r560": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(4)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r561": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(5)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r562": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(6)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r563": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(a)(7)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r564": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(b)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r565": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r566": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r567": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "50", "Subparagraph": "(e)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=125521744&loc=d3e122739-111746" }, "r568": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=123353855&loc=SL119991595-234733" }, "r569": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "330", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=6471895&loc=d3e55923-109411" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r570": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433" }, "r571": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r572": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r573": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004" }, "r574": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Topic": "928", "URI": "http://asc.fasb.org/extlink&oid=6473578&loc=d3e63223-108013" }, "r575": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "http://asc.fasb.org/extlink&oid=123384075&loc=d3e41242-110953" }, "r576": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r577": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r578": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r579": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(17))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r580": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r581": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(6))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r582": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15(5))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r583": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r584": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r585": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r586": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r587": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r588": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r589": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r590": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=d3e62557-112803" }, "r591": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630" }, "r592": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823" }, "r593": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123345438&loc=d3e61044-112788" }, "r594": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(16))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r595": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r596": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(19))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r597": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r598": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r599": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6801-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r600": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r601": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r602": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r603": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r604": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r605": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r606": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r607": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438" }, "r608": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439" }, "r609": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e637-108580" }, "r610": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441" }, "r611": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441" }, "r612": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117819544-158441" }, "r613": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r614": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r615": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r616": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r617": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r618": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r619": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124508989&loc=d3e19393-158473" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e681-108580" }, "r620": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195" }, "r621": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=118262064&loc=SL116631418-115840" }, "r622": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=118262064&loc=SL116631419-115840" }, "r623": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "http://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014" }, "r624": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=123364037&loc=d3e3115-115594" }, "r625": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629" }, "r626": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "450", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=6491354&loc=d3e6049-115624" }, "r627": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99779-112916" }, "r628": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "http://asc.fasb.org/extlink&oid=120429125&loc=d3e99893-112916" }, "r629": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669686-108580" }, "r630": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r631": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r632": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r633": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r634": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r635": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r636": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r637": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r638": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 4))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r639": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "http://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r640": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "http://asc.fasb.org/extlink&oid=123360121&loc=d3e27327-108691" }, "r641": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756" }, "r642": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r643": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r644": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-23" }, "r645": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r646": { "Name": "Form 10-K", "Number": "249", "Publisher": "SEC", "Section": "310" }, "r647": { "Name": "Form 20-F", "Number": "249", "Publisher": "SEC", "Section": "220", "Subsection": "f" }, "r648": { "Name": "Form 40-F", "Number": "249", "Publisher": "SEC", "Section": "240", "Subsection": "f" }, "r649": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r650": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402" }, "r651": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)" }, "r652": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)" }, "r653": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(3)" }, "r654": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(i)" }, "r655": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(ii)" }, "r656": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(iii)" }, "r657": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r658": { "Name": "Securities Act", "Number": "230", "Publisher": "SEC", "Section": "405" }, "r659": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e557-108580" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6911-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL116659661-227067" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(1))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(4))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7(a),(b))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.8)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r88": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "220", "URI": "http://asc.fasb.org/topic&trid=2134417" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3151-108585" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3367-108585" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3367-108585" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3000-108585" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3521-108585" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585" } }, "version": "2.1" } ZIP 94 0001628280-22-003338-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001628280-22-003338-xbrl.zip M4$L#!!0 ( -V!5E1/XN<5N/$" + 9'@ 1 8V%L>"TR,#(Q,3(S,2YH M=&WLO6E76TFR+OS]_ J]]#WG5JU5LG,>W-6^"S,UU99P ;8;[GJ75PZ1L+$& M>DMB^O4W+W9>-]7X8=:$W;*R5X(80&^?%\+CQ-L+@?2.5_6[C;;]\ M7YRY9K,Z9JU_>ED61\?#!B.,?;*Q?!8@1LU=; (UKBF2%DW/@F]JSJSDS@IE MXF]'SX@*%*(Q3<=5; KK5=,G)9N!4") DB M)):<2-[GRQX/\>GP"7N#9X-R^(^5X^'P]-G3I\D-_)-^>?04OWR*MTJ;A#8Y M79GL6@SZ@E']8??S\_,G%[[L5(J773=$=/))2).P)F73D^">[__B+O-F[P8PV?W&GN>\ MVH]::Y]>Y-?%H+AM1SPA??KOULN]< Q=URQZ@Z'K!?AP%%XX?CSP^GVH MI^.-TUU#?]0;EI'+4/WLZV5B]L _G_NPQ;]Q\WGK]-HJ_PNV3VT84 MFGCI&T=,;^6O@*"R2_*=Q0G?L_HMKU6I/ MW-Y&3BF+,+[^Q7 7TC]6"K":6J,#,H(6()6-SA%%$Z'>69[XN_5\*P3_U_SX M2GNNFR\-Q;.-'M[?Y1H^3NDZV[T(%_^"RY5&$?'4D;^Y].O]LY=L]^R MT;Q M9./L<,N>['0WQ,'5:WKP]L_+-GMSW-K_D[?8:]EB+=K::I$#=G!YV-T@A]T_ MBI>\W3FX.CW>V6K1]MO-]ZV3V#G8WR#MJW9G9[]]TMY_<=+>:G=;WZ\_>.XO;[9.3PY?M]>W\;]-O%< M1Y<'W[WY<[;S>*@V[H\W#J0!WC_K;=ONCM;?Y+6R9^X MSVNQL_Y'HN7RYOS%L[9$+_,W;^ZN7[X+!MQZ#:&HJD*2!RZ9U$IK* M$X(0":1?NO*<(!T(HO"_WY_> /4A,5Y%4Q2S.=KLN*,EME_#EGZ&K5<^*+2[ MS:2];0H%I.DIB&9PBCHJM0Z05IXGUQG (\(Z=3(VBP%2S@&X%,3KIG&$-S4@Q,1SR;U<>9Y!F!F^K_#\_;A$^$X(\\_I M&9UCHJ5OBGS2\'",\6W!%J[#=T-WL[70/Q.'ZGY>M M_6U\X:TKO,Y%:_U(M-=7KPZZ!_GZ['#]/0K AGS)=SOPS]W+P[?QU#.A)H!> MM$[^>']PU;IHKV^<(["DM=XN#D_>'!^N'[Y'0>BV]CL)A>>\O?HNF:0)6-*T M*1E40.&;WIC8M(1;"2SR1,G*\U?TF_#Y ?U;XG,-GYW5=]$9%AFW3>X \7$D M-@W(T$PJ"6I,\)9D?/@WX:,=$"EIM-XHH:E#MU<2!X&*J*2-9HG/G?"Y0/VA M-*84-32U# 2]3\6;+H>]-B;I6&"0P"(^\IOP()3C!@R?+-&6 EX7S12<'AJ.R1+3VAFX(&;:=M%GT7"\4Z)#T!T4. MZS%+Z#1PV<53MM>F:+ZF.V\/NP9QZ^K]!:)Y MV=YZ<]*^.KC8V=\^1S31)[GH[)R\OCI$GP1]&7JX=7BRL[[;;6UEO^8U:[U% MWX)MX_>O17L_R.DQ>*W1(7NMVOMXK^C['.R_>7_8;>$Q!^<'^T?DZ)M: ('W10<7-,+)9L.K&%"6.,] M6WG^]2S9WU9#*$<0I_@5,)@@^$UZ#X()SC2+D:/>,TF"C4V!@#4]8P*- "62":.%D8\G13\[%Z'U6#T[[/UQ M?'AU^KZU'Z[0(M#V5NLSR]H =GG1.,-[I8"S3:;/7O+5FR<';/P88 M[[#V>NMJY^WV9?OM[LGAR2I!B6,[6QOGK:O5J]9ZMC@;K-5]<_+AF'__<>R[ M$27P@*#]D@3Q$<5(&: ^>I>8(L(8L(D:0*ZT M1A";O/FR&.W"&?1&L M=5_10FM _K'+1O0 [OE,<J\O8_X M[V^(G?U=C*];[.!J&QEB SV:UZ2U-Y6OTP*W=]'303G;Q1@CKGK?4#@DSTN7QA?(_W@)[. 4$&[*(+>GEPCJKY^T3 MO'8E7]O##_9N(E])RLB,M4TAD*L$1-,T'B5-AJ2(45$KYU:>?YYI>7HS(5ZB M3XO"%&!P2QX_#VX\&U1C+BA&C6JPX]GP\A3%8U!T3SMY)*/Z[KC,4G8C9?_D M8A#Q%$]OGF-\_8\7G=S#H#\JJT_5$,JSB>B.!>-[XL_IB:#*RT\_%3%_3@64 MC>J&X-:1E[7M?]W,,']Z\//I5S?/?EK)^?338.C*X3IR[/.I*A,Z/>[CM@^W M&3_N2EF3TX^7&&^9?IY>Y.F-%W7K>R.:2QN\UUH3X3$4]-J M_@K&>EC&*L\ MT83-P>L:#XT-)R]+-PG[<*+)EKN]@5&O&#_^J)*^\9==-("C$IY/QDV?O=Y; MGQX^W33]G(^_]6TJS8%S&17-(\4TH6-)C(LR41:-2K)ZF]FAL_/U-ED>LR7V M!]_FX-BADG[V0B?B7&W\YC?Z#9[-7+W13S3TV][H30V]>X0P5V^ _,@;N*ZA MZ!KL9>'Y\'BQ.,/;NKYK9;?WKS[ MKTD^Y6B;I1)!)Q ^".NI"-*B'Z:81G,W XLV>6PXRB'!^&/$BUV<=HI0#%O0 M]7B)6'1S7)!+=0;E<)HXW"GWH#PK JQ>%$@154YQ[W* T<5@LL?X\-^?WGK6 M#Z_KP\5K85VM)0"$H4&E6FB0C@;"HM84W3%"4ZHP)%,,'T6)ZXPAN3N&Y-XP M#"X*Z:P,8(PP#/E7B:ASD1A:=P8V8TCM!$-JEQC^)8;4WAE#W/6^,*3,6QVX M%PB9,$E9A]XNU\1JAXX:][7FTFD,O@_AN-?O](\N)YL7D5&3CXY%Z4S0F5&I M-T;K%"A/(D9KH=:,.BLD9\*KD@C@GB;M T;5&2$Y M&W:5WE'C#)I%0="O22Y)SU-,$#FECND9Z&0M-,!)08D47DK&A8GXTD+D!"V2 M=1BT)#(##:B%O.$+P;B(&,450PY!*ZX2)3$Z204WTN:(F)IY)(PI+7P85\EC M],/+M7[WM-_#CX.;[('?=_N]O6$_O+]_WO@8JE-S;\D*#@'_H?@20&@B.#30 M&.TH8P@+D82%@68UQFH4S'5>N2)N]];<:3%TG9K Y )U7C,>\W05$I.QR@?K M/-7<6&K%XL 4PJ@[ZN1Y03O#8RCS?B44F M>K1'A!@W2?TO!#[[997HO*R36=(Q$1\?4J\<#9V;T M$0EWW)@\,"I4T)X&YJW(CI,@5H8:1%OS:J%G[Q!;H#%H9H761MC@4= CCP) M@_5:SR*0J+-G/'M @=E 2!+.0RY)U!:5U%LBHT)\GRZP$0JPP1G-P"ZBF,W&_9P\T,]ZJ*"4+0@OJ@N/$*.^B31A<$>DJ M=V,1\'VL!(6]-S\(0''B18A<2&$P?*+*!*\%>"9D\+ PT,PB07%_,''OT$]' M&"0%I$K\9U&3M"$7QA\'B]!<7_@(,T%PH-%GR$) MIJ4W'JC2A@HKC8SQ\<"9U1L@ED06G#8J3WWT>:*WQ/? I7*!:V]K,+ _KQ9Z M]B.=,3'0")E R& :6M%\CRJ),$+RNM0!S=/GO'L <6X)@669ZIS+V2BCCD= M4G NH*J:<2B[6( ^L%69 TA-%&AZ!)5,Y5%U1STA@6GN1 2IW>)!^K@YI]F@ MRJF0X&ADZ%T(%JW-#91,$+:JNS)\\5"=>M]S5^Y.3P3/)4F)$0D"1*MT1Z,MHK0@)I)Y,) ,X."PL=3Y6+5B(4U6>, 4%83+[>2%@FFW.Z1XA(UZSF 0:-,T$!&M$S/&% M]]1)X#PN#&2/F7.Z3^8C-$&J\DP8YREG!$F*:,>$,VBO'G'N8KVC@P"JLIS/9(/ M7G M#*>6ZA@U_I$K>YU2BX?J[,/SF0#M.)(N))<<8NUE]$D8!59[B9&%5_KQ M^EC4F88?I,%&%-1+PA03T0K/A35&.YMR,RQ!@F,+ \TLPO/[@\D9RXC!0!R# M/B$5^C08L$M(2J4HF">+ ].,P_/[@RQ$20(Q3@0CA(K6,\:YT,8;KE,@<6$@ M>]3P_/[PT:@X$>,_KQ,38)5WCD:,%;PET0=0"X//XX7G]P?.]W2\GS.4\OSX M7=<[FDR*SQ];1:_HCKJ+Z.)]3XOU&@#F+A85,.^%9L)8J] \!=2T0)U)Q$CC M*4MRCCV*#,Q:OS?H=XJ8_82-?%L%##["MC?R@R(6KL1OOX+=G:[V@6BWH']4 MNM/C(KC.M1Y"+TIW5736CHN>6^W%U[T"[^I?: IC_P%$YV'\2^*=IUXQFPRJ M+W@=8I!6@*8I1ENG!,L75P)X<9E75?LL8#L=#:'\L-,BJOKW+*^P2.#N]=/P MW)48/J!Z'.6FW:N# 7P-ZJ6!O]EW1!(T&)&(2*S0@%:"ZF"DCM0:]*3KT)&Q M+D*TN$Z'<&!,[I"25!0N.9OC+P(Z $$/1"RLF5EH\V(DXU&:B' YH67T-GHF M(5DN0W!I89EAZB)]M%P M[^8W4OC X6YPC"#E7QG1,]>Y)76/&VOBK'OE$ ]4,VZED)98RS@#X?(8*:I@ M#4KJY@*0>RR>BZ =I9::1(70WDC)HK)1QJ1\GA"P&!K2[W:AK%;!Q!& M997HK8D"$V^J?0=G+IZZE*FDBA$V4<.:]H,P[PVE(R3,>A->3 M\I?:J]*,8+H_;?*)!JX-_A>L0.9SJ%C*4H4QD8%D:E#G]V&ASVU\"^4H'[T( M09#TD4LOHU$N"*>LC8)Q9I1A@@HN:F"*Y@J8^],8(7G$0-2JY)#A)/< TAKN M,0YRRDFY !I3?^,C&'#&@7I.1++2>J:MP8"($50G58-Y=O.*T3W&0TD'3225 MDB:DMF"2 LJ5YT"44+$&\= W8;1Z!+@O#&JI3]Z@;V"E(XHCZ3GG$"SM(??A M1\ ,73!]F@%6]Z=7"D1DFA&O$A5,,I-[M":>:P$4Y'6*ZJ]7]4XR6! \:.ZC M,A$=".:294(EJZ-BUJ<:I+?G$J![G*5/3 J))U0@M$P"7&ZQX$&HW!/7RQJ4 MF7\5H-:HAVM\;+(^02;)?QGA)[ MY2=%)-.=K^TZV,TD5Q:]HQ^M+GO D9#O>1T?_OPGOF!7AN/+EW &G2^\D>W> MZ6@XJ/:@-2&5H#QCD@:4825LLCXZ0Q-%SU90]'27POLS"B^KB? :+X4+1F:! M%3&!\\"%(C8FY2A/=_A3".S?RHBG8@#+"/!7<@F%:_+"Y3P(ZDD=BB_K M*#;?-DR]M-FW""ZC0GNB"*9,4X(,3EZ;*""B^(%QBE@*+*&B-)+4KI M:B@K/SQNOS38M_$>B4%B.&($6/S'0@F)>"5:'>JH: MBL_W51 M;?DM BRM]! !9$9DR18$W.K>BX(=U92CA?@284DE;!+ MF7D(F?FF\L6EL;Y-;C5P:QB%F((@5!J.?SEFO?3:NK3T-G\RN:V+C7;4T, M MI]18(6@P*+-1Y ZU3)@8ER,\LY?;>1$5%O)J4-$H "XPHC;> 0H/13P3Q+ < M4UG:R*]P3221405(+0$#VN2B55[8Q$ "B77H;KB@ E078V64D93$F(B2@HM@ ME9.:.:YDRG,DEP'E'&)&4DI2YR[66N26M<8HSWUBAC(7A-4UF/PU?TI?]WD: M#VNQ[K'7@1=&<620<;%H*[UP.02UE^1991A/)/0TQ6>&J M_C<\!NXDUURS$$$L97DI0']=6Y)B$+G?=MYS_LMMDOUTJ(Q?!E?U"7V=V V"!.E&NT M8BQ8&Q,P9?&S35R1.BU%,Z^XS7[! $=M(CXX@N]<2'1- A7.>"E3C$+586;! MO&+[,".B(46E2=#""^&J%C(FYO*4Q"$P4X/F@'>%JUJL;6]C;0_O,HXZ0!FQ MD[U>E?TX"L-=&([*7EW8E$3+%9-:>9T$-]S0D +UR9*,8& +R*8SA'#VQ KX MTCTH(UP4(A%A3(((A-*D&8"M0;?(&L#\,-V&!-5*VR!XL +]'1]98'F%5$D3 M2:G*,E.[",C-SB12>W]M69EW@H$'RZ-@)AGE3+3$6 '9C1DO:46FQ+H0MG&F M;BJY.YN2>V-33;QRX%)2E5YJ%XA&2*WR1&MC^.+HY%RPZ3VJ9S31:0X0N(DB M3R<)-.C P041O6>P@.HY+W[/3#35 XN:"R"6"T&],2I&0-\7M51:2\;6TRP" MS#.TGN8>%Y,V-I#<245H(:)SP?.(<3_R:@C,QJR>U$[4*) M$XXFE;@-FJ+C$Q90/>?$>LY&4SEU)+@@"7-.)"LP]B0A1L\\5URH&DR_G9>U MEA^F?HB0:)CB>1A$*(+D*:PV-.4%E5-T-4B_SB$\]Y=C=8!!81Z7-EX(PJ*A M7,;+B_Q77<9YB-0L2:%)I$$H1ZQF0"+:(4.HAE2#A2KG M&ZG[TRGJC"')(3P&58LF;SAS! (%%V-@=,%TZB6X 1SW.W&[>UKVS\:5AS51 M*HQ4@2C)P6@KN(;<>#Q LA"D"-[68(VC.8?J_K3*DF2D\=Y&J04P\#$: !) M&2UEDN.L(.'S"]5F@8P&+XLSB-L]? U'A>_ ZF P\&+RY8[Z9=K'3?X;!'L ML3L^]2L^.?*!$X.$WY?Q @R8",?X"3WR@,Z%$LQ' "ZU J7' Z+$,K,$[][& M1(EM,G,OD94EG$IF/+?HL&M+HD+-LQ"5))[02597<=)I&7RDK!0\P+$%$&8)2W8OY=F'H@_3 5828IQ6(*P*E 9Q1Y M5F#P;3#$2]'(&D0*M0/O'I/"U.A@8DH)@W*)@9[UG%(*-G)KB)XL"4WH_(*W MYDZ+H>L45Q#7\,E*%X9K_<'P6HYDK=,?91>T4SF@U2A;WN.A/5%"[RF^TX1Z MT#1R=&:<53ZB5\-H,(1X;X*K48W0/&$U^V*@*"(Q% ,*Y8P IW+- 2%.<0P]! LLSFI%>C;%"YP9L-0)V%_(DXC B_!NEJIX/?#%._[&Z.)KFSM_WR_6;9[Z[V+L^/H82U4:?:TBF.>@\SNC-[ MN#':5" MDC.E(C+T5ZT20FIJF?48GHSAI@2CVWF%>U .G^VA5E;*N07]H]*= M'A>(\O6A!M?[HS^ -51SA+Q7N ?'DB(M\\?%,EAT=:A+E' C&&?.QMSB6"E" MG>:.U>$QZ\"#8Z M@K$F2YXILHBP;J"Q[5\"[,$9E+FB;!&!I1BFB*0TD7DFF;9YJ4-BE,R+C1!7 MA['>^5'3AUD%77EG+7-@'0A@QCD6P-#H ;P!Q18(H$=0N >!B-&H#+HGH*P5 M25-GDD6 +$6*9#21NKJK\V/S9N*6IDC0V,4D$T>;1WG.&P2;\IH?06NM%A'6 MQ[9YLYD\S7CP6FJ.>BK00S4V(;_JJ))5&'768$6M^5'3!\F(:\-$KC\#9UWV M0PQ7-%H7+>@\@Z@&:S'/D\(]3"6&X3 MLJ8*248AC4!$9A?IM;Y*3Z9%+F3KF'OE,1KH.]UN\- M1ITA6NG)MKHTK?!>\8!N4LX-8/S!?9Z71!Q7BFO0TL^OK9PO1.[/%C*.H;T* MBE#4%6/ )"JE(A$Y$H H,TEO6Z;G-KT]!]!\FLVV3:8?-YLMT8%AGC*;E\GF MP7H@4B-^(3AB89Z[N<\!? \S84D8!9K9E*U0L,QY\$$D$,#!4#+'E8ES,J3[ M(-%:2))I#HE:::J&5]1S'2T/DD4,Y:<)%E)/5#!^/G*=?BXIC \/";FGY52I M)-J[&"-%2- E<+D WS##J%Y+YFD@=FK$-GP&@I)*+ #?4"T*!X MKX6?:@GEY*$A^>8W0*^5H/\(>V.8H).(E&N,';2W08 BFCC+C''@)WZ1F0S[ M$S-_TCD-(O=&?E"@[)67>ZX#.VEOV _OKTGHJY'',U3?[J0$#[.$S:<>DKGS M>#_N>B\>D@&I7-34YBIS%&V75[M)C$AN0T1?:5*OO 3R6PJ5S3U991(]T+J+")2=L "DIEU*8 M9)V2S,8@':@@C ]U G5JY'-";7B9)W#T>_#9RD[X?;??JQ!?1$!I2M90#&ET M[EF2VR]8:[64%N-.,BT+>%Q :_'>N)$17U-NWAD%Q4 0W0B94E!64QI,K=CM M;HJP"T-7]"!N. P->T>/D'&9@3\1#+Y>GUU#EI,N5CKN?3":Q&B3"9.9PG)^ MP_[T+. Y3VE-"VG0I.JM[P06KB4 MYU(P2D"@^7%SG'B91V#N;V]8U?""S?(4^&ZIWC(N*]K=7.Y1.H8=GI?*Y.JJ0C/IBVL)MQYZQ4D M(();[A2XO&(QRBJR4ZA3E^[:B/#^>7\IPO?8V3A:D]<%X!AC"RES(PQE4;RD M-RC(9!IT$202#]8131,& MJ-(K-IECLQ2:.1*:FPG8ZW+P(VVOT.#E2)8F8X4/P?O<<,[YX&G N$G4B$5N M-PJ,7!.*?5<>P5<;""Q%<'YY2^8BBLB<84&)W,-2:@E$"T.9,12F:^A.Y!7_ M8 \^4KF4U\>1U]F'6/<0K=]58ZI=&;D'C1%6*(FV75 5!.J#450XI3BSAJG MR5)CEAKS8!%=+36& 1!NG37X2T2//G+N V_0]-A(I4NU3U;Q,\*1 M,F4"3S9"1(W!*()9_.2"4(GZ#V4<=>B5LM28GTUC9M.$)B8O@\)P.DA!M#)< M._3*C'968GB3/O?*YK9C\1&/SX>B/MGA03.C+$L\_2@XWY\9 M!8:$;(PU3C$1=?"@I"63>O M@R*%MTDIS98:L]28N8T"9J(Q 3U^8CTEWFKA.'?1YW737+0BEU/5J>OS4F,> M/0IX_#R/4IZ;&%A@E EI9&Y:G:@A@@*7'&JP'O!=JJ7N2T!O48D;UWDU*L,Q M2FF-*GE]LC'*1((S0@3\)),(BDL/EBNP=4J-_SR2,!/>^-#>9[S;9^U]JI

.N M%9,WYH?\2'Q"%#/"4J\9%]R P:">6\UDXHS*E"83=\3#3VY?2LO=K5<6 '$_ M<_N#HL@)SE&)?DMDR4OI0F[F[PU/1I'YG[GULPK /HP:0/X\DS+Z?9%Y!37'KDF-.I, =L*"83=H$XJFN[\1"W>[W M_C/*K9P*B'6/3?)R'H0DK8U3@KGH GJ))@B2G40'=6I>/V=PS3[Q(!-XP@E& MF-X*+[B7@CHP@3RE$$#)W5D);[ 0/ MTACNO08KC!::C9=-7T+ZW1-%[LEU""8]*A=RV4DGDT2?.*":":&]-F"# MI-QZ&0@QJ4Z%>_.)ZDR*RS0P26D4("(5@2;O/,N#2U6P:V*=)NC/):HSFK,. M,B_UFU35DE%PE_LO<0,^=VL<$]KDA2HDL2E%'237+G"MZ,(P\D79HO'S# &>$44;;PDWWBCEA=;@!4E!&AZ N/R_1:/H+>A!Z3J([VKL%KUB M,"Q=+@]>8)(FR1F,B5(TA MPWE+O@!G)5:#>A+!H)#U;B&="TQ@!>P]<)V-- MSBY[JB0+S&+T*Z2T=6J<.?\0SX:HA5!"4N-5Y%0$HGQ>SE@CP))(8:!.68XO M%$E52Y4783B9'_*Z5PP'NWNO%Y&2+2.&"4-"C*B@1'CO7:3 M*S!G0K[<1)IGWAC#M,#(Q_!( SI/L]]2BUI+!F%L#&"<$(9094&&:T2J)-!U)]<'Q/" MV?BS.L!UM_2GU$"&=#I"8:S2U35 @J."&6!R8- M!!M\9$'[GXM([WRM.2M:G#V;CBBX)1:SZN4S*(LC1C.R:P0!/1F6%!T&ZDP,"T7X9#2(5:1"6NZB@>A$5,($8B0LF&%YK(5M M'Y_9\Z+T8*U@#I(0S%HG#:61Y $.I4*=:DCF!9O)6+O;LN(KX8P MZHXZN&]LP_!UKP1$\ KB=N\,!L-\_)8K>B_[@P>89G"C\)J87&^Y$4=?8H)\&\ M$0Z(DDX \2[(P(SUW"/62HW[^"P8N#.TGY\B]P-\K+2+$9W>2'D4(3EG*LQ;V %BT%():R#2%C5AQ?]X:5S-9-T M)#AM!-?,L/R MLB:X6#1N23$CG6]PE5 U004:@"C@20\ M^" P[/:607(@4DZIH0]1EQ$:8K\H2Q67GV>F^Q7/#(A6 M4A;%+/4Z'T'95@(@E-E@C2*V^BT,I+Q5(/BH9DC-Z,)L96V MN1Q "1&0*JE746'\1 7DE:_JSY;5^F6CLG^ZD&T)7)X>"<90<$[XF#.2+IB@ MHF0D.EJ'POYYP6\V[6P=!EW4QL0@"&:B3Y0SH8"KX&Q2"\"&AT%KT,A^]Z&"% M]A->U\ MP3@;4HTD ,83,:)G*ECD-D4N%*&=!&Y ME8&-UAM(BG A*+=*ZRH=([7Q@=6AWFP^T9P)Q5J%82&S IG6(M4JKT I\,1" M;O7AZS #="[1G W3!@\Z+!W%%T=N,QA"EHXZI 8:.\,I2"8,(([[JT&R'DMC*W!UEX/'@R#^],# MX2SZ9)Z YE881[T,$5UM09WB1A-:>SW8GG\]\#8019U4P3+AD<5,!_G@%>)@\DJC:N]^'"KA3V(GH"4S!!.,.!PPFAG9.+64IY48(::.;87 M\X[1_>F1=%8P':@G6@G)B8N,\A!9C$&#@!JT3;@S1AL70PS$(+YU>9=A78JH M)8L4K /!62[1=1:\H)HI](A50C=X@;3H41&Z/QT")0,8H)&C9RP#!H7,)^>T MS7VO9)P,+E%"^*.E/+\]RTA)D_#'S3(J?&<^>I>8(FB]P29J@&AKC2 V>3-K M[AFB=,8OB_5$G'>AZXI>T3MZ!67JEUW7"[#C.\51-9#Y*HY GO3MSQ6@=\?YL1/8C^?)T/'IAFLA[W2!X6]]@+GAT]!HXY:&ER4 MZ#DFY%-EHHS12N4UDW5:=F>MCT#UJC56^KW=8O#^Q>7G_8/61H-AOPOE9SO? M5R^A6^[B!?3"<=>5[S]=KZ 2M\VRW\6#\(@P?%L,CZ=W^*,WE*.;ECOIE],3 M#J[9EIVWJ]%J MJ/)0@UT(4)PYWZE_F?;3XN)9"8/^J PP&'\\!A>KFX_%V?/?\<=TW<<@)0;A M&AP5FH/E09(@0F+)B>3]NRS.'X\9#"\[*+CHF#6/H3@Z'CX3[(F6I\._GQ=Q M>/P,@X[_7JEV??[[X-2A;^;+IWB"\=_C\WQ^-E<>X0F'_=-G',^4'Z'IT!OL M/C!])LKR4[QN;^]OK#?V]E?W M-_9N/L*UFY^7N]W;6'N]N[V_O;'76&VO-S;^O?;/U?;61F-MI]7:WMO;WFG/ M\!'8G1[AK1L3BU37&V_^*/I/ MR%C\AZAGPSB]\F3SDVK3TV'\?)LU3RSY\F;RA'[8]K0Z=SG=8?+^\ 97JN/P MJ?+[^L<*7_GDP2>/@D@T!OU.$1M3/$]=C/C6GY$&K<[R\3)/JW' 74@Y]K*:6J.#9T$+D,I&YXBBB5#O+$^WEN$V>B[; MY@C%L_5^&$W31BO3&9YO+OUZ_^PEVST[X*U1/-DX.]RR)SO=#7%P]9H>O/WS MLLW>'+?V_^0M]EJV6(NVMEKD@!U<'G8WR&'WC^(E;W<.KDZ/=[9:M/UV\WWK M)'8.]C=(^ZK=V=EOG[3W7YRTM]K=5O?PN+UU6!QTS,5+=GAY\#:H]OK&Y<') MG^<')V].\#KOV^LO.JVM;7IXM_3\*W+_ ;?SP[9^DM?4ZGZ>[L]ZZVMG:D#MO-XO#+7P&:JY:)W]> MO'/6)LZ(:N9I!4VAF&MZ=(::R:2\!AHCH,/*D=9>'3DK7UB)/\>X 6Z/.I.N'^3./$G1(AO$:;W<-]O+_N[G%[/79; M^\?=]GY+M$[:[W>VMGF;;;/#_3 YY@U>2_8.]T_?'^R_YJVWAYWV_ANT 'B/ M[.!B9^N MJZ.+EOL3W%P$OC!"6ZGYOSE_NJPM4>?X_?[-:J+]_T5!,1/['I1GIY-Y%F7[-':E$ M>;7=?KWZLK&[\6IG=[_QZO7NWNO5]GYC?Z>!SOD^>N -RAL[NPTJ?XF_-G8V M&_O_W&A<\]L_^.RK:_MY,[5PU5[547$&^,X^8:R/XOX3;.+USS.AS6CNVSF>VM"KY9:_]V^W47KY.B= MA>B59:9IF8#LVD'3IH#^'0"-.A'\EQZ4G-=&98EX;59"?3-I 5MBBA$TV@BFB08+80DRONX\GP=0I6B^I^_447^GM-&-\GVMT9&XGM\ M=?4H>9F[\'Z^\O\7XOD4!)ZVJ#X?V>MTY>?^KI=@_V_^@> MOFU='.R_>-\^>4\.NN@9[_^!][@M6E=_7K7V#R[:ZZN7[3>W>+KK[PRUDDH6FLSFJ#XDW;0AF28W-,5H=$I@\T@U M;7*AM/@>I]+,A8/T$R2 'XTSF;B31C^XYN["43'(C#S,B\[]7-J;AVZNWK'$ M+4;RKLD 6%,D)YK>.FBRO-BQ\L8R)9!:41@N?FML]\*3.ROPO)B%7S8N7!@V M,L"-?FI\A+SA!HV]4PC5HH*-HM?8'@X::\>NQ'N]TV"$7?+28PU,/7HLK(G^ MGC?*[1.TAO<>#%/R1/&[ ?5-D;MZ(N7=[O;[8^RQ6CQ"3/)I8N;VD.3!;4KN M,5YB8.TF=>A#F"R.L-:/\'FP/FN8LQ^'VP/Y+XG=C9/Z('.5S>VKYH[Q_)]M5GX38>$RY:;%O@[_.#_1;96>_D\\B= M]3?'[9,-](;LD[?M>1ZQ57U^=>Z\-17RWX>F*=FBO+VD]TG M>T\:DR7*RS&L-[BET>X_^?4V,?_$M>9_X5K?ZCH_S*X/-+;RF''BW:![<"NS M&F,)@\'DUTN\ ;JT,%^S,%>?.GLO^6X'_KE[>?@VGGHF5(L=D/;6;M'>RN_J MB%?7/3GN'+QMB38[Q&<_+O#9N^VM/U)[]9T4SC &JBFYB4TAI6I:JW53>B4M MH0:1%2O/F=8:R3<S]T1]\%OC\]O C(Q,9J7R?G?(5 M1KE%+RR#X#F3I-;^QKOD \GKJ#>!"XRA&3KNWE'1S*N*<6.D$%Z-\\#C=>OJ M1H>_3$0QIX!?E2B%Q:GK-#8N((R&Q1DT=E+*W7$^R?O>KV.U=)+N2ABO^L@( MGDHC4Y@5!FL+D02$+KND5=4WNDP[!4\48DH&5E-]]/'=.)/@7%*I& MEJK;-/W68,?62H_OEE+[. CV/W\SC.J_#QI#Z,#I<;\'C5Z5_?JM@239&>4' M;K@2'+Z0"(U?'K+2-^L_7FFI\W?1>?)5#^#D )\?M1NM??OD-6UOOPQ3:!9T8FH1HFQ08 M#PS_<@JE0Z+'R'&W'[8*M_4#F#\:W4/OL2R&!9ZPK!@52HB-TU$Y&.7Z@F&_ M@7ODI-]80RC[Q?^:'=!4O5CN\M0IADVY^->A'* MO-?*\_UBV*E*1<"%XT;HN,%@L?+4?_GPI:M,_N"RZ_N=G^>YI^5!%>9P$8YS M*\A&O]\.0E9;Y2KJ7]_IK]YI\5.>1U MIZ+UHLF2PIA,8F!F-09FS'O*0@C)RS2N@4:AW1OVP_O?&O^+/"%,-DY=V3AS MG=$]ESX\I@C?;5#Q 45XPHM[%2TNY?<.\KOQ29&.XY3PD)K2"-<41,6F-SPT M+>&"2&]]HNA KJV^_'=]I71NB'9C8L#&55LFVN\LR)^4N 3+)4T4 MF5?)A((<,&)FP36ULS(E#S(RCGX4NOA97 [ZY?LQ'3>FH-REYN43_U_-L?]_ MI_S88[J"]Q6[#<:Q6P/#MJ/;P[:'>">/PTRWOY-VOPKJ%ZQD350_+1S78UCV2[%W,)%S3\92,< Q)Z M;A':*,:\4'Z<5E(,&JYQ#IU.\WVO?XZW"6Z BA5QPV"4$^MNT(B0BMYXULGN M" 4'7: IPUPC)B2;)Y_/RSR P;/;YFG>\9V\10 R"(,?>AO]F?=6^/*$U4>> MN/\X4]7>HD#]*\O3WD2OKQ??-)N[;GS;ZP_QF_^,BNS#H>N6\OSOLFIO M,?B+?#S/1=8WOZJ:$'ST]9;TNZ3?BG[?]#NCWM"5U63_Q*9P.31W^AD]'_8W1J,^O& MANMT/E#O=4[V,-D!3WP+#=]@WFL^\#1KDMDX;\[M7QH1M_:.JEU/2PA0#5E1 MUJ@ZP T:O^#Y$OY_, K'C<%Q/\_HGG9;&1Z[X:=/<>X&GYN/ZN#)@_R*3GLO M-GYAUY[6 R V(W^"SU*E"_+^>&2^E@GXU*975AI#5%.FJ;SA#4%4-,TFNDFIXYH#2DJ0U:> MHZ>Q)-/;R'2.G)YV?_;OI;_@1B:S+1)MMQ@.D9^A@X1;]GLY0=:Y;, 9E)>- M[9R&RTN_G4%CW0W=N /4)^;GXSFNAP37\R^[<#3JC*?I[37W&[]D4/7?&6=/ M/B1H,-I @W2:>X0\M!D:W^\'PP*#7W].LW$-W(SMQ(K\7&;CHG5R,WS,+]QAM9G^?;K;5W?X\OU-=\PQS&3G+]SK M=,_)N,2T;M4WV30TNQZ//:G/\BU6/J%:?L^ &6-/F##?U7OIK[=)=?]G94\T M_;ZS_F6?*/Z$63Y'K^ K> G"ZG*S3P1_Z 9<\]:BZ%'ZL99K2)1'_?*REF[B MN,2I=7)$VONOK_#W1?OMML!SGQR^W>:'Z^]Y+EMJG[PIVB='YX?[GY8X]2]W MUO^D[?T6_MZ@!WB> X;W?A+?[^S'X];5GPS/QW;P'CYIJ"5;)QM7[R1(29-P M34NE:PIG4],;;9K&&:D3(TYXO_+\966W5J^9I>K%_T#YW@/.I7WDP&C2XV:R ME,U#O("ZO*N[<<(M4O132XWX^QVJ G^H1=#G55Q?W%7=VZZ+8\3:MT4)CR:T MCUE=]P-BNR2[VTM/QX':.+CZ,!@R_K@VCL-^7OI[<.^P>OLO1@.\\F"PN(N? M/)+S>/ER/]RLCU=&,F*Y:08=LO!4OZRNU;G,%S\O\-)XV48/'ZV?AQ'.BD$5V?1< M+Q2NDX^G'#(>1.BQD9!*D8#O!$/7=4U:E]: 3E!@-TC/-74^ @ M):A&WWN3!GKYR");MQY*1;8B9;_3Z*.ENR8L'T>AJBX+'T1"$'&M"\J>*[W# MTS9W+CIP6=7X_4)EX_63O2=K3QJ:J=PRY=?\X!^?V^6=4(JK.3>QNF,WBL5PI'J#<[[F@13?"/ M+'S4DN^D=ARL9)%,$/#UU<@7>.!\< R=SM06-7[Y M?-+:7PP.CS=5//^E HC/IE$\>-R?GV>!7=(?6,;OZD_Q+EI+DO"F26,UK5VE MIK.Y_5MT7C$#7,"7URR=S_J6^A7?YZX![N@(53'K:E91&(Y;MTPU['J#EP9* M=%5.7Y6LI%Q[CH<-IKM>4VCOLB$3G]0>7&NDRL7BU!U.AI^N65! MWOS'J',Y!I.-UP?_K3JBDZO:_22=EFO;IY>_I<=DMS_(!CA'QIW+L>L)V65% M!>SWLJ>9UWAO_&=4+<'V6U4/Z4[1P;PH4%0-5J8-_/&GL':/G-O@@V9-V7-,N MS?VJ2S.*1BQ0C(95V=7'_?J5+.T#L=Q [CJDF4*^R!GCTWY"&TISX%Q&19T5Z&-XH8AQ:!,IBT8E M6=$&_B/V.FULMS=OF>Y2W57%I&.QWOEX9W=#O[N7Q<'[]>C^,JBEV'Q?.@OCB$L\- M)?0"[..%7G10^WXV+<)KO!,F,.G1@?=>T*;(,W6=E[(IA<4M3G)CW4H#D&A. M>''0V-W8W-C=:*]M MS$^7X-L-W:N0N M0)7RRJ8Q6Y?C?@=5=9#[M.>N[1]T(7M&Y50;QBL<0W> [L]O#8KN.T5#2WGE M0E%1+8R!CO?8$&]O;W_"HI]F0&YG5?67'L97NCK?/,_=CIF\:<&JZ_P=?:$J MQ?VLA#R/ZPP^-DSZ[YOR/>$U\O$0YY'@1L//#_GRC5S_F<]=T8PS04H7F09' M!7H3E@=)@@B))2>2]^_TRO28XP^$?.J.H.E+<.\QDD-1?>8ZY^YRL/+TYAO" MU_/)$W_KS<[A"MTW5A?_NFQ\:=GM6=SZ)CIQJ$_-?WWMQB?BEO5C3A]E?_7% MRXW&SF9C;:>]GQGWCE[4XT_EL$^,Y-\SE8/B1OE]4P/^ZK3:?/>,@[\\[1,F MU/?/#?B!-GT/L-3OUX6P8K!7J[O[C>V:=\3\[G*9QWCOMU>&9,=@DL]_\@WU M =_T7!^,TRT/E])#EKVXQ[WB9WWFT6^"E<9QF8.>OWW=/Z 8WDX+%']_ZCXU MX_T*54C;WG=/.2T.H!(!-+ M0ILMH378DLIFK@ERY?FKLG^:7R(LN:LFB"VY:^;,O,FLFTH(W_C(KAY6^X1Z>J M_]O[6!W8:.7IO[E(L!<;X[7#&J]&93AV@W%I_?C8:TMO+,U3/22#+<>>9\V1 M:LF1L]8$05:>_]]=&.0N?*Z6=W\&\?]?Y'!3CZ9X?^L.L]7MQW(TH[X/$/>H,JUUV3F%\-TL' MM"8BL"3#69/AN'!(+XL?9ZX/TJP\_S.W02N&U?RSBMWPB\[T\[7\;V/5]T?# MQB2RSR632\:K!\)\<3+"-66\AEERW:PU0=&5YQ\=NKWIE.5QBG%O='K:J3Z[ M\K):DW%);O6 E"_=N5F3FUV2VZPU@7*,;-:J[F>YV6G%:>B[N:,2)BQ7-/;M^2!NL ?M5A:,F#\Q#6VF58.Q\*L=:O.CV/ M_;NJ(#,NRYAJA-^2T.:$T)83_.9 (>S*\YVJA>9V;]R*$<^RI+*:(+>DLCFA MLK4EEO?\QP,SU@:ZLVM]N]DN\3N[=71:#6(1Q'\*JB?&K$LYR?\'M MWN!TO#3'TI&K#=AJ<4K^ZER1OBQ)GTUZE)*EU9D]$_-38^-.G? M&3?I'Z<)UJ;-:!M;>8&HG Y=9D#K J]:C@3-G.J6_1CG0!?,RO./_);7D(+> M8)DPJ!-\2RJ;/94MFP'-7A)WV=@Y[Z&?=ERU*O_<4)ADM*K(D8+"EQ]I2X[#$T![H@5IY/R:_BM9P+ M15(*4_3X/I8S-C8!)I7<4)X585GG4QLX%XC::CPZ]&8Y.#0;J[)L6#1[ M&E(\9TR/_Q][;]LS]K?V6?XG=Z=>V/M_ M4A_AY7;G+_X1+;*?/_N-_NAA>V0O]3;_IR[RO7[UY^5WVU[?O7V<_ MO/[3RQ^^>?/7/V7?OOWA1_CGV7=OW_XO_._+]R_?O_[^TYHY/\29<1W \VQH MKP(5YE"!-3J0_;CJJ[(JNBKT>5;UW-2^"R5\%VNSARU\5K;KD?/3?8949"^> M7?!CZ3^>7^B'-V'Z23MV^DG;Z8=C?ZX?OM_2*_=M-\#;UO58PLPW;7=3=.59 MW;8?$&K?1_H+PM=7S37V#J.Q8SP57=^NZC^P.SPV:\XX(='N>?:RKOT#6IH^ M/*9)/MUD,)"A[5 #9)MB#9^M86GA*; 2N@P\SEP&.AE99Y4!M#3&V+8945=E M&W/25>SDV4H:T6;(.#R$JP.-?U\7F ;;=VTYK@?\_Y]"S(V!CJKVE#7;,;<1 M_J1JRA&><HJ7,].SKH= MZW+Z8?B(!1733W?%8?;%?JAV,(#Y4Y%!8)Q]'A=V^AO;9XC-Y_VO'BG+>* M[-=H7G9EZ,Y@R^IBWX>O]!\79=7#B3]\536T\/2C"WF^V*3XBJD?@E81_UEL MK2^?G[]X\4!09 MB:JT:VOX_Y[,'\;RP&_Q-R+IZ:KWG.0&B0'W#A:COUA*WSWZ%?P7/!2;>D3! MS?H2A"[N[%77]BBW46X];>0CF=+D=K,W()?;H_+(+<2/P=\!.V!?=/ #N/TE MU:%%OX?N/FA9?-*(ZA8L'OP&W/97W]/_5W \0..#.X=%TO.OO?T&OP?^ +A= MU;I'@7$-O@3^==V")F_05>F1Z+!2G+0SRC(<&0*HGT[@(YG2Y 2"01S DV0% M$T\'GJTN_&VL.F?ON].*)G\#MMWA:=__P7F&7W5>=(\/V7J+.&"0'1COJ,R= M _L!14L7J%T2>H$F 4 :H&#:*^F?R8L\N]E68,RC_Z ^/9XKMO.=!-FB3W 5 M2-8T5^!FU*$ *P5GEV@T*KVL "-L-D?.S/Q)>O GA^!3A M*S)_,-0!ON*KM__UYINSYU^"G&K* !YF3LOCV.D3YEW/L!7PN?C,&:^IV3:_<=Q5H8]@TLK7@F32C[-46!#"/EAU_ M\8J\&)=9X3]AE/C5=/7M/T>B76Q"*)W$G27WGN[?Z4UI(G=78P7>,!WQL2=8 M/@RI*$'D8ATY?8X53 &.AC$W94-8;R5V!Q]W(+:[D73YDQ1^)%+X^1]@7BB8 M_D9T^0>4)-Y-\T*A: [9"%)JX+#+MNC*&Y0W=#C:S4#_489-4/=./UN-5T_2 MX7%-:2(=NF*WS_JBUC#>>HN1>K:HERQ&&&G MW^QZ"1V3\?_UY;OXWQ@)A\6B1 B, 71DW1YFCW\2-8]D2CY4WJ.Y@S)E3_6K M#:6B]C4#_'--P( M'BVX").XM"5 \'7PU:<#]4BFA >JVNTQV@"GYXJH;M Y/.O!2NW;CDS@]@ID M%]&$H^!8@VT#]K+$#=P#)#H9_PY/+++_/+\\=P\&IV$>CL@CF1(*\#HT5\-6 #Z2G=)C(]8H&Z[KPUKMUZ':X;[C MGS$G^[3AGS8ESCH_H%BHB_4'W#V,W)TAC(5R [MJP!#9=5N/._ OI,^ZI21< M$L/4_-/&/Y(I392!1EW=]89/ZZ+#0"XY!%=UNT+(R-,./Y(IX4Z&CWMF4X;- M)'>1T50,X11A_G1W']N4R,W"3 I!\5+5;)8TCF=(,T]EB3L_V MMJX#P[+WI+(1DH^,:^]RBYH2] %4>-D2&KQ]VOE',J7)SKWB?R^[7U1KCJ'U6#)(F(60[(7R?]OZ13 DOKLN"44G9]M!3=)33(.1DK6NV MWR@\&AQ.B(JKX;MO3-ANN!U6[KM8*COY\ MOLVSFOR%@J@O'ZQ.[4>$&(QTLK$.M;B"N8*ELJ^+-1HJ8X..9Q?$0X%O'2]. M52!I%S:U&D?KL>OP+E!EZD:P, AP*GJL0VL2<)Q\N09)>PW^+2E,V(*QQQ)7 M+L+,2@+7'1\%UEWOBC+<6HC9!ZK=)6^+ZY%?-@V:;S]P^32,)?+F]/M0?("/ M<%CI,.#?6)2YJ1!T^$R H7%?];77!_"5>.HD$L-[( M1;%0W8TO@W660J,,9!\?,TA>R*#<)?@ M]\?)($Z&U^'A1,1M-[[!S(+4@&9J( MA'15WY,Z\U/APF&ZW9E8NIV@Z9XW\_/?W*X[GK^8%MQ_\4*7IL(JFN&K,_SD M@9;FS?O7WV?/S[E7[_Q_OQ;2B_LP"_PSM.3R)+#?%FJFM]<(UPXWIS+:6ZB, MLIL"ZY+PKA(1Q/,OO_R2S%A%CG')(+-]U.U8IH4+X",,:+QC2=6A!\4K!5]" MQ,ZJ/'#]#E0AJ%KZMP M=" 6<8[[/>\8$F$4U+=2=X"PWQB-1#,(<=]5W<+*O855XSU_11NI>Y>!@[*E MJK@"K++#W[5<@8KET)-:;V%:6.DGI#0(*ZS!3"+P=WV&U7\PD!Z/%OI5Q:Z& M1:@Y_P$_IIC(;&UX/'$7P?^LX2@(RP[-EKF8Y+FXRT18LCDLKJ8M'%=!+JVM MCAJY9;J**4OX@'Y<5T.0XX(T6+"E*QC4.1-J\?GM^0##.*ZZ]D;/5L?!_:X= MK[8&L"G=0^#(P-%1CJJZ/13U<)!X4B2"(+^/N"#XN3(SJ@WOR?V#!]-_7Q?U M2"[D_'3'/,-N-S85X?3I].)UO!]9SL-)(UII/-]8P5P1D](%G:"Y\#"1H0EB.(<*4>;TR(J(O(9OA/**0B"T G!8BRAPZ.9A!"(6 MGCK,-O/^E-3[!R9\AI7"(]X)$.U)+1$**#HGDJWD@]71W>4J5KA.5 QP8ZQ4 M:XQJD8D.17&3M^-,0ZTR?3)]+S5P?A-LA^KLV\K M.0>E/*"WK%H#@@DN=4&8Y%78%M=5VQ&=510\"1O%8)+0E\81Q@([(YA0/N-Z.G<:X20B):&(9 M'8^GOXM8'4YS$LS"%E8;)L_BB2/@S@XPLAHGN;R@/>W[^H9-$[R-7&YULVWY MX.Y@SV@#DGN<?:2K0PQ5'9C/UAJ6HC4E%ZHPOAF?>!=?4,IZ^H*PX,OR7K*7G_SI]>F6RFL MH:F/'T15T3?4R, B@A:ZIDJ2.!$X M=@J((0"7(BC-)L6VVSU"\?\>D@+1?6!2MP(7*#=:MJ&BT-F4- HMFY ('YHM MB042JJDYYH4IZRC&BTC!ZX8J6WE0TGTR65^3S"JN6G"&2/S\C@F(N$)GB8&W4U: ZPT(= MA>(2/!B5:Y']42N-I@!*".5##00.T$?XQ:LYNQ@D>#5OR&3'1:$ M"2B.K@N:H!^1WX!-Y:BGG+1>M@2S[Q$E1Y8#R4"-O'@.H?FT%PP+IZ11QX0U MCAG'!;XRDURK$\*6PU"K?E,<4%5P M-,N"64GDQX7OS*39"(,&7N?KJF#"J1@FFQF*:?#,+$9SRF/P#Q>,#-3$R3/Z MYE]L6-+-)3_,;'OO>/ E8%.1L0!WW;W'=C2_1OHE#?D%9%2>N6(G<4[?1LQ_ ME 6(Z=A)K/1.141'RIMP+@*X,CN9^G/;3%><4L$TA'($2^N M1YP\R9]-X&8UJ9+DF YSMFDP5CDMHSLZ2QNH6%B/ ]Z_,YK+[9+^L5V1U\T5 MA\:^T26B953[^33NQX\A<768B5X9)^7HQ9Z!>6CW]JWA2RBDAE/%,$38 MZS1G.[X-]1YW=9=&:(+WEU&:L_*GIZ<16K$9*.R"@"JF5Z*8A,1">G)8F,%+ MQ),)WP'A7V(4H,.-%Y93LNC ([T]N?71!ZDHM%+T2\IB/5%$.)5Y9H1OGBSB MKH4CGTD\BHV4(/Y('VH!-)HKL]%4V[9 "*O=J#PZ\[!/L%Y5OPTE,2C63Z R M[\O^X0% 92>#^GBT")3_H?B9A_6L)1(3Q22*,Y(Q9=@QQRT1XJ-O&J'9ZK>2 M!)9'I,$19T>+#L%J#:_P(^--B-[ XU/T%-"DADD:&_NV;0=TCS# 3]8>:H+W M+4("7I8EMJLA7?<]+=M)& (XP($&6+@!RKY:0RO+!3<' I(8CL3S;K(VXM2' M2Z9^E *===%U3 6\YG>,]5#M:P51B )MA5Z=O_/]Y5O4?:!*$> @P'\8V(R< MD7[SXQM*%6W(HD8V-#('T XQ70YGE%S7>%))"7=$PB2JI!^B\.NI.4)'#Q.V\3PB+][Q%63O2(D!"6??$FUM(]ZA))[$%[. M=SXUP3$HRV4\I'SVXCFZQW!9\LDHA+!U>!'H+N" MG-KD47V 0X9'57T5^C11UQS$_27W ?K)/02!(%E[,M ML0.L\MT$8DG3<$T?TT\^";X"4V53#5$$4SB%>>S#WAD^^"J+M\[D!*5@750O M@L4T:FB10BIC8P*_,DT]2Q,X[B_G6KV%S08N>FC6AQA4I\3PH[M4[U 2X2I> M6ESM!Y\4/0ESY\=?(<]+$0XLE_N4?.]R ,;E%6M?1TS):\JZ[!;/D3 M+/&>OOOP]_KV6RQ!\\>3'+XMS._R^A%J J>JW6L:DWM%=2'$?K5V(L]\5NI7 M$5^?GW_VQ3TFNA"ZPW4_^_WY9W_?_'9Q4,*7@,_MKL@ MC4AQK2VYEP4A/O]*UOI[ Y73JINY(Q+NE:7S^?.W41'3GRZRU__]]O)IKW[) M7E4:\T8;AA7.ZYC'5&0F7)]WN1CI8C2/$$B-X5^ZJL#W=X@M/2'2LIP^'8:ZJ>/% B@$#IS:W&)%QXMJX+LE;# MKD)C-2)+U=HDD!:5H:')?,5!:\M%_JFZ*B[WX ^F&C"1,-C%$UT;C)^*EI* MYG&@8XV8F/) L7L^ @PEZ*62IL8BA3M.UX:@T][W[^"\E8(4H_H0]54^%0YP M0O>,A*X=S-YAB=SR&#(*T5 13"G[:(^%&Q];ZP#1=>;I]=%$-_>H&B5_D&1?"&PR5% M[S<5BRW*XL A8,G@11 72ETK.,*$3"4 ]WW1<>VRD6I-8U2QIL^'7(4^UTZ& M9V9<3\Z3Q5\M6)0*2PNT:";B95>WV7L7?N;@"F7[\&]\MB70G'T'GJ7_Y#@J'B4Q,C>!G(70,V\X6 M/9H6')4C%!9+E>:LIK1%VV(J@CKM2NJ-0I*Y<@^D*@7^O E4Q(R944U%/'CX MZA.#Z&@_''&4'GPJM_JPMPQ\V=(G6 GQ2"DS!%LQ&$:8UVIHX2)EM'I?+T& M$B&04,&V.ICZ(+V%S1T[T#98HCE*)U"/UZ-W8C&\@^@)%O+UV25:KKTSA'=M M.=9%AS1.FC@5<+A+C'[#P[BM@+.;^S7\J*O: M)P*M1 A^_H3E.XVQ/&'Y3AW+=YOXI:1X[S@$ZKK8]PZ I6+3BJB6*]*HMJV0 M=N^*VB(__9"-_111;2*WN#UJ+22=#?$T] K-V;$[(';MW%).-I7K9=-3C['WY/@! M5M$?$""!(L<"TO!?K/I^#)2=73YMSC2-]MF$JR T MU#TI6JGX!8[A*>E(;*3,'$UDHS9PQQ6 BB=#"RW)55$FEX[0AF@1B.68I[8A MPU,G%B1Y47VE=9!P 0)!3#I) -^+]^U!G6COFGK.*3X'KD/NV"6 P6C(O?[OE_0+C!&_(D/G*<+TLX+$ MEQZ,@G<9;5US,=F8-D"D7EJ\EA4$F$5^=^9?L/=T=G]6,//?O?=6XIQ M(^17&A1EK\ ,^K8"MR;[!O[P.WU7-!_[2[RB$1H^XR"ZK&O%:6*T^ M>\O[;R[A'758)Y_SL'ZLFI*1WS8Y%]:+?^4,\G_!;OV=IN:?Q#\X^:M R4NM M'F8#F@#5>;8+936R^=SO\+@9-S\%,L;=BED2E@Y?PC&8?4<(;0;^TKE#'B"* MI%'$X2I@V&R_K=:QCJ 7^K6E1\,[7YS_04\M[@@>Y_/L>QXPOX>0!'L)P1_V MJ)>D )2J[X^^F&'Y"%/ .5/F*^OAQS+@8Y/%;CYDU=%]>_&'9SGL'-XT-]+S M[)+6D0:(1'$5,<:8*-@0WCY[3C_%_LOMKFJ4LXA:RT301,)?A 2S=$NPM]3; M5QB2M!FKR,'R;G6,E ORP-Q0<,M[X;D(NJVF)5>D[P. M)>M^D\_/G_T;>0KD54K2$MGOX7P090ELR//G_X8+]N+9BV>TL _*4@5>(@_F M^9H.%.3A^BQZY8Y./_K@KY(**3I7VVHS8!!8D/F(W6=XL(^- MJCU .KX0NX_PV'Q>>9>3/:NYLB!N<*Q-TM(CWM+GYV 42![3#%1[5"CO."KZ ME#P>#]P:$$7:ZMF[(4.OM%;_V: F1\W)D(#XON=?V'AG[WC^^R-_XS<__^RV MJ>*HWEH3ZN.#H55>!2'2(L" ]8=)I68R.[&PQ+;B[7T](G[]9"3&[69U1K0- M[-=_CS7[IS+L.\SL7$KY7,TM\X)P@$.;47^Z^3W9;(?12.@AX!'K8$5(@8*! MCC%!Y8&+FDS(HGFIP1I?2\OZ35]'2*(NQ%5#(;MB*AGB.BSTL/S(M2MZVQRH5KG%R MU%Z>M]+QGL8MHOD( B/=/?O#(D.(U89AC3 7F6"Q MIXO1;<8ZYN6,?8P66K$E)RYB?@#ACNE'FM4W3/*/DSF541_I52#1E5)JD[C- M%[$UQMF4<3;$<6(TV5P<% &?>JFI19$_??'AO09NS(;0VLQ<"&:/U.B"C$"W M,'UN GDX.F;Z-?UG;D5*GKT,[19+02=$2+Z8T9?V3N;CR%J3*LI9V5;$.DH\ M65C0CHXAE6G)!=G@=81G$/4K7K18WX@&O\I]&GS*8Y-3>>/:5]K/2CY5 M1^@[B-'V7B/$-E/HCF%J@O&B/8N'7+]N?&*T UK<=9O.\D/*-3TA(!$Z.XQ2 MEQQ3WX\=UY^%?H@O@T\CMSIX>4,EE78B7URTD01RQ#5MBZZTQ8RCD^]C;D3+ MCM -(<"3;0VE.J+;**?.>M'=-7->=,Z:)%L>S;0N4,X"K@AS6@N:X1)DR%]: MX1AX%\!"''<%8TKAR4U57&1?@Q N0+P$#*^4^,GW<(!#L8=;".M,_]&#;7F1 M_;5H?J(M? 4>?\&1FA^J-2Y,C\FK]^%CP=>>8P5@;S)904'7.I'BLX,YO:%8 M.P3GCT1C)^NV-"AX%Y"TH,2.D^" K1#G],IC(_N-$= M.)SOA &;SEQ2,C&/*%:O&+]X@G54*UW _5\G"6\_=%,VX*Q.RIUL;: M!Q!RK[8@F$_;?OZ1&OA2#HH"5@5[P3(?H2RJKA#G*R;1T3\C'S-+\.0; GJ) M"@3-M9X()TSC">LLF9KU IW!Q-1AZ^*J;E<(HN7?K'&MO0/O2^PI\-P'1N?T M(57(E)D7M<\(W37"/K!K>P?*BEI(V7P2N_N7C4FB_V0@H6IG8Y-&0O^R=9 MF5.E4*9.5WXY5+! EZ#$3;[7=+J'3*DR)B0F1\?-W0-P_3$W9;PJX"PA CK7 MUB/Z6VH.PL(W(0#>2#0_M"8X/1+IP>TJT\\$^PEA8/^6LXQ23 M M^1E!3>28S4VCV,Z=2OP8+8!6TJA%37!9)R4,DZ805BLKD+-R7#)47(8$7"U,_;[U8'CM^>7Y]D5WL.&K\(&*[&J MS888$*[:MB1@,T?GZ#EDLY]C(X>M:V3-837CN*]4/J0W8X\=M=L1F\W!-N/Z MLW=!S^1Z,@DG37^H(DECS_P+^.G[HKH1.H[_JL+0@-OHEH.2!"3^M>$1MC*) M/H3Y8NJALC#-$^FPR;KB)@J>C+PO@8$D BB=.N$9-U@<[;> MSXW.TF:L-U5=:VA$?-0$GH!=KL;.BVUE[\*,I"QL]*1\S(/._(8%NGH#G,8 M@[QL1?(CVASV2EVNR([OI\-'2W"3^/\G$TX[TJT$BTS!&1OK07'_QFP6=I6< M2NI876IJ!X,D#7.?P5+ L8";+#<6GH19U4CF-#;B^ T'ZX,M;-NOWO[7FV_. MGG^9460:WA7E0:QP-=])EQE$&C5)(D8^%;C)%MC=<'6RV$@%3T(4@YPRD_%+ M/IFGI>%F.=X3Z6]"Q AMXE-LUAF]&P7DW!]Q)Y@V-85AFFNJH_&BH+K_'_(7J 8853"C.)2+=4\Q):$KI_9NJ@].ZJ=#Z0('=D24@X!T* M Z)U7_U=QENAQ$)N?C67^)%Q!A+@PM">1*:Z<)4VMG4ENW:RZ1+<4-P,!% A M K$1WAVV#JMF6ZVJP70S@TIB%MZ91#6:1.MVW+-+*691T2=[9(6>3!\9AP>N M+%M<47+VE&QFFT<34/C4LT 4 #ASV$A;#.D0"[)O535:,^A;*]*Z3)A&TLA=B@T0'$*0(M.DN]K!&)=V6A%M'RU M4+:BZ2#",6,.W)ARDZ9(#E;BO*]\ZKU0O0=<^EI<6$TO'7(CI'0Y_IS,@S.X MTCMX+@P#SRS*&?N1C_O._=OX^),YQ+?@_%W/TYZ8-NL(RU/08:1WZZU%!3FA M=I>3YH]8A>P."1DOE%U$M.9Y]E]B1#.,4@ON=201NOO-^Q]>_I6QJ!?9JZ(O M4A) Q/$&<')>M=U>(GCX4;]N9]^#\W^Y!L]"_ON;_WLI_PJA:[/?PLJ_W!5_ MI^ &=;S_W47VY[& M4LKWE^UYWGVW5#"#_\"]PFL2:60LE?]%4,>ORVR/[6M MP!7E>>_0=LJ^$?=)OMQ^J)+QTVK^W_>O_6>4.5%?P\$^T0.1J@7=&VFY%]64 M;JC*XW1C9VNO74"$BX!+TLJ?BK43"TDG8"PV8NP?9W-UUUM2[B0(1.?'/\2N MF:BA&RQI2_/)4F+B6,[-7*5VT6![MT:.+])!>?#&NB0G&@<\"B5";-;LRK5. MIE9M6;UP_1<65'/1$.::[V55/F@3< W)SL3^FW=91^5VWHI$84'4W5@_A/($ M3 QJ#=_N#_QM=0S !RJPM,0%+ECPH^FB\=^1.^!A%3K7G0MO0GR2^RM?D355 M17*W%\5@S<8N.=%:B%[D/Y3'PT_HR$@$+["C:IU $^3OD56=@C9C2QH./Q\9 M$T6EY@E;6.:ZN#GA.DP-,< 4O@GK0&#LWS/ DRG_MP$N\/-G7_ ,Y8303+?H MJ=^TF5KM[@L)X1')L.//AZ2*I MLZEJZTO,F 'R1 +B*Z1%6@6#N*[*T5[=DU3J;ZG._)^8G_[C4W[Z-,;RE)\^8=8%-2B2)!N9 MC!A[5#[_HN]##+V+]*Z:#3IAG)K8"EA>@PJ]8)PMEB%B&'1P!X[)RP99M8IJ MQWK?/4B*>6+R#IQ M#+YZZSBVQ&,9)@J260T1-?%"&\9]:5C B:2]%P9-J*+ MBJL"G51&)_%C]4':,Y@?M2\.R8/*8L:)IX3Q.](X1%8IX6",TX7P =8)]"T',:T96=1PJ(MY$5I(=F?MU#?M2BYI&RYU?SF@P_VKQR8DW2/:.-:ZV M&S!RMV1-/:R5L6;*Z(#K20G\JZ(IRD(PE?050F%B2P)L M[,W9AL9&&?PKONT,O PW[R?Q?=4'J:S*$=E?I.OD"A9=C+ZBH\I :52$$$HV MH]B&!)D3I^6KE1#K#P;9"L8U-AQ'8;8Y];TYK,T_)BE%7Q@=(!S?XG-G^#(F M)X3#L.<<%8O'GAN'>QQ#S*C'\3$9 *:]-6D:?PA'4#"E\!5"&7!BO. /\2N3 MSB[<'\(A968X[2GLH*5X1CVMP(E0^+3I%+7]\#?<0T0&U!'NFP.VE=%V8#M1&VK+OAC5&B@G8]:26!BY33 =Z"+6-4U>I?:;$?) MIE9H'2(N"*'#NHP:[P_V=; 7ZR 98^DL3]EOBM^B2!!Z2'P"6PL:^*B36Z@1 MD,6"H]P%,"C57&E@@Q\)-LN'L&UK;A#W8V![ <.((/'+V?+ADJTM+5ZM!&/G M2%&9SZJE\#YU<(,G-MR3V'G7R+[,X96QVQ-(?V"6IUSH26RU0$ U\I8MK$6O M#/_P-2':QQD@?;IU!FQO&N7DAYWXC=;A->\F=A-NG[-+$ M-5[Q#N((2 N2?&Q6;=&5JL.0O@,FS14/^",<@#!Y$&"&F-CTM0Q4U',C>?V= M<"=KN[N*+J1U_,0F2Z)):>X4K\TPI8@@4F@#(Y3T6* M40^8@>BH\?+%9;C"8J ._H8K#]L2ABW(%R>#HJQHXF2#7\LI MYN0;!MK-#^('2-/=P.5<(/\#AS=NHJ4D;S+:2#U[T7W ]\:529:BMA5DQ06/ M$L6E5.?EP!;E3\@/4\;#MX*SMI5LD@1QJIK *4S;"MNBT_I4IY4DD#PZKQM!"HW==3@D^&\Q(:0YK@') M?3WK(S;WT8Y$(RA7#X8$2RCJ87LB*O.E]+C;5R'V?U8E5/7.$&2P1V(*YBKC M)?05BH;< !6SWM:[3E G;,-%Q="W['HP5>8N*'.1GC0*;G+#4Q4;!XX*= 33 M(2#7#OF^L*7W4'2#.ZJO7K]EP=2SZ5URG".Q7J/-+X[NO;8NO9MJW^OAC3XL M$2!1- _'A'>P"UM$B. -X&=JAUG7::7(/GOV_+H=7K+CF MQAH69!S!;XAZR>=A$9P^8%>P)L+\6>,T/16?Z R8TD@8<6%J&%ZD;ZOBQ>6H M0.[!HL'02P(C$U:Q8.2"T.J/C>;=*-H <\K1T%7PKLRU%Z5=[58CV"];-C;@]54+TI?JN:4J7=&1!<>I\#BS$^PO(+50$H;%>;3RG$UK+7'Q M'*D663)+D:OUFTEA=V[4'<(=S$/S41ZN62"L'+(W:[-:\DC;NG>]PRQT)KD. M\HS99/X0PEYM7!H)SE?&7R$Q"8P?!,)93?U1R&RG.U\TK.]@%N-.%!&L1UP+ M83!62' "A$]![E+B3>AV+P_H4*L52=],62T(D3Y5N-MQY=MQB'\NZQ 5,;X& MF['G+JS'QIAKU"VEX/MQ!2I,!8^+KXU[H)6*>+%NR[6:VP*@HV@*)9$BFX)NN$T.6;#9LE$(1TJ M0V(R2=[5W0?X,[D MQAWDZ8*R+__P_/>?Y68\H1#>8WQ<.6RK_JOLMY\]^^/OLC\\_^SL]S!/=KUN MP@H$3K#N$OB]FYN;\S7&4L]!CI,:DPPTC-S$(5EPSC1BX AW*2%Z*<]2J&^1 M4"VXD2^YNNJ'P'9=@U&U7?;\V=G_XDDP;V7& M8X@8W3P90L&$#&QVWCJ0[B\75[U5H=^*_8 ME_Q??$%Y,:FWS-,"_JP%_)4[U_Z++]_KIYO[,U?N5^]H\S]@_7[-KO'_TLOG MT#2N,HI"4ES(*A]L1,$4^SVX]1QBN,M DA87%$B@BC-[S'GVGLI*&B2#R).: MK*:Q$!5-(1\I 2!0HBPNN:2&RTKE^KKC\RZ0_J!00C>UH%#!/? M-I5Y,*4J_[_?W.T&/O_R-[?[><]?8 @&\]S-U5D=-L-77^ GY()6U%KDJS/\ MY*%J-M^__CY[_O*?E+Q<&D.Z."_^>/[\,UR-[(>J_X#=X;'B\,&CNZO.6SO M(3$1C(&U>C#%#YPX.GA:\3*L*X9BO3\V)KK9Z);38!JJXF7X*O+XG&V4(0(OJ;:*942;PG5J4>(=DVP\:+J4D"X7_ZW_@]< MPK+"4T($8(B:;U1G]#)?GCKU*:0<0.42^Z E<+T)N\(/@P6C'NG"@C-_G%+% MZ"G >=2$*\5T8>?B$8A1BEOQ\-4DGPC8^-IS;5A'5#R%N RG*TJ6V[^K*!$Q MT??MFI.?W!Z+DJYZ-KF_HC2L(AB!1^X(#=R%<04)DPD?_04I@]HUY57#XZ)O M6%?:&T:28,2,R$ B$B^MX^.O^F[<3Y].*3""/,K]D?=?=6V/YQ/W0RL<%B3: M@^_DK8U[?PSS;3FZ)Y9SEX['B]R1<>H^![>)5G2?-"\0!EDR=9EQ]1@Y7)+# M=>QKN>,WPQ\L4[&^V:3"1J>$U3H."B#$Y)9%)*!"HR5T!./C&C=FV@!;<$6' ME,&V;HY,),7(?$[XY;^D9 _6YJVI3$H]$58$[A9G)SDR).%+V7^,:WV MC)A;NS/*XD@5!IR\EZVEE+D^,9?**4=)B$R$'^@?VVI/@ B$B=;M%?&*D)G/ M6RS+E(ROC1NHC5PV'=S2;I3]=6HJ<+/GV"%(OTE 5BPN ME?D?""?"S3% =M%#E;%TSBF(+:@++AE!?!'"SJ;5FST(O/46G^.)C#:5E%VF MK(&J$^OB(#Q *:FGG _C((QD+6I#^>+5+IPIN^:\"\2DEL27:ZZ8GE#+,4"\ MG*&I->Z(9.%EDVZ_RE$WO5R/2=O=2M(L[XO2U$ES1WI+G0[Z]39@^_5(2BGW M6NB94RZ[*,]%#\ @:W3YC'NO4Q)6J@U.%Z !QU(ZC=\FWV-O197T3)[1[=(2 ME).5^&1WO+-&$4>4=4H_>XPBV)4;>@9>\QV^NN;R[U$%^('ELA*D64W'"]\$+:'RYKH&YCU"^ M:12*J)#ZMC9&).Y#&QN0OOI>NG^DTE2%U(RB?<$38O'KB+CGO_4D?A-[=B+0 M^D#T\44)XIK3P4LTLHMSQ0_6$9?H:;;DHHKNGO'76[\8FQUU*.,9FW4 M9[<%YS=0!4=4SZC9$-URD?N MR:<5R1U!EF_T]WY.6A-N2\/]EX@TN:1@:J4_2_? WY2$FKA;PJ=R*0D5(3&= MMQ9PK>KJ*G* CU(?/7?Y9D4EC(0I.;D>:CO##O_6SV+9 M"FG?M==A\A!W-1'(XC>5-':D(D"[WDFENWO 43=IR?XQ]DVB%.%SPQ19] :V M:H2J8V:_X*Z]3(A,)KVKTK6M\'0U%*WW;H%0ZDJ* ,&CN3&2P@Q>]E6A=I0P M*_03U#8Z,G!WIOS&^!DQ82TZ%\PZ[E476;I"LJMTUV[X:ONW)EBF1KF0A]_R M.E80]D:^!BY8-MT>;WZJ&2XD%'-&&:/_)\^0N600^ [WJ<0LR2:$B44Z,RII M?/>T4X]$5M^.5O0FD:9T&9E\60JDCX5[I\8B%X?!)3I80P:8G^-=U\H!=2B9 MS,.FE2X=W],9L;W=8X0I$^P6S [Y>]L9=+L.5U7/&1WO:S,1X5I+)F'5-5+ M'!JN/TGN)%_%_CU7 479,[T_>C<76MA8D)O*?ZP%A+7Y,U\Y=A-!+E+G[_&) MG511IEW3M(JBAQ^M"76OU #"[B\ZDL6_TY0PMS^\ #$6.,5)[4Y37A.=0+4TW%K[)D3+K$BL MKEWQ4]NY_B%BMRE_;F(0BL9%&(!(UBB)5X=?([!J23@T(2C?VX_8] &(Q$? M!*(TW&^(VC'=-[3U%-3YY4&=[R2N[\N%T%<_TP9J8AP\'"3B-_^1/63XZ,<@ MA!M)Z,4M$9HUDAW13Z)U1 DI]/(_!.O9XU-/:J^NL>E!D%LV::SKV(S/K..6 M-=&#KU?=&IQQ;4'?=AH)P29_K>ONE%)=RTO\8'3+.5:CU0)Q-HY/3WJDO?3) MKOA%=FPTZ063-H(6-Y95\%1\/FY.$ 2SQO<5I45ZSX*9MF?1C*H$'YS/NR:: M4&]98Z_I@;FQ,-:@W$N>X<^E,B+IO;3M0^[2P7(*.JU)1$]QH#'"SM$76NH$/&I-]VK+KON39);C5VX Y:/:?OP\?P6YWT=G("#W+:R_6 M;R(^M&C?.)%PITGX?FQZZ.>82"_'Y,/)JIKV\-LFYI2_17'WS,0V_ MD#<7';@,NW%3/GX5AANL.D^+4OG@?AUX-A. 0'J,Z5KW,\\+2OX&$O.&"CKV6M4&LDD)-?RXQX3UK1J5CKP&ZQKZJ/*NVD$"O3 M"1,.]Y?TV*=Y[-^BE6A+C\(W@*S(R#I( 7O7?'*2DO%*BYK7"6.X#HD)6[CG ML0;I:X2-] M *F5+S),6L3VAX;T^+")A>7H<_^<>J3\3.1/Y^\B@:OU%7;M= M[B"UU,U=SZ+#/B82E(LZ] Q@HZQH7[KCFB:M?&0&?9&CN[:,AN/C?[,%623V M4IM\DVA]K9TT9MCAR7V*>^**$1\@&HY"[,3&P@,GYW3.R2^0JWGTW\] !M^$ MJY;(?^[@X6<+% O:*S1UX=W-8)@\U_M7)83Q>4DZ/+$LHW7LDU3IE24(@/$+ MTFHI]Z!>6LDI#FV;(7H=[?U1RT$4_WC+8M57.ESU=;;H@'7FE['^2P[GK=.1)UX3FP HQ0<:UG8AT M7$.F73KZ/FWHX.9%9UQWD\E-W:VY!XHT/Y)RXC3.I2$3IXM$F3\;+[=Q9\AE M(N*),IHP_VK2Z)U;+J"9A)8LQ(?WBS(L%O=G MQ$!PK<,E5X)\JF7V8_5MI9$E#4Y=J,.<+271P/+;/1'JMCXD MVBB"!1,G**T%J/D=QA>.A:=%>:NNIA4DMM-=0;8#9U87 ]_1+A7AMEP0XBJ2 M1(8ZT3G/$N2"J/)BV_T@L8\6:];PG#(,,R0=W87CNIB'0 L$K/+E-:5WBY=$ M:$_<:X:HJ294TO39E)P@U=,AN9"XVAT1R0<[&CA3!/2$(>2S ]YH4%=@F'JN M/?COWRP90M[;G/MD:7, M^LOX ,;CG7 K=EK.2^PJD"%&,'OQ[/F7^9$IWW>VN>6+L%C,#J+U\)9O3\"5 M#F-HBD)NC#1L1CO+XWSKI;J$7,Z"(/$B;EN$5_Z$QTOP>,^?\'BG,98G/-X) M$VZ2F/0!E;%QK0\[:_SHL6U"H/80(8.-);\4CO&1,&HJ+@= M> =DAY%^LSJ4HY6(7K1&% T1>QY+J^4>KJU%S[%&S#JKI=P9&IY,,L \)R?4 M8Z\P >TC[XB3Y7ZXB9&OZ,=YAKEU[!#"N?&2^U.PC:1->Z(NP^6%^9F#XFV! M&$$@M&*/!EV(%F\2>IZ5X'^R/S*OH?/QQ.-9 Q=/= 0%BPG_>V3CI2N<^&': M]<;I7R5RL?BW&0!B(D7 #2^!>KR,#'"V=U_4X=:A6 >LXY:_-&7HD0;J2IT MVJ S3!QP8?Z*:68Z*9LB /\*'DA*B1VR@$9%]F-U]FV5WW/Z5))'[>KAU?RV M.U:$ T*8 K2-IZ,IMF$*M?KZ\EW,F,3N:3A_C"?OP11!HIX^QM(GF%6)//$9 M<;Z9QQ_)@DV,U.REDU<1\J->_?*-\W6SZICP//NCF"P=NR%@(WW8@R&VSD(.5/L;8"K38Q'J9CG8)1U?L T MFNQ#SQ&.*&6E[4@6KMOZFBU\.1U2,A7W3SOXT26G9^<453A+>I60MW[MP.2N M0QR13P6TM&&BH;LBX2['\RV\$\0(EQ9)W_8= O.J@65&77U@4"EV[M2SK#55 MIF F:HGB6S9?B>!0A &$$<71^.33V#J-*6)<;Z1^SQ(DF%]3?C(VI$!!9%P< M;7-VU5(GD",:#S3'^@-34'"2+E)=F^ J\+#Q"URRUH4WA9HP+@,(G[!^G$$$ MH6X$T0VS7F]%)Y7%4&"XDH4PUL+UFJBSK$<>DU9=V(^#:P-TF_I]^!6Z5>B\ MC%SF1]C/8,)= ,S91I9 O-L3EYG:TKNQ)LH9/562I(RNT=Q6Z:R2OGB1=^ XF5'9";V-;R]YVG_W65]Q&*]A_YW>N MLIO[X?EO1K/8M11"&8(($&-JV(Q2AQD9@[8C;%6L@=987?,>Q7)0,@SWSHRB/#3Z MY+W4.JI=LJBC50]T7$$E@Z&,O5:EN0'\F6YOSG"*PJ :?(NE3S0.S=]34*'=81\E'Z+V M,6H_.;[DQ@DZ78=C#JP8SM2 K]U54LFU0P%.UVA;K#_02OR9_V&8E:5J5[K;<@]QW%\$+HAET0SZ^(+9"J[>["JCAN*CW.ELOS MY\5D$NG7MC>ZQ\0KC\W*+:45\V#ZIE[-@Y@L<*P2V$&4;05T20_HZN@2%\, M2Z;CF2@ZOXU]N]^2HT_KE,8-^!GD2]]Y")-$B\]@PA94U&4532QI]N0ZW:D? MF[9XLFMW)U/(W<3B9Q^0N7BV69L M*:48$76#SO8\^R;T^TH2AM$>:[8X?:6+LB2\3E[-6+MF[1;=6('+FJ$B)MA,UB<=BT: M=\R5,W5(MHYN!T-7HQ;6F*1*,AA17)! M>$N3L:;-KL8"GC<$>2#A;KD%L-45X_Y0+$\8UC1.0_!QNLX:V./AA?+AE> O MX?R>975FJ+=VQMCD0K_K9:*HAU^3^Q3M.^U^>Z;KD]9D*K#NX"U5-3EYG,24 M74E]VEJ:?O=UT5P5-46(WL!E*Q;J11B.T_9L!1*;22*H'0?CC+#$2Q$MVVFY MCIQ>1P*!K4@03'!O.F9Z&O+98^7"+S05G'LWI.4&]N$C^#*X;V_> M.7/I0I!_MW&I87D\]X5!U082Q&ZY#3PFB9T7%:#THU]$F]P++LI7WW"V'QA\)^0 M#DY9-2N/JD 8BEK@N=,;Y()I1C2NU\5$A0LQRU47'-:&>%B&XF-,19E_=Y1J MXYAE<*$=0JR8E8(+4_^(RBHLR"&9'%1M6OZXZMJB9-7)9D1H)-T_H1&5EFI) ME-MUOJ!J%E0^T:AAI+0[OAAK+HON_B1G#W0K7R*")28.,3+(D5BY/7?;>W87 METV^*Z* 5<(G"5_S9AYXW:N_JSDG0>H9&P =1//C;;\$(WUAMII=X5QH6LGG MG.' R+_&_RS47Q3J+4GAXT)PD:G$V"UX1/_&!;@U67BA1$>:$82[C*&LMDS\ MZFB('9P$PY.)Y(I 0:HED]8Q"->6)J5IU@ 9C4R;N4T\8RW%4^9,MNTH#&ONB+LJMBAX)D&8[!^+36 M2D;KH;/)R.^Q!%;>X4K48-,P1T093@Z*"$2@T&HU&%43.A8(GU0O0R(3:0E" M]_"R\!,C++SFPI6?+(_MM8_4VQY/TWHL,XG*X48,!DQ1P<5#!&/NN>5B;.U( M#"Y&VR0.J..O2+[2]L86U1;3$)( V#@47U M<=D-10:'PU[SDC H*9XC(XBVTH%E%K?1WD:84]%Y_+_(^46N1CR#)P=XHNI.\*TUX*TZE1@N)CUMG,, M*9T^L0D#)OTULFZT6B@(R7;%=4*MNAK!Z]$$:$^?^W(R-KT=R87S0;K@CBY& M$;,-URK0$=]@*0(V,L8UY>3=2MG&:)U@FD6)M09:]QDOZ+X=@JHZOD=LSS?4 M_'1I,%6OLR14&M7@@0L%8J[BYC33_? NV*)=DZ?J5!2D+V(E(T1L&7HKM379 M5$&[$/J6)BEA&S'23$:T?#\$6C<_3L(7ZMNWDO'2)A+-*CBTV0B>?E]GT%.G MEP;7[5O&G.\H*JUBIKR?FRWLJ N"<6;$TXTQ1O]Q;SXSJ M]!68=8Z,^6F&-J)VXCX8I"F,&(TA\3]-,C4)I*2*28%DPK MHNCH6%$KL(?6,GXI+0_5G<(C\^XOT*W+Q;^,/IG0+U* MZ?'0D0#"]ZQ!&6,67ZQ:^#?I#3$J4F4J(04F)))C$_F8-P$[-@J#:EGL)\Z- MCL5&'N, QKG",Q%L4NR"E&+":+)*D,6W'XY-+GML/Q6Y/<$$6T-I1,X9%T8? MBFZ]%<_5=5MTH2V6HRUY;6/#X9;EG2.!XX%4 K37M+KQ1)[V]7FOKGZTU=1I M3<&)EONO>J'V1XN/@'54\I;"-VZW7B)M)9L6KI%M5&%R5!RZC<)706!@VU#O M<;LH\5>W"VQ8'.*K.E/^\#:Z+4%Q]".7BK;5OVR1+UG97 M15/]O=!"*)0;#%(^2 O5!-1N;6(3#U>\+=\V"XY=-<4(,S$+CGQJH.;LJ7&R M%==)&D7MK*I#Q[4'27+&#^'KPF-DP!9I&AN%SC''0I=;8IA)G[Z)$DQ\E31Z MNU0B(5D\M7V\/)KRU)%3+GK3TRPF7)F+!WL*AQF&N 8DHVQX\N,5E$'":[Y $=YJ,I%YT554@041U&+@ *(!.RS9G0;* M%IQ7MI@=X2SMG.@V?+';,(K!RC6EBE$'$G2"%?\4ZSZL95]JFQ?K+=G>,CXA MF14SYW@\>\&!CN=%76DY#.HZ?P^F#L*T\]FIY!H55?INIEI0@U_Z0=RHU]_\ MZ75._?IF_/AZ+:+;Z>2NN;[.7,S-#&4#0R4S:ZVHY4BAO+B(Y@K.M*XQMS7Y M"MLC2-(4BY-CP,0)6DWF,$=J&JL@QCHCC&[Y8>"(C234D_YI L:U-9O4&D\7 M+KL@TR1"!(:X_3@!+EK"1#'7WK=[-ZT%D9O:RJQD?>HE? MVAS.LS^W-X'VGZBT8Y5,#![3?MM#RS9PZ(D;-\3C%V"XVS MV*A/>!"/!_G]$Q[D-,;RA !H._MVJRN7Z =*B6@RGNO<8RP4J2%A* M,=ZZ-,!5*.L,53,H6=[#FU&?:+9*8$2(;"1-?(B< *3%,*$N#M$Q#HH94XI; M;Z5L]+0D'BQ_PT26FVIP':,Y>L;5G+KPDV3H-$>&##T/OOZWLY3_"+]P-K,;YQ"V&6\70%JU XR<9\P)7YW"Q3JR(3G.[ M,P1UDF=>Z&KMO'\T>@AJ="'%:S1JX3_G6BA$%8")64NG0R5=9?Z*8]$J!PN[ M\+GN"2OLK#%366%@<,5I/NTG.U%=,7; MSKW-K6H0OOXU?9V/B\53/,@F*RCR>19#$IR2O_"%5P8\2U^2.A52D',A>9;C[ "5LS%'= MI51[I5+52?=R++X[8X9G"7E:5MTK#E=X+VED,-71@8]%>USVO3;A)D3$GO*. M2R]%[RI-=FE47LL'*W>!7WYHOS8:IA1['-?38FXYL7703X=J"Z::C\O[-9H&I.7.$W@0,7W>8 M-X M+*VH0,%*@0%I]1F92*'DX*M+L8))M1_1%R5&LM@D*/<8D3Q[\RZ70@4*DT?Z MU(@4WA$J!R[[#S"ZKJPE6HO3@V=6O#&%MA;2P;M=G]3+N1$+M<:6HJJ8:]?@ M>RX%OTULJ!,)K*]-K1RQ^)@*;#/6^CU?$6UFNB">A]9Y*500&3L_Y=QRQ$E" M[L0>[H4[4E_5 TYECMK6.]V#T/UKK"#:0*=%Y0D M&"9D7RZ1K$@>$O$I]] RSQ)AMX-/ ,F]1@!ZBQCZ%N6:%6ZO09'4;;1[08LO9XCN)*Y'(( M%G>8"!3HM#!63;XJ!ZA%\V"(7#=8JREE(\QC,TA])0SHK^]>4]X<.UASSE&H MMMP]P:>XU*$<9\X-([42;?%-(Z- /[ZV5A=H&.V%T")RW=340Z$?*1/9'ICQ MP[*9R8QM3FR@+:Q)E!H&#*/V/VQ)E&#UH2;'L33C#C,1.)3X5%@^7 3#N/0) MUA/-,VTE1$T\A@AP1$T_615IM$L/I(3*A.S323C1[=CB2[.27#%Q*_I&ON(G M0"?5WB@5PLE91D/IBB\.7Q%C%J)E% Q"U<4=5/%BM^O"%^5*-!*R^2*DPIQ,\NERJDS)!!IESQZ MQ&@'GEDWM=S%"T4X3G1.B54S@S).$WI(G \R-0,O0<30>C7 ['@R3==O+D4P M]"-B5ST!H@>0[QC(X3RS.53#BRTK_[$^4ZXE4.(N$U-K.6M.ES:CET7IPS#4 M\CNBX,$=)T/;*NG.LTO<>[Z]AV/?HB2@ L[RVUI@XOK'UJ?4-))^K'T(IY!/ M]O[9)B:_;.6"0XRC06^R(H)6M-=Y6W9<#UA@D@PA38 71M M<4*4%E&IC\NPJN7[?6+N*TGRIQBKV;NN)8L#O4)/@A1!H:,*JS$M+R5UKXV] M4X3,HS*7/]VA$+\*6=9:KGX3LA7R9">D!^V8=MOQ)J''R"@5_ >B$K;TAM"Q M83$;>VOL-GMPYQ3%2P8PWVUJ5AG+.MKU!S;4*-_]\$M_+QA-LM#8.B\NWAW+ M_K<1)'CH!*M>-)B=N-=>Q$MZ[ T24=D(D8@6XRE8A&/%(%#D[XXX60@G*@^Y MG-,**:AB(KK]2?"MR:2[)I\$>K>,@Z[FD8>H4(^DJC1-!?AJZVN)-3@91AQ- M'TA#YC\N:EI,EX%[',?9Z2FB+"@<5FM2 U([_K)"B^B/:<5WY0I&F! MX7^Z&HD3&U-:4^RBJU'R MGR[2Y2U(KHASA$C1P:,(C*HX)NZ@+H\*D\8L0D5 =VI:_.SB>W-41)#VV3=5 M#U*P5^/V)=C1A[XB(_!;"SR_2@+//T0[\:UI 7K#<_ !5^VUAEVX6:J\^P<< MK.A;_7+/C %<9I H?OB=FLN^$8L*[#R["NU55^RWTI#%NJ]6'V^1^!I2MQ;G MJ7!W>R2T"Q.NB..-@F8Y%DZ'Y NM7*T7TYE&79-N>>Y4N#22VW6=JA"A?JMF MC[-._JE6*D8NCE4)37T2*@E2@XT YF"9D:UJ!FP.JQ(:DX2(N"SK,_ M&5F#[SXJT'4MW)QQ3A#D-O3,('W#)9(^9.O U&D;#;7HHJ5H4Z5HO& 86,=? M!_<]C$YBC?,KC!UUBIN96YQX^20)":+LC/^%R;NJ]R[U+A08>-F,-4N*0SMB M*R7R^JBR.Q9)$ONP\612@ ^<6*V0D^V>GQ1#M*N!VRX-=T,,W:%N;Z2&W?'/ M$#T=@G-;K@071#*'*E'^#!R7Y)]CF/%JK$HZI;(56OXB9"A\3O,[SNR-!+V) M2O;1^%@"7)DPBBJZ2S']L;%9@A>ARTE?U*2GE#,*!$9JP_P5%1^E%UJ_F+*6 M[29/N#9.88EY^SN@)S]/2GTFXUHJ'M;AI!> +PA+>;T^KC:%4_L3;Z2N_@8G MAD#NG]1)*G;+F8%HK+&SB +J1204N9I&60:"Y>K^:5H[%C^*/*I0:I&;$"D0 ML02 @S=GZW&@E8@:O4:4)D=J= M[%W+W,"/JIV8KD?D,6#(B"X$14PYY:3%G2GHA0\,+V6O;57B(BY?2V6\)F6Z M0.RT*FKN6T$ZQ)3MD6JS.Z^>UA"]=*D:-7))S"!,4D0_Z#X<]Y0)US<$CWJ: ML42(QY/U,".8E^ &[(?M4I&3+XJ+_'0+SSD"U6 &>Y-(DQ$*?]%=J\R50C'( M4U:]H[1C\S12RE -5%NAA(K;@PDEC0(A-@M[.;H\3]JHG3I,>(:OA?GZH%5Q MF,3G*8ELX#M/]>3&N0^2ELUHQIT6=*LHE3(D'#.1P;883:G#O!$ULYL+?ZTG M%_>A/4YP)1;_!V31*TF1C=1 MM+C+W20M(DY,\I5"'0NMX+?39RX^.\'VUV^BDJDM,R+4S M7!A-P;E/*!-*_PF+HCE(E_&Y525:QI[=BRKV*@A@<2!,SSF*!L4R.KP'Y+V$BNWQ4J-4)K"*%4@=EO*?.-K4M,]ZL/.=L.:G:* MVX&T IC!_@ W2) 4MEI)3*0+5(C"WK?G/]*?NJV*Z"X&45L7DVF//@<2H.)E MB3*0+R;>W"J"H!-W;A5!;Z=>P436<"8K2Q+9L M>$52:EJ%$K6$AD,?*)]3WBV@ON=UUM@!9C 685<_X+B48W?G4*I3=V<5QBUE M%XX\,A/LYJ;J>FP\6V_PNR^>O7A&XIRHFNEQK(P*C8S.VYUI?'37EJ'VBF2! M>\2)#"LBPGBEMLMU#8N(\,L9*.J;J]D<87+2;FW:_5OP4'@H)9[:+8,(E9_4 M#M]Y]E>A0IO?6CQ4*^H @RW(3*4[3*D&17F3<=A\? 1?5RB0GX\[**YY?PH% MMC&.GM9- A-Q, Q1C\U@J"FO+DXR9KT/I!VX%X\1\9"VF*J)?\P)>W"I_K-4 MJ.^3Y1J#1VYJ-&_W746TD5S"QRQOQ+E%M6!'RZ_<1:#[57C0HA5S>'^A'^" M)Z49T_C)8KNAXV$DUUWHP??G+FCY7XIF1"B=":5===61NX>S?0MW#!MMW+(? MI&->__!.>ZKB)O#/HC/-#!]2-@U:C[F[D9N<7E:YCC&BJ"?T'C*.@5NOYBKB MDFI '"^,0X8A?;[G V)ZSEI/5-3]>8W(9.G;C)=G2AIB$H M^SR?62X)QHA%;+?,74NBJV+PQS:P@W3]*[:M_6> M@D%&>,LFX/>DH< 2,(0+LXX>H?1X,/BOD[8!-F+7SMG%CZBF.NV*[!9JH787 MOSMV8=(DPHOY>'O$P8OVG/#)7\0])-AW1/W%0\V.*P^YT-)V-U!?V*N%%D]X M%8]7^<,37N4TQO*$5SEUO(H3GFS]3_J,5MV]9+L$MYTEIK6>BR899[GE1Y3; M/L\TW:QMI-D6C@'.S'IW5\KV?1]C+48$_@4*YHEL<3^N:L)WLC\]KQ),TKRF MB'*I'IQ@D'S=P 4']2*!(S>]L[8L$\+WY:K\?[$L$TXV8QN," M U3GET6W*L!V.7O[L08/\R4&&N%N7;[][\A&_DU;EF??PB7\D/V(((S+H4/Z MEA\"FXKPK5=4"@./?!?[&^NCXJ_AB3OLO2-8LU')1WQRQ9@]&)Y%0WS]*O7QYD@C'9*33#I M2$+Y!?&X(V6,/]23NV1VFD1C%WOWS(M'B!"=V$DTS6',X)+3<=Q[5&\[L0\] MT:*,(!=3/"O!ZJ0F018_&(3O/[*?I%OHQGI;,!)W1N6WCAO3/(T4)PF7RY$9 M+ S9Q3:%3&;P;-.Q%3K2N>!#-#"G[I95GMHW MBFH$^T)?BY&?!'L%F\9^&+QY! -8(33RJZEA;C!R=JH$U2&#E&Y.,]?C#D<: M;\MR_V1'@"'Y:<_DN_P;CIS@:?%'?59D&WR#-)@6B!IZEI,R45 1C#X1!2:5 M\#KG*00KYB0CR,CNS:B00*[A*J-#/S_&[8R8_.B]-BZRI451&5II\PPZYVGZ M- Y50!A\T$KP!Z@VG'G]60@]O!+[6?$Z9>7PT*V]$!9%%J/9]5^H8_E9%E^L MVV0[,Y3W"-0M&Q81^T=PP(??CSNS8BXB4_6S^L6 #=E H6YC7")&\(^JEN-R MV46ZN%D.Y]6-1+\CX@85!-1;+2V,6GJHWO@]?%1$)I[%S:\:B7LPN!-O*"$P M(L")ZT%#(LMA,^%)>R*2F2R:\<@J(EG+B^^_**2L]H1V'#A,B#82M6BB9L-\ MX3&5UA4CX93TD1JK;EKAOLBV[0V+9B:9DURDH%[*G(@J= >H8CYN0\YM'"6V MDD];&VAN-+[7]$9,I)GBW070N%\'1G:+\:7T&9S!<31N=3UY+7P %PH3 MPX9K$Z"^D$$I5@$A);2EQWH\_4RYE3M0L_!KM!3ZY::J:S-U;KU'\_3$?4#Y M6"G0-C-LOL@(+@8@-HV8_49Y(HR8]/+@Y:BZRY\ &?WRA/38#P0(_2&2VJ"4 M>".&8JXSU!?8W^(A]PA.B4!%) 3$,$+$B;>/?9 M:KR:G+BEE@]LZ]R2*'L$*C;6=J:@T7Z'_!Y;Q9I'Q('$G=2@8+.(XK M_]@&X=H&[0A"_DT78DI"ZACL]EDC,]<;Q1\#$F6RW:)4CAP V>N<-M@56QRR MZ[%NM,=0%?,^#*86F$3X6(!KN.(JI9Z1!-'8=M4Z2XL"^G33UE4K IL+IE,: M>4_B$QN+7>(>Z"%5&F9/I$RJS30K*( M$21$SXY*"T(?WZ#KR#$8]9/750?.MZF@3EYO!'XCPGTP)4E*3E8_3R[>D6WP MG06:J+5>AP^FXV/B(R *O&@%(S#JJZ)XI7:'T'B D5=%A M)8IRD0Y4UZ&E[$EAPBU@?%???>^0X S3X5$MS.RQ\2O+9!U#D6$R9[V-+"FF M?K%"A=H"R5>D]SM-CV^<(D]F"&N]:LX[]JV#;)&(H1;&IFL:5;\SNR*[A"$< MQCT2"9YGWQ!I%^.OT6JR%RV8WK_Q$"[4Y+M6C MJ6&_V&.K0*N3'Z-(="V2_!95$^Q6G/L$8X/9?0JCX'4W/Z:UZC/[4H7!T,@: ML\ 70Y>1S,8IZN;^E0@+5+JG ZS\62[]M$DCQ227J)>T\]P08L9?H(#6,NY^ M;;B2G9_4=CSX(M[;2- 0LEN7"%R<3C[I\RM]*MV*\!WG3J.DP)%I)"@A'_6< M-T9:E0L*HMPA$G_/[.1@Y+=U;-R71]VJJM<'&/GQ-%3A/O>("VU!8\\'Y5"V M740=4T,C_:/V0I188.P;ABZ M=87Y*XF&8FA1-T 9\Y:Z5VKG6A=%I."9H&!C M>-*:29*OO^;$0J]S\\.Y:@MPMK5!7,L5ZF<)B-<191T)Y$T[2[IVJ^MD!A2) M0"=8B?D7"(!]3,X5.)K-D31I9'5$CFL/0B#$MK=/"!6/4/G\":%R&F-Y0JB< M.D*%<'ZS7KED=U_YJLC8 CAQ3U71:<73R'UY\(%7T0GGE)/C\37MG[0%5?4B MB:1MM>])^LXXQT&D8P_J5-129"Y)6;GJQZ*6XK_8#LXE,2VY2$!J(:OT0&G7 MQ0+_@\/&NQ6%#4@HDC)G[Y:-&B::]^M(9GUTCG-MPTM993,8L$:[HH]*T(=$ M4,(U-<+RX,A1S5P@AQG)8"=K%['AB7HWROFIG[JIQ\#1YK#( L9;V?H>[!)F MB %4&RN-K >_MKFBK/EL8+/:3'\ 8\=V*Z'Q75!=?HS?X\M][CS+TD?>5C)I MNVC(70$H\[F3()[O^^H;BA*SJ-/.R=%^<#O]9X1*MX>$8\G5 MC(V:/3&>D_A$A:<0NU+2">"N-QC9KD149=DL9*G!,P&>\677;L&<# +?PN.FVR,'0);X9YT#J[]Z MP+.0_>\Q(KX=:1,\'K2W!+YBTQ>)'[)4M^%,PW$)]6L2XK]OM7 :0%%S6\NI MTZI(&9WHU:27+8DV:@4MIXS,)>VZR2FDK]+VH2_M(M=QG)N">N&YX;8=@X?VH5L> M]OT(-'358]1JH1Z80MYXIJ:,9IOJ(U59J54$@[*4D&"%(>7L;^# 5WC!@MMKSWI.EI^P05RN[XN&6,E892;BH P3W#1*4:B:I* MZ2E&#/_PZWCOD79N(B?DMDX=\D_,2G3!=T>!Q<-X M?DZK&*X$/ 9/$YI[&NB$X(4TD)92YYX-)EJ=UG/(OH,+QP1C'"'*]'UL'8*&-/PJ8$%X)("1 M6ET]=@L] "1?VA<[\2&&&/>75*ETP_"14#4]')H/Q7>I+0_B_4@_]S:+G'^4 M4ORBN' F@*W$NB1,"-SMDN$^VMJ .J)Q#O&:P=,+>3.MLN@66AY-KC[EJ^>M M7GB #K;OR)!T<=N%*<3UF;I&UO^AA]VM"Q\.Y!\Q81MOK2CWK1!,Z +87T0')V4RFY_%]P2-1R3#@K^&B.#=Q0]@\=IP!< M]<$WEIH BFX]7S-Z3[*G"'743-C!-2##D+E\:DC^>^O-)5NE(RE(X^N;-A=S MO(8$>$@LN+;S';$LH2S+B(E\3"OS :?!;JP](?U%Y";VR,+YDJ-_14U1.M\8 M>;YCTI)RS@@1^1R$S:3[8#9KNAUNN]ZU-7?[H?B6/W6CM$9*VL[:><,T:]Q7 MS@2A9#G/OK,6%,YW$,!>O3+>;]N3*]1(E-<"+=D>>'#.O M:'M%;B*C4]".H,Q[16% N&M!MS%^:DF]7>I0$6>Y7-5[=T$*=$N-UCI9.\ MH..[(%$4$DIA=TL6-EB&$/II#P9R&!5(E "/ISB*:5,T*NY#^KOUMFVY4RL; M5>C3VXN%GR77_.'8N#=H*S7BQ$93B!D*6FF-EG2>4WXDR;-R< 'V9!JHG MZ^V";38=$S,4>$"5F#!P3.+BBK4X(C1EN86/@6,J:;-,IY=<):#T_=N08G4] MZU(-:L:A,AJKI4V(-NDMN'4I(+H7<]W@]N-S]&;$0-9/!>3\3 MIAH+99D7A4+*US@H'642!1!)B(MY6BF0>V@CH^U:7(=9RTL6H2+E!6>\^$N3 MG63 LBH*DG.%\^HJ_;!+K?K/ ]FK%26^L.<#'53J$6C/BYXR[,?0C8QUQ4[( M31,ZS^0LVY=2TSHZ-[+4T89=']O;6>L\SF;B>.C&.23IRK1,:92;\DNS$6UQ M7(F2[V(W:4WH*X+-C(),',: M8WD"S)PZ8":2R)IMD0#Z*,MUII&@F74UM%R;H/4?6TZBS PQ"?^Q.>,>R!15 MRC@0P8ZA7*@!=BCN^Y84>)-ZWH;ET=6P?5^LN];HVG%2;Z2/<4;E;0]NF'PJ M10WOV:WM"*]"NV]K\3)2?NO7,4%Y!G4CB5 MS#%,_8*T.(2BXQY8:V[JN,)VSBA-IJ/ ME%M^T%)5:9!)-\[V>)5;A38>H7M MM_,LO6@W8"18=&MLI.!K.-Q=1NN(>"?'1@N)N2-Z6!CD7RUA<.;8^LL&#L;ZA0O MQ3>L#TH-SA>&?03PQT9B-%#+D0%+E SV$6 9=(^V(0'%Z'1K35H"XO$_?M MOI[B1A$LE6K?"9 $FQ.UFOUT/7!IA3TV$3^D9.X=QX-=1UF-V&)O6.R3H::" M=IG!A>VW;3<4TD'%P# <+./$M9,;-X2_$:Y13A8JI^CM+6GA4L,]8YX@Q&T2 MD'95K#_4[95$YB1_.:6,1>XZK%LHA'!STQ7HH'*J2:! 17**^A$YZ\7HD6&Y MF@G$GO14C>IK:9-Q1T9N;.:@?;Q:2@/U@<_&;6U\N5)_00!S6:M0T'(:EF%E M)4D.GW Q;C]/[7KTT@J/A*^!8NN1JT"TVM2Z]"K[$5RTS8&8"YC&0SKM<:EL MV^F!YGAU[/FSW,#B2&&*91WNR[?]^/N=4_7.K)=AV_A RD*%SM'@H&=%X>#@ M@R_*K6;-^\B*,3L-8,TX9*H$[*V7F[#$^#6CZ OU0S"DC-3H4;O)"&*/.63& M62R@BA*DM32Z8&=GUMKJEA96DZ=0-CP%4":Y!E'"%B_+OKY\YQ'>,Y)!U]-J M$CJNU..P&/T%/XUS(]HV]%CW['1<%]-YH1%%##25=L5):Q(GX!.MLHSYB17E M[Q& %8-6U1>E0NC@2^ &UBXDZB,Z#JG5%0X*B5E>M4KE[*TO^1''UEF!GQHD[VPKL'(99>N3X:01"AL6[ MBB"@T9.W@S_MPE8J=1)!TW!GJ*1US+:0N3,&95ZS8QEDOCC2-0R+=H(EK"M7 M^Q,AC7!HMIP@("$*IUC_-B5%T*/B/5LD%##AL J14BE-JMU$D-<,^V;EOD5B MY[M"7[1?E%YT,Z+ A^EQMQX5JD1(PJ:T.+YBR[2-"1D416L4E&)T4KAM6VT0 MO'1#V5*TW7=83!:A0;2PTGH%%T<.34"\6.P2Z+!XF%S4I*TO,/.$%-@?+D5, M<7/)]6%-%X>7<6K4\5390YCI!Z7+\9/3.R[9%*/',F2^BOWCA5M$#4.[Y/>& M@I:C(.Z[L"*/&"DZ**DB+95\75C$T\34NIA/W#BK1O3MTO M]Y#6?K=I"& @Y!MZDC7J>LUL^^:YK]JE?M53*%;QS- M!A]+Y;,=8:7Z*TO5"_13A2J7?"]&KSS3,-;>"^0+@"@H1LM4V];/B)F_9]4)HS834GM%Z MQQ(J]L^LFJ:]YCCU(AQ*@3FQ8;51[^+PYV@A(5O&5QOGR"V\N0K^OH7L; *U M):?:PI)"B1A]+.ZVI\5*WNIVII S[B5F(%R,N*3N;T+(3'(=E3)N;WTX?L#E M:1:T62\)4)7\DJ2RR F+0M$WM+>FO[P5EVD/ER9YBUQ@E EEXFW2P) *2>(:2)K.*OMITQP$%4)3/Z',,6V#). M W&]*VQT,5/.-7%=C1G%AA7U?=8$.Y^$@_/EEI4"R^/*H;8;EEVAI!^PBRM) M2+8S -N0UG[FB7ADY*H^?4E4>M6E%_()\>(1+W]\0KR$"^GCGA)]!Y5 MYSBY-V#T:(@(]5GHF$PK85)>9HIV059.3]W''&]38I/X10>"T9J;&+U4@RH9 MH2MM2LR,6@NP!RD+4@.) R<.2FDD;9,"/F?[)T1?LU+$":2:B<6]P&<9'U?! M,<]1#$C,M&A62!Z=C YKF2L1X=I% 1?9X\VX2;M$'.%#HVC^4$FP(3$8[R8X M/'IL1"_2N?FE-&FG;0V]<;";Z&1@:1_'Y3V2WE\]K59V_7R=18Y^A873JN-/ MB53"Z18D#D6TU7GQN<#.&(J86)Z7_4A'DM@OF>E>Z15J8'FZ*$UB$Z7L)AFV M521,*'TG+A0G/F,PD6\X41/V6*@)YC5!9'#=A(LQ2 ":UAUI?WHB L1OQQX[ M'H)GJY:P"S&@2G@DA2)!CN@9G41E9#"(M6+_G+V7W&U";SA^1 7)?,"FLTVU M&W?QD3?;0$8F["/Z(2AGUUMR;[40%,-A>F4X+&;T/%()J]<1=JMGDQE'QSZ* ML>Q&?UF(/AS2FPAO)R.S1*'$[CP\'/M4A[,2@^=27CC>LB#YW0#&>7SKX=,_ M/R/ Y:/#U!UBQ6D?052!GU!6ZX%;7%BRC'ZC_&5Z9#"+@675K&XUJ*[-=5)6 MT?B48EJ5+&^T6WY-.'Z/I/'A[HAMF)+4]KIMB2,/!E*4UX=C#14&J?Y!8PSSKTHR7.R1U*"H%8*II+YICZU<]WX2IB"&(:EPL@,?.>]C4;\& M]18SLHZB4-)UPLTR[7*Y.B)K2@VK@N^MK:G7%CJ17Z["H;5$(UDB$0^)$4RE M3"-="JK];-Q'^N$(91 &1K50XQFWV5!A99P&S3NFEHG#1LBI9^@-?036.2,\ M#;XD+$ZIP:1R4>&U^*38UMQXS)"(BX\?*68MDBZ,^#I:\'AI"H>RU,=9N)*P MDW]G6"'IE-BF\]%,X;D2-S93P:06*TG,F>5_]N4.1HV;NC[M2 M1BB1^*GJH0YGL^GN 6FC,Y6OF\(".17TY%6K!T9K]I( M%0'DYK)RQ14/EJ,*0HN"H0EJ@JEU*]G0 MX7$C$RS9(C*%?#D(O=:D/"MR"H8HLY^CWU6$B!PK=%HQWM20UD%LC,2_X#PR MX<1DL+FH(.)JJ*VE2R015!%1*\H]"JGS[,^,+%NS@9^"E7>*3LYJ004R.DW$ M8MT>+ I$S6>KKH_J1>17!#=C$P-="GA63F.33D%([4:^I_SJ)A3+Q4S-%@[G M8'N^J59DSNA8)O$Y+%.AOR^+CZ5Q(VYF,S2"291?RC$W#)_H7MN F+"2\>^P M6N9L"84^MV:82LHEP&;TDTE/;.F@A1 WWQ288Z%4#)ZT E98=PC\HE(_#)GT8(G0U+P"UT\ M,6//6:^#IF;1&"&RK'8_S"VN.0HT,_D<^UK\D%S#A7GUJ@HFO8S) 7#.E(LU#4)[/6 MP&WP>D"+0-)=>K1E'M"79 MHS/6,I(\OCXO7DR 8+$)"01X *);]*^_N=4&@FQV:VFP&^^^.5:38*&6K*S, MK"^_C+R74JB#^5:RO![ <>9?L*0P^=(:QG,,Q(EF32/X=7S=EU(!_## Q%AA MQIQ4KO''IX\V@5RGCRCY$KF-M@=;8[D_;SG^!&4-9K6*YC2'OQ:X@'AJPXFH M=\P<3H!J3CMQTH%&/-#(60<::4=?.M!(VT$CCD5,-4$9UT>@63\Z*$Z^#F I M3JAA70I'[0(/B<$ 3*[L(Z;4QA05>X?5[.F$-D?%.5BJ*1T/Y.0M=$4W3HMM MC*U9/;O%3JM9_@G%NNF:8<*)'Y)J'&J^6H]5$2UTQP[1Y6?FH:UG] 6\A)8; M:MX-![&5KUWC4)%5=J9MI@F/EU--:-WP!MO+<_(";FZ):8/1].LR&HII[]YS M+5M:T+C>!7X-8R+.D]B+W@TW)1*OI6?7ZPIMJ2.R1F8A[JV;O/+>31 QX:0 MTT\(1LIO=^:R%C,@(C1)$471]UP&]F']]+^=0\4^E&G=0XF8?=I4>=:?,Y6> MZ9"S%YON_>*;N-G;W1Q.(A+$B1O:WYL-]EHS=@CUB^^7U-(=?68-+\.1UEAS M9%H7:%/%,,]Z)?7JQ5&TM].CPPO]A(G_0HWSP*Z:]!#R272\6N[\ED3 @9$9 MB57'45&8Z@PO7C_U C SRI& +4?2IMW"J#!LIY;3@*7H6E(:H\6]"(!-]/*3 M&[Q E+D;,&6:W-U]]W)UPZ#(;R;T?$"1]KQ@= X'GW' 1( R51/"63F1ZG)6 M+3&4J+>N[-#:_=6X6GE79N:2K XM:;HI7:=CO?/IO8YWE'@U0<)XD#9.C+,H MMS\@WF;\FVJGT UYN=006L2.1O(GGXV8RZ5S'_3BT#E)#Z%*2":)#6H(R3'( M:J0/8DGXE_L&'>G AW^5]I[F\WF5F3HA^&=28K1"ESZGH^G7IT_MWV\K_.&S MY((4QFMSPJ[@$,%;-J+$.7_[_%UP'B]U7N0YEFG'BZNWJHSA&'J3PK_/$6V# MAR*T+Q; 7/'P2@D;D^:@CAO(7"20#QI\G8R?SCM4+N;>W3O9B/$5%T<7O;0I M6OC!A;-3^'#!7-0\RKR[&IY@&SGB"?ECR0;D.X%?XL^$H$:>Q_LMLJ+7[YMI M&G;K@&W1(6+5^$7G4D+WSEZD$#45GKEPPL-$EV @.P0.;D$-EP? @7TPO08Q MX\@MMESR:78'OHMPRHYZU&/3W,AB+<1!Q%6H@QS=P_GA-#9)A<,KJXND%$ * M\>.2O:3'$K.[Y?=Y2C>:]9M)GDI!:6+M+65VF.FACAGJ"WO##>^@<0,D+-]762/24QUA>PPO>$)"S$S6&F C491%>H@PC*I MI4[/9^))SJFU!H+6#RY3=)UFT'&/**5 !NMW1OMI)N:UZ[DB^Q9'XN @:)\2 MLP2K0]DS1 M.7/:ZX_[\>\[&9E@/Q_RKLLE(]MP&D 3/Y8%7+Q%.;SU1SD=< M&5&BRU3;.=R]C.0*^3*FN4K=UGG"P*V-87O;A.X1[;V3U8PHJ[8?5QA&#+"U MQG1T"41KYZ9&$7E=*3X;N]PWLM'?_ WYUE[+[B77J,U+X'H\X%1>1O'*$Q// MEO.<)\%7$N^XQ_,TL84^6VZ?N>O)57^6CHVT3@X9%>!K\^T?N)AZ(R2:N482 MQIE5GQPB81F(B#O]Q/'I+)$N$ZQUBN!HM:._]_8E@F>X8-O[*C>FL&00OOMV9NW MH9NNC;]]7F$M49 U6%YY[OD?H3#HEQ9@.:E,JI%W;I$Y7BO2+64Z#=A67YTA MN .4(>%RI.35%-Z&>C&9<,K5>8JXXHL9Y:3SS1+2EW&Q&"8@TK$/!S20._M0 MI!4'@8D; @&)JR)8I]AT"?*=*F.;:A6)-?/\CX;T-9Q<.VL.5 *LU"@U57PR M$&!C2.#PJX5N5M\0PH?@,(R.#Y\,^P'L\E0RH ]_H+"MIN#53@5OO2M$_\@1 M_$3RVR3!"@\L>.V!\UX=EN5>UQE@G/A2\XFV*T=B/6J+T.]_1%F%F108QQ9_ M!TF.GV'Z2#K\!\5VI$VBGA*!\=D$FGA_9NEJA4 MKJ/I23 .4;,DY=QTBC(9IQ*4\C:.)KS"-XG\>/H9=I)$H/D>%I;U%6AW>X7@ MS+K6"+7%T!U]R_-X'MO:,R2I:!X5G(#EE#_F^U#6\V8>J(GTWE#P^1 M6D-5L74NH0A?VAN.+ICL-:"*Z\+(I0AT5P!!\ MFI=29-&(0)(1H9JF"X"U1]]3))>=1J0J0R>6&FDB HY9+JE^5%@R2F MN8M?"6_@0[0'EWZK*H,ZA5IFV*>G62=*"C?$EV^54_$0@1O#?@?<:$=?.N!& MVX$;K[TH5^&5^_4S2.T%H8DGKED KA)C]:XX\15A>-!A#__M<"J)<\@!9V1 M/7=+'U/B"?Y&-=($G/$;A!<:;C%.'M::1S4;;JGRK[8AC<[W:IJ9K MU@.W5&.C=#A3P$54$^4RC-6FR%QQ^X$#JOJHBU^X!2'62I%O"A+P%A7L*^TP M[Z(4E:/?NT>!@AQT!6'ZK(% M;949' M]')AKH#H3O2Y9G&CBT!&7?I;NWXSZ6_S&IN$EB>:*2U,N(.4V4'. M))_S':.>PL'_B/)NI%-_Y\99TNI8ZD7Y9*8DUMH)6^ M>;&=FC:Q427.O]2,*QC9+@S#F$>9ZHN8N5(DE@Y8A*2H6SB:##C)7%_ MP>U M$7'G,WIK%XT"L!9YGI\VVYUD2,F>D)SFD[P"Y0BGN@5L<^8\P\41N@]S;%'258Q@\4]O) MV5.W5VR'.-HO'0\E2,^>M<FBP_NG*9>&I3ZKI MNE2)1WUP: MH\")-/@@]C4GH\81X5] E!M13'<_P=<5K=567LG(7J6R64Y(50*>N<$6-CE8 M[N>VV@#?Y4;+>5XNT)T-95;YLA&D_Z",D<]2LW-XQ$=+6]A1UDVNXF%\=J>L M=\WIMG\3Y9PK;%8*)_ UR]MPX'R&;+D 34?UUV< ]%:!, Y,L4[8\HN5%&I= MJCG)$K-Q8-(PILP5R]F_JNBC!A>65092(<4HG?Q]>WEFRSMQVH$GT7HF7/ ! MHX2MXC"SH"7=)RA8KQ'.I>'*T/5/)"T$R[2"%HQG:E(Q>4VFK_XH84B6ZD8U MHN]^@]TBN.$3%39:O([TA_8"7U)I;#DXS=="5I$?-B*K> /!PUK"U'XQ>VE$ M/Z8P?0"_IYPD8@Y=BE-$!J^S#RBO_>E3S]'&ZKL6C26F%NY#O)4D?BN&=KL, M-3Z+5QWW+5Z&)+"XA5 Y18'X< M0B"CL:*L'0G-ON-ZP1CCC"TBWEDI*9Q<1X+K_ $[?!=6HY,=R2 C8/V4$\0B M9C6+W;P42\LF;B1RZ]2J;4@R1Y3I2M/-0G =&S&VJOF=-V+'L7+Z.G74FKH@ MB4:9\8]*)^]GB2D3?@:.AT_G>Z@X623:O7/!XH<_.5VB M?*P'28S[AIJL!I^7F;'S<2TDOW9M(PM_1RLC?"CN7# XL,.K!(._K2@47:#A;9PL._%FUS M;R[7.7+3R+]?O@1+ &\6_'"&8RJ,&[G$:7.<.44V)MG$[I8_QQA8>HQD82JY.IP,U&T>2ZUVTS M.#PSQK4&+1VM9WV\GR42Y(1SUN!+J; '1Y^0WD_^6KOF$-O7/2-M "U\15B5HK&N>73GC,YHI; MVGI\OT_4T!SW(0!(<[F()^ZU-D>,*_J)*)I>G3A9/P;@+'FZZT8TS*,Z($ M((ZW.Z6[I"M/O(N;B%+JR@"/@[FF'RK('8#SRM[D4NZPKCD5I:MRV=#3AH?T MD6C:?X+\QWEERIMY\ ._?+J') M]%EI22_1D[09.P&[L^Q N26>EK- R!FE53>N&,\1#L@I?OIJZ-U\K)]F12)XT M5QI34+MDEV I8TQ'U"HV"JM:S6M<+K9F".>:$L5NE>G;/H&@%+GPO)*KSE=\ M]DH&_D'9-9G.0./[6^EG+_@%K2(WR'0S. @16*B0'QVFDNF5>DC]9L^;*%T/KE 1< M1)A3% ?E%2DP-SN+EU=3*!G&"E1_G'YK83IR9C''O\Z\VWXDUHE.IWD*&T@& MB_S/^*/U=NO3N9[.:=4G31"3M-JN8N5?'@IU8T;%#>6>!&-#1&]C-7"<1@@; ME2QG1XV(/:ZCN= #J=-B'Z*2]G);ZK#O-;3ZUBK3"AHX\19&9J% M:LB,&.^,,C=U-*=BXG>O4FYH5+ZQ)##:)IP)]W\>5Y: AUSFX!EL<&+L@_\8 M-P39ZQ"$AB=%]%%QGM MB]\](Y\G;\.]^;50H&C.1'H:VT-ZT@*5%01(\&CY&GFG8!!7'44$S:KP!3:QDEM+4ZI_I3DH8OM;# M>9+Q:^M=I;9,*YA",J$L;.S&Z+$@>& J2RI^B:*UN>>VOL-B1164Z2#:=H*7Z&QYS[&4&<^O?J^>#A&WTA\X!=C' MBA-*.(N".LE=) 11MGEY#A_7IW?S?"0E5KD@^+U40D,6K(*B.'C@DO$DE-V( M9+879@ZHP-Q;L:G"K?F%[C6W5BF6$V-/R X/3?DY9PY,!3C_EFI,$&!.A/9X MY"8)1N?9D')#&U$ 74('ECV'0A4P04>XY:!YJK9"*YOY[V;Q!0' ^IY++I)0 M4@$6J3&(8*RRZ3<<;4!MGQ'R";45E8;)"V;?0*@;^%4.P-U=>>C<\6.1)7.) M*+>E3;]?.TC&"')+4PK(H6?",@P;/D&#;;,(A_)9B:IM^ M=HWJJ0^01!EGSQ8VU*J"ED30V;0ON>RC)*E;8>+9,7MJ8B4?1>O1R6.,])'Q MS*6@&&H\J4Q]:7_2ZEES;I8=98%589>45$+\*_0M]FAK0?UO]DK@\XJ:5(,VIZ MYH/5Y8'0LPDW'238(FL^8?"@7 ?> W=OR]T<*$_I@(H*=UJXFRFIQ!E3C QR M*"'W"."#!FR=CQG'J\O3E;. 46.7AC6+3R^317@]>[/P7&*M)(^H>^.\:N0 M@Z_H;HIM9CCKYPNY@R$3L,[A,Z0T1S[J.5X!#1'I)E^[D".*U5E P.>&U>J7 M*/N(8BS,IF'PJG=N*G-;*)P!8]CZ'Y)DW) T*KR&F+)-H)N W4A\C;2H8V1V M[IH70@ >BR4W;;@K"99,W10)-.UJ\A0V)]!"TJ$8/).7*\^IYPPKE1T8/+-W MO @7>86EP-A(P9T<,)%&$9$ZM4LX4>.E[4?H%!UW=*B!KY!,@?48&4;2QL0" M.15J,"WN >K8*C.3SM4 ;#5Y&_-!#TR'[2T=.:E;M[(3R8LN*!ANB)1O0$CJ MH3;0@?@$74E#U_D$(#)@M%D2(GFU':U)BNF,EI+0VU0D?^JCEW3/40P&$IGQ M6:-DG!<%!8R8W?9:L;3T.%=X?Y%255I]!Z ',UD;30=U<:$NPP[JTHZ^=%"7 MMD-==E.#6PN)$2J1C-@F96BT-Y=P9JU<[7+\WE27HR_"/L?FWC!;)(9,QHK] MS0GG6>KST06:H'E]*<>Y ]7T00%L@.FH/*&N^>I% NH4)S\ OYF.RSG8=HRQ M%8X'%Q;:F&_K$5!(90%N3/XHVV%+5>PR5$&7'$ M28+R4A>N;/*5'?M&UW3'>C@$M\UU13EG!4D6)-\^Y_PZ#*:0W:$+S6Z\'+KS M=;BN#L,ULQ[Q]M&3WSCWFJ02:7O ^*&]R(8Q.?--3?/TLI4O:>\"/2 ;#?0% M,_U7@LW0]5Y)QTS)E%L+#^D2K1:1HL''5#!TJ_AL&<*=K^!G,(M0$C)77R$4 MVZ30:@(OUU**>Y+R-+/P(H117!4%!&%66U$D"HHJ(LD=D-'I=P&NY1%/ GLY[HPG W"Y)4! MISH-YH['N0+S:HBZCF&5N; ER;PC%B!BP7 @HHB.U<7KUP[0KR>TZWF5;H?' M8)),DR7#!5?N1A*O\5)9CA@01ATQ-Y39G.QR(=ZTB-MD-WES,NR12Y646^;X MYFZ57B,\N@1X1Z7IN8RCS2XC=C>9_,=WU[L!P^%WG9_9>D_M ?N9@R%N:%1G MV<5!JJ9@9N GU+6$2M+]=("??/5=N(%&^/WSE__V?P;'_2>#7WK\C_7__2,3 M\X9(T*=30JCS5+39O'B5-X+$=U0L1]_=DX4=;ES7-T3KA6=5NQ?2& MR,6K"@ OFH&-$W"V] 3>UOH9U9%N"BB1D1;%8B63ZT?(YGQ2L]CP&UOA#5.0 M=*B((.J4(D5W/=%P/678&4*X1JL#Z2V<)#,#,V'F5Z MQFO)OY,4;H:S4R7:"%GR;31,<\N:")"$XCR#]&H]JV7MBH)>%_'OG:*^=M1) M*0_IR)@-UEW7RU[#U<...NUT_W5:,-JHSGXG_^6-K2'0[CWX*U4:P0P7I[JV TN <[Z'#C#GJ)L,)W3+OZ MS)0;V6D?'=VAF;?4M-_2]85?LL_M] M0]][T];[^=_'Q8\_WUKQGURG^$^UFO^FVWY#PLSYV_?!BQ>[Z.U].+".-A]8 M-I'P+;)W8J#=YC])(OUS@HJ%)N?^G8,5?RG08'+<$(!?!&],"5T0//YM\,[ MS.Z\E.S6Z<)*;I'4;:9A8K&YN.W^_>M-6?$F6Y#OD>E]?R%_%H_M^2==FYJQ MRFY^8;F:C_,4"SX.A_TG3\]__[_TS\&3@-C:!%:0,&%A-0;KP5P;X=M L.*9 MQ$\.PV#8'_2IPJ# X=%_8Y.=,PFO(H)I2$-.>NNM+K '=[??7IE2/"X+A5P) MMUN*SFG#_JK&!6)H>>W.0L'2DJ.Q(. ]L7':DD/ZNKN)G0&7]>BX'SQ"Q\E! M&-(5%/D8G.%B\C\8@X[QAV6!\9 LFJO'30Y[FY3&,W.5W^X%UM>S?,6'5!=1 MP8G%(> MX\V.NM9%]]LTSV\<]H#?BF@Q:_>,4BE/DVU_@1U&QIBK4B?3%TEI_?7N.96F1:];85A=?0(C#MEBTA34>K_/ MGQE6B7?_%LT73]X$1_#-4Y]D \TX1AC23YB48 PE26(6=!&ULIP14S3:+F?\4UY2Q(M\+(6NU:.WB(+OP2V_CH*)L9:! M0DY\62KJ#,S.A N*\'A*S)] JLH$R;PE"8M3Q9^! L+SEP_IT8!.Z4&/ZZSK MFX,-*[W3JE%^#>8F.F.A+#I1YSW/"3""=RE&)$8J8_(5A"N)J(TTN=K,\%/P M1%-"SHQI^3EU1B=44@B7FN(43HUQ6M\J-X%J)7,P;XL8%$.4?CK F1L,1X/_ MO1CT/BPNOD/.]4U?^9&PT>!L\>F)-"]!+@S07.*=(#0@GBRY@ORUQ&Z.^_W% M)PSTM%6/P09R15NK,L0OR0I-,&MJHMT#2= DN+ $G[6WD.L:C?+H-$G51']I M=-F[YT]);A=5P87J8:W?<>J]W*Z?ZKUBSU?COU U=LQ[/!L=DD(02H703_9T M$H]HA]G*1\;_B9;ZM:&(Y?J8>3B6QX'SZTU:.-,T4P&H1-=MQUM4T+TOLKCG MN%K.2.P 1NX NF"L%XP]^A+!V,-^%XS=VUCF0PO&[EF@\7ACH/'_>ZN0ZE1- M_O^;V?"?%W4^'-V#Z\:3+=';-$FY]IPQLB.N=A]ZD%2WEH0L:TT M?.>>UL8L@\V^UU><#DW$5&J_XR#-\X]2OW:I-.&AYK;4.227AEK+R2S1=^U- MQ3RY4L&4BK.,D45!,_A<9S4$C_ [L;'\1\38>FS]O.T6E->4^X!NJ!>).OE"D4HJ>0@$C3=2Z"-3*SM4+D6^1'%Q5' MM<,$6L)Y(Z4SKW*L5*QI766!!!(5:I-:/J9)U1_JS7P71IONT%?NPPW5!4M( M?=+FT:K^D1:>]?EE]%K]NR.I90\J/;LXVS=FB M4$BV7Y\TQ$2N?=8XNZP!US[6*5C=S*]U1X)KNL@7WU^BVB],?52Z0M9PTX3) M>1OJ0]?/08H@".V6.9?D0/%Y7?#*U89GPC4J;4GPYJJS=/N29.N9V>:@L^QW M2 N*]%Y%\G=DWN\;,\A5PRFT_ MIM\0^9L(NN%SL;=,DAE/-F\ACY4-2<^<8UCNJ;#R0/"K M\!);XG7X]@5T.!BE1(+LTK3B@N\^F2*/7 .%BB%D3V_54)2^[75.$= M/\UCYNY@DD"WEJ 4'67^,?,+*"#]3-2[C(ADKRZZ[;:R!XEP&*EB#ETZP19>KA2@\G'=F M0\VR_-*X+)@_C;\6-@F;J]NCBBG05JT\FYHO\BO=PPJIPO]&SS5*#PAQ;^YM MP"4FYE/6,!3G=KI*W*;S19I,5VMO=BN4.NST,DWJ4YSP_DZ*IADR[W5G PE7 M"JXBB*\JV%OC6SQ+5&Y;:8?U]0-0!.+M*BHHNO MX%K!CD\G)FI$)92E)I3#:D"2-G%A4-#I00BJM[:!%HR Y(1V7;+)D45,&\F$ M4)5+O<-'9H=P/J>IN0($ P(O9&E9Y:FCPT%OV/14G^;K^\/A86^D MOP_H*[S+=]_-\ZHI)_2G8D'7J'8:2L0S\0/(->&W!*V M6)>KYW4$Z IDBWA<$UU?5A>@-'5H0Y$-/,;&59+R9Y3H$;Q\]QK^3??_X#?H MS$7D7,#-520Q*"/1=9?*5K!PTS;7"[2E*YY>S3%5,F_N#%8>J:UI*@E,P*V5 M"R4L(3C5L&$RH9BP0R?.&-@68NN9R6RY?+\52?)*JDA9"E),5!K55((RWD<( M!\52>(/F"6=^_61V2,GO M9<'./;=">$G,6UU5IV)F/@ZIRI^83(8^VW1H4AFJV)3X49+,8TEQZK@C>"G3 M)2&@,60>QQ)HK4@H0RSB\PD:& MV<>\***)-ONT7X",?Z2/,&':);=Q)=+=>!3_.2=IJS>+"L>7:!^SXO"EO#T;.W*6*%;&NFG)ZH#.%/ M8EY^K':WIK*P_)(RK;FZMV\R0 M?,J52#R!52$ED&0^M5XO':W:H'W1;A%E#1,)RC&1R$J5V1H_;G]HURP($\;; MPE)U.;2=7C42:S:9P1MZ3\M&YF\/YTDV??/B(LHD=.G-D"8VNT*6L4Q\/!@I MW188%OC;+4@.S2&,E/9I":H<*VJH ^B>3!!V=JJ4%"&' MK0O3=:"%W&7I)#U2/ZB)'BR_XJ J?6D"7J92 RU#HO.MS#I+3[!('LCY;PG2 M,5/YD(RQLMY1ZYZ(S@ZT9ZV1A5!#:/VCU3U#K>7>(=5CL MZX#.[LYVD @P&.7$L9_;2N+V7&*3K5F?;;#N-2^]6PY37RC)G;Z48[!/F.-# M]"A9_/KR@U_HL3SRS86FO>2*YMM^0M=06(RP7&Y)B0K> MT1;%VNE2D%W:Q0.(S_P+ A05P?K\4I"8#C$3F7 .W";OJZEFI;EKE!=,"UI5 MNEJ\4 U<0&PM2>1#ROF D8!%K\"=B(C[V)8Q(I8D,956;JE),H$0%Z5(\I[$H?8%0MR;$QIU*UF?^4:M5M#X5(/ @,M 6;6,(+7N)% M(?;/L?0-ELLZ;]K(UV$OMY:AM@#1F";C\3H;&Z5=Z?@H4O27"W.1F5\K"*F;\Z*58A\C MQ;A$?9S(E&W**8Z-^X'_E4BI:_&LA7]89M@:PF9(A1H[84;<$ G5%<_AYW/C MQNBRW/R=0JI_Y8:M2M>D7?=DOIR#$@;+"';(='?G: ]VKKWN,NJN:;MZN8]Z MRSKEPDK/ 4;>0)(4CK_#USEM !$NK2OG(&4EETZRK,[.?6W>V+\G7.B>)AY% M(RO9BQ-Q\2*R>'S6]TDNIP!%W9F1GY/BI,RPFQJUQ%,-"[!;?84G-[(?2$#) MNGVZ?ZY;[HH>G:)T:XN2;,)"U YN)RMXZF+.?CELA66.MP(!1?WUSZ65V*!L.N*QEJ?,Y*9(VIWTHNXD* ME$\5%K/DNRW"TH <22E5?!F)AH.GHCJ#NLH!'EIX>\%90$3G>#M MEA]"D%"[ \A6$__$I#ZQZ: CHCKJ)8!ODBDO^-;RY:8[9=S52UV.#%=N.#JU MEYZ!ON^DF\S1J'=4^X;O."-J),WYVNS[P4GO9/W"DZD]FK.&Q2?"LPVOD#FI MG%0'4G2P2!V.^DZSM07$=^LPF[HDLD7*53:ESL+Z+_0FM1@(=KGH$'%5 Y@( MA-282+S7+3]IKL[H(LW0ZA-D4"X2V+JF8IY\7R*;"ND3UZ@/[:'&+@$G+K-K M!O_J!19=) M494^)R^T@%JAR"M)>B&0##GPQ.Y$.HBTAZD<-=$\PYKY,D1[%TTI4^G1('@I M"GZ >^T -O 5T4"16;SB^'DU1H3Q4M"L>/,#&&HK$%0SE0*._H Q(08 M)E ;4'%CK@=:I2OW^(1-F\EU#QTJW%N^;*K@/0>7H &E7JAY%9JC6&@^S[G& M*47OY0#B!DS,)TVF%-J116D8.Z__^AI3_5V<;CSH*.P^J=4 \:(\3@E*F0CW M);KV%]=NB1.Y\-" N]FGD%2YEX!"PK/X!.:KE26 LU&_T:(VK/^%9V_##$& MV^6 :7$-RJFI35BF"C4XF3TA7LPHT(%TD4]=-5$L[7%D^7]4#1@$1PCA5UMPKTPUU8+Q2HVLR MI#<[BW\D=9NW)&CJ;R5 MUK?+U&XOGCSU"097C"U>O':-R9?&4YZLC9=EM\>'G[46'_X4TT Q._,\)F\< ME^J-A"9HII_KW,EVG]&OO1I)M002.,<642'Y#C#.8D*>.Z%ZZ!2P?/Q,OFIXZ$M;IQ\:\&_K5?6L%QXS^!? M1 KX>0WT;-T!4R[%*GBZ%#WXJ6H&2 MMA*NY[3HW)?2(IOE'L<\*A[W1B^J6]%;KJAVFAN7%.]+%*6@HS%D\C_JE]=V M20_65G >$6<))# $Z6)/'<564_$.Y>-!N&:P'[J4)%86CL(,)>B 7/B7H MRA5;+G=;O%(AY^GK>SI-%8% J5("N$R6RMURD&?D(R%F8IGJ E*85\M\3LP2 MBR'-M0XA9X,C2:6FN=ZB&9IF3D_ =Z^4$0\*@H91+2[V6VRJ!HQJR? 4O+)W^^<,M5I +Q#3C5TV M@)=2N U,VGAMU+4Q7*\WFW;N3?9GXZ[<."B0)>CUR@8UM5U &5&USC=J&AW@ M8Y7@2X?$(.RCA;+9#RW7%.=;U$&D-SGM6&?./.!XR=4A[;:KBPB' MAWFJ,"-<=B J@5YP;EHW2^-.VA288PGU MQ<91X-T W;'1A3EERTN<$"E71&:\C;]%S+1D;9BPRA BZ*@*QF:RR4&4PAQ0 M$K5$4CD1QY?2^B8QZ4[<+0JN615FZ#@VOZ+T,6OR&:.3.1'&)EU+,5.D M 1 M**Y4LJ%M7I&='L6%AP=AD9-R1J@G/L2)0ELOGHY_;DT.#F'\.3%T)S;!U\F[ M##U\9 K]*>-HH4*+4A;0G8?(S>FV&Q._0X<5BN]NT*(AV)N7HLYF 8-"%_@\ MFQ)X1Z.7Q83J]!1-MD_0G+,OF30!9P@F1JR<1*[JIERSDS@9+C%W=>60+R(> M\R.C[ @FZMI)N/@7.0(U9,8D!7]U]P?0#6,/+TP:V/]0D%EK\7=RJ6L*&5! J1T"W4AF))Y#M9)[J2=(LP*O0X,[\.Q M-V/<.9L5A8^P1R\$7!+M5N081$=,HVW+PR^ZJG4#"B!TV#RXN3+6.9X6E1H: M4SU-ILI-R@PK#8!3&&K5\%N<2Q=[=&^< ,SD/.).S!J'TKKU5=IF M5\,ZU%FZR-P_KC8NG2LT36LWT2LG5S8W6SB-$ZVOG;Z;-?C?P@=>B)*GRR0" M6!"]B3TCG3=HF+J&73=G,?"L\)6OO9XRB>C:$%.I2_&(O3*8K1YR_%0V!\LA MS:.MKN7-SIA^JE[GV=9W=M-L0(6X8@@:$'<>3'& >R\DY.@5:QX&*=9,$GT[ M+;A%*V)KF>Y\RNL HD:!DDO)I.].-V816[P,=C)#\+%.KBFRA^QU4(5(X%.8@3Q-)J2P?HE2\FK>S92RBC=R=OY$=!V1D3 #J.Z "RIHNI\6 MV^ 3M; -[F$=*96Q7L-?%5;O$#L%[52M$70<;6U&B!>4; QQGL+&R2F4@#WT MAG=R#4H#PHA5=3QB+8N%#1)M&BRIQ[]#GKA M,;R5_G+DP+R.<2"VG+F&UV/'T^B*DWL(+%\@M_X$"1_P[!8*43XXA.]PTB-< M%%'Z8]:M6'LNWJ!ITI+2Y[FR4^=V2"<3L2SI+&%]O(0:54\Q>>JGX8B@?*Y<) KI'&IG MI:,M30DK%/J@#ILS$,ZG2^M1:7*.GE-GPL!4.,))UL"$-0V[$SI;@$+0E$HX M)4M9RZ02(-$NFDFG;S;T2>PS]&Y$K+#1C%*EUQKVZO!N2S>B^')$/E%$^.C& M5^LW1D25M_:V$'=K),%UJ?0+SU<(G$X4I?.5')I05%N. TJX7#Q'M*J2(6I( MM_6CX;IC*.EA'>3'A?R<=I"?#O+3F@&T%/*S=0N5:#*9*IP4-@)[(ZZ6#*$1 M-"U8+ =D:=#A'7* G7GOEE+CO/GTL9&$QO-0%%(@Y:G&+,$)HQJYA,!;[>!VV9"%"&$RZ]H$&P4&=N,\H5,BXXMM9Y6A-UMM 07SBF9$$5UPG(/9B'J M1R]FOW2C#S14)Z)H%G?]K*.#+I*#;NU\TRL@P4)7DC9+4>0.LIXMOY;?JPUV M*4FP,=MW30;_5(Y+Y@A&DXU R:UGEJK7X_-9ZQ*RB$^Q1G"TN3]WG^-X8X0@ MU0QW$RV*/,LQ&L0^SRM8O[_ 8CM'ZD@UN6Y\3KU99\1'=UG\NA!N):9"R= M3<^W5(BF[85IF_NW>PB#T&Z/][T'BEW2646Z$Q9G.?-@L8\F\%Q42!0^KTJ\ MEGV\$T36X")KCH6\3SLK2)AU$.-;%J7Z2?_CR20I%VFT^BG)J/_TH]N4L 9K MO]=GBW]9P/]-])OEZQY]]>-RLO[=X6'O[&BX\>M^;[#QNVW-#OJ]H[.C6S6[ M_96'_=,[[BRL'LK%?WPW,B7(]3IF.;DR-W]RYZX.>Z>')P]^M8[[F[_^!JOU MQ9_\D79ML>DG@C?^J1\P(G^M];.U1X>+3_CPNFZJ*Y-Y,IFDZDOKZ-/K#D]: MP*8C,H#3T2C>;[LR]W6:R=:X+)FEYBF9=U]]AC]7HNVCNW52?X/AWDAWU%Y95P^=S.V/S!WU3\.CHV';9.[;'/:= M'-\;.1Z,#L/^\*AM_')AP=AZ>#FUJ96Q;Z:VG*7;W<^[E(P_#XM'6+U*X8S+U<^,-P M,.JW;=V[-:H9FW>R0)T9\XU"?S=U!'>^+KJ?7N+NPV^UK!^?G(6CL\/;>2@W MN3%LBY!?MSWNP_88C$[#P=$M@X7[HNF[2&(7 M2;QS$UP_8I(@2$3O%NK$\'B&FW0?-&%;&N MFI@OJ13/9Z#L=CU@V]=&*VSI>][&/=C@>WY[UXQXN]^AY[.;>BWW.O3 MLXS_2/J-1;4^47T#:/YT](,F$?6N7[ =PRUX>OJ#_-V_EJ&SU5-KBIV,5\'W M@]&IY2ZE$HC#XQ_"8,(5E'#PK(NQ]$V$/*54#H/(C^9YZ=3AF<'KD&55BJ;J MMR$]ZF!TV.OK=_0"4]QWO4??'_8&ADA53_[ZJ[DHB_X9/EA_+=+(6OYTOXM> M+6&J130'(<,:"!?,Z.D5?@N)C#=(L=QB(2S\3&P_5Y.DFM,Z3.QO0JQ)I4OZ M27E6;(FI3^F'YVD:O-$577.L70%S+1R^6 ^.&#[EI_#JL5HB)>^?R<&O";$, M%XD0Q$>%L(-"(Z5:XH)&L%?LM.BA0GLIEK6SW6R8POJRX!S*S.FZA$QL7$3S MA2YSH4?J# //1;U:5/U51J9KV>I"F;J\E>W3S)(\/-5K3<\.[K#N^'<_:\'V*K7\:JK8.#5;<&\QT2D=+%00 M \FG[=I-U#)*4BJQ@YS6"@>MN:E=$<#W,<^Z.8OVCN[Y-ZI@]89HT&EK\PT1;>@<;6+3-&H_-JAW;DMAN_?BATJ1VY[3ZM5D=NZS^ZIZRK';GM M-YGFCMRV/>O0T89VY+8[P);-;#=;G:,-5N<=K,WWOI7<8KG>[WG^8>=YWCOS MYCX0Z/[F.)@=BVZ[,@-:./"]Z.0]4"1[#J?L6'3WG0ER='@4'I[%G][#1>J'@_[=)$S?N57VL!<^[/=/V[;N MW1K5-F>7K'ZOS)@FHQQE\:AW'P2]@<=G6ZW/;KMT10U/ N/CF]J;N^9HN]"BEU(<8]L\7V%\S 2[$O! M>5K,)-LQ_;9[?3K0SA[=0'P&$>C>'ME'H]XM3:X[M*KVX!S:;"#<3S'J]UI7 M-/=.7->]%LWVD:)UQ&K=U?Z>7DR-^KWAWMT=[K7ZNJ]B=-.(\?V$'NRU:+;/ MW>QK+(RP0IS'XJ5!HMDTME&:20-U/HG&9I]5R\T^^>JK\CH1@ MP[-:LKSSOS-3!7(17:B#<:&BCP?1%#K[4Y1>1:ORNQ]]-H D.ZC-X:;A.\0! MQ]O(T*;3KS9VUA03%>?,5/<3R+HJ\"GH3M2:O@2S0DW_X[O_DT2G\=%1-!F> MJ&AP>#)29Z/XJ!\?QM/A-#J_+=S^]1LO_]QVAO!X!T@3R&=3(94_/>L>&SG69!]^/CHZ=3QR262:+_'YX?&*98IWO^[W MO6=U7@.MHBGYPWIC:!K\X+>QB37VPF^[1CLK-)'$B820+R MAM,#?Q!S;@.QK)WR."^798U3%R<+#IIL*=\2<6*:CZ,4%H.D)8AGR$#K4J7#+/J(B.$8&R A<96LN+BRA+_B;54^H6M]%J>+-^#(J/JH;C^4.]Y/I^=ST7$G/ WB*M!DM4YEFF M4E8\8:#F*+P*!)U: ,4T3\H2-@Y\9YL"#7E11'-^ ^X1_*FAJ%[F8$_35\LB MNE3I 9G (-VZ!WR47,,D6VX;0DE=5X/[>LMJA@\NQ_#& MPV_U!?5@>!2>]6\)J&I-DN$U2)U.E!^"*)\=AH/36[(2W>MD\FYW=+OCY]$@ M/!G>-!UYS_3\38#/]ZPH]8TSS;_!TK84PW4/'([]SBM]HPIT5?%ZS*LA^K"@ MH;?EO;F?F[(C#O&%XY;\7O=3.%K!N73/VVCIJ;@1#=Q^%(B/-1P->B>-R,*& MRO5KE>%U4P3'L) 2\RJJ8G]F7Q!J$* &AE ;'I"+T1\S%4VHT#<-0A!4_%5" M9:*32T4]A/<0O"ML&BFC]\[LV\ME'G\\& L;4LL12] 7MY3_=MQ^X>X;55FOY4U/-X2?"T* MAN4!1C6N/1#T3AB,JV4P5H'&R(-("#@)#3"";2[8&HLNE%,,/!0T'APRV;,@C<:!^E>5T+M"N\D710ZF_VHA(IV#08*J*(C2-(_I MU[MAV(IKA]4!V1X\-*H#LNW3:G5 MGN!L.J ;!V0[0$A73H@6P=DVXOY[H!L M'9#M'@'9-OFU'9KM(8(')XT[N3/4,Y=*+\$$3Y]"@<'MVRUEJ'9NMV MQ_W>'8/C\/#TGJ.6'S":[<;8F [-ML=>1X=FNP> I;MARVSIINS0;+73NA.. M#LW6H=E:CF:KT\]=#ZX@--:QQ7.YP#;>\@WHMG6..@_>MAW-=>*"W#8@X8[= M9ZZ!HO4]))D'7\$/HGD.NN5O^XM!;VC09 A0*973^RM5J$;6LS2'KX)I%"=I MLDSJ8W+;;#>*:"M";:.X."N\&:16*)2)W8%J/C M' W+%>.6HD4TUNL@,#5-!K=_L+3?5*8*,#IQ9.>3>9(E!+=#V.9^ -/< 43^ M -;XU"PN=IU9S86ZXI*J3RJNL)DPF"99E,7PCUD%W44YA0<(KI9DN.J\NY.?4O@LX)?Y.QT;&NJ5"F\F/E4$=L;TDK*+WO! MFZ:/718Y_=ZHFJ"44]] V&."[F(O2-RC3TZ;.X#G+G:8^@X^]^ !61U\;I]6 MJX//W0M<5P>?Z^!S#PA?T\'G.OC<7LQW!Y_KX'/W"#ZWV?ON '0/$5=Q=!2> MG+3P\KU#"'62?+-Q'QZ&AXNQT=?F[_(5(W1?K?:X14!Y_K9*-#SW7HN:XR]&;BN,O1GX5UWP4,17G-@*Q5_"<3K5HCJD5L5>0/@=60)$<-K\+,#I[XUCK/* MA')-30XVXU,/+>;U%P4+E^&0"1$&HYDEQ23X5Q456-@7GLV5P_"&\T"*U!;EO6FX M!INZC\R2A5K"W'.-XQV6^ :PWL@44-:ED<<10E_'!B(M\]??2WSOELERH;_7 MP'L)W0OSA&\+RA3?!I.XF7J2R "#)0P+'](?ZH+4]#IDGMQI)MM4Z_@M3%A1 MQ4O6%T^EVOBC7V"2I\GR<;L% SJ_R+,)04ESV=AE$$>5T-NB(GCZ^G]>/#L8 MG 4(OE;S)"8E(/L7*WHC\M:9 C#RJ)K]/ZI,JM>C0HACE6)9:T4B"!ONP%3J MGE;P2\585T]U1$V*(ZY2?+P7_$E[N2I0)_L]T"7?.6G ZG0NAMX/-007GX5G MK((Q!9=U"U0*'D25\+],:;E$*EU0B;!O6-WIWXQYQ4'1O."BZS1/*.@%SN;W M?8*3^@[F_1\Y[%:D MW!3%#;UYIU3P*H>)/PRT,'[KG=,L?/_V?TZ'P_Z37Z*49O?=3('Z?89:/2WI MN\&3K]SAK=VCR-6,YX[4$]A!%#FEM?J5P.=P<@3OEO"!SI8@KM4)GZ%)&9QG M606/O%5,GIL%OZ+ #_H'_[5W>NX%.D6PS6@7O*9=()D((;QTV6X]MP-J/G'' MQ[M\@\GLQ MWQU$OH/(M[;#W9/M?[(3JN[)3JBZ)]O_Y /($'NQ/=S9I8E]I>&W&JCW:! . M3P\?MPE>WN7 =$)\0R$>AD?'PWT1XBXYK-L8WVC K Z0=:]NI*VOUUT_/\0+BD>#XZ/P9-A=0'=BO,]B?-KO[]4M M6W<%W6V-;Z?AC\.C>ZSA'_(%]+ ?G@Z.6[6TW27TEPT$[1D'Z?/I5,5$;(-% M])!]9 ?VT7W<>6)T.["UL\L1Y]P M+<7Y108-3 *BH-+Q)$W-)'6MW>K0EO2-@1]+#W(0!LS>ES,+'$)12E66<\UK MC6Q,')2>B M,']-VHWI.2?6-?>66"C7B%*2>. UA2*R9UJ!=LH\:RA6A*8;K+0F5.L[VQ&% M_S*!/LLV9*+?2^9HR]2%<#]>)A-%E9NO2!"$G8L6!'_5M%K$"KGC\D"[LR2> MR4;DY4+-,T>A+Y <; *Z!#9!C%OO,BE)WLKM[YY6#ALE =KP\09Y;;DHO*[C MM^;1"B>OK,:HH&BE4^3LXV$)X2J.=:6B@A;22O^*, @P=1ETSBWOG8# C9D( M5*\&OBW7SF'I55ZO M,JT"\0G-JBWJ65@C$VIS2>2[(/T+Y&=UVTVC*WK('RJ3.O+VG( T&-6_=\A+ MQFUH)"I,VK _.&OW%OT5%BP*&#V;E%: M%3CGR1^M%1365[>BVH-#\3(%10) M''D8E$H%+Y9J'IRTDWCR)9D>:,SA!X.3)V7P+"GCJBPUB_*Y&#LX$9;P\2DR MIB[U,V_M7+TV<]42^DI53(B0GMRS!1X*J*-!%<8.KJ25QS%XJ[/H$CT TL6HO9WCEPUBY&=',U.< M(V3%MT[4C!?*X*>MLB@J7!&@6)H9$NL0+$ ML1.JXNFPRTUC&*^X2H(XS>!=E; !X %U[53C[])$QU/(&B!'C0,6Y&B,L4+" MBD99"SD5:A$MB\28^" F6$<@&5)(0E-I,D_$&T%C9):G3%M//:8UGK!(DN_U2>C=,8E,A![^PIPN MF,2B6.'*M#V6TI0?!5Y5R=49,'*'X@#.,#S!\I172_X#BUA(],2M9"+&.5AU MC_8UA^KTM#?J']XFA>IXV#L\.?X*V3/'P]O^+9S]DP;.KMS-/66=D%M5?^T@H1TD].>CX_#D;+17@.E.DCM);I+D07C8/]LK26Y%1?LV MR[(Y .GF.,D:(W!=Z?.;YP$,^N'Q\6!WL/B7*7[>K=#.*W3<#T_[;5J@SEB_ MC;$N\>RO;JS?)/%E_W;#\# 6VO6NMWJZ)*2;%2X?9COXZON5?Y_L@IJ*YK#5/5<:^.=K9K M2,6_N"F#V(.62?EYY#=T[G_S( JFT65>T)T,(_-T#7/_*LR!>'U_>&@+S0<$ M*@FBR8>*"X'C$R"1!]1G7:&XN6KZ]Z/3WHEIR Q4;J7DE08CZ>(&[? 9",L7 M?GPS21>9?_*M<&2[HC']U)9!/'J 4X;[GSJK8GN[-B0LM(RWWP>,,<;95EEI MKC>_'Q[VAG:2,JP'ORA4+!>@5$M]CO68_[8_&1SM385X4[+:7;'RQ@OER*)W M[>ZE(J +E2WS8D63-#IV[KA!@,MJ04@U72$>B\)C+7"N#CZ'UUP@J6_U>8\X&3%K[[/+M:@*>!NT M1--J]IQ>*6JJ[^PV:0J3)#X%3].\FM#]?UPD"XU!D<7&)(T"5)^DC7Q:,AKQ MBH C*%AFSCB' (915,H7/7Q]W^J?4"^B V/&30V'*V7YZ$%I( @M9J(74+]@ M6M NV3LP\@L3IMB7(]C70-O"+2QH V>M?66#!X\15?Q@,V (&5E]K2X[EY7% M),'D _UH[\C*5F/BBO?2)1$-_ZM*%G.=787B5^'I:C[>.[GZU;B3>R=7C897 MDWNLCWNKR#:<:M 0> \3.28I\Z$L*YU*YD+J7"DA?!((P'(EF7+TNB-["@H* MC/*C&O2Y.86<-B-W(!9LQX)K)7SOQ&UOV,G0 #*([-S.N2[.P:1$F<=R&-NP)S$JZ4)2=BJX#/2FYR.BH MDMZ>PLD%LT!Q.E+5?AX"NC$WS6:@E/=_1!EK^3[J^2OPI17R,%"WR:+((SX' MY7=@65Q 7\GPHW[\$F4?4?K.YS!1<10&KWKG')#\)9^>![_C[\_-3XQ9/"4+ M!KSZ/+V4U&?.$*@6;&N".0S'\0*EP+!?\'??CYR0%_6-TP@HK05EDOX@E@B=())"Y*%K_-!B/]@EA23X%\P6B /"3[HI?<0 MVP"L#&:AE K="\[(D%=C.(09%A(,D"\E1J<=7>PF7IS@YS".P[7^/.6^O..T M(A0LCF3B8Q)V/"!I M"W+8'Q?L 9 ,:+(5RF6B3#I0'.1JP4L6(!11/!/^F0JY'7C)1 F'+OK#_.=8SD$5+L*(#8^:7MG8ZA8D0@F.2* M)N,8PSR!L*9(P*$R6PH/"#V.Y\7.*5C"+ MA+ ;7*&8>/\,!=DFPO16]]@G]"[G^4^JAILR0T N]QWFY/+YPJO%TA!BQ[ M#$EP#89M#(30O5EJ$'9>"-J)9GC-7U35=HST=)%.7Z^E*4GJMP>F( MAIWB>O?,M-JNO2>BE 05 U':%!1G9/ZP;+6M6Z(KO*,,]%M.MT%JP4*,MF49 ML"#"(=8L;T9TF@/I7)Y /N$1'T.FPR588BCQ)XYG$%&0+5B MA'=Y3&2+'+TX%&]^Z=V;G3?TXI[*/1M&I5[;$Y.].7MZMUOUHZ5B71#72HFV MI#O[H7LVE.UD..8#&YQU2\?U.XS!X_QJS4CQFD0-G^.6@:T#HL6J-C*G?MV$ M82=MK39B-<=;B+]Q1VWI_M9)N%W>[[?/\CWI#4:WRO(=G?4&Q[>K9K<]_74T MN%TZ[M;$V6%O-+Q=5<>NL_>LLSMGIN]SDNYPL)\)U&_TG>NSBH(D;XB,TP.9 M=JG.GS7#[Q'7T^4ZWV+F?D?K]#T2E X"3/3O)O$6DS@X&-'D[90;T;?9& M!T<[S]Y^I?&077P7N3R^]]$48OTZR(ZCWNG1#CUL0!*@'!^,>H,& Q\#='P+ M_Z-?JV:W0&^^BFGGBW1M]Z'QV-;EJ0OB-S M:H7)\G8#/F0_[9715PS]WF]FH\%AV!_<= ]W]%/?6L^>W#8JW:W1-[-7AB>W M9&CMUN@;K1%EA ^?M&V5[C;(L@N'IR=#OGX0O-T!W[AMTFZ3;)-9>X1_WPY/B649!NDW2; MY"%LDJ-!.#J^Z?5PMT>Z/?* ]LA@$)XD!;H>?AL/>T9=/8=PEACH8?@GX[!?M]O69EP-,ID(F,UV M#$ATH4G M+W-,\9U SV$XRA2J)1*4 R0V7#GD"T0T4DC>\*7*)GE1]H)W2@6O\J4*CMM# M8T<3(31V3]W<4TJAQ31[+/6;J%)XZ+YVS[?VD[E;: YI0:"#M/,I$]W2ZE'I M78_H@[EVD8;R&@Z[:570FCF$AX6ZB(J)IKZX5DYJU)@;Y6-70HHG+=GFPR\" M[?BVYQ"S%]XE=>*OS*HS3[)D7LVW)E4GPJK$U:G'^:5+A:\):PQ;*J5@5R8- M.\UC0Z="# #,3H7T![I^^83J4>N:ZL/^\+@7M%(ENDB:9?1@-8MCNQ0*N>'I1&HD4]Y$+>62SR3$Y8U"N03SIEPB*4N.Y2 T8:L0 MF2#E2SY=7F%+BR)'9C.AK^(7JFR&>5[<"RRCD<%'('2*B=Y@L)>HKX29JF!J MB#*>J4F5(@'4-%7QLG18HE2=&HM*)Q3P9[6PX_4XDPS[5)%_@!8,905N5#L, MZ3V\ZQ)+)TAA@P6E0ALU^3*"(QZ5Y2%1R& +6I?[O3(]P3^0["J*9TB9,]$D M="J;L+( E&EM8$8*ID)5D0PROFPGJ:0KZM3RNMV MHB[KL.J(C3UBX]%F8F/L;C+YC^^NIZ0].OWNYXX->4_)A!\P&_)@6+? 3H8Z MS)E 9[+E3P?XR5??G!LJKKQ__C(X.>]Q_&[]?_^[0O:_)2DG.I+A@U3_C>3W M:4[$9,'Y&%0AGJ,?X8QXFY0?[YQD[)I*,V+_O$5BN%W[>W?L86@^L9NX LN. MS)U+2Y[K4,L)^=R*#!0DO47KL6 GD[G'0FV5U8H[S*-/R1RZI'D5T1S$-748 M15-3EXF*L<&L]8)?5L$"#MV8.?(F.5E%=-Z@D9D[?1/KK(CX] 0M#H9?Q0-!8LH6I*KA ";<^,UP>=VI7[I-38F2.9,9@BBVB!]O(S MIKTD7LV(@@ML[93J,WH5NB2/9*+:)2/"1^1D-'2Z8)C3YB::5EM-#;LTC9(B M@$GG^EFF ,AN2P&S$@D;)Y$9VZ:-5X)TC>VAQ]Y05"C'*EM9\)3X2V%-GW^2 MTH7M5R="1DCJ9"KCB/4X]+JSDS-16/ILC!X.>%17=[\H-W1BGL=YEL^3&/G^ M:5CM7AE4]).D 4?*"*<)<;U^A)-TPHI%-GG%7>8'5N/87P6,2/S6*G,[NNQ MBJ-*&,,;?L0NO]:%8*'DFKX?=BBILPD2)Q9('ED$?[Q[U@O^,[\"C5*$FGL5 M#!L:0BK")%3/=J,WR)SLG2(29XZ<:2RIM]0JAOIL)^/IRQ)4>#['ER)!.O8. M._/"K1Q(K.DYTM6;5_$;C#:5:QM\F+TP)HN'ID K8Q4 GJPH\^JA+OD\YII9 M)L2@5:J^,8##S!#\ID@"S XKMETNH3<7\%\L2][ MI__>%]"*NM$-%6LI5LO57,NV^H8&C(V@ M;GRK,ICF<4*:_NW+7Z3=+'A;+92B3U^\>LN$Z+^@=0L&5FF%@]7=^0Y"(T2I?LQ+K4LBO&!X:EYB_DPE--Y-P %PF& M'%W8AAIZUM07PTGM=$5?%> I1"_1A6VX4A)5)HY*^6VY*^GT.N7A=]^0<#9L'PW>'4S##YU8=6+5B57KQ>J6!#GW M6JR^-;GG'0SX[7/7 MQM'^B>0MK>J.UZQ;GVY],+OB[M;G 5CI+UZ][:STFT[:[:@0.UNP6Z5NE5JW M2I]KM]^* O3+APMO03&TG_%$^-_/"BA^@8G:QXAC)YF=9+9EHCK)["2SG1/5 M<$NS"]7=W<&Z7TPI.0 S1J,%I9T0T#A-.FV(WH.]R#\EF(N5KH+OAVX^*CSK?SWX M0?*R_S19FHQ?IEP$FV(+7;B*BHE-0+!Y$_#M3$TNE$WFK,&C:YD/A-$N* \4 M!#>YY/F8&BZ-)"N71479O)AI)4AOS$^EY*]YM,*7E\CYPCTDTIE,NH%_+#$? M)1*Z%OH\7< <+)&L1GFI#PW)89B5T>Y$@E^;DD'\;":B7DO[#G#^,3_+/8K?1AE%I_#W"[9$VQX''^DG?E*(=!9E:FM'@[R\B& >F M=1_U0UA3[&A2\J<)IM/$^44&"S>A?&-,]OI028X\3$.YS../LSP%.24JF\') M$\I>7JX,)Y"PWYS'<36O> 8E.2^?P_1AYA[NC30ORUZ-#>?.1/,VN6&\%_A+1Y&T M&T72W9TFKE)$C>X8#2J*9YHE$),X03^*0?":E+N0Y#P2/^!QB/:))D\69>J9 M50X+'H=G1Q_^=SA86\X//R2N<-? MLNSQU]J-K&N_Y?[O-^Q_JD.R^]8_/B1Z:2*^G2*]A%HHVK3!6W61E$NJ?_&F M&J=)')RSLXQFR:]),6]0$]=G)-]B(1N.>PJ*?_O#:V]7>'2R8;%D^]6LMQ$K ML:^2A=YM^#L6!SCLMX1ZPRW4F]_F]1[+>UGG2NP-VMU..A<@4X<6!Q&6UV!=PW0 MO^<$_;NGEM)H7RVET;Z>':,]MI1&>VLIC?;;4MIG:>\LI?U9J\-A9REUXL#B M<+P]:(H0[U\1XGU/+:/C?;6,CO?UK#C>8\OH>&\MH^/]MHSV6=H[RVA_UNIP MU%E&G3BP.)Q]]_.K7,JX>292$VBXV^-[LZB'A^W:XVO\";R4/__[N/CQYR[5 MQD'SCXZ_2*K-89=JL[>9*@\TU48V+67;^)+56&WPJQ+#-&?:W#J-H*;?OC6K M#;,@<*%6]UZ(*YKF2*J"@&BJ_YH793OZ^Q36^Q.68HU[UU:EM-1$W^UTL*RE M('TU>:(&=Z>J>+U(,LTN@JMUK4W&Q#UWO*M*Z+K/N?D:7_"+/S%):^55BLG2ND-[)@V"$^YB+1 MR.:SMCXRHX;N(]'"&(LPYBB,MM5""^/6)0AA=8E9*@OB(D&&I2A0)5J1"2PW M,9%H86[%QEW;@E^W=UO[0DMA:7I:,3^DHRX*UF-%-%=7>?'Q#N>H7=+S:-@? MC![?Y70D95DQ=YOLZ7FR7"HBV7FW0/5 7 VOBXLH2_[6#%BLH]Z#1S$!1X)_ M59;(GA!L)K&I67O]NSIK7F3"=41&-0;<@Q5J(9.(V2 M A4JTC6E:8"<$@7KNW(!ZK;D-S0PA,DTBA[=]6"RRMTP$B7X'X<7#4NDPT=? MZWA!ZJ8\@R;GR"=&)>#_Z+WK.?72X>A6"R(WL@;Q @0I3A8I%ET_QP,E:5@' M/1>V0ORV>67:-CYXO\39TQT]]__H">Z=RFV#PKWAROP2E0DK)>WWM&$0V[WH M!HL7VHPNZ'Q@2L825R]!?@PA?RQW.%E">E@K/.)>O;E:XV,!&T+%C[Q'94G] M$KDQ36;P!1T9N[?,M(&L_^I^V1WM]^8HS5WJOY=&%(QTZ*!1MKN;W@M>$TFA M"!(25JU0M,#F4)_0WB"J3SDQ;:C E\KK;1FBA[RVG=W/5'-LXGE.+F+)?F,! M_Q6A$=09^MIAK8]Q(-FQ';Q,C0LC#S!O1UH"7%A.*+YA^D7DS51,T M;X)2Q57!3&)I)/20M"\6"^@\T>,4E6;AA%%6J:_#W]G?XQ//-5N95>FF21I4 M*Q3\==$;D)%)%1.)K)&!3;.)C)\36$0S(SS,X/TL+]UO90V9D?0*#.XTXJD! M*Q6M3YYU?A6L8SXF5E$DH\XS6@;0@U5![P:+O8(V9DJ82W>Q^%&,I@6?R\;X MQ!72CX2FP4E%I-K@(( &AO]_6D"W6"?K1VYCJR(QL+6$-QK"[1>0UU8F9,FO MGWYS[,AJLP^1QVI2%7QOS<<<.T-)^;'\J9%NT#YNQJ4\PVQD=L[CM ]!E2U2G"7HWEPGHJQAUV07L!TV9&,V9UA>[ M,DG*."5:8^/,73M&/F-D-2)VQ'1OD%^7^=_U0;_FO 45ZGJ*L28763(%C8?, MO^62R!117B<*35MK&X7H9LUA3JI?X-S'+;UYX1Z1+%%4F>'8$EE;04-]C2!D&X_ B0GLK-E:=)'S3(& "*\]+-WO M"3AW]OS?V1)L?QCM/(AO;3 F2'A/X@52S(+.IIJ6C<9#W->#A=*JD8+Y@91KL^9(=Z:I9PC"U"$L;88ZZ?. MH\%CCF,MA%A=C%HR'51&78=A(XLNFE7X&XJJ.9,\4?##-,215 63XI)#2:%- MC'VF9"S/E%_?0LX@'=$TI[L0[QI%3K/P)'@TU!W=MLPT)O\UPEU<3+C<@54^ M*#(*XY [K?%GK*:.N](A'ZMD(2NRG27 M:#; "->D^'#V4QT79\UK?3*B+B) ,Q;;TC'.@:B+;F2U^+ASP+=>"?ZBX@@F M10?ADPS.35RVU*K]\ :['DNG8!D<62,NY(,KXYFS$D#'*A#Y!Q4;L4&9TT8$ M+XQO+F I':IE(V%^WEAE-?[@>,+6=I'>CS!+PR+*\PMD-W*C>@ M'YC(N"D&%BW%FKD05PH%!32WYQ$:]99[5@>^&,+<(&IQWLB,L\O92H"+GK"1TVL&/25&47Y#S(#H1M2GN&-HCZ%'RH M)A>RW=_/W!'*YMZP0),;>@=24PH=A[Y&WQL*V/SFZXU-X >@HU#-RY;#AU- M8M(L*UGFCM7?@QJ?=*55.M1P:P;P6:CAHSI%_^@KU%NY[?'_W+/&V&NE4B8F M/@#;*P73W_JQ$X,SB3Z)$7T#<^$;3L7VX$!)*KFBX!,<09AK% SZ.Q^@/AI$ MPE@F$)^Z*+!$3!P5!<%'3>$PM-(;ICB DY[P,=869X,%O7B[ MB'!HYU=DNB:EM4"N9BK3L,5J00M;NX*]!+,HKTKPI\F/TW>J^!KT)O$A$^*C MVC:SI(0'"28*AV"R<,>KH@)#EN*2+HIJHAU%Q_/#H>%]"04WRR6>L!=4.2ZA MN^IY#@VER4?T_:B.&QH,9.^4:.;3'%BA;9JPJR1-Z5=CO0(*)@O+NZ$$+M<0 M/::&3[G)W1-OI6075!>)HX&8^ ).]?5#H&B[_0WV=(R.3BD7*;Q(:%:88D2, M;&KL,-V5"K(7>S,&;VK*1NSW@^.CWHDN'61CK_/UVV!V8A.]_/O1 M26]@/_% 7H&%KLF5&;W;FQ*JH5MESJ([2TVM?3\\[O6O?X.MS.C7IPH:QM2[ M292W+:K]3U!^J'&2:2) <-5PRC6HY(8)6(>JKRV!W]E)'!C=3J,E-2V MJ!D*$-&#$J@!1:A]FKQYT$;-5>Q>E I(P2P6S#"!&$!(Y8>; MUXI[0&&\L;JH,H&EP.3<)%#7%CG&S3_-\4"GI2^4K QNWY4;A;I2^GY,U-1D M4O!T)N4F(?O3[ K9(\YM'M[YR:=;+O;T^5-6Z$VE?Q^V;J9NN#ZW>:FO!)STU['>I"/IEVC=CL_;55:+@9N1U^[ MMLTB?F"*>@.+O?*LEG X%C+].B1&ZH>++U-5]IH.**2.K'=_K@.X_M1MG3,1 M ;$,M7PUF"B[K(>Y \;QHC84^]6!MQQ-(._1!^Z:PJEP&NY@LQ]CA6* T+V,O(!]_W M\VJR=17AS!A[#/>PUIN7CQNWEQE8KN>K;I<[*'+\;9&4SLU8O3F,])-K *9Z MQ;-GUH!"D\N*D3Z(]:>%M;H(W'W,.P/AP0[!>J8KO$0WAX>8E[3=DKF &II7 MU4?3Z'+MF9P)/BRCR8[YDT1L(GX+*40K$0GE"G C>&2XYV?SUG,T3=.Q?ZUM MZIF?U#L3B'4,>91418"[*"VY<8G0THXO/\*)RMKJ8Y9?I6IRH? 0I*E*RF5= MU31*RUYR-DRY1G#VSN^SFZ( MNGP/_MJ9YZ_M//GT\Y/>\76>E^_-19,/<)*(-C/-UCK&D _J!]XJK'?#*'+W MA&$HJ:C1B9IKX#UH$T3 PHPM2C3^BJR]ZO-D2ZS#!PC&I2CYZ58%$(QB%6 M-'M80ID#5&0.\RG B2H@Z1_5TC^2W:M>.S!S&"&R1&&M M*=08.0)?K";50HTR@",IL7)LH@J^WYU.,[^RAA]S5L8>5;<*&HTQ,'*F\: M,O[-FOB:R,*^R&W#C%^[1^ET0MZF=D %B.AFN-*9X#N9##6-C6MR MO6IDG EZU$V#0[#H)5&K-(^-@8MF"L62$FFT+X$QS_"1?U5X];9,-/03T3QV MO$F&ZD7,TS6?'A10GF6*;W&2C*X<80[QS=CZ?O&C1X/&N\_;%Y@>67)\)]7V(P2184T>."I7,QU51:C,S=\X3 MQU?PAHT"F6>4 :PG($1([L9Y\DYOO+_5UB);2W3MH(-=)'>'W)8;ZK$H:[-. M6HXE3/N#<70VFH[^]QF& M?OKP_P[P'X/A:/!=D$5S&,%$)3^=L[W_"C[XCOE3)Z/_68V?Y9>_#]]>_C5Z M64T^/+_\YV]G'U[/GQ_^]?I7^]?=B]OJWEX-7?_[Z\>6'2?K7^^?]5W^_2E^_ M?_7AU?M?/KSZ[=7\Y?R?LU>__3/Y*ST=OGIZ-H_GOV:OX;.7[__X]/)#FKSZ M>Y*\?O;?5Z_>OTU>SO\Q>_4,WO7AK[]?_7WQ]U]__O7W[Z.WJ?K/MZM__CE9 MC(>'Q_#^3Z_>/U^]_O/%Z-7PQ>&K9^>#5[^]6/T%_7KY]Q^K5Q]>CEX_>S7[ MYX=7TY M'9R>1/V#Z=GH9#(>C ?35A@5/$ 4H^^ MTL4TO.].1KW#H^.-7_=[@UM]-^@=#D]N^\;$_U&Z+AR.;E5]1!!&ZJ: MG@+*AJH:^XLC5R,;)(\DO/WZR;R C26P6:[@"F4O&!LDYOQ**MK<+;$U/QGN1Y[8W__HHIR#03//[?W,7[_N;\[\NM^ ME8GFJ9^>YUXWN8\_7P=0/WKJZX!I*=_CQL?A7]=>K0S)^ROX]-F5+V3 MX>#4!7LR"6O?^F0-94@%4<)3@B82@R$Y(@57S%!A\=7V5U=L-OL'Q_9H\K_7 M@)\[9D\F\-K:=S^7L[@Q#.6/K:\'<6/Z]"S'\Z]BG*WU3I/J\^=^G/X\/#F& M,&J\">5M\]',NQ>;0_JPGMU/YY[=G8\[O_WUYL7!X?'.YN'ABS?/' U>'#QC.YN_OOF=/S]\?EF0^RR%Q]VCO]S5+S!+XYWCW8V-SZ>OR9_ULE+]J=\\?GEX=[?6Y]>L!V^ MNQG>[&X^SY_[EN?7?WIQ7+S!NX,7[,\/^?/2[E/RZ?>#K>G./OF8U_1AY_4K MKJ*06GK@UB9 [218HCQ(XI4,1'$5R-JZH'W.^;GS]_R$S-JKMT#$.6G> !F5 MGBH]_8">2$2&G"D6 D=%F:6*"!FH48$9S6-#3Z324_?HB "LB0M MH L!K,E?G!>61VEI9+BVKDE?$]4A>FK)O%@*?7*GR5L[]3M^Z?>^4&N#W6PC M+R7N9::WMK2OC?=V<%0$]^MHO)]9ZFN[_LWHIE__5AFN-88;S"E@C@;A&'H@ MF= @Q=@?2!9 0O&6^]MD'9MG0K>)X3=E>*^0S.+TL JJ.]79ZF@?@!0SZHM MD2!2C1RB0;:"0Y*.QZ%HCPHGZTJUC>Z2YA>)3?8QGE/S:;)]?N"F%+? M,EV$%^Q:)'==DW.92:XUS>5,>,^_R&XW3L\ZSBN*/*2L7Q_>!XSJ\2 G+'$L@8,..8 M27!461 8@PF9I@55:^O2]+%3.%XEO\KV>95=]:4L@4;R15J9P"ISM<5<>_,! M*R'1.NTU$$*S!H+)@$Z> (M4^"AL])1E#43WM28=,JTJ;KNI@53<+@BWLQH' MX90FQPU$%%GC4)&#EMJ!,(I'FVAB"AN7").Z0[A=)9?('V6PV.!LTM?DK&K_ MM'FD_R:9K/I(ED C.9/FUJDP-X9AKTARHQ%@-;':)KS].46%,N)]OH_ &J^R MHL(TZ, 0B'/*R@>>$.4<"J6,7ENGM(\4.P3G-CTF7'5;?SD834L;MKNK*BT:8=.(B> ,(GBAN?5$ M!!JRC9;_O<]0M&2DW:2Z:ED\+ZL+^M8"0Q7TBP+][M-O02\,^J2"!VI2 ,S? M@A.I">Y*+[P@*-/:.I.RKTU;'M6%@[XEMTV7M9T_QJ4Y[5FO[U+&U+2O]".L>:I ;MTS4X%\/T">55VH+-%@:H'K9 %%-."88$"(9EFT+LO7 ME:X'?:Z[Y&)=@>8#S\OW,$IP,KG81/\HEB$:#^V3>=2LUI9ZLGTUGYMG;(^[53U M0$5R-_63BN1[0_*L@N*])DY@!!509P7%B6QI, (,,28>O*,J-4$CA7=64+J7 M]-)E!65S?AY\]9HL@5IR+K?M9KCI@?UXZBFNIM;B=)*\IF>O:&:LR*,$EJ0! MM%J I4F"BCY?1D&RE# SF=1](^^LE%2G26=QW)921<6%7A:(^M=N:<(#P$)P15X!D7@)AYR]%L1)79)>3@LE0 *44P7'L0#@WS2690=Q*U M*^#Q:/+%JZMC>?2,"PG^NZ.AK[EP;=/7L_G(2PHZ,9*ROB$YH!"E>H=Z($00 M2Q,-1A;ZXGVI[\Q>U&$Z[4VKI"UB>\K324]B#S MP.Z;RIV5.SNJE%;N;)\[Y_-^4B2Z^*TY&6.(#WYM'9GJ<_%X MN',UILG]OKWQK^W?MP^VM_9[&[N;O?V#O:?_Y]][OV]N/=]O@J?JE][6LS^W M#UZLZL2YHX%U@Z.FRW@=.U?'SLWTVWYG/YW.(6_?!7UGIU77-JV.26DQ1'2K&GF1$*;V0<(=P'0"P1-F"U1 LF168$I-B$^2A]3@&#) M5,7Q20P7[8B:&+D<^E61V^]?Q589K75&>SNG8EFBG99:@4#,*I8E##3ES=@I MS#*3'K5;6U>T+\R=9V361,G.HKA%I:2B>/$HGLN<=#Q&ESB@]*7H6Q,PWB0P M,7+T 0-+V5"2NJ^X[!"*5\F%]:5F=!S?Q^')0EQ8-0>K9:7D:7[3\G%_#Z:' M3T\F^='C^)S;/E5F:YO9WES25=3H%*-D$+@R@*@X&&HM(%=<<)ME*_3:.E-] M5'>>_- ]%U %=,OZ207T?0-Z5E7A0F0)>@LDA029EQ58315(A<0;%%Q;MK9. M39_JQSH\;KE:H7?(D;*ZK9';4FBJ8;9(MIOOQB5\$1-+H*/*2DL9/>=B*0C4L5AK 1Q-%)CR1#%MG4#9%/USU:78 M>45S-S64BN9[1?.<;J(DT5H84*;T$"-:@$M$@Y!*),4C-20U:#;8)32O@&/E MM(78T1?WREWC2M7T>H".8A>\R)71%L%H\ZTTO)$BG\]L:#5%4)%I<,P3$)FK M)%?*6FV:,1#D[OI)]:!T%L:MMA6K,%XXC.?R7I 33IT%%F/!LC%@#3/@4!CA MDU6AF>;"^Y3?.=&^>TZ3I4C1/2[5'IKC]Y>S&DI.J'TB4;0 M0J>2Z%*&5>D(44LI(D,B>$ET4;PO[^X4KHDNCQ#R"TATJ9!O$_)S&HTESC)B M@6*I/(H$P;ALG0BCI78NLP$+&?*H^H2U53M8,UQ:Z+0T.CX>3,N,Z4G/#D.# MPKST./09,KU_[,?8VQU-8T_^ST+],M=XCVM)^_P#%J-CT5]V597("UA?SKR;P]'1QD@D_,NA_'_G0RFGVJ+OWMH\7?MHQ$&[\_?^^PMH/S^ MSU0W:WJ D_/'^#SS=E+.4+_WW]_CSC_B>/_0CF,KEL7V[J^S'/IE-&?__GZ"4[>N_>C$C^=[)[ M\/+-B^-?#U\>[)"]@_S>!UMT)_]]]^^\!P?//NP>Y&>JP6Q M63U72W2NC$(5(XD@@L'24P/!H'+@-;%*ZE MNH4>R;V3Z61JAT6K_>&4\'KCWOMQI+L?7C'N712<9,U-"4## VCIBT6MM,Q&FC.W5U;D\F)[/7 M9CU.73E.4B="$I&0F&2 (@IP(5(027+-(J&1I4Y15#U.73Y.R3I%K;=@"?. MA 0PC!(0SB4J! _G_U[*14NF]&'X]='/CP'@OG0_>$"'6UINH!_NE0XF=%;O=3%^JV%T<=N?BMLJ[K,91R,++ MM@%R#E8R"4;&+#K"I"F]"+N'W?L.&7&7%'E.UJ9;,,Y&BE/*JK;101;L]SJ(>K^(0I6ZL E:"(U MH$)=.AD%8,PKPZ42D=ME"@=>.'(U9K,DY_#SSNM7F$RYM3CXZ/(Y)!1/9SV$ MI*BT1"MJ;NPD7\1E6 _5$AVJ()264CJPHE0G>B_ !A9!!H]<\F2I*[G\A'0[ M%'A9P["9 WEER*:>R,Z<2+J[\4H**J@5#O+%FG4V:0VXE.]H\.9$5-!8<9&.^V R@2L][(3Q0FKF62B#1"3VF9JO3VS) ME]YO?O$^]+U*A(_BX'[<.7CQBD:N!4T,E$4+&+4'4ZP/H:(,CNMD[#V%'"L3 M/HH#91BU4MD(,3(.F$0J158,DA64Y M1"9LM",GZE+$%4>%=HHFUH]U]]]'^ M@O%+PA$5W'<$]TP\D9'DDW,1B!8*,-@ CC,$X02W0B<:>+'$^I+4>:R/%[L+ MN)\K=EO'[FP\449,WC$'3%,/Z(('Z\K@#\622=Y8YWG!KA"\0]A=I2FL&WG) M9;OM4>^='008#'O>OAM,[5'M0;D$JLA7\?V1I;<]?'HJNPLL5PFN/8+;FE-. MB).&$.-!4I$)+ED$*XT%'S+76><"TVIMW1C5UV(^"E:3G1X+GEL;%U_Q?*]X MGE583,:M(]G^3T&(C.>H2W3; >?4:R126V,RGE'W2:?PO$I=*3>\/SD^.2KY M(+U1TT/;CX[?C>-A'$X&[V/O:#1Y\$:5RT=V_[@7[662'S-_-T=[7T7:M.-] M>E&@V\,LW_A[ENING.ZE _NQTMR-:&Y^"JLVQ G4$DBRC4^%@]$R@5$F!*:H MD\2NK7,V']F>:X%6G2E+".#;JRL5P \"X%D]Q07EC*$)@G<(2#B!3,H1A/"6 M,)L,3Z5YMJ'= /!*>50NJ"=Q:O.*PI8=#_.V32Y(=/-4 MH-4(:X_D:I5*@7H9D9H8('4>G,K:23!41FMU"BH;8D3,Y]D M\2"@;M.IPE6WM9;341^3*_N2/K1#977' +05*KK8"1DVJBY M/TUM_L3S6JP+S9XNO)>/^;B/SX"X_D\W_FG]VQ*N"R\[MN/7@^'IDMFWS/?- MV[2&9TI^!&C6C"&*L6=]R9ZRPT^E-FTXFN9WGXX*F)N-;:*8:3"T0S]H_(/Y M'YJ164^N?-A;[M'9PI ]42(O_MUHTB1"_CR.1W8Z>!]_^3 (T\-S)KKPPK.3 M0KZ^Q+J\]I/IU2_IRO[C;-7?A:]EN0UI6>V%L(&I:"DJ'@WW@GCTB26+R;E7 M3:NFTQ<=CK^V)7L=P8VC?0LVY2?\V1Y]L)\F:S]]>S#SJ9S9^*OV[,(9EM]K M9W$=CVP@ZLT<VMW?_NOK?)L>SM; MO7_\OK>__S\W9NM[?JI_; ][T\/127Z+,.GWXDK$UBDY>_)%]-XD_GW_S2QA,WAW93S\/ALT:FA?] M2/-$H MK_PQ>4)O]3/Z!$_7&?B![[@3@SOUM4S@RVV: M[SS3E6YO*J[S_*?,\# [,,?4S0Z\B'8\Z6UE92%\T\3BFSVYIL"O$1.X2?C@ M!B&0;N]Q<31?)^'B)A.65V7C2-VX6VT<-3=!\&,8POP\OH_#D_C@$Y=;.XUU MD3=>Y"H5)NQ_FDSC\>U*(^\8.WK\ :!'&<6A7%HK)'J5(CJ/QE'TPICD)%/1 MJ%>;15,A^;]PO=CX&>7^.AX=%Y]16<+?@^GATY-)WHXXWA[ZHY.RC1N32/C.T[,(SYOGAWM_/_M0.LSM'H3#G<_/YS5_VOU[ M.[_N^?'.PH"ROE!W[J[5O7*+2EN/DK:,(3$2%IVA99ROL-03%I2BB)[0E!K:(N>T M=8TH=*6MAZ4M,D-;3'M"@O%Y/X4#- K!,!A36"!^U1LV8I1*#"HI;AY)%4VB+FC/:HJ;25M=IB\W05DR!1!$X MF" -H,8 VFH%B5"9HK61%]KBAO>S:#M$6ZO47&@_CM\/?*P-A!9J5S)GE.<. M,[&A3M)819 K8I2U!KFK=N4R,=WNTSF[$@FWRC,-"DU6T+Q*8*+B(*U)5BC! MHBQ,)_N:UJ;-CQ?GR07+@K#:JV*(4:>U4LE3GC $8V(UQ)8,Y[.&&%?)6.,4 MJ*0SSI,*8+B@8(.CB4>;E(VECUA?ZHKSQXMS03#R+''E/$>&TFD1LR5#7 J6 M&IVJY;)D.)^U7)*2WDGE0%+"L^4B+634$Q 8\U\(]5F'RSBG?6),AW#>9G1O M.1IXC$^!\] -QU:W9C\:E1FOC%'W"J.0)EA+Y&G'!\,3KZ;-4E'A_IQIDPU4 M8ZR5$)D@@-%+T,8;4"4^RHWP+*JU=:E,GYOYYF1WJHEZ^+8>E2+:T):I)L$HZGD&+@E%JFJE6T9!0Q:Q5EN8;HN )N#&:K*&EP,2J@Y6J0'EVV MF=;6!=(^XW=6ERI%/$**L/EP$(%.",91A\P//G!B;;YYD&5EHAI42T81\Z$@ M:HPN79NCBX!&&'">"4 5N74:65*Q5%9CG_/Y)NP=I8@5R!E^.II,2\7CN.8. MK_PB:^YP[7G+Y7O \:\Y3P8*Q M-@,XA6S.2R/!*D,@AI0"(4RYH#*>!>U+?N=&OA7/G<5SZ_F9%<_W@N=9VUL1 M$54(%+14^9)V3H/AQ5$G+0:2 F,TV]Y9P>ISTI9[KD/F]7+8&S4-"(-(>.DW+OI9O!W*SJAP[GBV987S MOP\= MZUC=[(?66]DYJ4ZA#6UZ2M M[B(U#^HQ,4'KJ9*5">Z%">;JQ"RG*++F8Z+6@"$J<-)+H$$H;8.3(NFL RGL M,[8TZ4Z5"98Y([(RP;TPP:PU9+)"0**,8+(J!RB]!NLD 2#29]-Z-1VDP?>B@S.JR8.N642/6/QJI5MIKK?7/P<;\ M-&@5530L0#!!E9FP60,RI5)>!^.]R#_FF&TA(?NBM5+YSFA %?M=M(4J]A>$ M_=DQ>B1I(PPJH$9ZP/*=-E1"UFBML5^QOVCKIV)_4=B? MN?>YU=2A#R"B%( B:=#$)8B4.&651^79VCK5JF]69Q;\$M@[>^]BF8LW?-V+ M']_%X21.;E?K=5WGSS7>8W%E5'61K==Z+7/N92;\2<\.0^_8CM_& H*'MO@? M]>7>NE&_'X^.2BWW,.R<"W#KE,3J7=_>7;\]9^-SGQ@U*8'B:$IB>;;Q'5$@ M+(W".[2*I'S7,]$W=T\LKYE;G05TZY9Z!?3] 'K6<)$YYD+6@@7D@T44'.?OS!:VM4: M<(2@I-P[C[BVKEE?B#L79G$>$V8STH+Z,QTV0@A'G0^$)!\#,0::Y,J M1@BA?86/<*1;Q?3BNDQ63-\3IF?MD!@D.RZ!19V%G MO47TF:@-*!XOI!?0%;)"^KX@/9B%M'4T&@K>2Y:O:9; $I\@RDS2&<\^E8QH M3?M4M]5%ND.9CDMABOP6AW%LCQI+Q(;CP7 PF9:8X/O;E895;\M#Y3B>RC&3 MW,8W4JP\USK//9LS1QCA)?@1P4>551?%)5@4"$8R;KC-E@J/:^M"])6J(9'' M"^KVDQ',XP5U M^UF)%=3W".J9FQJ#T@Y=RGC6]G3&5V9I!(U<**:04L/7UKGJ4]JE8.>*!4>F MXQ,_/1F7Q$1_:,>O\WO_PV78I,'T?VJ,Y*8;^H_[M4LF^7GS=Y>X8;Z*]>FI M5"N=W8C._IPS/+1+,5L> ;21#M :(+!L3HTPDE3YI:^M*S_?8;R5@"D*L*6'1/09NUI3$[A<6Y=]=@F& M:]#CL0!Y$4&/'P Y#3[& )_C>%0Q?%,,S]S"5D@K$W60$(.N4J^H[>: HQ_;Q M.SL8%[GMI>WAU Y?#]Q1+//\II-?!WDA\6CP/H;*=*TPW8LY>R-@8%GG)$"] M2(!-C,-8 ]QSF:2P$8-HC>FJ4[2SP&[=\*C OE]@SYHA2(37WG (SGC 0#0X MGH'M@S9_UT%"!_?B!W;HAI J970GM*"=,"8J$$$PB-Q(DC%2A=>TJ>JK1'%E0$>$P.T;@U5 M!E@L \SH $D'33$$$!YU9H"8P/G(LDH09:)1:>[+5"+"^YRU%5[M7E^ZY>O# M_;4OW6#H1\>Q]X^CT61RN]2OVIJST\;0=B/@$IVK5-@>%;Z=,X=L-H>L$0B6 M20*H7 03'8,I+E M!:$4XB(*#R[Z?,*E0")]U(F+M74N^QK;FM%8*:#S%'"3[/ 6[*$KLL,K&2R: M#&;T >JE9L$SB+*4YB>?P B&8)PB2FHK-"TMNT4?";U#\GAMUMT:4+\,X??#.W?4]KO$>JY1R^>7 7CRF#VW#/^X+>G'E6]O# M]UF4)8_C](;>C=-Z!]_D#GZS-=_%+B85="@!"J8 K8Q@C3*@)!$N"TW'C=863.J;H+6JT^U!>=:V#HX&S54$Q4F&LC"E-25UP"3148B0 MI(M9G>Z+2WIH5S _!C OSC:N5V\+>)W-#HI2F4@C9#F9,K%*@B9>0]")V.@) MHLY7K[FDT^2#H'65^C_LS9FV#YT$^;B):W$V0R/)W=%P]*US[TNCF\IA-^"P M^4D\0L6H&7I@D?',85:#\]Q#M(9&8CU#[M?6M;Z+^5!KQKL+W,69#Q6XK0)W MKN=#5A2Y8@&,3A$P,@G., :>"R[RSQ(IL7BCYCO75^ ^!N N,(Q6@=LJ<&=O M7&NBD82!Y$$#,IVM?!$HV!0H3XEH4:HD+\LF?A#@MAEL6(X"JL'W8V0/'7Q8 MX=2!Q5D9WZ&[ZO%LBPOG1_#8X)6BT@-:0P!=B*"Y<9 2LYP+RY(FQ>/)+FGM MW[W\@4H&C\-RJ61P+V0PUS["%9=IUHF<5)D,N*?@2GZA-X8FA2XY'DJ!N9 M MQ#(K&3PJ,EB<-53)X'[(8';JCV%:*Y3 *6.GL17'2U-:39PQW'*TQ4KJ4UXS M"SN!UNV+158]%S,XXGGEU=1^K%TH'E'AU=?\ZE_'H^.G^;,&PY.\?6<)V*/A MY%^-_$]_[Z!(?^OC=&RS! 9#._ZT/8W'DTRL997C43/A^3S/K[)J>ZPZ/V-( M)IX491&PY)6@#Q:,$AQ""%;&S*S$X=JZ8GTIVIJEUAE%JU))%PNX*I4L"97, M):M)*I&E!(;S,I;1$3">60C>*2*95TPV:KI+(LI#([ MBH03FGA0Q0'L 954X"0U(*G*MXT(D267K3[9%[R%A)3NF7W+UV5C^ZX67LT- M?O#@UQ<://-L_>MT2E:ENO:H;G[J4B:WK#)G XRA+N->8]:D0N8[H8CRS+#@ M."]4)_J*M1#\6E*7]O)!^N&-J4N 7+%Z(ZS.VCK1TJ*;)O"&",!()6BM* 3D M&9S,IX0E29:0#C4^KF#M>!N_>NO>!Y)G2W88*FX5 K5" [KDP7J1D:P<4UB" M2PJ;L-(E,>:E;V+>93MB-TY;Z-/W \?,8ITQ7=O2_UZ8/7R#\]MM4F\],O;' M>)0YO'8>:I?'YV=()#/$<9)G!3;)MY04I;9EUGZL[MR)< M,O=S9;G*WRJ'8K+ZR90:VLG\+,"8J&>"*!",F=+L6H#5P@%U4D;#K+:N=+Y_ M2)Z(24"6@KCIMKF"@.SIOV)6^FTI%K5#1;/B-YFL"8X0DD@64 M1(-.Z$#PK :1B&A1%RIJ(TN[0ZZ8I;!"-P=')],8%N%W:<<_\ @Y^N;/WVD& M[Z ->W:J*W/?B+GG1SCF8QJEX &X\!I0(0,;/0-*(XW($Z,>BQ4KYMLJW'EZ MVP\P\<"9KI7<*KD]D'UUVY#9K(4N1-5%N,YMY+0$-4Y %5[@N4L5((@%3 M8R'?.5NBDELEMRZ26Z=M[TISMZ2YV9%?*7G+9 1"C *D1H!U/',=5X8YY2@I M10QWM+[OC>%6H+CA[^8O,8#-B[*O8V]X=%12)]YE MC)0^PPM)K+ANYXIKO,<"4Q;J*A>06+'$+JW;)U;4ZL;+=(%3TEET+9W?/7J@US%U&>>NU(!7E#X;R6?>'#I%SQSA(+LL\0N/! M69>AKID5SEO,++"V+DP_VP<5Y8\9Y:TW*Z@H?SB4SU9)4!Z2Y1J(XA%06@Z& M49[WUVE'76!NFQ<,>*-,YQHUI8U=6\< M<69KG:_D_/"SA@$>H&ZX5D@O_2I7($K?B1:$CSC5:ND*F6HCP<=V_\]/Q*+1 M(\-$@8:22^6\!9?5/4C,F! "%YA4VXT$.V0&5#IZE'14._XM"1W-NBPL1^Z- M-!!]2H#,!7!,:M!493:2J#2C+7?\JVQ4V:BVYJN\]"TOS19\VZ@YLQ(2B2[S MDF=@ C= *3K).28>67NM^>XAWAP&DW=']E-99_P^BZW&;];M:G.['D-OQ[WI MX6G)P;MQ/(S#R>!]_-8]TF^J%$:I#'_K4IO';[MY=M'I]CA6N$H9/7\.QS&O MXG,,O7+V>UG?L>_MX,BZHPA9\8!)5B]ZQW;\-D[+O_4FT9^,!]-!G#0P>>A4 MH.4+TG5C-&)#@D\OB2ZR<%-XH0GO\%N\@$JU3!_>MHG/\Z[&6G$RFQW$XO8.Q5*O#'BA3X2J^/!/YTS.)'Q2!GRYO8Q@.OHI_XXOT MSYGRC]&X^<%T.AZXD\:>/AC]8?/;U%'6M[>;SO(=-+/2EAI1RU56F[0"Y[W. M6E1T0KO DP]KZZ).LGZ\#'!OME-E@"XPP&R*00B"6!0\:TI* /J0P%G%P=.( M27'*#-5KZU)VJ7BT4L#21.0K&72:#&;C^CPR["21XQ@DBP#+9B#;"0)T#Q8ZG5)RK29!UD+X:1EF;"\PL#OHC%5 MX7X'N,_:0$E(:U"I; -1G;]$!Z9,LI&((03'E!&L%1NH8GY9,-]MZZFB_R[H MG[GLC=*1V%+IE5@ +/>\$8A@) U*I( QA;L:/?<%_!5(1'UZM?'S@$.N3G?D MLOKI'Z=1/L+ZE98WI]-7Q4-&VRZY&RY/,*@5,'>Y-.8'9Y&L*AH7:+8+4[XT M*"=@BL_,$JZ%3$9;E*>%P@SGK<0[C9>Y*YJ68_9,)=1*J ]@;U="O2="G>M6 MK55R(1F0,AA %;(^KKP')D7,%&L--642(?8IMM63OO)IY=-5X--N^#(JL]X7 ML\[UQA6HHJ<@G9=EV@<%K0.#9"2-Q"CM-6^*M941K4T(>RA2K87+MJ-OGZ$NOR(DZF5[^D*QN)]-OMN/BU M++>Q]ZSV0MC 5+04%8^&>T$\^L22Q>3<*\77SE]T^*7+]3O[.H(;1_L6;,I/ M^+,]^F _3=9^^O:$Y>,UL_%7[=F%PR@;!\P5&Y;2PC;L% #9+AZ-F^3HG[/Y M%8Y+3O1] M0F_6)Z0N1=[3C=^W_V^_M[W[]&I&NG#BS7VP[S57OK>[O_?[]N;&P=9F;_\@ M_[&SM7NPW]O[-?]M[^G_^??>[YM;S_>; E_U2V_KV9_;!R^N?,:./-0_MH>] MZ>'H)+]%N)#'<)W5GC48.K\+&N=*7O61?3>)/Y]_\\OYG3T8-A_>O.B7,P&? M72"%_&9\*\WGG?[XC!>->:(%+]1XIAN=?? 9:SYI6'/&5W3Z,R:?,&6N_#%Y M0F_Y,Z-N]\KO+58\H48LR5KE$R[5DJQ5/='\MNNY[[52F@^!7I+%FB="+\M: MY1,IEH4(,MUI>:UW_8'!>(..?/57;_&KET0G3Z_(^XG$Z1]=\XT]L>']R?') MD;W>--#.[.T]_.H]HL?4$WGA1.:U%NO''BWF0"[%)C1I]A602R&KI@[V&UD] M*'4LQ9X]'1T?CX:]_>G(OUUAF/]A!P$&PQ7>@6]R<%9X'Q:NARW%+AR,HYV< MC#^M\!8TE'@X.@IQ/#GS&#[4W7(A!?0&56(=W]YF>NUURK*N\\@KM74;QZ.3 MX75Z'SY6:#ZU[P:SJMYJ[4"I\EWAQ]^,:> 'JPR!55?8M_[?R6#ZZ287;C[[O/?;%NZ\>O@G'.Y^W^(N# MW>.7?__ZM23B^$^Z\^8_QR_?O,"7;S8^[AX\?_OBX'#P\GCWS<[!CMC=?,9> M_O97_MQP.%L2\?+@ST]Y'?DW#X]W-K?H[F_/\[K_<_R"[7S<^?R6[&Z^?/OR M[_P<[->T^Y1\:LHA]LG'W<]_?MAY_2I83[ET#*(4%M"C \<, 9XL]R;J)(): M6Q>\;\1\1<2=:LT>ON5+.]5DMP3^PU%MN_5BUWC\Y>2[^8*PMLCNHJ5]>J]7 MBFN1XL@,Q0DKB.7& '$< ;/8P$BK0;! )->!4DK6UFD?-:L,5QENE1F.1Y__ M9Y&1F!DN1$N=5A2EUH3Y0'QEN$XP')MAN*05]UP0H$U9JQ *M!,(24KJ%5>< M.[:VKI7L$]56\_+*<97CNO/<-ZKK]]0ZQ7@@U"()21OIO+&.*JY+:XVK2>Z* M>L4AY24AH"1P'(10(;20(BM S(O,K:]]JZ$O-D=MLB_Y M#@ZY)D1;F41ENJXQW4S?)>N%YI()T%CT.6(]6&XY.&D;+2O1 M5:)[3$1W YY3(1'%K% I(\+JY'16#!+/]JECA#A9W6_=H+?9AIV.<"%B-)G/ M! *R,BN,>-OXWUCDF?L0U]:IH/VLHB^+_ZW-B6*4/6&BV_348 :):2W"1K-:3Y] )G/H]9Z9@,IG$_ MCM\/?/PC/_LH/(]^]'K8O,M?]N@D5IVD-9UD?RXD&!@F:IT$IQ0%5!C ">7! MT'P (F)2NJ@DM)_UR99&>552J-1=I52E5*54I?1P:E +7?NK&K2T:M"<:\8D M(FB*+.M!S)88&P-MM0/MD0?K#:/.=U /:JFV9UF<+]N3R4E3Z#-*Q?E2.C1, MBC^FUS2B[,7&AUD&'&84EE&'[X[R9WV9[Y[QD^)@>G+-^MI%%@,](FJ]M-[' M1!J\8F5"L$;CG14J\( QJFBRI7%S=FW<;D7\,6R>C//6G9+D:1%0\_5?L[1: M";,UPAS,U0,119+G.D)P) +28,!1RL&'?'L:EO(MFM;661]-6XFD'0K(K2C2 MYY6H^X)YHP!=A?(*Y)L >;;J):/66"<",(D$4*H$EEH')+)H+8\D.KJV?OBO--NJ2JE*J4JI2JE99320[IXJU[SH'K-G--6!N6SE4F!1Z< !48P MRA!(C'I/ W=&I*+8**([I-BL6,+<;ISVCJ[7EJU&LVK,L4JI2JE*J4JI2JFS M4KI)25YDQA.2T+K($(MVAL09(H+CEN>OU]#!KZC-^V,\2H-I:?A:E>RVE.R= M@XUI\__]1M'FNP<;GUY)$0P+6H'"* 55^"$D:")-DH&3VW4:^M4]:69+UJY M?E%>17'EVBJE.S6LN;N_HW+M/7/MLV^Y5@A+93*984MQ( KT8&/00'BR4ED, MHG@TNL2U*Y:!ULR]:@K_O@R%N;UW8Z4=N=7=7J54I52EM#I2NHDN1Q()1FFC M/09=K;K!OIIIM#_-]%HMVMQNG>^G ?JR*W(T4N:WI MWDQD*HFLB9.4%;=@'6!2!C0G"ABE3IN$.FJ:]3@R7TMPXRXV%;Z59*N4JI26 M2DK=<&O4JW !5^&<3X-(XI3(EQ_U+N6[D+OB/_: FBK)-0K/>(?NPI;2,[KA MQ+CUN"SST.D:*STNBVEG9,B$YU$AM=YRHJ6SP223F4[8IL';-1+6ZKBL^V&] M[>EL)TMF,,B@);C$-:!D$K3P^89B@G,>O;%2KZT+V4>\^3?Q-'!G45;VC8+&E$7M[_)5[]R)"7. MP_>@7P<.+0KFLXY]Z[R4Q!8_1O" +F6]/F@".NMGPJ)7G):2$]%"=D9%]Z-" M=^0\WP$B>I88:NN<-H%X[Y/+6-;!MX+N>L.W:-+/)L*JZ(6,V9*GK!" #@B. M*@%)>Q^,T8%JM[:N".L+=9?Q%!7_CQ'_*AGT.G\54N:SXS5S+EN&P1*?+$%7 M\=\Y_&]_BW\:98Q*"+ T*_88@P2;;/Y.6D>SX%B#_SM/IZGP7Q;XWP#]6:7W MA'LC!$O(E'#:12J5IFB$%B%4L[XKH)^)7C)%(A'$@=1. UJ2%7YJ.43I F9S M7OL">BJP3]C2>/)7+&F[U9DM*YVW4;-KJI2JE.Y=>R"&!.:MTM(*=,Z:8$76 M(;B0UG/E3$F!8N0L!2HK$K59^2-22G;F8@V>!*V0&3!-STZ23)DC1X E$4ST M-$1>=!+>-Y)TJ/%-987*W55*54I52E5*M_2B.$NUU1(#$O0DV925H!12#)Q2 MRU35@QZU'C3GG*'26,(4RXJ0DH#",7",6G NN12"1RU$!Q6A%>L ^+!36U:Z M?B0\G1C>JU36QZ4,9_-I:7'( P5,A,F MFI*=R@G8X,KVM(?DV3SSR"A1 ME$B@$;/J8P4':X@!KCW7Q#+!54;RW=6>"N/.PKAUKW#M;_[ &)^YK44(VH5$ M@5CK 4,T8))$X)9BC.B8)*7SHNX3J2K.EPOGM?UBE5*54I72ZDCI(?V\5;-Y M8#_$K.?6APQ9:S0X835@%C8XB0)(2((ZYX1*L5%M*.N2:K-BB7-7>FX'PP+8 M83Q%\H?!]+#W[L0=#7S^S10+P+[X;^/'@JDZY\( U82#Q*CUCRSI%5^;9WW&>M2?*NB>XG]M1>07<%[ M2Q?M*7@E,59'6:(KI?&93P@N( +'4+JZ.J=H:0G *G(?+7+OU45;[^0%>V5/ M8:V\)@JSK8(,7?XB%1@O(_ 4DXO4))6(QECR2/I&\ M0]K,BJ70'HRCG9R,/YVY7\=Q.AC'DK:^T)38KKS'HPR'W:1WS&(<0,_CNY.Q M/RR1KXUA>-Z%.Z](* MFO*.#/2KX&U[E--"?$#7!6]5GEI$]HPG" U-@6M]OB3UZ<'0J$A6CN+*% M8H7Z8X'Z8CR)MT%X&GR, 3['\:B"^_;5^,65^/D5R3S-R]03K7@J_5$3:!D5OYM4JI2FD9I?20[HQZ"R[@%ISS91"*2D6F\_&A)26#,# T M&B#&6$Z9XR+XKEV#+:5C=,-YH2X%WK_L4=-6RTY*AZS-Z..QB^/3+>>TWRL0 M>NCDC%69U7MI,RWNN'16Z[#SDTZ")XPZJ2%H(H!8*P 9VT")53"9 .3I>I*LCYE M;37@ZO:*^\>$>^,=%=JG#/>$))A\>*)61A+J+0U$5-QW!/=S0W$5UT9( M$"SIVCC0293KG3&PQ$6(C*(4C"@3 M2N-P,]]Z[_H%UQ7=CQ'=Q"D6$L;2W@BC-QI#::;B'+4B]X5LTZ6<3 M8*E)DL=4IA(>A*1(6?YYL]ZO*+,4D6$#-2HP/+A:@WU]:Z_*_1G(I=! M!TZ(3, 3*7TIA0 3D@41DR4QDH3HU]:9)GW.EL:<7[$<[08TX$I#AB93^WRV M5LW0KODT54I52IW7'H+3*5+%& L1%5=6<$9E"#:&1+443=83/<]ZHC]6(S;" MFY/)M#3NG1R,-O+.E178HS_L(&P/G]IW@ZD]:A(%W.P\PN1S]Z/6S>I;:O:E;,Q/X^94NVERCJ)+9U54I52E=+J2.D&>E TBAJMO&->8132!&N)I(E09PU/ MO.I!CUH/FG/.H$@$O9) T41 00QHJSD(RX(21EL;8P<5H15K]'?E].;\A''< MBXT;LQ3-9QB6\OEW1_FSOLQMS@!*<3 ]&=?1S0L?W:P5166L4,Z@T-I%Y0C: M)"SG$8.],;U^=W1SG7>_:,;,BB@]@1:3JA?XDZZ)YPW*M!5,*](OA&29]/+>0C4N^0 DPJ P0>P)1W- M"AV8*"F#/*RMBRYU!JHP[KA7^#8PKK=UBQB?N:TM3=8R8X%F8=;44!6"RM_0I*R5\AJ*W!4]GFJ;^M;5.3_7TRTP MRKD/"J)Q69M#2T&7P@(CD4FM#-4AK:U39N[>TZG"MY)LE5*5TE))Z29780L^ MC7H5WM]5.#^QQ:LH0B@%=8$"!B+ 24[!95FI()B107?H+FPI,:,;3HQ;#VNA M#YVF<=:YZG2;?N99F&%TXH[BE^Y5J](![M+Z.LLQV)ALLME"<"*XA%IFHG3" M.^VD:IK 7<.]6Z>YW \MOIZKGY.$BL 5@:!2C@O&B^I ML%ZNK2,G_4RWE4TKFU8V790%K[)Z&1AC3B6&T4AG+0U:.V=(<#[*MBSX.E/L M#O0Y.U,,+4U,2? J.$#)+1@T!IAWEI,L1!5X:S/%*H=6#JT<^OVYC)0A%40) M3PF:2 R&Y(@47#&3=1FL7M"N$.E,II*D3'CN(TA.,I%F[@1+ H7$9+1$.$U\ M6EL74O>1M56#]?!$VB0\_32U^4/SGV'P?OV?^?\L[UAJ-I M?O?IJ$"XV5L[C:&7!D,[] -[E->7_Z%IZ_]D[F&OM1-G'X_LB2JU;>]&DZ:I M_\_C>&1+D_)?/@S"]/"<92Z\\.Q(D*\OL2ZO\&1Z]4NZLLO(OMV.BU_+3FV,VOI'8[+_?9?UY#[KQ^_;_[?>V=Y_.T]4E)][]O_>O?*:./,0_MH>]Z>'H)+]%F/S/=20@KI! :8KL^&IN,[SGS)#E\H( M7D0[GO2V\O4:OA01]#CM?[,GUQ3XE9MSJU^]BQ& O#U[WBRWF?K>TX^7FA+5VN\1ZM'8%S>_#7OZ]_7'WMV<-EE_#=@Z>Y^^WZ(O/?QWO_O:"[AS\ M]69W\RV=C7;DWSM\\>;EX<[Q?][L;+X\WMU\D3\W?U]^_^\7Y.6;/S_N_KU# M]@[^2CN?R*'G=>O&!KI4%N(GM-2?\C!14>!.Q&1$VX]I5WL M-U?9J++1U6PDG*7::HD!"7J2;!*.IY!BX)1:IAHV(N=L1"H;/1 ;D1DVHIRK M(%T9.L@8()$6G"O-,%VRD<720 +7UCGOHVZK&KJ2426C6SS:C:HX!%(BT G! M..J0J<@'3JPMO=U85I$*&U%SQD;4W"!%N=+20FB)S=!24,H('PQXS#)"%CQ8 M&RQP#$HR*Y/WI76-ZDO30EYRU]KQ=M]PW0AO3B;3)CNCI'",8X:?'QS%9N+[ M-Q9M^7'Y1V\GA[UWX]'[0?%:NT^]41==/_4]KO$>K4[0,MT^Z$TJ(+@R6JYI M/GT^6^ZANS1UJ<]2]UT;RSP?$BW3 ;'/^)T''W?/L*A07I1?H$)YX5">]1%XIV1B*0%WQ6.IO0,MM0!N M370VVU@235;&>=_("N7'"^46C.H*Y7N&\JQ=K0F7Q 0)4D<-Z!D'S7P HJQ$ M1Q(U)M_*E/:IIAV":,#8P\:A851&YEUE T!9-4@I253I5OJ,@5R;0F^EG![- H M\@K@CAL;%< + O"LB2$C"\D9#4RP &AY!(V,0#8\T 05"(VV,3$4O7-.1 5P M9P'TSN>8+.MWSVESTZ:'&\=YMZ>5\UKCO&\R.=]^V'OVRE$FA6426'!9:1$E24$$ M!/11Z$ C,ADRYS5=*^9)[T&R%"K".VYQW W@'6SNM238)C/8)CY);S&"=TD# M)L/!"5^RD$B4T@?!";;=VJL"O'L ;]TBJ0!_&("S&8!3P137^?)VQG- S)>W M]J1$0E3RR7%CD'01X*L4"FG@T!O'Z6!\V@FJB8=\& ^F,>NQ'X:WLUZJ,^:! MC)??[&!8,J?WAIN#R7EOK;W42'E2>:YU(Z5QS"CTF(BC@-8)*+.UP$8NP#,1 ME,["%42WQG/5M=I9-+=@J5Q1$G$#6%<'1%M&2H-M1ZPVR3! 1R,@=1(T=28# M/"CK(B&F&"F\;RYIWEZ1_5B0O;ABIXKL![!.&F1G7&?[Q#%0SGM 3@E8&Q6P MJ)C(BIEBMF1/]R5_K-&4[M= G=KID]Y@>+&6J<%&8Z<<#:P;'-VAKNFZ/IKZ M'NV\QTJ9UMX7[]*DE.[%P?O2OK)?ZO2J1;U4\<#MH1]'.XF;\?3/[>&Y8)]_ MD6N]J%LK5"Z7],P$3XM"*F$CY--; @4I@4U>@0W.*RHITU$VJ8>:W&4>7=6_ MNXOJUH. %=7WC>K9Z>8A$J&5HT 8 M'E1WPJJNZ+YW=,_>V8HJ*T6$?',30.4$6)$X"!,P<:=UU M^V1[^#X.IZ/QIYJ@N.0&R;DD![&Z#%MDM>TY2\2CLX2E;(D(3P$Y\Z )%:#R M19;%G%1P=FV=R[Z\I BJ9B,^!CC?@R52X;P@.,^:(#%HRI$F,,:$TD"%@196 M@2%$"\T"ESRNK5/6IY=45%0X=Q7.'35!*JP7!>N96UIG8C;9(@ :4K8]D+)L M>S@*46EOA;6(68KKIF],EYH_KU)HY(]Q?&<'H1<__G_VWK0YCAM+&_TK%9R) M>;LC"NK$E@#LN8R@)=FO^C8IVZ+;5_ZBP$JF5*QBUR*)^O7W ,C,REHH4B(I M%L7L&4NE6I#8SG/V9/YJ9_6WKW>1_+ 59+ZA)O Z^?YH _&[F4\ MY3Z\X;91\'!#5Q&$$\F#0HX+BU@@#FE,!1(T8"H+Y5C)]_:)&!;B)O5=>_OJ MS@HW=Q>/^+7TWI/T%Y'TNKZ"0S %B<&(UIH8:"RR^:%0A/+@35#:[>T+07?( MHMH3]>X57N^)^3Z(>8T_4RR-*!U&%E.'&&8!22%$K !)"'RBI+1[^^4F+=\+ M;WY,CI$V<.M<7^1.W[U_Y.&D0%WN^_TU'V>O=MP>K/VVH79@8@VC+B!#30%J M!RZ0Q""C&,T,UE@'2FBLV# L"-\AZTM/UCNG>_1D?8]DO:YZ@)#"%3<.R5)I MD%8"1IHXBA2WE'%. ;M3M@1(GCU5/RRJWHVN3SU]?UOZ7F/;G@O%E"J1LIPB MIH- TA<"88[A?2,4H#C0MQHR=I-HS-Y?\K4:R73A5_*=>@_)@U=*XI'^:WFB M/<#='L#]L:&7T))YZ4A %&L/>DD9H@!C$-4">\.9)K'\+1V2WGKZ'1/VMU%+ M>L*^0\)>UTQ8*006,B#L@9P9<0)I2@U27BFN'=&8V-1O0Y&^,/T#H^P=5DUZ M&K]+&M_TE13<^O=^ MO.C=)0]<,VG.\_=\G#VRW1ZRO=Y02PI=8&X*A[PI&2!;[.'I'4:%8Z:DA;.B M"*FH/]N2V]X;5K\7LOX&>DE/UG=(UNM*B2H%5Y8(1.% $>/:(,EI-#X$@GE9 M>"%]M#9P=>/B4CU5[RQ5?X-0K9ZJ[Y*J-](_L74Q6DMH$PM:*V#6.C"D!##J M( JAE8Y.4%;TG3WOASA3@.)@-!F?H+F?GO4.DP>44G)MZTLZY*/)V"X ^<;S MW@IS)_!G-[/?@V!.<8><$1S!2XD4*T&RH9IJR87'*:-D6.(="5KMJ?S!:2D] M;7\;VEY76$JA/"N]0@YK%>,_.%(<>R0M!8E'.U_0$&E;BKXYZ ,C\%UUHO2D M_HU(?8V- P9,:-COJ3&'R"=GQ MHM='?CZP>G8Z.)].WE?.NX&YZ):_AI-X__4:S2W:;LQDZOP4S2?G/\3MG4U& ME1LTV_/P1>F2X M'V185Y!D8*9T) :,TMA_N #=R#B!@BF8\R K!5L ,N A*U2/##TRW+TSJ$>& M>T*&-9G!V;+@DBJ0%.#LF'$:F:(02/+",D*-H$SL[;-AR6_<(NQ; <,MN8QV M0\L2EU8_GJTI5%_70^BZQJ5KC'&M@[W) _I)7CK)Q]59Z]?%U)[J6'IO$J*A M 9C&_"*5X?/_653GL17P?9L7'IXT<*\U^'[5%ZF!\_'DP,(13OVO]:G^.M+C M^<'8/6\.MA<';DT<>'NP84(PC#D<<$ RIJ(PK!B2(6BDHTAG'6B&O,@1G3>J M[=.'?>TN;=^Z$:"G[?NA[8V>19A+%@0<&S86,>9C%8R 44D4+@"V+7%\;U\, M)=ZT ?2D_3V0]JUK\3UIWQ-IKY?+U2!\88>13.V L2Z0C!6L,!.8."D$%P38 M-AU2OB-L^S;C.A^8PG*FI^_\/%:%&;='N9M M::SJN2V%MTA@QT&%VI%8D)ZN'YRNTM/U7=/U M1E^C0@DF2H8"E0PQ$A12+A#$"N]X"8=*G 4UA0R5[,GZX9#U3JDI5U-UJ#YZ MAS[YZ:0GZ"\EZ'7E)!!J2PKL.>@2 6D+I.'($&&%9EAXRKW;V_^?_Y($DQ]W M*#[["A7%5;/SD;Z(D_6?1X+'\BF$X .-_MY M.CE;'FYJ)I&9Q\'8/=6CT>QE.'BOJU$\[)\GTU>ZEPSOAI%L-H5B92"!4XZ4 M50(Q(SU2E&N$.2N("B7Q)=O;QTH,I;JM:)7>CKU[M'_[6E]/^[M&^^M:87#2 MXB UHJ6.#>% G)2"&N0(A7>,55P6>_ND&!9]J:'OF/1O7S6\?=+O5<>OI_KU M?BP!#ER7'A%)":B.V"%I;8&HUHZ% ']:=6NJXXYZMQY2TM]BYMV@&L/_;\:G MWK>'ZSL+WM^-^B:7A/&W\,B3A M()'QE)M@')9*[.V7Q5!NJ?[6P\/CAH>[JZO2P\,]P<-Z(6<1F#1!H$)2BA@E M!&GE#3).!$Z=+5SJ>WG3^,%O!0^WY(K:#95K>P;@S]58C^UM9 !>U_1TC3'N M+KFNG^2M9P ^[(#:VFPW"-/)&:SW[&P2IS"Q[P;5;+8 TH!'3?U(S[T;S"<# M?W8^FEQX/S!^[$,U'YR/X.'W;9)X>&+#KGAH7\6C?GD>YS![_M%/;06"0R\C MW)Z,L%E U0BXLH)*A*4%&0$SC&2I'>+>&J<#"T5L547XL"0W=K[VP7D[2]9W MZGSMR?K.R7K=,E 4.@K]<%K$%H@)(I#!3B'A"J]4H%;$@HI8#C$1/5E_MV1] MIX[5GJSOGJS7F\X5WH#PQ5")N4!,E=1"4N]?CK5XQ.?OM&'DNZX>S1C'RS]8YML\/-DVAII#CIGV>/>K>'> MI\T")JX@U&+!D,.>@)9"+3*E$D@Q!P?+*(.;')MM$G83/T5$V-DJ6THD#+$( :2!E( RL@35SA<^E#BJ/G6 M])*>FK\]-:]G[&/JK)(%DE8QQ PMD0[ H!6QI:-..X-3"R9!-RT-?9&2;^Q3 MF9_ZP0RN>TQO6_6OC".%CGTFW0_5_'1POC"CRL(W SQX?#(\'G9G2]T5!;8%R6P2,IL$=,EQ@I(3P" MA+:$!RE#H"GZLMA25;4GZ^^%K._4Q])SZCNEZ#5.37@IJ>8<:<\T8LH&I&)! MU4(6VDG*2D7T+G+J1^9@6=%HXN=)FYEZ5_4%XA^L3O(OF-D,8"X=8X]PMX)P M+S9T$2(QM1'<)-,8,5(X9!@(+J(H1;"EU9SR74R][4GY >DBGR'E7@>Y&3VO MZR "DY)Y+9%2@B$6&$@LQEND-"X4G";VWNSMT[Z QO=-SG>J@_3D?'?DO%X9 M0RCJB"L0IT8BYHT'2N8QSH%+KKTRV.*]?A5D=O'NLVZ?S[@4F$N4>D(1YI*[.,N:UKZMS!^BX M69;/,@O"C?$(2Q&BFY@A4TB+M'2,."M"BLD@&+O7U&AIC=..V^1X;O M$!EN78'JD>&>D&%-9N"X](6E J @]O)E6")I)>A6TI""FZ 9+6+.&\B,#P48 M;LGIL\M:UO,0O*V37NQI3"@;3/7<#_+KV0"(.2EA>NSR"_^?1?4>".5KL_O[ MTJ:[J'CE:_ R/*\OP>]P!UZ.(Z[&_YXOS_QW/YM/*SOW+GYP,':K;W2^V0/J M%P'JZPTE3/%0,JH*1$.L?5QXBXQV' DB,2X-==S'ME$W1M.^^/%WB!"WKH#U M"''_"+&NC&EGM"Y+!S*6]XA95R")"XH,UT1:7$H;8UVYVG1&]1#QG4+$;M1' M[\%B!\!B39PH<1FXT 11K@ Q' =QHE ,468#=41RZ4 _DZJOD[X+=!R]7]78 M3KV>^<'?@.C2J[^G*@:WJH\]Z@#DW6A&=2-<_!46/G$OZJORK+XH\._1(AY& M%X$S*O=6L-M#V$*2]+9$3A:":8U>XAB.YT41/(_MK21B('S&&O<"E4('!8*H88'%PG,2 M?U^%YW99,7MZF?8UT/.!\2?5>!S#$R=A<.'U]+Y=9 \/1;\ 1 O/"*-$$..JR$(TI2_^;%-Q"P>@2\/00\V5"GA&$%51)$I3)6H"I!DP+629 7 MN#3<.&*IV]N7L?]GW^7C^Z5TCKTMJ%4@+@5&!#?2>%P*B9GBDCL7*?TZL4(] MI>\,I:]K1EBP@+WA"#->(J99@323&%GCC5 2%P&'O7TFAHSWE/[]4KIPH1!$ M/\F6LT5MJ&[C9C>M9W^[SN+=?V":[W; MG #$.89Y(;C%!5.^4,P%4Y2<"J(PURQI=]<(;>PYP8YP@G<;VEW@#C/I*:+8 M"\04UDB36#?<*:E K]?&@]L>O[AL-U%3@X:R1 (;)> M6L1PR4%$]@52BA*EK%!*E[=E[.KAL(?#APR'O47P^X/#];9;UG!OB@)Y04J0 M#@N!I)0$86:](9IYD!YORR+89Q1^!1&+K43\:G%^/DIMZ?1HX*J9'4UFBVE, M)0S9KA!&DP^#:IQ)!\[JASMUDEYCC,ZI4SA7-UF8D=\X]IL\H9_E9V;YN'H[ MO F!M0P'YSKRMV'(>W[EX:^2X'GUE-^FXOX*]S#(S_OQ94O$%>.GFTVP9,% MU308C&PA%&+>!22U]8@X*BB(,M(XO[=?TMNJ?O" M+,>2\D5OBQ=M.:9B$AP;#N$2(^K\\>+ ML9V<^<%NC\[85?B_H? ;&WSXH;*SQ]H/N7^*B/)F.4 M?-'5^#UH_ZO]1+[.'WW=T@?]&+DS8 M@#>G"^\&HTJ;:I2N<;=WY_EB:D_U+ =AG$\GY["RB_3#F.1Q'H,U>CV_U_._ MM9X/*__X0[[:+\9/]7DUUZ/G'\_]V%7S&#($ LEB.O7NI\7\:#)_[9.9MI=) MOD@F^6U#RR]8(16F 8G2TYA_![J#Q0PY9TI7"&*4M7O[6.U2\ET/2(\.D+YQ M@]6UE3J M4>FA%GG[2E3J?2:W"%EKTA3S3.! *!*."( L9Y$JO$/"%M9B(JG J48;HSO2 M$CHISO^81]41_G;5^_W_A3^:1W?&LCX&1]1DMO^_9OJ/_7:^ZS\[T].3:IP3 M)\@J.*T,\60.HX-*#)2:TCN2BERWE=4C MF!^\D=HQ/[ETL?43&,EF@_/)K$IY#$GAKM[['S]4;G[:Z%6='^:#^*%8_D0; MF,1B?OE/=F4C&5W=CNZ?<;H).[2TG&N@ Z\Q$]0K:GEAF0TD:!:,>2/47O.C MTVFSA'-]XI&9>OT.Z0 K_$&//NB+V=X_5F\87*^UC;]LSSJ7L4R,]I(-"^'. M-BP3 &#L9)IS7("6_31^"Z:C=V8N@]-IY%3_=8V3V]L_CI#QO__0#W8!T?CU M-#+H5"M?[V^[T?=*>AO&ZD1Z3P_^]>+_&PY>'#V]')(Z5U[="_QNG_K1R^/G MKP;'+P=/7QZ]>OFO%\\.CI\_&_S\XNC@Z.F+@W\-7AW#&X?/CXY?;:[L>H@B MR=[5[.B>5H^?# :UN'BT.(,Q["W8T59==C\M9O#8V>R9G]EI=1ZIXV#L#K*) M&/C=K\#B;.5GQ_#0GT83^^Y^I3QVV$AY9Z_97\]^NS@\?G'QUR^'G^ Y'P^? MG;"C9P>?7I^]CL\G?SU[Q_]Z^YR#Q#;R__?WB[_^=.>&L/*OMZ?OCIZ]^'CX M]I_O7G\Z_'CT[/F'E\].BL-G1]5?;_]]^M>SO]Z]/!Z='1Z/PN';/\C+8_M& M:EX&HAFRL4D2\[I 6HD"*1#08=.Q+G@MO5?CA7<'45CFPM*2./BA\B#(>\,= M]5B:H$NIE;%[ ]AT?1Z18KH 7.^<042:YFB2F?T5D&(50"8;SP?+TQDTQ]-( MAO4U64,F^*R>68*_?()7SVYU-9;$*P7"JG>!&4.,9$HYK"W6G%@:OHZ%WI1^ MTH@_1#6FLM>!PBS(71,&[TE4>@J+^0AX/;9/!G^;3T[\_-1/!Q^J^>F@FL\& MLX695:[24SCWX>!__DL24OR8?I->XQ\'D^D ?M)^E-=.TB]0\-(X/ GBD@[&??YA,WPW3>S"AAE#B/^O/\H]/)J# C&'8 M][H:)1>7@21N-)OIZEK:?S@/PO8QOE%''1U.D!W ^/A_>"G MV2,63P&HU?CI+.W)S']VK0,_SA.93F+3M>5ZV]V:#?Y6']A/KWZ=M:<%4]&C MT6!^<>[K?8*;E!20:CR>O(^M5N.[1#L[K%O!K!!;OZFP0II.S M0;IWG67&G:G.SD=5N-B82;WW(]!PI@/_\1RHPX_;+?8?;06+R3_:LKOM<^N= MC+L4'P=Z[H?-1\U/0?T].6U;(+G.D'"?_K.HL@(U'(PF%WI4.S.G_KT'P$LW M;.K-1?/S>+GC37FO1PM?7[G-I46\A 12,/D.N3#5R^2]8. M\YZ]#&N\_"+_^:CY^;/G;R@.RA+/D% L-Z/ M 53]N9YFWA8'F:8%9QZ:(#^&+4SKG]4LY(\GKYX,7GF[F.;PA[AK3<.*B)]G MU6P6=[.!Z5?/G[8H';^;?G_BQWX*@'V1F-9YG*I>[OSY% "E.A_Y)=C_J]P"8V$@GO&P!/YL!NPL'= 7&UK#UY98EUGT @X"Z M"] 6-Z-*S!60M35IZ7, ;IMC0I:3/JFO2^3V9S[."KZ:AJDQ;J 7\],)[%HR M7N5]B,L:@* 1HA&R?M3@Y_;0.K?QU1R6HZ<.>-($_FHWYN>#5S^U^[OU^T\G M+NW3O'LJ!Z_:4UE#VW41^6[1-UV8>;I@H% ]3:(T7(XHK/<(#&._(=*7@BN/ MN-,6,= ND Y:(<%4*0MCM&5B70=A)<5,&X%+PID4&"#;2"44-TI(QAXB8O]> MS=YEBOX#:&PZUT#R2:&[&IOO5+&Z$IL[.@"(5F^]S;C0+F?174Z$ @V@,5N, MY@W>/GWY[Q?/$%8#&,;YL\IF217( HBF^1+(D@!RE_ZDT1#6Q=M&,HNS.X6) M QZW\\EB:!4 .N)L8G0;<(K*SHM-(=%@&,9#+6[ZLI MZ";-S4PB+XR@ >F3RR5]$Y21D8MX#L@8Y= $DUD=J1H5XSV ;%)"3K-&E@75 M6OA,,OD8,'DV6TQKV$\@_>'4YS6W>_"A JYA?,J[\\U6OA@/#O74G@YBO,*P MNTE1DIY7\T7D$9.X"TES2266AI&MO/>C>%*I8EGB+BD^,*[H'8HR/X(Q/J0I MGB<@B][!)%T#,,^KS/M@0K# J*V"6@$2MH?INWJO3OT(F!J"2PQJ SS\+.+Y M/"HJ,.=_+N#G$5-7ISSUDW/@K"X-F1A,GGG:D;" 9Z*\FXGS+9_YX70RL*>3 MR2P].FF(-2^J5Q[7!LI*_%5S/;9L0:U#;=R^>'"G\>"C%C>: ,"[]L9NOYBS M6-SJ N84GQ3#*'7>XWISN@\=PK_P>W#A1_E?:')V 7MT6@&I@HPSRL+28CINOKIM&VH]M=99(Z@FB%K>IR>#GQ?3B"-Q MQ<.K;V(#9IF>(E5&T1$HH4J!PM,*V ZPD>::PH]&(]\$%%]]G:XZSDQ?FS04 MEC27]\9_A+E-CA?I&DVXA! M]9MY7.?'T6YPI=J1M[=F6PF@XUEN9U?QFC3; C/[S!$OGQ2GTM@J*E!;7&(? MT^T'#^^>P6IG2W9WKU+P'S/_,CP':H^+GCU"2??HV>$;BQ7V5#DD A:(%3'" M0_,"4<\L@7T,O% /4'*%LXUWKSW=W1=9LU5 -W;CK3:$:E8KSM&>&2DMV0Q: MG;:!ZMJ ,(O,3I^DWT;:/]/O J:'RA3SR0]1=IM\ MR )GA.U8@'$.$M8R;209H?4H)8A$1@4 Z#_:QE$UB0$I?NY39M1X/IG"'-:& MG)A1=:);*VEDB\ET&J%P*3L $QXF@VM[7L":[3MD=$;E,Q (9SKC(H!^G&*T M+$CX=CH''\%Z5ML/=S.9)] (J^-01 MUETT>"3KN/Y8C[6JYJ0/FKBO@ MT@K^ !E-?3T&G?NQ^[RFT8L<#/'>+T7V1.@-W,TR=UDZXI:2=@T(\(-)1,]& M>;) \R>3:?(!5O..)C"KO]C)/EW?FSKX$\5H[Q\H?M*F+%91UIW_@.[/V)], MMF6;&?3MI_#CRN;PN#=[^Z]J]W3-,U?/,*F;P :3A]:V_ ]DC+,J>@1KW_9P MTQD,?,I&W:)F$M%K7'.U]JNUYGJ^#9O[$[W!B39>_:U'VM!A4AQ!(%N>'=HX MJJAE@>P0I9KA%C%BY0"'4;4-/KF/HAA73R)9VZIQ0]I9DEP&0ES!DO^Q%M73 M1QBSRR.,^V#A'9A+'RR\?CFW!N9=&6BW)O%1S[ESGE M"A8TU4$%(EF!!276 M%VKOL@# *R7%U> M/T60CAX4/0#=)^4U1>/?4B5-_BQX-0M5],5D;7]B[6(ZRS],LMMDU-@/ =DC MOW>#D\G$)1MD&SD6H^-26%:M.&8MK6$RPQ2;,*YM -DT -=KY*-8V!@!8F!8 MGE;7UAYCI]*W)E$-A M6S4?Y 3"D;T(6LM$U:I0;4WLR^+W+][(V_WDY9ML> M-EMQU4+S)L*WEM$12R]68]%/8L]I=7[NW?KT+A6@FJ'K&+K9RG.S;*T'*:4I M!;7-?);:FO&BVRT&GE5)Y5^97V>IBW.8!9Q0FO*9=KX35[BVU+6)7RW:#;?( M'%\B66P5'"Y="5PEF/7%TG_1FEVB#V-M\EM%EB;T)$LMJU="Y^U??A466T?[ MP9'NML9V\!DTT V-)X+M[-FDO?7PMHL^K;&=)V+KT-KZ%6G":^-[,2JP)KN( M 4\&!^WHK1&G$^<3M<,)U,A#5C[]D'=GPTSVK1O*-UWH8)ZQK M3\8U<'%[3.FIGKI,IPU-Q]5$TQA(E:<=LH.Y@"2+VC==:%FQ>M+/.LOW91]=/5-"J4#45>(;+B0[3=YL3W;[72PM" M="DUVLS98C2/X667K*JV#R>+8H*3DZX'J^$NS>6:K4#$9RYDHUPGQOO1ALT&&YDG# MB=)[P#VG)YFREG89F$"TMIC8=Z>QSV:3]"5C;S^U:_TT7A;X(ER,:G9:.R"C M'!"_T!YPM)%/IHT>F_SLT:"_:LP?PH9,3J;Z_#2E"@#2OO/SI3\Q: MB(<8=@8_(8F>OG&((S M6((^C](!O# 7'6<-7'G]+O&P<9W+NRIJG4R (Z%ZQZ*'>>Y/+K9HY*L:^%V' M%,[F+\.K**SU]O&7QW^\B9J+L+%%3LDD8J7V2')O4>E*0S AQN"'&!(8SSF2 M0BV.[7:8=C/91IQ(I#1;"1K)KM8,9ED5:7V#;6$YMS2J7L;JUGV#Y_H"E(]1 M+=KD4G51,\J6U=EL8JOT7@*$1/FK? @F"NI&8X*_Y"'.@R(4!ZKA:26V"<3F MR ^:"GC#I9">YP3*4:CF#8A^UDG:?.GK7:5)=TI1.(F!U2[BLY@F]:F=?N.K M!-0#[E\EV2/Y,I\,7LSAX;-)(TLL'S3),NLD"6)IFBOY455=,@18-NS4/&D< M;=W ^6FK ZQE576XZ[WZ'IMP\E^S2/EG?8(98!\AKAY^^NT-[*64MK2(P68B MAJE#$I" M&62D=$@55'%/' VXV-L'Z;.^(L-^]YK=>WGPQFE)'*$*4>UA]W01NX-QBT(9 M& ;T,*J W0,)W3?[%Y6H?@?S#GZ$^X>Q"\$)CP2WL:1 29$N2*SO';@FEOC@ MU=Y^ -[9;."%U[5,$@MV :N?K-A04Y+PJD+P<1"EXJ_U5T-4(Q)[DT]URRJ-7HP('.H:_E'G.;6S MRE;,JLX?2OFLS<)65M5)@.F<_R5W)-^P.AY_DFY=SDG:$F&YW-0XE?H,(U&F MG(]XEF$15:T:!FK2BR0WC>Z9FA:B;=Z]!<6F56CC-L<3B'^GW)M+[M3VBP#Z M;,K,:H-'+_U:K?9&LW-MP-0G,1%@>W;!5?BP)/^,$35E/1G\7-L=UR.9UQ]P MU;"-Q3K5[EBB M"NO*P^Z=$A28#$XFHQ3[:'$"J[]D*/?!BO/ MR04:(K]P#9L_B8"8<]M6G%W ,:!AK*R4;[F0:?"X3 M/(PB07.";31!3CV+LDYBG[-8SJ>MJYD23YDSS)ZO7KG/KXGG6#L":06\>Y-*A^M-( M W6]LJ>3%,"3'[?,F3F;.#_*@LKJ]"(9?-&TZIL69]9>HY@TGGR2V4G6^F^W MV_#/SJ*:EK'5-L/.&4:H9 MYAPK5E*FA9-.,&JID=[%GI7;GW.E0+A[7.6+1:57 *E1SFC8:_!ZWEH^ MFE(#GB;KT3-RE=5MD M]"O7I1A]/=ZR\DV[T3G:*^<_+R7!? >3(66V_>ZW%[":SU9&SX^-MKCK1.ML M L65):8>@J[XKVB/7:DYMMOW]^=U4]E:P:(4,3(9O<]&U9$_R55FK??1#1+- M7E6BY3:&9)QCO^QD, MF&2DBJ4_AI'87VRF+6QB8U'Y=*@G@DH)Z^V3:]K16^WIC5@=X%E_:#@8P? #X?> M#):"-^N%Q2C_)F RX])D7@<.YR+ L;LEG$ *C(E'T6P.3"*%O^3W!K6/_8H3 MVFV:^\GG8CFPY-52;:OA.[-49V">0HRZIV!2-] 5:WHRP=8;M>6.=V]U*E_3 M;EFSY8E_?_ QIJNNS-Q\QU]Z/AM24&(HZP\?9E98:Y[;_20=QT@J$!331W,H M^*1O<7)=RDV[WV= MYG&1_1%K3HRF0'+CJV@J1"0GBEY6B?A\8;(&((=-48ADQJDK14RWE2/*^*FS M7Z*#'/G2;"+C6NVCU<(7E[LHU:+9JUOM@&!7QV4=S>HN\[!#CY!;*R M%DM'/HVE"^?QU2/T#AR^M6\PE=0)X0$DG8Y1/!@I*C$J+6B'W@1GW$.T]N=S M'<2#3<3_H@T4?557^1NLW(5=%_!:2HJ^O>GB;)GLTY+VZ&(I372 ,U647P*B M75EU"J#(6Q4KCS;1QZO!Q[%1^S#]F6)U0=#+22_9<)FP?[9:]KFM=02ZDXXEE4RI/*,E^QA[9&6'@]AIV$ M;SA]D0!IE+ JXUZ407+W^:2ZY4R(L++/,=3M2!Y[-?D M[:A[QFR591\ E\2WFJO'LH(I]* ^B=4?IRB@.$)*[OB8^ 0\[[^_H+>B,4P0 M)I4J0:NSI586:QD*R:7!)/#BS8NMK:?Y!B+#K;A>@\3RL2'T\6\?CH[_>*.< MDT5@)>)!$L1"J1!POH"H"](QRK2+D8+T2;G1WG 2#1J(M17+Y]U?M;4*C6+T;NFB/%EZ2N791\V$#YKS%-- MK&%&Z27"3U/CETYKG[J"[Y/!GZ?5:$5U3A5L9[G(8)6-M[!-BUC&N(K7N"YV M6L^X>>;VVJ^FVUIJ>QW1MLI<+4G'JLY)EL[%;:.?8G(>_4N1+SE0&2/,5Z%NG#\WE332_'^D3S2%*RVPK8<9S6F;@RS."2,K)PPK4*!;LS,6EO M1K&939/3F92,N"UP/X:#>-R=E)9EV>2T@-GY9)PS?KO)D>?P02J1?:]!0S_K M:OKO:&Q_&5J)ZL52H'JT84)'Q[^]88ZXT@N)I%$XLID2::TTHL;9$O",6.T? MH"(0CWSP[\;!LI2C.\>^^V!O]72:JI0V!4\;AKZ->:6R6,YW9._9<"F1G^N+ MUNJ6Z3>;55UK&4A"_%(NC(@!6]AQ5-5%K//[39! Y,O+XN'CY#"+8L)6%6%: MMX)J?$C_64SFWJU$0F2I.F-X?C-UR MT9-9RTK*3DOR\*_P"G7:H:'FC=ANU-I3]R]7Y5-1G MWOBY&X3+ =(=&.H 4.N\W(8;#TAVSWU+:A-$LDGG%.>$Z$N!OAI?9A^I6[/D MLO:7;&^3@9!*<,^G*0+A8F F,,:P[4P9LXS-O&M<2K4M #)S_6-]7AO13SYOY)8OWU/NXQOEI:Z;)?JME>GNNU;6A MJ%W"8:8Q[3S6M%G;HKO>A(W5G<"SYBF0 JZ:*K(E2L\WC%67+>2SX\7*'C&G M+:=\@V2^G:B4M<,>6G1ZQTFM8ZJ MT['1M5W?NGNW-%_ZW$=%=WQ5"-Y L=S;D\&K2%?=X?2TF\\R[P)6+G2>:Z+' MS)O)*/=[39TF";YO.L&+C&"*([? MZ<$2Z64>'<_S:C1H)A&KE=73V9A&C#1M2MIMO1_#& F3RN/G(F5M"$SM)VK3 MG/JHU"^+2BW[J-0^*G5G%O#54:E71IFN]R4T!%0O:03,(BH 1G.I-39,F6"( M+R^+2KU2#=@]IK26F9S#(S/7R?QCR8J2U0UXT>)LD2-*FA(R&^"?.Y]ML4(" M#VELM.FWL6_YF1_\K0X#_'N* GW2]#UO.4(:]$.*;LQ6]2IG?4,>9_L^7 MV#@W67B6]CI"3ZXGV^'3:1L:+K(:CM*IC[<,V:D=#^EGV?&0\H'GI]6L$UZV.OA31YI>TQNH(%S!X$IB32%CGE<>B175*_3"Y!7--VZ:K M]J".U6AR]?,>7&3#=/V9K@-_K#YU*>RY>>K]U MGY(!NZW=E,7-SI>:,-E6O(('77VOA\V];C*>ZZ9RW8K!7[:7=395#MQIL_<[ MOZ]+!V<9)<;(37(OQ^Y1KZRF"2P>7TK<5T;,[!H%O@)=[@CT\@%ISNB.FQA< M:FBYW#3Q)8:6!AZ_9>_YWY>VV^-HS#T8NW31ZS[.L^7G!PW1 / ]JWM--=]Z MM/X,&/>-QQQC60H4N#&(85$BJ7E *LHY6"I?!'E-,^&=TM(7F@D/5D"R.?&F MP?>.6P6[%J+&"SO;A/[-GFGQW5RU/2+QDC/X9$QIG=K !GQ.@,GBT$I,^]++ M6?MXEP56F\YS;=#TN;XX\QMA,YG]S+IU/)83SZ[@]U43H=I.-W&PUF09%SO6 MHXM9E62U3B'D#@S:$-L8WM&-T:CE\ (SR:!+";+W022=4 M?!2+XC?9'SE8:#VXME[8N!NUNUS;P@ECH)P=^MIBUNFUU MZLNL.3C?9B?--HZBL5E<%B\;0U([/V_JC*P$YB\KY*09QR;4/I_Z-:O^-I:N MW%X63GD^]KVQG]W\>4".[-DJS]XP=/7OWQA@OL T2$14KG,F@D3("(XI#63I0JRVQ M#]#3M8S%_7>;IACO8QN9VU9L@"L,5/D G/0OELTZFXX:C?>F+>B[6<9WK7CO MT\/D_8CA-:F;QM(IEC.;/N10KJ2(_*UC=*W5FE0_"E6@J.97@,VU>>'O@]15 M/#F/LL<:W&NS&'R2>FDJ)D4ZVANBY8#MCMA'"]6#*-%:XR MW*S@E!IYV91*N[1G=XH9MYN6;-\9GS:K!KMJMF(*2C',\/Q)D?V W4 M6X;RV26I-S24_#--5)OK1K$O.ZFW_5U&7CN4 JG;%@[I3X/[G@Z5RD0LV7S MA@1.*2LKHV -<2DYLQ'=NMT:.GO=V,-2TY%NB;VZOMZR.U C8G:3*):Y58EB MNBU$_,AWDC/B#)>=Y!LYL+XEZ\)?0Y#+>]1\:ST[:YF5E3M+G*=*;EN)]K^IZI75LZ#(&U.1>,6O: MA:]R@+@_6W.31FI%J25*U>4$.6DUMN5JU9KN_L?0[N9T8MFE+,-^&,,$8%YY MN\ZCQ=6M"<.[T*8Y)FL_K376/ZOYZ=-:3>AEWJ-/!V\H8\ZZ(D:@"H88*1E2 MA:"(Z1(NC"U[?]+ 2Y:5*(!!J7XE*L;N5W23;YNZK9LU[3CWJ>G[7:YE0U*_:U: M5X*>U7NX#(J+HE-;A;0MO5)7\VC%LF:?I]OZ,K8)O3HF60\6Y_$0/@=I"A.& M>2&XQ053OE#,!5.4G JB,->LF\*UGK35+K.YV/%>'W2Z9?R:IKZ2V17KE?_@ M%M,/4>#RX\<&<,?O\-&SDS>"<$L%9\B96#;?VX",M K9X+PRJB %EKEL>:Y7 MOLZD:NETC5+6HN\:)W+3)V]Y]U*AF*PTQ2225.]YY:8N8\?@.?#<-I*LJ\B M^%/[#S?*2W2::[9WLS6(CF>U;M",6C=]:_Y9SVYV^?36]-&FB.74G^NJV[]F MV7&E>5+JT]*X!./G*Q[$_''K,JQSQ5)@^[#1*-;5-[C[(,Q7+M'D3]EJ"Y*1 M]QLX]6T%C5^GT9XWOX@%+^<'8_>\Z;#3BQA'QZ_?8.*-9U(A@QT(%L(%I#QQ MB)>8[W1[Y;O/+E3FWC:#60L)S%,,H5Q]:1L-T6TL-6\-_ M^Z[O%BA;K8E:!]VT;':IOR]F/OJ=DO;=M%),R/!D\$N3G9B[_BUB%.YRQM5L MYY8E[@X)S2-Z'R/](B_@5KZ-EOA_@//KY\ M]ML;7A#&F2;(>^H1*RA'1I4&^3(X*ASP8.WV]N,KC6[N4)V!;F5">(*YD!L M%5X:C(657#C@G8X1T=//71SEI\,WW*E"$X^1+SB(K\24R("0@BB798FMU,%] M5GS]<:WIWQPSF2!=>HE(([S457I1E3<27'7U83,>IU&AN, M;F\NJKO'M*^^ Y(0Z M+AV=G"Y3[WNE\G$Q>#1 MU-^D:4!ZD!37YJ-'&_)W].SU&\NU+ M+D3$8Q PC0;$3!B/M.;LHG-22E1J.A>&246$%+KG3#['V67,7=EOU:V:9\@RZ#J&NXW]K)+_- M]:@;.]%+@/PSF!7([--WL^'@Q=@^B1:;G[V9+O3T(G8(P8G,8W>@&"3P*F:# M99?@EB\7Y?:HOY-VPM'DM=KR/!F?4D693J'<=IJMRWPMVKQ>8"S$O=9.N/5Z M=3I<;?0,OJ0IF]J-(>.F@SS:!J-]1US(;WH TF1 M&\-MD^YL7^V)3&!\/JU2I>+W?K3C?MF#^=7[&Z7N]32\L_,8^)6+<]1GMFU3 MXIUZ,OBI&Q.VS/=+\8FUZSPU*9LG-ME&,34%.NKHI=;C7ANV5RLWU)ZO;;EK MJ^)2$JO2'4\EWB]R2EN4#59*2*3@^]7J4O5]_.=B[ =$#'/29RSH'26[78<":=32F*\ M6F[W&I 2XR R"C7!2G''+T.N=/(?4LS_UM.]3BQG>Q!M;%EN4%QC6'T!GL'I MQO*1__-?N"Q^I+BY"7G%'^(?7U O5G.&"\X,YX0RZ;BAUM%":Z4T(Z %1_47 MJUK]Q6J]<.R+HY\OTX9?M#L4VW:LUI*-#:X=^N2GD[:,;/'HE./G_/#3ZS MB9:<".=-0%+3$C$*U&H\U:@DS@>CC:0"U*[Q9*/2\]5O=!E)G7P6 XE:5M"4 M[4U6VT$.+MK. =*?Q2"5@\#JR49:]*;VH)BFAEL;: B,X:"44%Z500I#M!+A M05C5GC7A2'48[VX+O.ULFU#!)MDOY^3$@&M=![E_2/Q\I3=-E9J'=W,8T_WH MUA&N>\&U22;CNFI=G3C;A'G'P._4R3[F:X"^$&_9)#\_3C!G'J561HW\"@\Y MJV9MCE3W4;5XM,RKW.TS^+7.%HU:69I\)^'XXKPIG9$*1J13&?MY36E%_CLV MA6K>4_5[N8 <[/G[*'?7J5]Q5G4!+[O,B6J.KK$E;CV^25,\\N/ZG.H*GJQ>KCC^BQS<'KT:!M2,MWW-SF!>IB,BQ_MB' MR1T]LV^*Z,UW!B1$&_L.:'BEI/:(AP!PKKS@SJY[4XAS5%#C!+86D)YI$8I2 M6T5Y ![@'V(!Z7PK!G M=KWFZG;+4]3PY_ICF_H]6VU>5Z??YQC9^#W_$;Z9 M7/2C6*4H-UMI6^7-_5FLE3F]6,E!3[IF[;5)4-9\.!^8R>1= FX8.A;>G#M54G$S37DQA/LLN7=W'UD\$C;J-%8X_Z;A0NC6M+\G! M_$P0;[=5S-*MG .A%^=-&^YV0BNXNF5Y@F_"-6\ M*0?:LO/,[FN35AMR?1ZK'TP6L[66J=?8]5?-#LVR8;M; JDFO[]%O>'O=?.X M[CUI'Y^;K>N8AV93!9^Z)E176=B>H4_W-^;*XUZQ=8')1-G5.QDWE MDUF;XM',]O/>O%W#J>U*PI6L8[5ZS&(VKV$I9\DY6BK!UQ>25QC?UB!>-7+/-.I>LIVGJ;=YE*E#25D%H*JZLV/:W MMO5,H)?M_0U8K%_)&%F3.AKFI/*6'&(ID9B>?!W0S%FH%]OFV'':USU >*XP^B:W3K')I'QRIK6QX[; L@S[/5,H7R M=+J^9*[X/E:5B:[V++S&<\R;E0Z^RLV6Q_Y$KWQUN%GEH4Z*B0%0T]I-,ZLE MYU@4+_V\+? +*(<2.M6-4I,CH/'<-#;VK4;>UK:[]8K[I'HEQ$J-UUZ,K[OG MI]IUIM=LS;*W8[>)=4@-'M_[E;75H]=HU8B&:TUWZA#^^/T4+9AS!)O=:'.9 M+RDKT288+8>_8J;PX'SKHG]KYGVN:%U3_"1?IK2V(B7?4+7NC MZ;YNN1>_%*>]E:6<=^Y\E2I85=GQ"_PE!@BT420U"2]SVR^I-MGQ_&S>W'1M M=>0H\).-V]H<2=>#5-^SR^^8[JZVFSL623T5"JF[U>71:Y&@[@LTSR75K[ZA MFYK>:C9;*Q]V:H9M10.8V)?TL/N2!,C/];!KC"V@(^1HO+:N35NMK6]QMTW5 M//H$\WE[D(N;W>7RH?6=W'CDCZ%:P=?&%?Z\ANZ:=2\0[,#2%5U]3Y @5^GD_$D5HSH M-*1Z].8(FMK$>!8DMAAAA35BI6)(NU @[K2D*F@@8OT S0LP, #;@9N<1YZ[ MO A1*1J[R$4>CM'!52Y''\;5U%SH0U/$,36U:]84Q=?DY<[JK%^KK_+9HAV[ M?Z:Q.BNLHG.8JV0=R^,.7H.@7!_[SI_P>H1#YTC/5U>V&NAP^??:ZCC=8X\N MAFXWX^O>B#Y\]:KP57EY^&J<;F(H5P8>2K[7Q[P^U)#11Q'SNOT:8?(-L',[ M)R!/!I]-9+L%\?'Z/0AW18(\>E5+D&\/BK_>GGSXZ_@/=O3G'_SUV]\^@>1W M>G3\CA[]^8(>?G)G+X_MQ]=__GZV+D$>/OO][.6SGT9'QR?XK^-1=?3LZ-W1 MV7,,W\>OW]I/1^0U/_KT\^E?O_P5#H]//AU]>*.Q=*( B5%; @*DDR! 4E8B MY4H1 M/*ZHW&)*H,C#IK; B*$3@J'U@18Z>TXYKXC>R@+V_BM\ZZK@ZFN&I* M=ZVOO+*GWBU&_F6(ZX2[MG;[$M(\XKM6')Z\\:)4LBP44AX7B%E?(FFM1%3' MAI9!"MC;72@^?XU&"9OMV"_MY%@;07T;9!TFT?X1Q;^_)3_09 'S<;.__W = MB3<*"8EW5,F!\@,A3WB[%_O_:Z;_V+_1,/7T&^$NMA)'L4*W/I_Y'YH7/[IJ M=C[2%S]4X[1!Z4<_UL/7$F%\PGL_3;EEM;27'I@_K@4=Q9^P4D199SZ%_USS MX%H,>I+$H'_,W>9G@C[!@ESZ?ED;T+_ M2*>63P[N1KQV_\\>W5M*P2[Z"G\H!CC=K6:\K_FJVO@J.?\8O_SCACJQ?NWR MC;MMN)!7B3I%CCC+P8(#BHONFYK&_!5EZH>XXZN[/W-\*906M^F0?J;/"%\]V_632#K MLA/ZDNTJ!@^ !/][?9>^:(7=E4WCJ+NTM"]PYX*RZ@76UC+0;9726A6EL*#S M"^,D-?H2=R[=9E'95&L/YD_K1+KHW;VF0Y<^3/7W]/79Q]'+MR?L\/C?U>'; MPT^';]_QHV>_5W\] S7W^-^G?YW]P5]&I^W;=_CPV<&GYC?PK,5?Y(_RY;.3 MCS!NK!AV\?+X77'TRS_?'?[Y\PCF??;7,8SU]@5Y>?S'A\-G1^&P*B[^=?Q\ M?OBJN#A\=L@//[QQ<%J4&H]*:SABC$EDK.+("5)23Q67F "S+8>,;;J!GGIXN@*>3*D!G8QR<'\95X52A!+/-.&2$--,D>GNX? MGHHU>+*6.&--@8+T $^6&:1QX$@60D?;'@X1GF@Q%(SO$#S=DB[R8*3'R=F9 MG^:V=_K<3^]4&R%?MHU;8?LA@QMW7FB,%98!,R:,Y)RX4CGN0FFD+GK9:S?! M[6)#]F*ZM,R5$FE"%&(&ET@2A9$6)7<".)B.)1X)'G)Y8]GK,P!S5[)73]#7 MC(WEWH2"*6J48D!:TA98\5 874C/E+]#:65+08">EJ]%R^N""J4A:.LUL@Y3 MT*-BKQ$.>I0E1 8MI.%<[^VGA!'RXPX1\R.SCIQNRB@4.5%#'$2EB MBKH-#AFL%2+$!,HH+3%3(*L,:?3*[(P>UM/S[=*SL$& >$*"QIX5)97,$QP$ M#2"\,"#VWK"RJ_2\+J\(;I7Q)4.ND"&6G"B1DH0CXT!L88Y+;.W>/BZ&12EW MB* ?G6%E&FM I-0I,^\$@/46ECM$.>N"":PP0C !E%$80[7DF'"J2HN)O&6I MI0>RZP/9JPW!! OOA"@YBC83Q(11R)A@4.D"=F6J?BGV]I54.Z1T]01[NP1; M".I*H3DIC6:RP :4B]B#@FOF1%"FMZ#L("&O2R2&*E=::9 7!B02D$&0]J1$ M(*=(*H)AI1:]!>7>R3)E>9_$ @CC5"GEAC))KWE=#^*H+CF6'F-O'+,:*\6T MM_ 6-S!6:>[0DM)#W-=!W&:P#2!9*7P94 @QL9YQA10K)0@LML :)$MKY:U! M7&]&V5EB%@5C*N""$F,8)D9+BFT(AE#+C#!%;T;958I>%UH"2":"$XUT47#$ M0NF0)$8B;@IE.".D"'YOGZHAX/4.$?1MFE$(SUGF.RRS'$_F>I2#YK=%S]^W M,>5Z&1G?'0I^94VH'@7O%P5?=IU#QZ_QT8.0EE0ZDOFO M[^[(8RD(\"!"X M)_43EFR43/G2O91\._NUR70*V5$CXGU5,:*X] MQJ7")6-"^B#%=:7H@_>Z&D4D^'DR?:6[Q8R>>3-?_JOGH;?&0S>=F8Y1;[#V MR(789\R6 44#+Q*EM=1IPPM>9!Z*^XCP[Y>FN7&4&^YDJ2W3I5*.$4ID*4%A M9I1=VY_Y=33=V_N_EIS7K8.2*$,,4+)T"LA948QQ86B%5&31CBE/C/0>5W]# =:DY[R67786ZP^.#^6%5?$QP]_;@ MT\OCPS=>NV0&1*7'%H$D6B+I.8_M;SV%,PS-0K-ZUN;-$+1B) MQ^VQH04+B@,#%$J65)+88JAT=RNZ]$1],Z(^>KI*U,0["G1MD#12(R9!@%&$ M*B19$)(#O1L% @PG0W7S#-4==6\^0/E%G_BQO>BCQ;]1M'@05A0<\WA%=&I*$&.,QZ4TP@L5 M^^/Q(2>WY<3H#3"[1]-&@@"KN"Y*"KJ)UAJ(6A@?0%D!PI:X-\#L*#EW!)CB M\-/S-X%X.$4# @R.0>4$M!+%2HUBS)WSS'KI;R_BLK? [$:>6Z^K70_E2L\< M$:0P9<",<"(+K(I ><%$Z94,O>2RNU#W8D-RH5X'[3!!0CH5$^$ ]%2AD*$& M^%>IB)$ =73(1;E#JEI/T[<<5.D9M;&Y#H$6;76N1[VY MY1L%C!8RV$ #R"R!$>:UPMH8ST QT\[PLA=:=A?E#C>$%B8D5M25R%,B$"L, M1Q(T,Q0\+:RBJB0!Q[)"LKAQ%9+>W+*S-!T4R*V66\(X950+*4/IB#'"TP"< M2?5"RXZ2\[K0@H4A7EB)+&@_B]/?A]O2&(E1IPM2P8XHXJQ HOD6&4HD"Y MY)YI&IB-K439D-(;]P^Z78*Z9]M4CZD]INZ,3-MCZCUBZKI("Y?*28(IJ+0X M)K6I$NG2*60"5U9P8B@I0+FE="ANK>CN/6-J$GK_D6X9_.VJ]_O-NHX69T \ M=O]_XE*-TUQXPM1;)4Y<7$6=))GX3OW UK5/!OH,]G0^&TS"8 [O M/YV]_.IAH/HB@UT%,_&,.3 M87;__06@XI7 2@IKB!7,\U(YK8L2AP(;K6B@;Y[%T0OX/[158N. !'#4\&I= M=5Y5D-<5Z3_&4P^7Y)-WO^AJ_*_)[)IX4SY,O!GY__O[Q5]_NG-#6'GX[/>S ME\]^&AT=G^"_CD?5T;.C=T=GSS%\'[]^:S\=D=?\Z!/@T"]_!< +P*$#P)D7 MY/#XW:?81,1(S#@-,9+!Q!(Q 1G!.*)41\.8IEZRO?WBR66J,-#)*-Z**EZ, MYA0&(SB">,/^6'^KOF'%X(.?QLC"P5DUKLXJ^.I!HH5GWOHSXZ=Y<(J'Z3X. M!WITB7&\'@AN/XP\_S 97'@]A:&F@Y&?S9ZTJ-8B1+RPU7B1Z")C1+H"6EK. MM2/":\P$]8I:7EAF PF:!6/>Q$BM>ICMP(+)-T 6L159Z)/!X']7T.\6Z'*5 M '\&K$D%FYY5,PMG"?@R.X8'_#2:V'?W3$8OGS9D]#O\]N>SPV?/\='QBP] M1OCH#%@R^>?IZ^-W[*^WIZ>O_SR\./KSZ-TZ&1W]\N^WAW^^_G!X_ <^?/L3 MD-$?Y*\_7WQZ??;SZC#V^P\0I[*9 @S"-& M/4<*PZO"AI)+70C+? 9(N&_>'40P FJRV'OM-%._7G\%@?M_(DL?;,6^$E#/UA MLABY@?%Q3%^]!U@$GCWS &XPB@: G$?D.M=5^F ^AC'X<%K9T_B(23S, MYJ?5^'P!TUC$.<,,\A+C2,N=^&&5?K;?ZQ+N8"VYHJ@._T#+>[OI__+O_6B M!TE>Q#\.7AH8Z'VZR_5RTW%,?1AY.Q_\9S&9P^K3#9T-_K88:_=V,8.W_A[% M),"'>%U!),IG,NL>2I5Y=KQB("?F\UUGJP]EO\AG]FL"5V4:=VV\MEO5V(X6 M+M^=9MOCILU ;!EIV+SQ#* ZH?+F1@W7!EO=[3S$)XY-Y/?0P@]?$ M^1%R4WACG.ZPSE0(O\U4$ 6F*$M7 1X%U%PO,RD"G;'CRIB1.VH):)$L*E!H$H0BQ \OQTJPTF M5&,]3B43:[982T?N&D+B4D:*(W=DEJVD_;>HNX*D!2MTL[__,+@.S.:]K.77 MVE:7+6ZPIR-]/O,_-"]^=-7L?*0O?JC&:6?2CWZLQZH->#$\;LW@E@QR^>,? M/U1N?AJMS$^*;&FN_KG/Y.$/OJY7N^TKH@^V,G*NQM6E'2G5RU0@\;X=(WPR\\LTH)(YZ>[M,Q: MB/V"95TC0.0![@!YQ#N0HHU7UO_(LMNO;CI_A[&0N[89UW>F?]G:OQ=?N7/6 M*ZRMB]TK.0>%1!+A!#?!E[0$U>1&75&V6-8?AK?\*_67VEL.S_WE.3MZ^UOQ MU[,_+EY_^OW=R^/1Z=';%_3P[)^CUW_^^QV\9H=O#^FZM_SP^/=WKX]/R-&S MW]\='?\3YO4;?_GGF"/3HX UA M AM"&*+18\ZP OT'5$Q$ R+>#R7\/!.H^K4&=ID80)P';N,:Q"91'*GB# MO!)6%Y19JNEM%RSHP:X'NWM?]!> G32<:2MY!#CF@M?&4U86RH528QJNW:RC M%^[N _'P&N+!#<:DX +!05K$F'((&%8,C#2*2V.$)?XA"7>/K'3+5Y3]?^R% M&J3 7EG +&(PH\I+0D4LX"]**X01Q>-,4WX0\%5MZ*9*ZU#P$!"UI03=% > M+Q.0*)7 5HD0A+NMBOU]\97=I6E/A"8B%(603!)F+#?!J2"+TAE3-QNZ,YKN M]:^O)>=U_8L8:KB/S88\*6+E:HN,I09)"CJUHX8$<7OZ5T_/.TO/6):V+%P, MI35,4V\TMX8++8CV0;M'VA#P@1#UNHIA+"&TT *!2@$J!J$$::\5$E9(S4RA ML"]VD$<_,@??M1N>/O;JM)Z[$ I9"( ?1@".@I(TN$!C*YG"NU[6V$58NMA0 M'9QW1'//$0NE0TQQA:0L)**8:^*]*DMR>V7U^VK3.TO/!#-ABK*@6%D&,J;A M#.@9R%ER(\)C+<;Z0(AZ78%PWAM:%AY9*4'6P"& *J$8L@[$Q[)4H SJO7U< MD"%5K"?J[Y:H2TIXB0FCEBA&BB"5DJHD)?%&2*%)3]0[3-3K"H0LO6&2TUC\ MID3,&(- D^!(,D.XP)0'HG:1J!^Y+^+Z+?P>N[E#:E\46GLI&6:&%881$7R) M2R4E+^0=FSMZE>*K@*JM*0- =?3LX.+EP1ON) 7E@2*B&0 5Y0XPJBB1U]9@ MYCBGF/7FR^^?GLO"6:X%D0QD3Z^H-' O@N:%"*)TUO;2QPX3]:=UHJ:2*"H\ MXM9Q4"FB^9(KBBP'[=""VF@P[;MI?N\D[87TMO3:F."8L$:6O-!4L*"MD#S< ML=6O)^D;D31>(^F2FR E<4A3%6+'%HQ,P +I4@M1RL($NX,-8^V)*8DI$[[H79JQ$W5B,.CU_SPP]OL'4,!P<: M!"DM8IH09%QP*+(@6E(A? QJZCT3WSL]/(VGE (U+$A"&0T0,>X6TEA*% M(I28%()@3W:/I!^95^*+FML^=BN'#-PKZ:0I!64%U8IC"H!$0VD#+YGJ-8A= M1*:5M A[[8(M"+&S$N0) 5%C@*=&^6,=&KW2/JFCHBO+"[1]^FZR\WY7O"16."2QLG2>\J8 M %U&>T!,7)9E\,Y>/_(SE;#MRU'<)2!>;"@NU#$6"F-1Z91"3(<2&1__8,%C MRGAI<=C;+\F0JQOGBMTN 3V, CT]AO88>@T9TQ6.X-*#2&F9$$$[51JF O'< M%\[\_^Q]^5-;2;+NOZ)@WGUO)H)B:E_<$T30QO:UHR7:;KFY\ M1*Q)HX6HQ MRU__LHX$!DE@"00(.-,]-(O..76J,K_*S,K\TI88NDH8.NDG"L*#-,PBS:A$ M/#N+1GN!I+>PJBQ(2?3:)B%BG2XM7;X$T1)$2Q"]&7N36A <0L)2<,:]D58H M:ID428EU\&[#P>V73)'%/U.;%&XF&F9>^]KH_:2Z/XS(]:(]1C;!8-_9UJD][Z_] M^V:ODF8'3^>TJ.]^TBX &VZHY:Y[T">8R]_"H9C5V8LE48O MH_$_?MVO5*UMUK/L_^??]L6^0.['\3YO0D7+2[LY2SCOZHXSLQ'F'(TM9U[W MRQY(3]V-1\D-B?5]FO%HOF&D7GK3&$(WP$:?][8S+-S+F0&,CJOQR=?>W0:_ MW>XV+T[87EM%1-F#I:3IGMO]!',E":6B=HIS)8+6TC&7J";4>FY&->6XI.E> MQ!UM[YW7VA_!G:R>@LMYMG?QE>Y\^BSVZQ_8W@6XE$@^6L]K%]]/J MX4&,--"( ^+66L2QR8YI\"@&X@A.18.63(&QCN6#3XJ?L2_!*]AB7G:V;,DG MOGCS%\>U9-9$^,JIB,YY@H6.B@4,7EJ:%VC+A)PGQ]GF%,X2)XC!D2+/'$<\ M*+IL]V8/.F;.)ES,]K@?.D)'/$AV2X MY48PQW(,2S#%%/4A\KGA_ T?VSP5?I]/X3=FAFMK'&(.&\2#:\LOX MN"%K=\? ";WK+&5)YTA34;C1.=)&I?*?&X=M$]0.1A&CE7?4*QZ%-,%:+$G" M! 2;)7:PG0^3,?R#?IXJWP2DOX8G)ZV8K7K;^MVV;,?'OQHQ#GXB4[\.S_N] MU?7'SPL^HOK7)?A\;,#]3JMT'^YQC*L77T]W/GW@^]M?X?E_'^VUOQWM'>T? M Q"= 9"TXG]_.]_?#2>.<@E <0I <;'?_OMHI_[UHK:]Q??JC>/:=@. I-;< M_U1KUMK?&COUCRF##("'LAJ#+4^1T!Z,/RLP,E1)Q*6G3/@8C,2CW0(D-(:M M#.%>DR2PMM(2PXT-CFCE8(4\;"->*+E6B8#H)_G(LC<$11C/?*68^LIV'(#1 MWY\^9[TNX;,/5W[YW(EQ8BR(T@H;3CDE29O(;"+&<@SW8.YJCWPT\?.-&(:M MN).VO <4'?1KW4'L_]$%K=GJA(_-#LP+ .&WZ&/S1X:(MRN-_ARDT87@M*$: M93Z7[(HH9%1B*+CH@U<:G,TT*5VW )MY ER;?3Y^N=:5WM6RKE7T*/?9H\1F^:>69 /@\"4-5LUUVSF/+F^M3%O@H^9EGA5> M/PR]824_X=1=BQ8L8%:O]KSF/7.. ]BY7OBM31Q>1!#G/1%>Y2#/C"UU'MEY MLH[/;RIR]H8"8X903@16PA/,301'(B2'I6"*&B(LGSN?>2R_/PW]3[UNO_]^ MV.L!OKR(Z-A]78)Q4O/'=O73_O%._3NO??I.86P7^]O?Q=[1(:WN?B;5BP]L M;_?#Q=Y1;2HZ5MW=.]UO?Q6U^B'>K^^=U;9KQ[5ZJ[FSO7>V=_3]HEH/C;UZ MK5FEQ>G&^41T3$?-G+,$>>HHXH$X9(FEB!(FP2\DUG)P(K18-\L.CCUU[*N$ MNQ+N'I@_$SGEC"H: N.*4$L4%C(0HP(UFL6YSP%*N'LJN,,3<&>XH,KG4)X+ MF9_-2J0E9T@8&Y-T*3A%UC857M?TQ<#=DO)15AF>%0-0XK5D0,>@$0$>G:2C_M3K9*J72WEMIEV:K+*:TI>FR-(V>-%T\ M9Y)*0I"VN4,MPPZ9W#@[L6"2C3I@#J8+6>=X171ZV9E=97;8RCA]97;84P3! M:G%0 NN2@;7V?LI4"H9''K5&1"J">&0>V:0LB8A@DU%"(R2YR>8>IDQ MLA)/2SQ]_BA;B:>/@J=3AJJ*6A%)P.&,"@Q5)I$A7B+ND]628BL2&*K2K/-7 MA*=S,*4\3C(=#.CL6B;=^X;M',;^Y\Y=CMM6)_S9ZX:AA\C""_2((C6@WUI M@^6KE@NYJ[4L\M$?CNH_!X!=SHY=;F;*GO1]A;@B'EMT[(%8\VV7;\" MQDGO$#:'0;?RX>PD=OKP#-A!OL4?L3.,\+A!GBXPV'.U^5T%YJ]_TG9[S4&L M[*0TVH%'=MI;GI!KRE64?'WHA)FZ]0;2/?,[5^#]09,FN:C(N\=(_%SD'DO+ M2"X'^3H'^<;H4YXA=>7!)]^K-H?SAU5GO>%K"8S*%#S70E#O!+>8&<-("CAZ M2P@E?&X:@DP^4)2-7HEF#@A]B_ "/V)_O,^^@0AI^_MY]>B8P^?8_M'?31C; M:;7^G<.U9S"N3%& :[OPW*-P/$5)4/]\OE,_Y'OUT*[M?CZK;6^=U>J'%[7M MCT?[1YFBX"O9HU5:H]]F)5T+HU2PW"+/I4)<- M4:9$IU>,3HMD'$7 (L EPI1WG'IC0HI4&OC9)":QGAG#OHE3?7A?^&XQP!H[ ME?7N^VY_ +\?>Y8E1BV&49.G."IQ9T+0*":9%YP6P:3MF,]+;AO>%Q9; M^_.6O(1'C8'?55HR8SI?1FG) B 6? I28:^XX]P*:I/102:N$HN>:E>&H583 MX:9KQ'CD26%ED'+8@FV%,[.QC,CXZ"R/3"GBKI:$ZIZ"NMZ O5A#ZMIE\/@I3*O33EGHR0..FUBT0B MZHU#7.9494PCDDZ:3%"NA1)9N16;;DHZ?XRDU.N5W<"CE-)%J;D-G"?,M4XQ M1$Q(4C1&(Y8<52A5>6FJ/!ER$)RHI(E"F@8PR(4DR%!#$&$>S/1@.#M>$Q MG]^J(G:"+V,G#S[^**.DCP]:DU'2) ,C23ID$].(1VJ1DXDC8HFU/C&?<.%] M8?W@(]\2MDK8>IJ8[Q/C5IGX=E\TF@SK"LNC5DD@@1V84(PSY+!@@$O:2YFH M]E2L;8II"^HEQW1+%'HY*%16+KT!5)J,4(<8N4E6HX!-0)SP[-AQ@J+E3%#P MS;6(2ZI<6KT(]4L)NBTU+>Y-,RXO@'$*MFD;;4JRB%$IZ[$"L\I(AY72FI7Q MJ6>#L1D%F)P[#EB%G*,&<4BK&P-Y8DTO\]X>1;DG R0!T#W>6 BN9'TK.0.68^6X2$-. MIL*&<4ZFR[CBD]OR.Q,MQ+B$J? E4$N1HIXDA@9J3SB M443CI$J4F)SWAE?(C"GAIX2?.RA+L#8>>^' K^(\6.L="S(&AY7WU(0<.R%F M'#MY^/E&2>:V%%R:#(32D"2)V"-A"> 2U1A9ZA6BW*C\C:"!@8,E5\F]*G'I MS>'2(D'=)P:F,K'MOE@T&;=-Q@EM;41,A(0XD0KI -:2I212[V7T19&C?$AF M6PE#)0R554EO'7DFP\S,2YOKXI''S"". 72D/FE MQ,U*1K?G.$@C#C/&O).<<2.#S0"6VU@'CXV0L0PQ/1N(39=6RB19U,0A92Q# MW$N.'!<<>6&-Q9Q*K?7:IM8/#C&M7G5 J;!CA64%3/X M&%]R>=_KUNNR6.1U:.M4=AH73C.N05$%? G<()W[=D67C+#"2D:74RRR[(JW M?Q=-T#?'3=?'@ZL-VR#=_E):QS]., H:18Q6WE&O>!32!&NQ) D39PU+;"91 MZ$W)_,LW8"]IQ9WTN?,C=@;=WOG[8:\'W]7SH.KPK-];77_\,D6R%?_[V_G^ M;CAQE,OJ[H?3O8NMB_WVWT<[]:\@5EL@:HWCVG;C"$2RN?^IUJRUOS5VZA]3 M;7M/['P]"' =@:T=29D2XC"3R&F+44R&,*RBY08@(X+>GL"<#GK#" L+JW@I M.^.^]KGK)B\0=JEP1_"O\*[H;WZUL%EX^LW^(!8=>0>-G/24\0B$N/+/9@=^ MTQW"@T+_7S]S!@N1G/U&$R&J42MB>,="FJ^T9]1W%-ZU94_Z\=WE-[^%9O^D M9<_?-3O%B(N+?AO??:0CQ0,FM*=XWNC/OXU:GVN] 9YTAO5Q]&W\X%_W5%=X M0Y)':0"/S6,T@*=,O*3!JE7K5F]6K:'VI+DRNZ'V]83>13IH+W/JKMF2\_01 M?A'SFG?$><+5R^KN_)HF#K^U5N[?[&D%O&RX%BS\YV##G%M\7MFA],*O_UI< M3_ J.1%8"4\P-Q'GJK:_3/F=._4/I-K^ M3FJ?JF)O]SNM??J[M;_=@G'ZL_UZHU&]V#NO?OI^#L^=U25:!J%\(!)%&C#B MPF"DC0+Q+%%+I5C;!']A27[G(CO)*I-$E9#VQB -1TXYHXJ&P+@BU!*% MA0S$J$"-9G'>0M 2TI8-:9.G6E$D'),UB =&$5?:($N50Y9H;8-)T?/V/99I=KMVGO'030/;JC_>>"N6F M^RJ2*$UNY8((R]'=Y DR3@@4K%$\Q>B=YSE%9UV)5U@(5JKS8YDEI3H_B3I/ M&BW"<69]RM52!"P7Q1DR"7YDE@L+GLUFI)7XN%S\GS5$L4B2&&219 M#J1Y'I%V)B(6D[#>*,.3&IFC#R_G7QG\?/9\MC][W1,8X/F?+=LI:B#^=]@\ M:>=TMK>;R<9WM@Z"%MS&TK<]O*W+:%G)!Z[ ]^[J9E98DZ..2<:EGS<8>*NU_ZG7[;^%TY;VW\?@UC9V=O>;^]N' MN'KT]6RO_IGOT:^D=O2QN7_TY6B__O4TNZ13U5;@!N_M?A P[N.=;7BW;7C^ M4>-H?_L[K>Y^@3'66N!8,!CSK*PW$90Q@7B$K03W-F8N2 M%K/.E7PI:2(EW)5P]QAPIS$.FDI&I2%<8FP$-TJ3I ,A*=BY.R"4,NJ6B$1UYBCGA0&!D7 DI!2X>)\UCEC#BU+A].&EQFQ2U-2=]WVR=#\#$> M:-^6J31SDGU&A0ES+&C'.:9!$R:"2<:Y%)*3N+3K5@SHKB7%[=0]R[W8F(TB M.9,;+>9C7_CBX%M$'#>6AD1PR#U>R#H1#[;KRJ2XE=5D%@3#CN.HDX*O6$=- MA"'.!28UPZ(T659.D_&$)A-BE2>2YL9K#G'I!+(^*N2"]$F!NXV-7]LTZUA. M-UY[N>EP+\ H^:N;!J>V%TNRS,>D[J'>)*68"L& ["O'D]<^<@EP1L N*4V1 ME0.PR1"3H3$9 =AE$Q6(,YL+D!)!CE"'+5.:&U, &&$K1.E3*O*2$Y^("3BP M%+DA/'/22TJ394)X[H-CK+1$5DZ1)X,G/NF$.9%(! &*3#%#-EB/A+1)4Z(X M&"BYE< Z-JNDR6\@/O)QV /-&_9BD5*30/;A^[)Z\#'Q3#JF%(=_N0L<4^]\ MU,833*+36"19&B:KA6>U:6YO&E((FB3D&*>(1VN1A8T)*2]8C"(P8E+1!Y>L MDF=5*O*2#1.A:!)M-C^6#2T#)$LH@:_A%M/S:ZK5!IMD]ZW1\QZ\.C$&^5 M?M88SHC5&B<+&*;!/"'):48MCKG6*P1/26F7K!B<3>?D:!6!DQ>BR([ZF(NK(U:&*88+)Y%&$>#N!8*&89S=,($S$1D-IJU M34G7-5Y6]^B5R<(B8T"R'FDA,2RD M9DR _2_E.F7+BF>L7I+JRPMV;'D_; ];-A=GI6%X ME4)/;X/G[*F0=3H9AHD8%6 HLHSF7@&&(L>BRU\")IH3JOG:)B7K2C\XN6_I M:O3,D:D23TL\?6EAO!)/EXNGDY9J8"(EJAF*2@">2AIS*:9&.L&R"AZHIQE/ M\3J;T77\I>+I'+R1LXGZU+.1$6[?%:FKQ+.3V.G#TTYC+XY6Y?\LH,7W8L*\ MILYB4IVOCW8^]94O4WT?0)3Y^?1 64FU"!99S@48,R(@+;%%TFB7JV"UH/G@ M76Q,DSQ40,9:\,UZ99&%%LX2;;7D@6/N<;)).)9"BH$18JDJ%AI?+O0T;I<+ M?9^%Q@<6.Y*,XDA'P%;NG4*6ZH"$25(ZKB-->:'9AKIUH;/2+Z[95G""!7<" M)(GK *OM \/6&F,Y!07/"T[,>,&)*1=\&0M>/3OP7"F2F$+*!9%/Q3'2-&8^ M7$FI2%*;S%=%\,:TDW*UX#"Y!;7L>;2]?B5V0@R52PK+D20PLE[)@%Q\Q<6V MD%=QO=*+_9,(M_L16^<;-QEH\^.RB#0[PV(1;VQUXRV'TPV5*6-/NOUF_LR[ M7FS9?+'@]DMF$=X^Q\XJ\,0$7?O:Z/TD]CR, MR/6B/48VP6#?V=:I/>^O_?NFJ0!VPL09=5D=*CO?O(:@)][?8* M47@'MEKLY4_!<.S*C*72Z&4L^T?3:B^$#51%2[ABT3 OL.<^T61Y :V+8RI!-L->42&, .[A-5H.QQS2U,6BK:))KCTV>_I=OQ#!LQ9VT M S#7V^KWXZ!?ZW;\L-=[ZQ3J7P]BSHI/8#+88#(%6/+(8:]0]$0PPW0P1L]) MH7XGOCPJMA8+6VEU.X<(,+-=L<4:+YD]G:+Y^1'&]@=3^B\^<9K)YO0&^9/EV7].G/.*\E??K])^[-T:=_[@QLY["9 M-[9B,RT)U$M&X1=S:OY3>,?&?AQ\./.M89ZQW+[VM-EJO873GJ_G>Q=[>&?[ M2[-:_[NY?_2MN;.=3W"^G^U_^L#VZJU6K?WEJ%K_S*9.>[:_'-6.OO)J^_-9 M;?=+N_;I,Z_66^W]^D=X1FCL['ZG>^WJ&;S#+!IU9C37PF#DM.U7E:EU\J85V+>\W1 +#'O23%OBG4C!DJUI4A9"9@7 MM41&8H844=9(XRFE.//Z"3)]^+*BF/<&J,)F1XY*JK 78.5=B^96FWT?6RW; MB=WAM=!NB7?+PKL9G;1U$CXPC9%VGH)E%R6R7EBD!=4I4,5@A0L;#S^X=41) M%[:RRKPL\Z54YB=5YJE"$JJ,]2$ARW%"W!.!C(T$II=KE:2QR:9,&2;YLLKL M5Z&*]E[%),MQ\,KDY\>?G]>"L8]@,)6P^@BP.J.*Q(IHB+&(:H419](C:SQ' M*J0HB/51LTQ=QM;EL@-A+Z"*I 32$DA?O+%: NFC .FD?4IT,(H(AF 'S%U_ M(D3T'4B7P^0KF;Y2'''=\T!C-C/D9IU[2"YT)C*EO_? M87.4O#M/UM7SE<)\[E2JMN<;.==9KX^*8?H5 ((B0[K9N4J2+K*BUXL$L]R9 MT7;.*T4.0_&I01>NK-C#7BS8?BNGS4&C8BL_X"XY[[H+0/,CMKHG\#L/PF#A MOOUQ)Z7*2:\;AGY0/+I(C88[QD[#=OR(.;AR,NSUAQ;N"OQ7 MN@[DJK@./M&VQQ'N X\>1M1O%$^PYZ,[%5FDQ=7PT,.>;:]7^D-W%'UQ;WL( MX\_WR9(3,=_K:1>MUU(Y%A#8D#7%2+_Q7=[N02AV\E86X&[A4)O M^K":\(E0<>?%9:"S MHTQ2.ZB< *AT \!")>?$HN')Y>65?-)6<3#L81Q-PZ4^-BP MP^-7O]03'( MC");P\,A_#@JJ+@$F5Q9,6P-;H**MR<%[%[ B !3FA,I.E?08ELP>POJ(A:1 M.(<9QS%RZ:/3DE,78F1"R2A5H8L&&ZKOUL6/,+.#^$<39FW&B62IAW/H(:D= M'KA(E4^.@^,8..)8.)1+K)#D46NF&4EF5,AU6RN.R^*>(LTYPO^;O5#Y7T#( MW#889".OYDC:6OVLML!PV.Z)-ISY MJ)$65B">&$?6>IAQ8KD7A&%K]-IF@AE&N3IPTOVH#(MY!L1(HU9;8'&Z6(C* MJ&H<9SS]G# (3TH[1)_]8E"_E'\;^,_R]V^__W/V[5^9HWO+[V3(HD*P+ M6^#URPH0ZX 7U3PIA"X-B\Y?O[C;^.?^H&>SR8^R^5]IQT&C&S; 4>I.2YW,A*,C/R"%[ MCN7?&@GB-0%XOTB,ZFW+P18#8(0-2!)&!=(X]QSQ&B R,HF8 )EPG@=BS=HF MGU%'/V%^]N"U >P M]8R]VBF!DL1W^;ELY7E3YJQ'C8')KJXQW-?RHNUK224H:DH^,<&(U MN 2A!QJT2)+"$.WK 95*)JD9+#QC8.Z'_%TPR'LN&1>&LDP/ M37\I!AD KF]K=GH_6W@C>RR0*#>RA<1$ %P8EBP&ZP>%P&$CV M&7[R#^;=900M5V&@XHSANAMUBQ%]\X-C^WDLCO^O?Z?Q7&\T\P%P/E&<%>KJ M_H 'V?')4'ZUN^*?BPCP7")[@XV_&,+,V&<;+FF\.:$]O(!]3>1FD40$)%@ MH0U"YFP\B\"^@)G/_KWV8/Z8J3!G,6?]3'=V A@6.X/+D&8OMFVS #\_7HFA M;56RF(U"Y+/(,^_D6[MTR,B89(WBA;TMHC!Q49' 8N362!=PC!1T$F/GM+<+ MH*2QI5& P.S"8 Z=(BVAM,EB# M*JYMLHUI9N-?9%'<-"6?BB9MVM$NV.[>+E&:/ZT='O! J/'>H*2M!Y-'8:1) M]HJX$EB!SQJXF9,HS3R;\3\C\KQDEC2Q$B1I6F]HK>]%DH8W)+G]S_?G'9/X M?FQF=_*.D0W*Q$L:K"I)TA;,>G_1)&FK0O0UWZ0^E"%M*?1H+V[*WAPW6@X6 M@"?WLT?"96ZVBYV8FO>DCRB)@TKBH.>H"OW0/FEUSV/\-A+B^QZOO>C"IJ,/ MK+;]^6RO?GA1_?2MN5__2JL7>WR_OB=JM)K_1O?KK>,]^J4U6=A4K7MB8[5WDO^VW=G;AF>V_9S&E8<:-$%(AE31#W.:. MK2P*Y#1CQ"5+8D[9I&SYA4VOI0"T1+RW@GC+*M\L$>\I$6^RE!-V*),(-;E; MB84O(K>K30R1R&SP*49)8X%XBC^8.*@D2ENJT=OMY).V7!#0&71[YY5&;!6U M4?UA4;W5*WG35MG@@Q<^NTRB^G#F8[^_U0D[N7U.',3/EXNZ-;@\ JC:SC#E M(ZU>[)6(N#1$/)^R 4UBV(=(D<1@"'*?3PY,<,BJ"/_RH'3NC:C6)5E6:\22 M26WUU/NAUDVIWBNBWE/<%YE#X'P5?;OC!2R T+;>MVR_WTS-&$K7;LE(-XL2%H.]HIU&PLE,"0O? =)YA,'! MTS;:R%G."ES'2B[)LUNA<%6IT12>TI?C O[!(U^@V$8T Y$ICX,,^V51@K.8MGV"HR4U.,923F M)=@L8V_M^EI^C&44>OG -LW,ZJPRS!B/#*<2<9,$LM1[Y*,DRE!A".-KFWQ= MD]N*XW':GC*XL%EWIP[-S153XD8NH"LZ=7G1V<$_KI/2_GOZ9QT"E M]CZ>]D[:(5XH!T"K$'9%HU-K0(^)03JF8%/""9!X;5.O,\572'O?0*1DQBG/ M;-K?,F3R0HR2;Z/E^RNOWI_CQ2M=K65#W'2>2J)*2JP""CAXQ,&[0CH$BY37 M&CO.F#6I,%!8F:?R>C5YF09*J>122S3FX2B!8QH2"-Y;P M;+ PEMO]&?K@HH,R:+*('M;M&=P++))<^%Q&25;=("F6Z\_1:HUQZZKI^ACB M/G<\N&#%!TM(6Q:D[4SGGH1H13",(I<4SZWV,#+>)>1XE-)K+J(MHB=4/-@X M*:,G*ZO52S%.2JU^-JV>.MVQ6FIO!1).@\L13$)&P1>7M((E%IKDC#*VSEA193(A[Z9"VCB(&*T>9 M8#*)M+9)UHTH8R%/JG,[)S'WB.H<5EK1]LNDD96V-:[H]R\7[8^\9I?4"N=E M4'?9=8;UK4&UB<\*,*M[4MW^?*"T$ D+CX)R 7%8.V1MXHA+DQNY.2J\RO:' M,*OD+)6:O%KV1ZG)3Z_)M?V0PUH@%0:+0B3HCLENEV8.-D3(8LK(ZO)1@2*G#3Z3#DV:( M= E[J@ARBB?$253(F&!0(DY;9K%U.: ).JP?7/U;AD;N$1KIWM,"*5VI)[1 M?JY5Z4,]'GA]GC) @F0V@I6!HO.96==S9(W42%*O6(@$@,QE\ (I62$?JE3A M%31 [E+A4DL7TM))$R-Z+Q,E$6EO ^(!3 P;:$!:2ZR-PU8IT%(C5DE'WT"< MHVB:6$8W5MBVN-'O^(&ML4OPF@>\JM,Q#A*MM/GHV!F:NZ!FW.(&*4M3L-*H M9&G..66*K9!_5&KR:ID8I28_O29/FB$6)Q*%"4AJ01#77B&#*>AT(%1@6+HX MKKUGJY2Z]=!(QSQMJAZI:\>XF1^#-P_=86X->*G295N/9N1"^C!U*) MIB6:/A/G78FFCXNF4P$S*22V.B%*D@;[U$9D+'SG "Z]*U"\?OC']>8G-'C>'@]DMF-;]>*B+,V>I;_&QE.YJP M:U\;O7+N0&5B@((0P+[8%\B\2[GUS(AI"=YCAG!.J/!H@R#8:TJD,; M<9NL M)LXR36T,VBJ:Y-7F-X:"F[M=-(H8K;RC7O$HI G68DD2AKL8EMC!=O8=,/R# M?CH1-S>ZOWPCAF$K[J0)1OJKPZ!B<>KPS-];77_\,C>V5OSO;^?[N^'$42ZK MNQ].]RZV+O;;?Q_MU+]>U+:W^%Z]<5S;;AS5=FO-_4^U9JW]K;%3_YAJV_ZB M=G@0@J?..(J<"QQQB@5R,F$$(A%5(#J0!!(38?<_R2 )IL.MN,'OPHU'QR(0F]YY6W#Y:0#2K*P3[68,UZ-1!+Q#SO/P*'YYD!-7,&]J+M]2L?P%0(E>WH8]O%7H61 M]1MS,N>"SQ&E7B2@O8"OLMISG.V5>8[HYWGAMS9QN)RX>TU<[H8QOP:_AE3; MWVTKL]=7[*#B(IA/G5R0#+[,.2#<8R3?SAF,>>,!W3)>NZ1V:F\A6/L5[]0/ MZ?ZG/5JM?SNJ;<,8MZN\MOVQN5<_9#7Z_0S\6[K?_M:>#-;"9\7.]O[Q_M'> M60W>H[;]&9YYB*N[7QH[VY[MP[BKV_OM_4_[N=7]5&/GJ)VDVB#J: "?6%*D M$Y7($\&HU2DD[);;/>V5G6N5*/=64$Z0Z#'S1@B:.%7":1>)5)IP([0((:,< M,27*K0#*31+H.$9@6_(6&1$-XE$:9+T2**6\IMS QB5SUU>ZM&+U$N5*E%N= M]UX Y13L^(I:H9(0' P IWG"B1GI',78R0+E=(ER*X!R=)(F3!,3*24H4D+! MEB,1F10P2C1)+"-S@;#H6&U\ J7YTD/KC6+*8MA'A$7[W5*NSA CG]LQO[G?G\80PF82P/, MZ6XQ5F$F1 I($4[R@3 XO\YY)#&F7L("2^HS&QE3#Z[M*XMC5E:SA;-$6RUY MX)A[G&P2CJ608F"$6*H*S<:7FGWO,%:IV8^HV5.M[D)@R6"!K,L\@\X&^"Y9 MI".W$G#;6$;7-L6*T8*4FKULXX:S9Q(PU M^_ZAFU*S'U&S)YT<*37FW L4 +,1UX0AJPL&0I<$@#@3-!3-M%]C7ZB7XL=\ M'S1;S0O[LYEE08A5$@$M.H__7#T'Y;('7@ERRP*YVG2G*)4B-PI'%!U-8+YH MA;3G$6%A$A&28)=,0:ZJI^/5_RHY@5Z!-C^14U)J\R-H\U3[AF2,\%PAKUWN MN\T8,IHXA#W521@F#"G"#&9&W^U2FU^#-C^1(U)J\R-H\Z0#HBE7Q'.)L"4! M<:4$EM]!E(5LK4A$?>-*?33*/%F%-KD+"1 M(NY))J_R\"-1AMCHN,ZMC\VZ>'@"UG*5YYE#^25^EOA9INF_/?R<#"%HE5QP M-"(I,48<\X@QIRH.^C%3NA7O!WVX77< M^8BZ9>?OS]N(F H,+\1VTZ]?9W2I- &(FG8 G[?Y /W:!)RTX'V:G4[,E)KWL&X#6(K?/* M_UG$SQ=@TM! G/197:F.BBG%M39<)1'-KTZRQ23@WI"?L?C,![?R9<+MO9F2 MX+YG.UL'(E(:P#] W)"(>$9*YX-!.#*G=*!,>+^V*3=NXXP'A6K!3^MY7?O- M_F!C&QFKCQ.<1C5/J#GN@?_\[M#UXXSQ76;+7,T-3 MH?V@@OF7_;R#V'Z!*G"5=3!1W0Z\]DFW=YEL,TO[_X(7^]+MQTHCVC!^2/\F MW.0:@EY&IT4T%8LHHS"16T)XH,YP(T%:%#'4.&SH2%/!T&*W:FH?P >^*U7V MWBI[Y'&V@';J6[Q:_\"KIP?:4,PLUL@E'A#W#"/KF$34Y:92B;N8U-HFWKC- M5QRK;]YC[E#9,(S%W@9"%,].HA\4NX'O@AR=%QO >/?VW78;;F9[(+F5MFUF M@KU"RU.,_0GU?"J:O!OBM=4)WT;O]K[;'_3?,$O>&0B/Q%:RQ"7B3#(PE15' MH-02"0\6,PB5PH+,R9+W?+!:+S U4]L56#DBI!NV86QPD_X(/$'B?Q2273D9 M]OI#<,4NQ=DZ$.)91M<]6/(F,C5+DKR2=^[%#G:I)'G+Y4Q[4215'Z\VU640 M\+W02?CKAK4_WH KOX]M^S<\,?7NP+:6PF&V<'GV"R@M^#8KWE"RG)7,&(\> M_O>&Y-SK1##3G#)J38A42"DQL8I9NG!*]OU]W)=]"I#=C^^LED\!CFK'M:/\ MF3V^4V^U]^J_-\&?A7%^;.QOUZ8Z4^Q\^HIK=8_WC_;.J_0KK67WY>A0[.SN MPS@^G]1G3EP#I(3#FF'BQ9J'CD.'K*+C#O"H]6IJ H%Y_&E M$&248%>"W:/DBK 0303(<]YQ[:+CW@2+N4@T.2IQ"7:K!G:3*2/$6RF%"B@H ME7N:Y6)X;32RTCJO)(W.XMQV.<;)Y)9CZU0ON>-827VV)'7=ZO?CH'+::PXB*,9I MIR0S>\R"Q,?U9;^-^![^BH-!*X;=9CXR&;RW_08M07!I(#A-9Y9!3M&HD$\& M(PZ;%W)46Z2%9S1$+67$NM790,KM M^NFU>])G$0$G95) $7N)>#04N40Q@CW<*JR#5K"*J[1=OS$2LZP!E9,QI4;) M7?:BW)%+)I2/W=X-J"LQ:P',FD%,%I*UQK.$C#0"<@Z(NW<.X75%+RV-I6CSI5U@B2#1)(2-$1#PE@JS6 1&6A';& M1\)C/AK"?/HW'GVPJ^_TO"^ +H39C1/4F%A ^?* M.,<=UE)H3CBVC,U+]#(K2E0"^M( _:\I]XIP3C0A!"F= -!9Q,@:;E"BUEJ/ M<:*!94"G?,DT!<^?LU-B7(EQBV!!\PZ?"N#=V MNG>SCG!,*?/P=#TDDYG+//A?R_IF\C-:#-,F%FY/]NL*B3$-\J#MW MJ>\R"$$=QHA@G?)Q(4,&4XL\EZ#\+, _?&EIB*7BK[[B/W%;PG)K?W2_YE+5 MO<2>@P^*M XV]VE(R#)FD A.B,"]<7BKID15VZ MSU$JZG(4%4\J*M'226=0BJ'1"4:W5-#+O$(Y$(ZX"0]I)BYPVV!+E04]A1^78K(:B+NE$8Y7M_KNS M#H_')*S_E7O[\K/0.L,@&0 %4E% ,7*G<)5*;1&U4028C:2!JWL:> M92[/0S'__*87E5N!)**H#F"2<2; BS("P4\"J6A\3,S$&!(89YHL-_"[!/5X M&2QC)4Z6.#DO3BI->6 I1FML3N763))@;#!16>^8>QA.EH=GR\!//(&?/#'O M8$]]XDFRY-S!T:MW=V=B- G:-$TU>:B:-$D-BJ51^[WM1W=8+O9 M]ZUN?]B+J]+7JW9^J9R@%+N?Z<[N!U" [QB>@_M_>$,E%+LU3^?U>I?SVK;WXZJV\<7^]O?CO?H9[Q3/V;[]=;QWL5^ MJA[!_;<.$HGP+S%(C5*6*4&6<8JPD39B%2Q,ZP@K0=)BV,J6H!3>*Z5%L%YP MHQPXYEZ)8,!P,2;:,-D'['TOAN:@LG78BW%\%#TIS6,-O>SV=EVR1\ORRV<^ MCRP7=YR_=>T?\)LM M+HQOU*W3P]XW.*_8R]4>]9#]W7:.\YMO%2MNURNUC:V-RC^SA4OQ;[]WTU;E MCWR/*R$I_D)^^]>HP>R,#U1.>MT?S=S=,S?\S/TP?W1;/W+:]K@[X7EE>%)T MLH5/-CN^>6);%=L&P"^:9B[2T-)I9EVB*CF6\UI5+BJS,A@9+%CJCLZV#C[7 M/DY"3U[_G31:_7&[I_.J/6NVA^W?N[U>T9?NO3V!OPS.7T9?RZ>'K:N^EJQV MX<]K7P\23I(PZY&15"&NM$,Z!?"E8+/SRII<;K:VR<3&-/W0S<:667Y/N\-6 MJ#3LCZ)]93/W,F[>T .V4=FZ$58?W>,RMGY32QHV5)Y;SG[IPN.W+4(7.U\/ M'*:&"P?69#_L".6GJ[2Q6>[%_Z M G:FC\W5>E03/1-M2N:MQ6:"_"?KM[,7GNS MO#&<#'N^8?NP>UDW:GL.WELE_N^P>5)L,,6^Q& MY:Y&W?BF4)[8YF)MM+FGQE,OE4D:!,=8IB23SDL=$[QBFJ.-]DB20![.KK(? MZMT1H^NT6+V03MI/+U=[%V!E,,ETTLPA['W.&S0$&18C"MQ$F@B6@>43KXW; M*#@NC0S G7ZQ (5P]&)N?1U&,I-_X49']R.K=X1^ &0V-\4\C!G08FY 7.D! M'E5.;?]VZP*6#XR3R>0W)ZWP@ABO' =SR:H8$@5+0^ID: BS#8RI*%?VH'?' M8]L:#>WS>&3?8&!7HH+HFY,5?U8[/6 ).VHU0\(;P""'(W)$*D08,]1SB:-E M:YMR8SIU[;_FLAR>MX/V(KMLWD)! OO#5@&=.1[:]+&_L -F/>,T:2PMX3H) MPR5-5DKJN/:4%!7QQ)1[Z>.8R'L,9#IQ&HB18!BG'"BRB2'MI47&1MAQ@X@X M\K5-^DLG"[RIO%:%O;60"#C)/+A!.9F>4\NP/:B\^R4$*AB1X<8@HH.*E@<10B86W)@F)I\E CK_%Y:X$T=K7X2)KAE, MQ>&G^JU?^?#MSTJS?=(J(*58L56QT&CF>Y!>8@+PI'74B0@A<8#M-$8L]9@O MTU UFR^SM- >PZ$_+:RUH!46%,$N3!#'WB* "H=,])H#5FF;>[JNN+4F8,34 M$6HX=IQYXR(6"L3*>XM--&HV#TQIK=U3;LYVOA[ QI)S:#320GK$A5%(:T^0 MCH)@#CA'6+^KP\M&[_(= M3D"FD>M%>XQL@E=\9UNG]KR_]N^;%C28SQ,S?]NDS6MLI_1H,S8Z,P:][O8* M 7HWS,B3/P7#L2LSEDJCE\'J'[]>.@7N0S[2_L^_[8M]@>+P+F-T$1RUF[-$ M>K88F6<[4I>/?Z0.%E2[.2BLEZU.>%_ WF$$?S#V5^ZD_:RZO?5CO_.EL7]Q M<@P.^\7.]B&I?:J>PO/@NK_;.[M[=/^H=;37_MBJ[O[=@JV&5=\;O/\_#>S; M?W?LKAGNM&%KN:CRG>WOL#7]WMC?_LIJNWMB_V@?KJ\U]W:_G^WO?H>MQI_^ MS\5W6KW8.Z#$<&$C0]91BKC!%)G<*@.V>)8XQX%2!?P96L4Q> M:8R%=_A6E'U4]5CTE#[F0X%K4SE/3$:L1$RFE8>>PRNIZ6,%1@-?"Z@;NTE@ MK+8R!E>Z)S$C(3A+HTLV*N]C;P#6[:5I.^F%35Y0+'S^?"]VXJEMP0<*%Z40 MNUX^/K$>'A9'>%OQ+3LL'O/(2/1'[/=CW+D<;+&4?S2M&Q^U#XKDA&(;>M-P M='1XX .Q(1*+!#4:7'H;D#82HY"L*FJB@XN3Z@T 0+4BTEC.>93$@7^B!?C] MQG'*-9^$HX]#F/!8 <,KISA<45&,13*+V2_$L@@>-OO9JQK+9>JV6L4AZT1U MV\UC^,H_FYW1;W+;.M"NT/_7N[OQ[Y9#6GPS^??*A)X)E[^4WOX5F_Z1ES]\U.X6^%Q?]-A[6V ?(YNM$%F$QSM&?QY:M M$1MQP\>V[T;A=T[D1@Y^IL2&Z!HM_X9;Y!;_W;G;>&N=S3'+]-+9^Q"H,HS%GX/R9"S3N;0KN[7[I[]>[=(]^A>=_.ZH=[8F=NL<[ MNY_/=K9_/ZZV:XTJ_?MH[^)C>V?[*ZG^-;[F?[XT7#NT=H[ 4-S^TLX!U=K1 ML:A=?!5[1Q]X]=/7\SWZX6)_MW94W=WCM>WO9_]S\6%0;>*SHDBC[DEU^_,! MQ9XJR@,27 3$B093TN&$I*'2>AG!JF=KFWR=J^FXZ9*)()=:@O&Z>U+E9-:2 M%.X5@5XV".NGW1+KEH=UGZ>P+A%%B+$&$68PXB;3WE+OD=;$: . 1U+(6"?Q M;9D0)>G-8\$9?VZF_A+.E@UGC5Y\&3U+7@B@5:< 3;M@34Z3)LHQQ*W%8+P1 M@DA*GANR--!>&YXU5X?@Y(5 UO +),E,@8:<$B$YPE+96D<6U3R!=D@%T>8,)@X]T'3 _[Y!OK MZ%#O#FRKDFX>JQ='Y2O3Y^%A9SLE_LZ/OZ4=N3Q0]E.@[!@LG%,!F<@!E 4+ MR/G,<^J%BSH)06)N5ZS7,7LQ;=??6#?/K$BY=&@X&)4I%C4/I0GZF*S]3X*! MWSM@"OC,Y!/#AS,/']TJ>'U*0%P>(!Y. 2)C%$>1>7:,%/GD0R,CDT.1&YN, M)CAP"U[>.I8/:?GY5&WV< WUM@MX37Y<'K M\12\&I%2SI9! 0 4<>TYU4!Z TI MEI^OSS88F2]=?\$J ,7F*UEX \88:S1!BY]V+0['+S;FV7;V M#?F\MOL-MMLMO-?>HSN?/IQ6+[8NJMN9HOP#K;;_/KJZYFISWL/5BRILR)_) M?A[3]K?F_M$>WZOGZZJGF:*\6H=WVZT"\FT-JN]O;LX2>^T9$2A8G?DD%$5. M88N\%R%HBP4+ F#&>\"_< 4>35A,5/'#7E$/=]+M%08S;L/B?#%0FC_U8@&6C#BGK+.+)!F0T%@B6#]851^>4 MS9D*PDPW5E_9@[\7M$/NW(;"#RB5<'?FK=CB\1:-D(-%VXPXVW MP8F$M-4:<4(%'H-/E0(0[9JGB*!',P(9C!&F?#&*>: JKYQB7RXK:OJ3^5-/1KVL!JY6C M,AZ3C30'_4HCVC!F"9W@T6EV*G_!,+]T^W&]\A[F!?2JT[1C,A,[#AS^['LS M:-C!N(E(/U]\Q=&0$_M'E)%W)G)=8TD9WQH^N@@]J>1:1@"1E-F3O:'61>=Y MBCRRJ %K;@&6*8C/3,[Z3,$TO?.JJ<'EGEG650H\'R\PQ5!-H&]11+A M046NF-[Y,[7N78W5W'43X)JEA,Q C-F5>6.*9")A*D M05EZV8H7S\=;58P=.::%RYR=+"6@780DYRQFB 1P9K*.(D:YM_DR@OMRG*L4$]N=!XP4I MZT4VZ1QLMH& *#BIK7.Y@:5F1&EK;^GE5(+OX\I*K;YWX+6VBFB%).&YXY-2 MR!#/48R<1Y^"9[Y@LK_-7KN"XZ5!<>6Z+=++)*7Y$ELI3#'436C8GSZAM" 7 M@V)/N/WL\IED]D&>R%L7T9WMZ@&8;)QK%1$7N3VX<@89Y@@B4F/-94B6R85\ MS,=9V6]9/G?2]W[9\B;AC$/U_5Z[;V/IKCERP/^/ MMH9M>]U_^ZWR9^N\W1T.&NN9,JX3^]T!_/);TS=L+_1SMXEZ/+/]WRHUVSD" MT8>+&\T.?"1C[V[F]_\"@&WA<]\'MG'9FV+D^%7 !?QA>\WNL%\)=@"C MIS]LY 51*[X@8''78#G:%NYR;))STXH\\ M8:US$ >8XVXGAM$6>?6,2UN]6-2MX>$0%B%SV2U@JC-/M;%1)ZT$%P""3!/' MH\+2.<7=I:E.&)YED75[I:F^,/9]!_-KZR!81:5W"NPM:Q%WBB(PQPBBPA.K M /V\S^U:S:VF^A,P"$\N[\_6++_';V#)-7_$4)()SUQ@?R#!BH[8!R04]HAC M)Y#.G7D])Q&TBUIB_"2Q< +EBXH+%S'E6'"=<*0B,&X%HY)-M12_C5CX9=$% M__*M2[K@DBZXI M^6KK@ORZ-C)(QN&0,7K%C\_)4_%Z%I/.8<].,P:_B9/SD MJ'KQX6R_OG6Z=[3?S..!Y[1VMK^T]RX^T"K\M7IQ?+:__7=KZF2\#7^KPSVW M?V_6VI]/]RZ^PCM]YS"VHWPBGJ_? NK'>1J[!SL>W=8LL*8%+2N R;_*!J%8_[6:[KT2SQ=#L\Q2: M):RX-9PA+PU#G'.*#*<6,"9A$%$Q+B(*K(.*-1I#RY)*,23 !D+:TG0VECE;2^;Q&R,J5OB5B+ M(];7:2/+DQ@M52C$G$S-M$%6&(.HL4I(@"S-P]JFE*^0N/>E4*K-)*"\.I=] M$ ?ELU7>O)WXX8,GI]PC[K='O(4BG*?:-Z[Q)Q]]/MW9WCH('C8-+052-@C$ M73+(RCC9IU=*)<@;/Z ,YN17>SQ[&RB618P44 M*$ZF<=W>?/K.P_R<1'0K%H#NP15+@8-?5.#MCM]U:_2JV^,W_08O^F?L^:*X M>:SXB+Y0S;]_W@B,9_OK :8F<28T2LJ"CRJ(0(XEA81646L9$TX>++Z-:8OO MOT8I85,"U8MM"V;)53)TD0LVK[C,S"E:1#@6D(=OEP.]2B C,_/&=+ZL0O'L)'9R>4"ZD9V9A7J1U/][)<[-GRG^ MOMLOT\-OE?6=[;T#19SFEE)DG,6(Z^"1)CPG_S/%,./@^KJU33X#"2_K ]<7 MJ_5PEFBK)0\<\-R9+"'V0XV^J"%BZE8\.D3I1L%H8NLN16<8,&=$!0$*L""^\"PM<983D'7 M\YH3,UYS8LHU7^Z:^P-BJ*7,Y[ZATB/.G$:Y-A%A[ZD@-GE*BC57=RAY+_;_ M/WMOWM38L:0/?Q4%,_.&'4%Q:U_L>8EHF[:'&Q>PV_3UT/\0M3:BA<1H:1H^ M_2^KSI$0D@"QB^:,[] @G:66S"?7RCR-\.'7V#G?:/UJ!T>M4PO&Q5E[>-3N M3JG*/G^5.KVSZGC$G Z]8B)B;#8W%'0-!='=B\^'2FH5/%/(61U!.." + D8 ML4085O #I,45E6@>-3(QW'HR<2G=R3RE[E2>^%,;%)VV7T*;^F/4]T=9X0<- MZ*0]O.J&7$G];W^!H?OKSJ"@^MX6_'+:R>=BBB.A8F$?^T.P&?+QE]->-VM_ M[>Y7^*?7+Z?;;?AJNW"'@V4(K1%!%:PS+U/#90-[/SUX;X?Z-LM%^.9C Z/36@Z4G"2ZL!Y6].^SUX?QG3U7.U,V.^>F+V<^P"D'0ZYZW0@S%V>\/6 MT'Z!E3N#SP='[=.Q.9'LO5IY;5ATT8TU6]#QEF2Z&0*[.87L,T MZB1@M7)1.;," TM@Z0V.8#[U#*(\ Y?2WXO)^\62:UR='0.'#.P900? MS$/XY-K/O5X87#YIH[5= 6/,'Y2K8Q\8U(Y/H<*@O[8SH!< MS,B[M3VA_"F MJR=]YR<8S9(8]_(B#&9Z]+;'1](JSK@5_Z):>DT.5"C.51 MA>T@3#*R9[_E60118C/8G[=ZH^%@:*LC/+4X@KR2A)8]A0=_ VU\"!;(G2R(>T;=Y@R' ML:YWJ>I-G*GU*9ZJ'U3U_7#9\-O;LRG*X( _&%AZ+ M%K[M[7\YVSG>.=\]WA&[^^\/H\JF /P5E$P3UEZ9;L7?&\)BK-V0[(0(E=. 9_W+:@4T;E4%?E;B5)0GK'&/Y&][8_3RQLH!> M1IWBK"KS#G$ ED-]#4SKZJ-*#'E*00+RFAB2\V12Z"H[QZKY]>./!@7(IDM4V47-*FH51?XJEJ&PD1 0#EK MH8SH%]LIKH6_CF()?8/?YR&&5,$>>J:-0R0'QMP?Z-&$5)!>!Y M9,3F4RZW%:E\3CV@(8PG)XR+/P]9L"D9T *"-: B.DJ1@VU#-@3B@J8A67E; ML&HY:^-J>&.^,-Z@MJ8JI,PUFCY7 .9[@V+W#73>" M"XH SE15Y-V,F[5R&=<-)W+5J>(.J)P3I3CT[$NS%@#Z9@) JKP,.?\H@%XZ MR!9Q;8G7C\]Z:1;D]G,AN*F4-K!.LFJLVN#!A%&\98CZ$54\HZX;7^_VI!UJ="@I6^572XU.Z" MJ&^7-:P5R>*,*1QL0:D 9'UU;+$-JNI)MYW:OO#&4I&AU2A-/J?W5X77!E7= MM;&[I]9,:[\4 %Y-/V72YQ/^R72=]3W[&2P!@$O?L>V3L6UQU.Z'\16%0P9Q MZOFG?1"*?9AKC;WY!3^T?ZQP?&Q;@&+XTBX' M#-P&M)DKF!8'8&5.=+^V^[UNYJ),ZQ-]=TJ179_ZN)[;'$#,LL/H,GG*9B/! MEXI+(!!.VF7\/[3'LYR4=J_]:0LS54M)NZQ]!YA54<3+F,8K%,$BZIW'>R], ML0M@:0;9JY=795J-'\\5C.MZ2NU^M5V9YK,7=7;<97J379QL]KV&YD>#(4C. M_B5Y%9)"%9C6VU'(U%X&V2;AL)1MFCP'(,'L#E\'VCL]+[G0Q;(L>PHT'SN= M.'%O5C127917^8?VU_F]NM=D*E]J[C#?K\9_)?XZ-9?Z*:Y4=1Q.33V>W$Y[ M9;'S[(#6IARUM0XTEB2P*=U!I4X-*N49B*CH,:XFB,O9KGA)R5^BMYGARM[W M\CYG0=-SG5IIR56->R!\\N3&M)J3>,]/8U'5KG%O9QF:9?C_95?DY=7_7KR5$#-OUK1Q9LL4I.&;\J0%XV\U/*H1A@@SD-M<@:]";FJC]=3E(O\""R2"3I2=,.]ASX?G M8'^6#W_)8:/)8:"5*1"Y4QN3/7IP<=0^V/]G9V_KX-ONWQ_QSO'!Q<'QOX\_ M'1^<[5Y\%I_V_WF\M_4%'YS/&)-PQ=[O_SS:.?G(=X_?DT_[,-;CW?;NW[LG MN\?OV-Y6I[-S L;F_H?CDNB__^>WPVAQ#$$H9+E,B)L0D)/8(NF#YTPEPR.9 MK0HIB!4RIT)JXCDQSH#=J8P(FAO"DL2S52'_&L("UWM18VRKVI/6S<4<%X98 M;W_[S&B#*<4 M_$O/]DNUSZV)OI6!N*#A:'C4RR5:JQA UHIL*^7*V # 7T'ZC.%_,$4W.;F^ M]C=G+3:#,LCF46R-3O,WUWJV!IGE!X_BW-K>_6TNRC7>EK(K!5X&[ZKI7;R> MD-9S0\\7NOON4$2OM!$.8@38))TP*8I?_$,Q/[6^L\H$S$KQY", NN+AJ?_,#JLR M0Y@;V!'#XH/JM$%*ADKV71D\F"]?B@4SRC,MMY8Y9T=;.4A9/*[5JN7:R\/V M<#2L@E7GXT6JCSF-,768,JEUY&ZJ+F7CT--;&W9G>U6LU+UYVM'&?YUGK93GMGU21K\3#[ MWLER=-I?8J=]U.N%RBXL\QO?=);S0?O56?#+39N8!';ZCY*W.[4A);,IGQFN MMFHX,\W%4RJ&0TF'JEV!V5?9L>>E?4$H=U1)1*7:?C;#\IZ-0XI5$'G8[W5F MCY5-+'&P1DY[Y:KX X0$@.ZB/W>&\;U]V+G MXN"0,N^B8!@IH018"BP@+;U"7&FM0%O"4?B["NPG5<2:3;U]4[GV@F.:^Q@% M@GB@!&DJ/2+&Z,@C=MKHE=+"MK/2'YK]O&8_I4X8)RQ1HKF=I8BY?)R"8;_![E9K[L"B'9NW=CZ$62>Z+]#]ZM!5B;EGA?RK;7>JGHI@@5PV M_UF86?1'[!=>?]QSJPOPI=KDLL=;XQ48OWRKGO6M2(/?'-)L?]N]V#[$(L%_ MH 08)C!(#BJ1C9XA[$ +<"H:D"AKF[OS2'-);5,P,2&R; KD8] WI1DM."2R M@/*G;*\E+(].UZ=_7BH&EPE-O^1 C M;PXQ-H<85V8"]S[$>&O$;";"!B^4$2?FP'0$6\]:S8A@W%I!DY1ZGH/+O%\PM_3!E6V]W]RRR5Y>(6;U ! MFO1*W-O_>+&SOWWH@+MH;H%)63:[$A5(>TT0-M&Q)+WP@JQMLG4*M .$>I,I MU1[.*NW#FQ/QKU&7-:C(-H#*#/8\CQH,0^92HEB !1B$PI45/DLQ] 8=^0_; MW^N7E.OP;]L9Q@NQ5*F#X%EV/=H/K%;['OVX.)T34!FDO=M9VK XT5RLEI/'L9=K"= M.^*/Q\%%YD(BP7* 'P*O2QMM0,Z0?,138F2% M=@@3:HB2Q-)LC/';T6?:[[$^=7P/S)ILTM39\^72NYP.>B =S1\7GB*CG!\' M]F2E^XP+->_=G8[>GLOP*AWM'G\\U#$IP4%P">XBXIAKY$1V[X/Z8168^XFG MM4V)%Y0OG#DI7)FP(=7../MF HB5%NR9%[.6YKU-JI=A:K%TU MXF*G7LUH*#;<;Q@@RS*S)M MADA;KDK%SV4PTB .:RG7GCJ5-4U^[FXE=AX(@PU-/2$>[K\_Q,Q%([1$23#0 MDZ2GR.7 DTM."I>\EI:M;=ZJ)A7=9\HXR]H/*E4M3K.V<5>B85H$P!W&(PZ< M4.L4MB(E+XTBQ.N[:]D-T3P:$.U_/"0\,LJ50@J+G! E$]*6<%"NHYM6=VJW/;FQW<[0EQYO_ .1\^:JN=YQ%+J7=FIO*N[.L$><) MM5Y\0C<._]UPH49?9F6[W7P2[R3&8>VFGCE*,7.XHJH=][76E6Y=F!_R5?F- M%/]<+LZ?EK_)SS]6&;^3CW.)GYS%&R9YUG4!U_I-^"YOPE?>5.=@1Q^KF=CP[;*SH6QE (%M=TSF=+/ MK:/>6?PZ+DMXF7Y]6>%IZI[Z!640X[!)5G0_YZ./W;GZ@?68;QCKR]O/-X/# M^"3U>$FR;F[KDAY7"S"4 E!NT YM.TG;MRFU._F@Z6!]NLSB24D;N#:H/V_' M5@4

H1Y.29)Z?GOR2_G63WW-"I0*_ZU\^ M55"P]H:4]*!YR;%H%&7D\=MI.T>B2F&;/.!.I\K/*D!TUJZ;RJ,>#:&*&YRAPY]BXE?TT=,D%29+BQVN3S4S;'VQ80V:Q@6EXQVEAQ0_6O:5UYL6$S%H'] M2R.ME",Z!%ZY^7V=N_)%'5P>M]\KT5K!_Z+/SP?G>_N=#KG00&6(=]@+XP 4 6RX0 MQH)RZ2.HWAP4M 6Y"_\UZ2A@V_T6$/"7.&Q]S>E)4]UB+L5]74MOK)84ZMEH M726Y6E]:1'&7+6J^@IUV1]K"4E *ZJ8P2G)EDN7.@AUA--8\*J9O:=NV*)DF M\[Z[';3=+&B7'__.Y9"ZGS\4R[,F1?LYOFEJA.?^>4A-X$QIBA)E'G%)!;(I M)202F),:H !4@[5-*N:)L1+K-9&E=G^0TQNZN=3YP/;/QQ3YM5KX0IDYX;Y$ MR\.X3$D."^0*6'W0KH'08._:=86!*J*22$2@-@,Z'A03X2&K"-,7]4<:^N$WN6:X-&[MOC_)(CBM)2Y4 MM1,9QDOW4#!47>[C@$6$C8HJ1;*V.3SJQ[K?[&P]I,HE-4:R26'1JEA:Z:%\ MZ?I82"/W$H!3,F]4K8#9K]OK+?N7FHU-%J EM-(^.(IP!;'; MX4<#4SYB(C7L=^Q>L]NKKBK/0)QV'/BDUR\C6^R!=%9_8[@Z& M_5$I!;*7P7L?=-&:#XI=--CN5C#8&$B+&>3@?.?X\V'BEFLM I)!@!5.%SWE_BL$]==QM7!ETDA7T+?I1=F1-^DU5+OTBK(O& M.5$U[Y.C;Z3U+%!FO=(INKD,T@,69 M:7I?2'@+%N$W6(-R&. -I\L=7.P^Z,.J<[Q)$0"Y1WA[4@<'/66\L=8:L/VK'KY.TR]J% M>EG[TM5?;V4+.VBW]^]^Z/D>;>KXOGYHM*R_@<0&9W+ MQC]7HJSP-9!W ;'L<=BO7C )NH:JZ\E4)NA"O>-> /Z8NNF''#$;M(?QKZK# M7*.D7E,#5!P&S*U+0B"9V]MS3RARRCHDN/"PC<81C=Z .9*UE5FG)U#ZA MELJ,&2=\5L;V8H(JI0D6$6D[]S'J],[N:HV#T9/#>21IPYWWSCGJHG7>$8\C MY\MK# ]TVL=AU:IB+".J^;Z[Y.BIQ=@'S7^0XQZ-Y^CB@.YN^4,NK9#*8113 MRA:3TD@'L-45!I*DEH'A9-8V]76.H[+6K2M8V(^OFIY^J2?2D-&R9+2WM7/( MC>,*S%E$A2>(1\.1]DFC)"/SA"D79 #I?2,9K=^UJNR*4,S5",[OE3:\G98B MH-U>3@9MBJ0L(JM]?^B=-U1HA9S(_9:B]L$KCJ F'^MK(W*4YCQZ;=>OX&S)>F.P6>' M1',K/9 M4E/[M9!=0V-+TAC?.7Y_*#FQ@N1,]L0=XBZ?.4Y$@_TKP8R35-!$KHO9E3Y M8+1>I^VW1H/JZ/N@TZYJ#.7%+G6?ICV*Y/(,UWC'6^,&P=<6#UYPAC&[?:IV M(R5NDX_;SUC4-UDFT[E6MYFY]Z+Z*3*?ILCJ[;6Y.OAUG$R\P*WXUNW6RY[( M>UOOQ>[QYT-B@#JIC(A(FNM>)HM,U#P7,W, D5YB V9#ZHWZBVW821OZ20YW MR?#)U:)O4 ,7 J&(+.I K:9>AJOEIA253)QR;RH8IVR5V) M_Y>]PYY'9,R<5P)(,C]X>=9WO@@F* MG5$^>(JBM!)QF8\_:Z60$=939WG@VJYM,CDGXLJBY<,J5[6;24ALJD)F.:64 M&U/68G&N/R'\7AKKU8 V;@T\R83)B#?8:%6)6/6I%C^MU=4%0NY:=X;&B)FQ M1L,_/#AFO1">:Q"Y)A!ATRWI?,NFR38QW"7T+KZWM7UH\V(;:I UB2!.CC>D(CR8 M3":W@0"EERD+PEXK:P28,&E>V.NG2K-9F$SS>[\W:,ZUW,J$NQ=_DISH:@$% M?2(&^(]K0&,#:)RL021X8!Q,-6<^H_'\N;BGSZZ9U#NLDOKOF6'S0()]O%2; MA>3:9-4L3:T7_E#")EJ;ZV<(8S*U"I0K#8-BRRAHLI%;1K,FNZ'XJTNQ(3>G MV)#'2+&Y%R\T*38O2/9TYWC[,$H.>FG *!H;$ <;!FF6(F)<.:8EAAT,#\FV M64A;)=NF'*!]O(R;QU,>FHR;5:#-K8^'SOGH,&&(FY0 DAE&5E&!2&(R6)5H MBNI9LF]6A;::[)N'2/G=XR^'B7@J(O:(8!^J/%H-5CORFB:NK;$RTL?.Q%D5 MZFDR<9Y!HNX<,N,(X5XA$8T'U(H,%$EED+0DG\.V(%AOSLHY*\U9W9.GYJP* M73:I.4\0A=[Z\U 3(CD'@SL2G/)Q/XT,=@%9HR3(51ULTB^?B\Z$VR48E+ HDUT$BA.9C]A01^%#10((Q;IF4G44FPY(I._1)4G:JBLZ7 MI7=O,FVJRDDU*-^-&0+P@<:).NP5#S2X8 TLHF62Q<1#*.>U\GOE]44A'F9" M3P7.]])^;V@[?U7AN?U>;51/\H :TJ](?QOG"N9<4T8224BH( %J=4*.88:P M(<(G+IS"!-3*>4]G42N+0_T.:5X/<+4T:5Z/EN;UY9 'S1T3$3'%.>QZY,@* M)Y%R&DQ7GGR4SY7F%2E0@-9&6TEY4-Y%*1S&*6#JC4SVGJ&3)AWGR03F_KM# MD([2&:^1I#Z?SX??3(H4*4DMMIAQINC-*5]C0?.LJ5]1&".E)[F\%+>86Y(4 MCU1P9Y*4BC:TMG*T]O$0E IL+#9(A-QC0PH/5FDP %C$Y;[I25J[NFE@]R*Y M)@WL!2CMRV%24D:0?BCP8!&/#B@M1(M &AGC0;L-E*U*2MAC9X1YT,*P<22G MQ7'+F U. M/98'BNQ&6:C+!G]/?F]BR8$"8I$2A8"K"'X8=Q%"--*95,6V&P MR240V?T3@:[- UHNWZ?I6SW;MUHT?:N;OM4K,X%[]ZV^M0_U3-]J,"(MCUP+ M%46^WEGX'U'64U!T0&A>2ZZKU(REJG59IR/-E(*]2;\SBA@-9BOUH-<):8*U M6)*$B;.&)79#7;B)I/1',8Q*W\Z%,G.Z5MR[K RTA^>%./=A%+]TX,LW)RY+ MP96+0Z.\(5@J!.3)$->)(2>51-H%99SF1DC0IB-H%:=93/1'<05;J.>TJZDR M\24O=3 Z@;'!0ZK^+K;>];F6&5/%6&=]P[%J!].>M(,I?5U:/Y0"\*" @BT- M&FO\YN/I\#(++*N7]L>?EDSL_7F1Y*UG,);F8.7W4<[ALJ>#^-/XEY]#>P # M.O^IW2TK4F[ZN7YZK0+D%WS-[FQ0"NN7E/=57]?BT. -+'26B,,^_'\8O[@6 MEAM%6/YC&.:_ ['*L;SV:[Q![O4=V1!:W//.ZP=+R 9EJAEL,UC*V5*/_4?A MAXHG@.LR/___:VSM4@L-.1KU$VZ1@GSCY[V]2^GIMWSQ/);-@D^%.X\M)?2, MD%"S0J+H^^.,:#1!YJ=;KH9ROB?*J7/H&[KY;G?XB;'A5:S!AW%$J*'S[W:/ MGQ3)7L4*3!61?\.K\&Y\3O/*&KPH5[Z*==L='^IZP[0S[CG4*DV'WO!"_*N= MWO+TMP%(V]U!V]\'0Q;,L!/3G+/JY>9W4SCFBI_[#5- E3C]AA?@#Y %91'> M\!ID;W@IB?'CLRW"C4CQG$'MY5:H2B:8_ED.X$\"9(\Z)+%!ET&W^62"'(] M=$//1PQRADP%?#^0'VJEQ:\&"EQ[Q MJ[3B=ZQW'CGEC"H: N.*4$L4%C(0HT+.;XQ5MYNYC"OVV#4XINADM\Z>7299 MB[W2Z//!W_\7\&[VOO;AW@@Y,/1P=_?_RVM__Y'-Z$=_8_ M?3DXV3X_:-?W_.\_C]Q)Z.R=_+NSL__EXF#_'?VA_^OVWH_R\O:UM M&,N?WW9//K0/CO_9_M^+@^%.&W_[U_[[XYQ1D/RB#OK$(<$XV, MXA+%Z .1+D6E[-JF7->87)/B- M8?M6"22OKUIT/Z1\]&)%4T Y4ZGH2DOC5W^V_+D12FF5E:X./A_^B=R@Q"RSA?4(9L+ M)]X';E[:N?!=!^WDA5Q$+7OLSWIB[\-=<(:W3^ M?H1;X0(?A;[U^BNWAJ'\I M'1I-\$X2X,N<)H@3F/R], %O-YH@H^( [.:H&,V)*T8LCXWVL&@#KI('2(F$/B%$VHR#O - M\CW'!E[[,VY1!<>%*6#SXLVO;:Z\[Y5-TFT6$"_MHKTVZ>)[$N<+M79# *P% M5L(3S$W$AH?DL!1,44.$Y26/[!F4]2;C]@GE]WN0W=O#G;^*#&>[^^_.#R4/ M/F\WPL1'Q*,UR"1&4,@9MR$DBGVNJ;@N^8,%^)UX;,7S;;__E-KO.FOV?FC7 M9,V^&I3[\RK*:>R5;P3XS]9$.S% MV%"/"3*?KX*,]TH&G@@RWN9#.<0BHV- )#KIDK6*.+&V"22R+A9TC7HY_>*1 M(L"K#%#_KGKFY"XYN0N$KTOXEQ8GQ0=5K?[C.*(>,7HT920SV-W0&^4*PF_E M^/>J &I%/>^ZX7U-._N]_%'CHWI*?#V?\U$Q)Y2F7*% I$"<)HQT/B7N#/S' M?/!6B.RCXIH_4I!I>?9[X1#4@Z/0JP;8RVN4BV;X.C%PY?U4M^-@X[YZ5 "< M<5_!KAN5*$%).@# W%;016&1HM03( Y!DBCN*W)=ZZ,W%F5OW%FO M\VHM[K#7>+7N@ <*Y*%XM\BA>K48' M>1,ZR*LUPB;5CQNOUU."T(S72W'/A=4BXT] '#N&M/8 1R*QZ!3&29FU38[5 M.EIU<^X:AQ=+X:Q[R\)I?%H/3IV7LQYM&+P MD7BJ\Z$)#XCI26[09Y%1U/GH3(K1KFVR=6*>H-#A"WNTFACIFXB1KK9':PKP M&M?5HR+=C.L*!QF\!RM5$9T05_F,F T,R%%%4" C51*O;>H-^5A MT)0UB1> MO8SGZGKF;EQ43\;W,RXJJC1FEFF4F.>(LQ"0LS8AZDW*A>/ F:S*OEV?BF=DOS_5.:G]_KSR?-HUOB&9&3T/\J79E:[TY@(L-!JQ]/^W$ ZD9K>!1;H9U2[,>NCRT7 MAV46YY9X?S M 8%\T7\^OV,'UO_;[7J86_K$S54]K%K.RY$W7IV[Z%WD7_OOKNA=_V(?.O%_ M/IQ_^CN<.LKEP?Y'_@F>M_/W>W9P#._>^D+ROP?[!W3W[P^=O'8'%U_HI^-/ M:6=_!Q\2([T,Q"-)!%B'6D7D!!&(V1B" +:U,B87_R[Z[]VXSVX(J]W_]YM'/RD>\>OR>?]F&LQ[OMW;]W3W:/ MW[&]K4YGYV2'[^U_./[?"\]VCK\H,YP5F1.).0#ANDCTKH @75Q5O5#< XJJ MOT$RY+O[VX=2Q.C P $(D#RJ M.#BDS,C J0==*6F0.,ZK_3JR+F&+AZ-+HYW#B.E M1B<;D6(<=&@M!;).:J1#,LER!E^:3!?7G61<++2N6K0O8*F6)_[4!LG9]DO8 MKN]K4=HJ%-3Z8]3W1Z GM?[HP&M>?#(W#GT?[.WW?_WQ1W8\],[ 0NZT/[>S M4_E2/1CV6J?C&55IGUE+R(9Z5A5MMS@GB/IY<-4;-SSJ]T:?CUJG]KS?ZW2 M*\/(U]Z+U!J=YN=>BP3=.FWS"AA(Z9@.GGI**!=:&,EY(AIS$IE@$2_VR6WO M_O9HRNZ._=8^&9V,]_NOD1OX?KL@Q@<[O/3$(?KF\. SV3E^?Q@PHX#8"G&9 M4^F#4 %42+K@PI*4$D8X $1V<2-0%[?9#_!J[HTR/(;8Z[1-@W$)H&W!)*[O+AP5CND#(-CO'VT"UP]:) M/;\D[)->/\+[@0'OEO+LD@E!).RMYKF9F!&)>\F$BX;):-(MZNP3$&>5\;R7 MJK9"(-[&U+J<)'NM3N0'4"[=W?]\J+#"3CB!I,OG/T A1=9(CU+246"N:%1A M;9.N QS/NX,N8?$*! *-1NN/X/,4BW?SM"@;+R_?;A4),R,>M$K NX!^)2V M6ZYEE-.Z*<'C@O=E2.4^S#'FBKUZ8I7:-YA/E .^..OUPR!VWS!+;+/=K<]L M]^++V=X^O./BW:'$*MC@%4J@D2-.&46:!(^,XL%Q;KPC-:;9XZ;TBOO M!9^/$6(;ZV@E+[J7?BUL6QD 5RAD82;EA$#>&%G >/;]V2%SFCH3$S(^%S#Q M(2O]VB"GF>>) YD0M;8Y:'_+L:OAT6SH:1YCS:#!L9=V@0L='Q3ZY M(98 OY]/>X.B+/S4CQV;K9&?,Q8C5NZ>C:P#^50I0'F.3S#F)?%ZHFG_%EU_ M9/OG+<*;-;SC&F;'Q.7Z-31X7QH<B[*8H]\;K:R$5?DOLTKE MV&0)LSI9>]#28FQ'M<":AR_K/Q;FSN0OKCRYUYU\EI-RLJQL!3!K)RDX$?XM M'XS'VHCV[TFT;Y\=C=#]7+C]"WK:[WTM!1#!MO+]F"WW=D6U ME<>H/.0:8VPP&)6CXS-LX\[O:/)+H&"2. X>E%\9A>;1">*5#PK[D%SMDQ:U M3QJ+)XN]CHV:=[6+PW8JH__=:'C4ZP/X--[K:\C]"WSW[E $'1/8-2AY"]1N M2MNW&)$5V#D:O8L4J)UL7%>&:AS5J,BD NTJ$ZFF03O9B)+<54@PISO.(G=- MRW5D]HX-"K&DFAOB%&6'KP:LEF:;/8_'EJI066RN7BHU6![6X>,D0II ME;S6C 5'60G/7W< >1:SWETII#*;9@D0U8^MLWB3NV^QD'SQ6,T,?7VU[4X6 M_[_U^K_#O<.&S*XCL[TM?\@2IUX:B912N48M(\A8[L#T<0K4'.*H!LG(%J1& M+D0G.U[]F\3@1FLF!_B6%."[$21V)D0N: )DY518)WG H,]J0P21K,X[(ABS MA^4=5>0VB1 6L^.L"]KK4?LTQX,;NKN&[O#N\?9A\@%[' #9;#YG[4) .E"/ MA$P@'+E2090DN.4TL@JXKC.8;\.^4;]SMZAOQ89 Q=:\&I?,==B[@WCK M.9-'P<=Y*IP06NQ_!7-W,5KN]KI?J[)S&1@')25P^OM?>X/A;F]X$&%PXQE? M/JFZ:2^+@OTCVZT39!HZOH:.R>[%P:''-@;)&9)<&<0)_(#=EL@9H@.W+"3J MEZ'CXL"JBOQ/^WFFB_^[V)JB4S"/^R6;LZX,T1I4A%$;Y)E,G\AI\^046>$K MR._ZHWS==U?IX@&$1W-"5LZD-0'37$T>3%HLP*+P)5LO8H<#U4:P3'AS=2JJ M4S=+A:;%BX:F=_]\-0E+UD@GF;')4LN39S:"4D5-4MIC1]0UAP@?+>9=)X24 MXC!M-\IW 0_E^CMO.5'I"]O;/SC$!FQ<+SG"W-%<[C,@@YU"+D7*J]4\F$!+8=*R5Z4F%*T\[.CMJ\?,DYKS!*GFY^37:]# M$"^3D5X&K-R_R_2[![GDJH!].99:!X&P/ON3;8252; ]'_8F#.>>8#:^NRS#V M3]I=$-"#^K,2,LF;4-]SDZ@5-O!<559I*SFUP?H(RH'G.'N5;91+Q4?N PMC M ;U?C[Z"A2):,Z1F2Z;>WBV8VG[O0[76&(U65IWH[+=K3_I8=32 M)054YIP PUE:BL">S-FW*0I!K2*!W",UZ\7PJ8G2WARE_78(FZ$5P0(1[QWB M-"LOR1@D+&>2<,DBTW=/P-H%V['(T2;]Y=[I+SNVR;ZZ9_956;J&\NY+>9?< MVY#?PU*O5CIE9:S?W3EK1:3H,,/1)&>XX\P)3FS4G@FO#;>^/F$KZA.VLX'? MIXC,-6DK=]?X]K;>T4,0_3'J!#OE \_1.8&L< G4/FL5D][ZA+.3;[G<@18B;4AS:=+Y4/*\8VT1 M::Y7'BT[H<[+\,5S$=+C&+2S5 2VS21-==[,:^!-9R];5+;^8X:?5IF-G M%,9.ORGU$DVTR^05#T"+2B$#:CWR M(6(;,0E8Z:5UP8F)\K2Y6/=R+3X)(E8D5F5QC2N7-01W+<'M_WEV&*ETQM& MM \4\<0=TI)'1$-BPFC)?%!W;1RW:@0QULURMDGYN*&)FVG",A>=(@BK"""D MJ .M7VFD%:,&C%7"K5B<[G2O/+[L+FP7GGW1'+['TN>>+H=OJJ!50\'74O#Q M#CT4($($R]S8:[[XQXT)>U,.D#OD[)W5;9Z0 MK?H\W3&)[P&1NR:)[\6I\>+/B\.D$]=:@F3-5<6Y"Z#4N4A12$KDCNA!*)4/ MICTDBV^5"J@5H$*%P%K3%+3:V8A/W#=NJSW(N52C?JQMI9OTF<%U"LT^#.F7 M#BSOV^,EO+O_^?S0^P16.P-C'<>$N,<:.:WSD0*KK:4A)SI7@KW=!8WB74:A MY!)/DEOE%>.*60>2/@*,:B99/B*]UHH@,$]ALX;]4:SR4J=2=M

/TM;.XW]:7Z;[LR8VD=]3,H M_D?;:B] .Z$J6@)\%0WS(,^X3S2!!NW<(4BU_G'7O^ M4[M;EK[<]',]K!I^%F0)E'%67U^RX@:NV+%NH%2_N?YZHWPUTP"O^D[@#4K$ MM5_C#7*O[\@&Q_J>=UX_6,(V!#'-8)]FL)0M]=A;>ANN1 M#O50GTJ5;V-W: M\XR(9>;_G(V>9U= +5R!@])8Z/T53W;N%'9E39;<\"4:PMVE=]QE8[_%PLW#W6CAB[L+!C]Y9\06Z2F?76M8S^U7E MZY^>HLOX79[Q:%39#/+.@WRD[LM5GWBSVG3_1[^7#S(.[D7OM[1TOY.[JQZM',^VY7U/8?G?ML]_O!E+X_IXL^S@XLO8N?W#YV#XU#FN??W/]L[ M)^\O_O=B9[C3+AU9ASO[GNQL;1\&JF.4/B J96Y$%1)R3#(4M:&">4MC=CTH M$&8<<)CK).YK%&(AFT$BQJ:1A=VQ3JNN3C!HE6AUT;),I( MI"(5A 0>>2#/TY9]!Q*I6)R:--T ($^E1C6\NR3O4F!6K[V*H$L3D@Q8\[#W K0,[ZDE MC0FT&KP[:P)%3A,6+B 7>#YQ3BF80/!GB-2[:)(V6*UM@E+2\.YWR[LQ:1P] MI=APQI,18#)P[)1)UD5B*6N,AA7AW1FYRY)00A,%O.LD&2Y)I@XZGR8$[S0$-D\NG,AF7.7378M@RV?9RS*33.2:C8(I(813Q(@#7B M2#C>+)C(Z&M1^1M6>DMM5>R4 -,CI7+"9> M(9O@MT03-E(R$[D"BV2=DU4*J;Z!M-(/<1!MWQ\5LR3$K['3.\TG29MXQE.F MA1BMI.(L>L:Y=LKBJ'6,0=A(C,*Q,4Q6'N(.Y@P3A8F05&E$A F("Q.1C5X" MQ/&(07U)P9-BF,A5 MO.>2@2W"J !<=TH')PEM#)/7P-JSH1)F$M4\(^S&ONT4N\2&DW:W/1CV2T&3)F;RE/J+=@8S[;24CBL5 M'8T-ZP]K@?>K+:>)J"QHQ'ZPQQ-E(MF/3$:>\;T^05L/:L:8(9]5K0?&9. MYS-SP.0Z>(M T_!4B."X($5_H0\V31K67EG6%C@Z%YE*VNA\P,,1F?-\#)." M"V%"8YJ\!M:>D=K4""T-,2AB+A'7U",3DD"PQ=I0&HP0>&V3KAOQ/1W^>(IJ M#$M68*@KDC&8>>B-UC8)6*RRP=@&8QN,?>H*-9Q@P9T0E'$= &!]8-A:8RRGH,XVGH/7 M@+'MV;.;PCD6, HZ-V=*6")--$%<8*8)XXGG4N&$K,.'WPW&%L?#/TJ)\44= M$R95V)^@?T?5'=$?Q3#JQ+U4FAIN 0_\9MO]?]O.* Y*B?LWWICCXE GHIE4 M"DG#@"XMI<@:05 $HRMPH:1Q8K;1QLKU@+FE\T?N 377S>ESIHA6 ))H):") MUM="%+F6 MOY8;A)![E?(7&]C()R@X+Z5Z_(+S\%BV7,'Y9K!W'^QRCWW&RNY-A?RF0GY3 M(;^ID+\J"_?V*N27EH*M7M7\]"G.+RUI [UQ[\KW[#SY(_:+6^-Q@X'TT7I9 MUYU_BP$Z&'^=[6Q_.=DW]_^?3[G]]V M_M[&GW[_B ].=L0.7']P\0N,]S>XY]W%IU]G_"W'VWQW?_O\T]\?OGS:>O_M MX!C^W?_0/KCX<@&&[/'.[^_A>3M\9VOWR_]>;,_%#;V4@DIID+=6@EWK-+*) M1,2#%H[@2%/)U) ;XL'YE7?EM=?AL6X@\ZU!Y@-C>PUDOC+(G T#.NHL#\DC M):5&7&J%#.$2.>6\IU$3&5/NOMX@9H.8#6(^0J2N0CE8:M;;(-^5AGD)\G8O=]GV+\\-?'IG-9TZ7CKEC/N>2" M:"=!&P;M6#JJG%),"@$20,?;*E<^'M:__[]1>WB^W1T,^Z/\X6!O>!3[^T>V M>U\I,)WWD=K?8D 7L=]KI,.=I,-\[S0&6G.6^HAHD1T/PB'MK$34<#82YH"RW0J1G\Q8\/AXV MN')TID3G7;H+1!O0;U7A7J,1T( MB&NN-54<,Z59()YI%8S C&G^;!9_@WHOC7JS 2<79+">((^U1SP%A8P( 3'+ M8\RU5(G,C94VY"J!WAM(07C_UQ]_O$3FP7<,](MF^+T!O9<.=!BFO5&2DY2, M5(0&[X3WSAGI7[&YWP#]'8!^OH->#,XDZSTB(3">G/U=FED M+(:(E,Y-C[7@2"NJ4*(JB!0U 7)8VQ0;XL'J;0-Z#>@];]Z3RM7WL$I*$'BH MTL91@YT%DI9.>=/8]&\&]&94O12-$8D(%+$QN3""03IC8'+.ZFBC8Y:M;=(- MS%<(]-Y "'_WS]:]S?K&?_N6_; M,)IR2C72/!'$$PW(12YS\PVP^!D'XE!KFVJ#/MBN?^Q8_:285JDI](\KM;-6 MLRY374EI7%\IGIQV>NCOC\"?FF5!1@ 6X?8+_64:AN_98?E3]_I M#7)Q)YC7ESALG<)\XW7%FGSOY*37K=_0J\HSE4)/<'VIVK2Q9&FF%5BV.!@" M'@WK*E:7E:KR7 ;3U15*5Z8;5W=J<:=7=JH0UJ@L07*BU[VH!=B9Z.U?]0>5+^W^A$@KE\/ 7VP)L*E6+IB[\ MX5K)W1WEPD9/5+>AU/\#>9KKP.RE_VG#5/L96O\]&=E$BB+Z2L7H XK_G<-S MV6&2% =*#/(Y@8$;1I'%5B"=HO0R"1PB:/\+'![_U3J:K.@5J@ ,6H7]W@8< M;,?0;/9XL[_00VM XTE1(9%R)7UM"+(,="!ON#?*14LXOV:SV]5R3N]TZO=. M6L.^S=P^ED"UJ+T);'[<*# SB)U840< U$+8F,*7,SNH,69T>LTKX.HX&&3= M&KX&N;;PD45:]4$8QE,057!M:5UX'42FT7#4GPC2HFX,^S%W/LR@6-63K.3= M8E8X:P^/*AE8/6A^#9?20E9?#JZ.(!0;^HH<[+339'LK&JUJ=TXDWHQN5N4((;@70&6&0^;%9MROZXR@ET.@RUTS1%)79YEM. M^[VO[1"!J?K1#GK=4IH4&!+XJ3#DV5';'^4+Q[KJU*K$_DD]AKP2)^V 3GMM M>)^+P[,8*V;^FN^#<1<5-$N0_"$\HMVOUJA\GE]6BJ\.QE]?OF&BV&8.+^OT MO;#6ZO 6V\#L"G/!F@)1P&Z=MV/GDJ7>7>)V>W"I&BY"V(KFBH[:[8%)9\\+ M%=3/K0R:;F^,G]6.VUK2I,OWPWV9Y;Z3+?^Z0CM>F14?VH,O*/7!J&SGDHK MK*U^YLCQCO\RO<_\T%<4G;L!)4?'%WKY2\[!V[&5W M7>4EO#1_F[KC^Q_%(<,,ZY (TB8RQ&FT2 N3$ 99026V3AJS9-UQ^:KJCD\Y M0BJ)EAFC$IQ7*!W-E"9?[/#)^H,%Z3MV_$SXXV;7S_=0LUQO*$[O5;-<;C C MGJ*R-J%/45F;BF:P3S58T]0L7[V:Y2L5:5TTW6ID(8(A5J3[3P5>\U7CDL=[ M2Y<\?J.UL)OJZTWU]>==N+=7?7U!0.@I3D)/GG%3R_='*97Y>K)2%L8ZM%:: MB2 -=Y'G,I&2*V5$H!1,'U6?KGN.Y.-))LF463HFELN8R0>P"%Y_W*1N_-;> MW?IXMK._<[&W_YE].OF(=[?*_7QWZSW)]^Q<[)SM_+US><^D\=LV6*SOOL'W M8F\KG(!UBRM+]S/>V?\(UNV7BYV+=]\.+K)U.U^(W'I-A<4,$:LYXC)I9 @+ M2'F'+3&&21G6-L5KJ!#Y @SV7PU@O2!@$8 I$31@4B!<&&9S\T++@^3:8RWB ML^4--X#U=( UFQ(LA)=" $+9E),"N O(I4!12C@? 9?>4P: ]5C%#1K :@#K M\30L:VDTAE,;$^?4&"LT(0$+)KV47CQ;RF\#6$\(6+.5MS##S@2+* N@87&O MD64QH.BH8%0:Q_,9!JX:P+H=L-[ X>&KZ2$_G&?'Y8]/<93XD=9OY2CFIOCJ MO4SF0UMP! M\$J!-*<<1>F#DE8YE6PN>7A9'F%R4J%AMT=AMWL9: V[O0YVFS7,%.91$>.1 MU)0"NPDPS#SVR,-/%1T+QI0*HX0T[/9$TNT^YD7#;J^$W6:DFV/2"I<,8I1Y MQ)762&,MD9?.FN!$M((MP6YO*\T\%UC-%Z4%99L+B3D2C&#$O>?(Q8"1X* 9>BH-T>G1>LVL7H7&!A8> M+6C3P,(KAH59DP'S($2B$7%!".*:*F2Q8T"EC@8**FL,#2R\#5AX8&BD@877 M# NSVH(5D2N9D)+4(BX-139@C:()GF#*M%Q-6'@#T8EK3EL]J0?G)G1(1Z*1$8R!\123 M3LF80,G:)IGR[[QL$:@7CPTWL+-JMEH#.ZL/.[,F&2&6>*X-8ICD[IA&(Q>9 M0IJSP+!-3/*XMHDWN&Y@IX&=E;0%&]AY!; SFZNAF.=4>V08*#J<"(XLYAA) M@44BT5$G8M9VY(/3Y+X3V+E;N"/CNTV-2D6 MUJ38/C^,$=M(I4#1JX XI099EBAB4A,!*AF70LS5I&BJ'C2%!%[;8)NJ!TW5 M@\>M>K!D.Z8W>O2\*7;0%#MHBAT\4Q):4^Q@)7P,*]- _0T>Q3O:.=XYV\WW M9+/GY$^\M^_/#XY_.?ITW&GO_?WI!)YP!B81W9WS,KP_W[EX1\!L$KM;V_33 MUI]B]^*?[9W??SO9^WM;?#KY=+Q[_$MG=^N +2IVH)1C&+N(4O &<0UFE,,F M(@O;'KU/V)NPMBF;L\/-V>&5 ZR5Z7W> -;3 =;W/RL :P&L!X;L%:F;WD#6$\(6#,:%FA0*C#&$67)(YZ< M0#:'CQU(*$(EI8K%M)VQP'?0W NZ#8 >RU M8H8@X@( +T\&F:PN^@0Z8@S<)5WE[9CF]/73L-N]#+2&W5X'N\T:9EQI&W*= M@YAH0MSF_A".,)0(3HG;I GVF=U8PVY/Q&[W,B\:=GLE[#8CW8*/@3(5D.6> M@EEA-7)!$9285%((G3A32TBWMQ1G:HH=O*)P4G-\\=6"U7RQ Q5=D%HEI*,# MW4!*B1PS G%L=!!!@JQBJWA\L8&%50O:-+#PBF%AUF1(CCAL1$ B"8>XQPD9 M2CAB,F*I@@ JP TLO E8>&!HI(&%UPP+L\4.8A+$$HDT$0IQQADR!@-'*&F) MTT)$&U81%MY =*(I=O :;:GF^-^J@^!\L0,B78C6*.1PK@_'"$'."(9\(C:2 M1#SH3MF_@T5S_*^!G96TU1K867W8F37))!.4BT20]+E"O/$):4!G96T!1O8>06P,Z/ML(A#=,FAH*G,L..0$]3G!D%>4&)\<'YM MDV[@!Q]$^$Y@YVJQ@]D WZ3X0>:K=K>J'G"E_$']:$XW5#[&?MH;M,L)T7[, MV9]?8WUZO6;?J1OKL^_X\A;K!KW.:'C]+8M*+3SJ A)\VPK2/":A)DM8+=#4 MSZ/^Y8G7SQ&Y?K1?D$TPV)]LY\R>#];^<65.)^TNFEG#ZZ9?%PW(&9FR8/XU M9^TT'@_[8K,Y;643\+@/]H6^V%L(&J: E7+!KF!?;<)YHL3\X=JK7- M4@'CO_]A7^T$6KW4^C7+O>YP4.:Q@#AG6+@2+L(Y[82F'F/+035W.F .FGK* M71^3H=>2'[^)_)Z4];:[K0RX>0[KK>%1;&5);+OG+7MZVFG#>V!(($Q!@N= M?>KU4VP/1_U8O$NM8:]ELSP>M#Z#S,Y7V&YH]?,.P&>#7"\%E8P4T",N!7PK M?LN_QU:OVSG/SX07]^#/^E'#(SML@=0OEY7\ 'C-5QC$1NNWJ^\?5)=-A@?W MY2G GS'O81E3JWH_O'5J=L5%J7X>M([:,,A^%B3E;?UV[/H([QGUX>K^>GYS MO@WH"HAAX1- V(W@[MF5:0]:H9T2:")P7^KW3EJP5;;2:B;WCD>^?OU2P7-L M.!X-RO1\7E<0CIWSC:LT^5SU<3YV\]Y^[@*!75'9?NT-AKN];MZD&(J&UM3! MV=W_?';(K,0F:K#:7.Y\8J1!3L6 <,2$"4E\Q&FN#LX]1-238L2[0>:F<5&. M2JUC9+V5Z64=3(9+FKB=Y=UYQ>:MX?DIT'TW#O.S%R',8+V "?!4EF8%[H4(%L M@\93B;:V]XBM8PD_T8-IY0TN;*Q8-WEKR MZL>[B+VG2&E]V@.]J[;<__EDQRU7V[ETK8-V- @SWMF4..9<$\43YSQI)RF. MWI)$(]$<^\/M12%HQ&;5_4FYR]C_VO9QL9-V5MOO#6UGWB(8'D08W)A-KN;E M=$VAXY./ZE#?=U]G[_].7@^!V\Z_W%WKZ'?]^Q M3_L?SW=^_R>,Z4_ZZ=<93^WQO]OP'=@8'_FGDP_MG2V8U_Z.V+V ?[="9W=_ M^^S@Y-_'NUN?OH!],1>79C%Z(K1 (FJ:2VX29"F/"$S-8+&343JRM@EZNWAX MB.@9CC0_LVQNX+>!WX?!+U7*YI)-*8;(5>#&"RDH%3;8X".C#?Q^5_"[-YLR M'3 UU&'D6"E_$R1RB@04650D":P5MFN;>IV)!^<%/1?ZOH&TR;]GW4GVI ># MN[!3_J3B*&K*/3SF@=A[]8AZ)IC\HVSZ;[W^ATO/XG=Z2/:YT'*^NJ'3"6!2 M$F1<4(AKKY$V6" K$PU&&(;S(5FZ<7-#\)=4#QNN?HHB+@U7OR:NGM6!8.+$*V/Q4XKT)5@QPZ MGG@(EPB%I]9_WL'8,(1R(K 2GF!N(C8\)(>E8(H:(BR_QM@08WX#,/FVD-GF M2DS,,-L"/CN?YK/]WB_Q\J]=&/#^6>Q\C3LP^J/E+!#Y2KGO(<'BG8N=\T/% M F;,!D1BX(@S89 1/"#F!:,Z:,L#F!#$;,@Y"Z(%1-TI^0+='):EZ]\C-6UW M0T?7T]&?^)!%;E, Z@E4$\2] 36+I(@D91HV&6@I:: CO&%NHR/V M/=/143_&AI*NIZ2/])#:Q*BC$BDALU2''RZ8B(P&6E(J@+K.US;EQGR-S!E" MXB67XRZT=*^\I1/];RR2/K6H"WW36[Y$M]LD),-F@FG9_>MJIFG9[/&T[J+/J!C/9 M=#^]GFPZI38D(_?)IM-T0^'E\K/NEA*FU7WOO"&9C&T 9+Y8-MTML82G\-FM M\#!>8&K?0\Y5E813)P;@?;(]J?CV,W<[9][X3/4=QF?^?'D#?&":HO_TS[^&CO[,_6 MSFYH-2@\YV@/[^U^.MUYMW4"SR6-W6:K<=9L-@Z;K?KT?N[1_F']\[9HT&VV MM_N>[A]^:(*EQO=V_X!W_$1VWFTSN ^%OT^N.J4Q28.W9RGR/&_J.L:0H^7'OK#)KP-Q+H0EPKP-G6N.(8-6ER'@JC0H^.:8S]VH^NU'R))GWR\.] MS]"P_0GWGCO;(_J]97GH8NX^@'GG%<%E8]1FPZMX5AFJRP6B% E8"<0?\ M:JSAB+B4@F8F$>=6UNFJQDNB3+<\K'J520;0)W2-BKM'D\Z_&.SX&(5!JT)W MF$DT4\KUB0/[>V<'9WMD_7QNMZ?"3C>\-^J&]\_FOYM[1/T?[NQ^.&H?0 MQLUPU-C=(_N;F3S@^9_?4_#T6./]%\.PP_ MCWQXHE"0JX7K;NR(2Q'N_>-NI]_M@7-5XYC\\O77VL!^A\4HQ5XOBV'8;\!0 M_1IP1*?RNFR[78OCKNO73IK=VE&,@YH'CK*M3BT"1;5<5=B\UHO_';9ZU:YT M?ZWVM\TLUH*'#OJU(WM:#5^OY899,@W:;FO'O1SY\3V+O+6R8%1.V+5Z[2/[-9[+],&]P1#PS2QD=;&A_=PC+C9M M.TWN=WRA_RZU >X0XG6W&>1\FOSK)PG7G##>)@"LDX\L?C0MHRT'8MXUI?GI M0RT?G1%/&P=?/-BD6%.!<. YG4!ZY*RFP(B!<.V-]@065;8VZY9- BWO%OTM MG"7::LD#Q[EDE$W"L112#(P02]4-HO1E"LQW"IS5-[Y8#$95= 8Q0@/B7B=D M@XZ("J5,"#Z;MCG65ET?:WO7N&TK.,&".R$HXSK %/"!Y11?8SD%/KA!([S, M@CG/@L;)EQ1%M!Z0KS%UHXHEVDJ'I)26V,2-2";/@EG?9BKB>A0RBJLYD0=O M-4>'YFRWUK=8:9+.6/@SMM MS7U"E]?<-X]C[O=B$ZP5Z-GM#E@NL=$=+$^$ M^>[V9!ZS'?"AX7YT;W?O^_YN'==WMTYW-IOMQF8;?/4M ?-0['Q^S_<^3L]C M+QIG>3\ [GOX9[M^]C[?E^^\^X1W/F_1^NY7F,M?Q?YFLPD^^VEC YQ IEDD M&AGI/.)8:Z0)I<@['R(G,@45ITU\&SCU#*Q;S"Q7,FFME?7><>ES%4,R;>)O M>#\\&K8K+=*=K %D]CR0*+R^O7KO:)>FU0G@G[SA:T_G M V9'8!1C[V*[>_)#*K=?>0V^F0.#^IGS[04T="LT^$MH:,-$R9*^^;?=3GZO MYQ/WK_$:E>Q>*KIDS>#YJ^CB-446("(+Z[J\;X-^FJ2 V2*2%.0M%6^7H+&Y M9^*8_*4*W6;-5VA%5GQ]9UN=?F4(Y\4R5ILOYQ&2 M")P1]!%_#/;@_^V:F]'?9ZL>-/:[L]N%E[ M9"EM5(4.CD9E-UYM%U5R-G=14UZ^5*2E3H1:O@8O=7>]A/#:/VQ[DJYZ(0^V M-DJ!)::H!K4_2@"?/(R$F"FX$4UP:+8.I0D>NV Z=S>;(02/- M;ANZK[_UWV%K<'ICN?LG#PNYI_<^EC,3C:._FHW-#\W]SXW#^NX!KI]M\+W# M=KOQ[I^CQN%?S?IF@&>^9WNM:3FSKW0/VMUX]V=[C]:_[VR^/ZMO-EL[GS_A M_<_PFZ.MDP:MX_W-T/K/6?U'6$C>8MT\^$*D5E%AAERT 7$>%++,$<2TU-%P MZCU-\RYW_T22VH7?"K]=\=Z_W('@F,/.VZB2UH3' '^R9*D2,CGFA8S7$UP? M7A-^N@W3%4:[$Z--%Y'FPFGF,4&)&943>C$R22LDC"7!T>0E ;M0"S[#9C/2 MQX7("I&]5"*SW&H@*D$BUPS^,XH3Y7!*C 57B.PIB&RZV D-)BK.$-6.(FZ= M0\XGCS L/9A%(XB6SX7(YI2,53U;C2H>+S$#[5QQC-2J3AU+_M4"W4^ B 8* M<\EYQD5(VF@G?30&"ZMB(#<%9\WXH3\[.V[$P4[:M=__SK44NIV-P2ARISI1 M[OYMJ888B MS6T MT9*P9SF,I!E _5K/S"D^*GU=QZV)_6<"3!Q"J"P$4MAP=.''A*>@HW+ M'-@V4HX2L&_!>^44;4$4]VG&(:$X)WYHC[BC8+=(%I'CBB+&HE<^>:4M?JVG M:*\8]'?9D94*7L\3'@@+W"=K=24C$Z)@4E&KKD=]V9%=%,RGW1,JL/ R)!0U M28A3S9$Q@J+@!6#<819CR!H*Y!GLR!9T/R:Z151:)6Z(=8$K8BVVT@?&8=[( MZ)TNZ'X"=$_Y*=+:9"F.2/!$$4\&(RND1\$:')32V#O^7-!=SEM&YRVU7W+Z MSF)K&K_(#9N[D)O#T5,."%%""T<:!\4&S: R*1.:M6!N04\0C%X+FQ. < ML+VR+O 2[<063,]YM7ZHBE%9K9<&W5,.#(?AHBI21 P5*)^Z($>,0A(;SK', M(K;9@:%+LEJ_^C,6\H1)65>+?3/BUDRO D,L^@X#9X+R8V- M 5..P=6+ DR&ZR6!R^[58LC?S[AJ0<.0$$:1L,DBSCC/*5T*">RM3CXHSOU# M7;6Y0^1YY$44KBQ<>?N=?NEPP@Z#X\RXU=KZ!!ZST9JEH*5QA2L?GRNGW6!- M):;6.Z1=D(A3*Y"17" "[H_/E>BB3<"5?'X[_84K"U<6KIS14=6&8AV]PTZ! M72FT%E&)F*1,@5.'"U<^ 5=.;2K8Z$T*A"#.H\'"-5.N3"1UN]/MQ,%+I:K=L)3'?BOV).OI8"[V*/%._5\+T M[?9IK7O2B2$' U9"5?VAZ[="R_;RA;87:X.Q8%7^3J][-):8_ZTO#CA_K MM/N1RE5UZ2#+S%?*BK4>7%W)*\+ PD43/7@WWA#I-[,Z?K!9Y#XWO3=6DL\_ MQ^]9PGZV*>-;'$&7-.$=+(QDEL"?/+(_>F:E =__<6$E]PY-'[8'N3FA!>W) M#8;OPRQH7^@&/]'KNG!IS?[0ZUJK?9@HHUU]R9CP#BK9M&ZO4H[,Q0#@>94, M?R:M5H+)UX%7'_:R_'Q^H=-H>_U:[ 2X\62+:+3?/MDGFI(DKG[(G=.+/B,B MY!?+0TSQ[Z.C\,GA][@K?UVM=>*@^@;Y/7_YPM3X?_KP4Z>"4M7+'P?P5_6^ M>0Y=%H;='M\V;^C^NG99!O-!E4^(6%XI9((7KX4\ZMA=^WVSU?[ZC^[I]FKF<$_Y/&V3;>WVU_W3O\>KIWMDWKG[?)_F&=[Q]^%;G>T659 MVKV3_<];?&?W/?S_B=4/L[;WA];.[E^']<.][WN'_QS5SYI'.[OMP_^- MP_=?2(S!>9\0-]:!C8XMZ, MAM$0<*]I'=OQ?(9^A^ERGQHG9LEJG-S< 5/%89)+DLM@9" \>?B73MPYJF%5 M!_^5/:)D\V@L_HB96G_ ?[JPW*]T0EC5<4EDVQ^ FQL;GQ)6EM!A$-!FQQN M;CFRG%@4.>94::>$I=-#[51D,+9,:1,=Y&J!N!1F57/5\(U_V<\E9#&ALJ@^O M>_W+,M_7OWM*"WOWD2T?LLU3S8LW567;_"UHCEV:MM2:O NUYB9OX([69.$SE]GG*Q141J[J,:: M>2JXWT&,^MJO@L,W_=UG(5R]5_GJ6Y=\]1S.<1+[QTU0:NCJU\Z4-\JP3S,L3/>(BG1,=?0;C?9+NBB*T7#<^%)V?,(8[[ MJDWHO+?_9Z][]';D&T&W[1S'D8_8G]J=B_W)A+]=:IAA167A!5G M@OATS*J/ F69E%SQER'M(D/"8)OE.(S5:F6=,6#%V=+/A14+*SYW5KQ3I-T# M*Y9?'W)7^'%9^''*:@S4Q!SFK5<-FBZ*_ M6$6392:R<8A#$2MYX5[S>)P+_L1E /,0.P7S+V J M9+1"8Z"_5:UT43MXL7!?!G?P'.X%T7="]+3#%[$C5%""F$U9:=5A9"+6",Q9 M2TV@@'&1Q4L>[.T5/"\MGN?@QY3E>RG!/K5\)X>)P-HC1:1$/&F-'#8.4>H= MUU[82%1>OCE^2;+QMXGS*(F;)7&S.%']K>^#GH6>;W5L[W1[$(_ZC6XGM[+7 M;8*DW9"S(687],!;*'H)Z'H*=LY$N>8C@+1E"75B9;(X201(2*X M)&02N;XWD:N"T99B;2-OK\&EMR7$N.Z[/IXY+C^AJ& MN.2XOO0A?GTYKF\KR'V_V*]PX_?-T[VCJI'_WY=7^S?E*'^]6G9;"/_FPV=@_( MWEDX:KS;YO7=#\V=W0^MQKL/K;W=C=.]SQ^^UL\V3G9V/YU>%4X>C'?[3 +7FJ4-&=J&CZ:%]H M$QVU#J4H">(I%^75U"'L8-EQ*0FF&%"1GLWJ*T14B&@9B6CN4?V%B!9"1%,V M$58V*$DM4LXEQ"/5R% 7JS&"SR@/@JZL,_*2(O2?F>OZD)3BVVXQ_"PGZ8K> M>W$Y28MR]\X5[PMO/82W9H/6&5;)4!V1%I@CCH&W+'4$:>(P83@FEG.+.'NP M)_<3[GBBT,8"V@7[/@6T#62#8:X6B-1AQS@W2E$GDA<&)&N8]BW/) M_BV@75K0+LI/**"=%VBG5UI.DXG&H*0KC38.BZP)/@?=4>:8X=:%E75]A0#1 MTX%VGH=;5(RJJBRQAS"&P*20S\!^?VK]H8=E3SQG?EN4)W%-(' Y,9H?]WV: M\3*<% P;;1#1)B*>%$,F>8D8%5'HD+(BV\HZ6Z7BP:*]=P7.,U(S>;UDL"@/ MY5HR*'B_$]ZG'10/7"T$P<@[I1#WQB)'6$0T))%Y9CH-0 4J,&2IP19;#BR1,_M6"9]7L,CRR:\^ MO\C6S9@B8"8\>6AKN<-L*?TJ>^#ZY3ZWL,Z"SVN@72=X3TN<\]AK12, 4$Q@A[&Q / M 2/C8/!X9-9$X3U3,6>F:4KH[TL4A51PO>3><\'UX^)Z:JEV7 E*O46:ELLEN10D71R3A;/=P8QCDK"6 MF$B*O+$6<:XY,HD'9#P)E!,N0\B5FLBJ9.3A0F EL&GY[)>%^25W!W>Q8NZ- MZVGO)&JF+/$2B#(7+,DE>YUF#&'M@A+)"!'TW*R8@NZE1??"O)."[L=$]]2J MS:4(4FN#@A8$<<\ W4%19'FT5-)$!&/+B.[7=G!2BBH^O[C%\^V7T>"5D*4Y MGXA,1.)Y@+$(!)F@ ^(61^2L#"AXJP.E.EKM5M;G%9Y8-DZ7#[F+.Q IR%W( MP<>D[HX2(1J9-TBU1EQ8A73D%'&G%5'.,XIS8D5![HM%[N*./ IR%W*T,4$N MB3'ZR!&5')#KO$'&8XJ(L81)0XF+<66=/+@HRY*>:CR#C*@)$!Z:$C7'[9$7 M%A>]7 <@YU!_6.FPNU<6$5\D4Y9%7U X&JD7#F0(@T#BP3V MS@NF$U$A5S_1JT;CN94_>?ILB<(*R^RV%*MG7G!_?QGN6D;B4W3(66%RI)9! MEJ>(I)4>*_B?4SH'AZ6@_06B?6&N3D'[O-"^=QGMG!-/J0+_QE",N @4&9A- MR' C@*N]55DM]^%.SF/!_:%G)A7N 9A,W3T)YH8-D5MFAI5BE8OOGZ7FV^7P MN8JOM7 Z_CISS$.2!X/92^0# 4JF\(?F@2&O.7NPTSZZ66%5TEI+OG/CR M])4F"[46:EU.4W9!!=J+"?M0SIP^8+-<Z2X4]BIR)A. MX*_BV:VI!R7P%](LI%E(<]'^?[%"'X-1IZS0Q (7-"D4O4J(6\N0*)OM5M5FTIM\-WW M7Z"/79 J(B >ACCT?*[U1!'W4E@'/A2,PW2M[VL*<_,G*SF_VXRUT((A[\6. MA]NZ.#B)L5/5'N\/[& XZ/9.:[83:G$R+_))=ZT'*Y,^FCTM%\M-P7@J?)S,A$M?/M_!0?29.K;C+9Q6_7#K MK+[K*5S#&I\_X<:[W-9M<%[K9^#<'C8V#_C.YON3^L?I+9SMT_IN_7OC; ^< M84_V=]_#\_YI[AV^)_6SNMB'=]N!:QN;&]__<[8]>Y!HC0XV8!0%!G=8.(YT MB%E]RZ6$E0J!$. @,(R?06#'$X#H_Q12>D)2>N#96R&EY2"EZ9.ZR)W@V&,4 M%+6(2^60<5*B2%U@/$8LL2VD5$AI.4GI@6=;A926A)2F+"4E8Q0D>A055H@' MC)&C02 3N+8I,2NE*J1T6U*:DV3),CNQVT?',/[Y<"6[L>,CE"):,K\HUT7X MJ=?'N=Z&A*]6;XK]PKYW8]_ZC)_*C69*!H64SDKO*41D$C$(Y@@ARD:&14X_ M$&NSTB9%YGU9H?VHSMY,R% !]&,">MK'HYHK2XW-H@D!\>C QY/2(<<8UF#_ M<,WPRCI>FY5'+8(G+PC4#W26"JB?%M13JW34A$H=*0+_):_24B!M9$*1QV"D MD0JFS,KZ58OTLY="669/9*S_4^L>QUZ%@/NY(:]:'/8YN2'3>D_Y&YOCP,%! MZT+@V5@.LAA0L:>2,8XI(&9)GTB"C&@B B.%EY)0\V8 JXEWKY M?KA;4I;O98+Y]&ZB(C891Q //B).L]8J5A%)ZI2G!FB<^I5UNC8K7O0DR_QTG$1#$5*@6?"601;1KF L$D6%C.E#%8K MZV1MF71I"\SG;\L\A:<"OWP[8O$)N@N>[XKG:=_$J)2HT1:IX'+FJC-(LQ11 M]$%)1T-4,:VL\P<9+07*R[QB/ZE74B ]!TA/^R$A&)OKX:;H+/@ATB,CDT/: MIX0-82HYOK(NK]A&+.,LY]A[_:PS[T>CDU>1X>";S[][OOM&Q/AOGO MD3+"C67V"NW=BO;V9CP3C0G#A!"D*%6(1R:1=48@C9/F/OH$8[Z,=?8*Y)?V M&*5 ?KD@/^V\.$]U8(!QKF*6CU99.5I3) +AD5CB%#4%\L\4\D]]N#(O\!>0 MWQ'DT^Z,(,PRJ5'4Q"&.G4"6XES13IH\Y#$(EG<<63E6>21D?AQT_5?D;%;] M@CF?]]LK()2SE9<<_W75*'MA'KSM]@OOW9'W9HON$N\T"S0B MX7-JH(L<&4DYDDDS$K$(RA/@O8>=)Y>MV:4&_,,=F0+XI07\M#>3!!>1N(B" M4Q%QQA/20/;(>JNQT"(Y8O)1S&SR2L'["\'[DY[%%+PO&._3CHTE22=ID<2N MROUWR"GNX8^@+-<\,N=S7LN2X/T5'-'L#)JQES6,X4;@N]=:@WA4LEI>G5=3 M38/";W?CMX,9!T819@Q8+(0$YJSTRT4BI" _:BASVOB0;-P7:2WL. M4P#])(">R6.)GB0I!1)8YWH'1.28$K!:"-98\6 WBTTDD@5 M(T$I2'%IE@&$HFL*2(5=[F,"^R+.$. MK^ XY!_;'E4@K=EV*.!M1$'$[GBSD$M5Z3/]>M;O9*]\N)=FRPT,AST-SKAKZ[K M;_C!3@*"525+[WYT]WW&FZ$I,15T1#;RG*:'*;))@76#+0]$&D=L%@9CRQ+. M6A#^(L*]"J[GC>LIK\7Z:$.R'&'A =?*,O!?F$ A1JX=-U%&N[+.5%'\>]G@ M?HJ:*C>!N^AJS OT4[Z+IS0P*QG23@O$O0C(BJ@0%48*%SU-V,U-6&.)#F6N M)8#'+7$[>JDW#'HA=(>N'<\K=+ZP&KC+[4&\A6>W.D/HTIWS&C>%7.Y(+FL2YPTB#\X"H!T,1[$.L25Q9IW0N&Z'S0]1S+(A;*&S)K*C' M<9$*<35A@T)V;(A0O'_8U_7&(==.UPZ:C505-] M>-WK']G> 7P[ST-9K1[7O'M*"WOWT<0&MNR.J.X-P"GV\K>@.79IVE)K]O): M\#\MJ[T0-E 5+>&*1<.\P)[[1)/ER;DO*J>OP=S_UV_VV;Y K9MJ>1D"2/2K M][ABR8TSHW'!.Q20:/ Y[[)F&[FL)=R>=G^Z)LQ#-MQ M)\U$E.1"V"WK6FW@G]BOYL$N//J/=M=_?:8+]_Y_FM@?_=.QG\UPYW#O9/_S M%BS [^'_3ZQ^^*$-BW9K9_>OP_KAWO>]PW^.ZF?-HYW=]N%_SM[CQN:G+X%$ M;((B2$0L$*?"H%RF 25B@\/>>(RZ;U^:)5+;<_%L+*O(#.:=OC?GPS^>'W MT.H?M^WIFU:G>L7JHM_'=Q^OGOD!4Z9%];S1Q^.51.LUK75>3,:;SN,'C]>9 MM6J=F;*61I\IO";)]1_C-7*OS\B:Q.:>5U[?&D+6*!//J;'J5K>]X;C@#J<" M-W[5S'SU"@=Q-(L?QZ+54WA75UJTF]''[ G6&%F=-6X?I^LN./]W6NU_S MDGJ;W8Y[OO#C!=[=O&Y4[WOU!MA+'V)\%\B\A(RQS2L6^U_:/PS!"VO[(K;X M;G&/6\VOA1X#+Z21'>U:TC4JEGN>71'(ZVVO=YJZO1/;"PNI\OO@ *!E MZ\3_?4B$QG)OQ%V[KSWLAZE-;4,H)P(KX0GF!EPT'I+#4C!%#1&6?]F^*I0 MS9S$S;C .Y/Y^6^8GF\OSL[+@4N=X1$*W6JW(M_\?(>;/5,_>;S!?;A_]&>[ M<;8!W__S:.]P&S?>?6CN?-YBC<.O%)Z3_6-X;KM9;TUO<#>.]CZ#3[T)_W_> M;]4/W^/]=UMB+V^6[^9WVCO+[P'W.OW/6?T*T9<8N(X4<8(MXA9^TB(IA)7B MVE#+L=4KZYJN2K5,%1 +2Q66NIZE<.24,ZIH"(PK0BU16,A C K4:!8KEIH) M%R@LM30L-2UB(Q(C7K&(:,"YCCHWN:"11"XP*KUS"M@IRUWP5:,>'$^P1!&6 MS\S0S )\OBI0/ <#\U4GRCZ!279>7/HBKVT<07<."KG-C]S>SYA@R3K.A-#( MZYSI[KU#ADF##&'!2">9\'%E7=!5P6:37XM6\$O!\;R,EH+C1\+QM)$22!"& MJ80X)1IQS7,1^1B1"H(#'P.X95I9YP9LE&7"\2O;#-N,QSV8\&.EKDZHV:,N M-.ZL9+7/.2ARGI;*-9&0,_[9W[V\SSDX_;MM.X.-3MCZ[[!U?#23_5:8[R', M]VFVF#RL2PQ6*\1(<(@'99%-5J$8F(;AA4'.\35D59"2SOY\H+T,&RX_ 73! M[)TP.UL_T9,4%4&*6HRX4@(9XR0*CG N:&12AI5UJ6<16[93'@F &][WAH"4 MRDSI1;C)MUCV4I[#7LH,C\$/D]^-J[!\&(\GD-IDG*N_X\50T&*VS(\"]V;, M%@=$ISF8+1;6+W#8I,IRR@[1R)DVS$B9!)@M>)7A!Y]]E8V7I07]PHR7 OHE M /VTW1,Q>"I)!D18I;SE.7(J811R6BJ'_]P8]$K,*S.U[-+WMBJV?RBU&B:N&U^?&:GS%F+&5.4@\.G&?Y%"EJI 51R''OC$D*2^OR M$?DJ$\ODTA4L/Q-CIF!Y<5B>ME$_&//.H7O_"VVR]G3'/DQ(,9^X;AD()1&K$0;3YC DYD3"*1+,%"Z:BC M65GGJX8^V+PI>S5+B_]'W*LI^']2_,]$UU 'PRTLDIY'Q!,A2'NN$.->NB I M8UD'D:_JI<+_*]NVV>X,;.<@UYH?YS.6?9OG: R]ZW;#2:O=!MK[,:*CCPK) MS8_D9DMP1ZV;Z), %B#N+0TA]8D9'7.6\($_B88L)Q6UH5\6;5Y MGXN-LC-HQE[9I'F.=DDU=(6>[D1/5Y32Y59I(DU"1$:/N/$):1DD4B:!^2%D M%(:LK(-'M42.5,'HLS,Q"EKOA]8I'745#:5=X E8[H M?+#[LNIB5L^F8J1#N\3&Q+M>5M.Y0K7QJ3<^7ICV^C)8']58E_V/.9+=;%U, MXWR407MDI >'22>*+(\661(I"Y;RQ+/0@]&K\/^<=D 6*:M>X/]B3H@*_!< M_RE;Q[.0&!<8)>XYXDD!$80HD S"!A="DI9G6\>L:C:OT)>%P_^5[:_\8]MC MG7:;]:IMQ]\O>K=XL'T^\$YI9Q$G00'^<(.M" M1-*R%!/QQF"YLD[-*F5R.=R] N:EV98I8'YB,$_9,M"12LBHD4S. )AS$*^& M?V(%, 9_QE<)UI4M(U[(YLV]5)QON,=X/E;'%'&G-;)<.N2T= 9C)Y70P*]2KQHYKV"9 M)RW15UBUL.HK,UTO9<47PKPC84X9I$Q@XZV-R# !!JE/%IFH(V+85'B^Q0T7;8Z ME1OM]J48AMA?K=EVMW-0.VD-FC7;.:U5993ATV^SN_OPW5ZL^;;M]UNI!=^I MZE/FVI:=BMBKZ_ZP[?S=VL=FC(-NM?K0(_\=MG*' MG31C9[4V2@0>'E>JLE402+^?A0ISI<]OMM?J#ONU! MJMP>=V^KX]C OQWX8AZB3J@=]X8AWV D$6?[ MW4Y5TC,'HL!L[N1O0H_!O>-!*P]K:Y#;?M2%&[5;7V/[%(8*VMOI#O(/>2D^ MBK7CK(@++S(N4GIE4=(6S)E\E8OYN6WHT;!6VQA \WP3?E/= IX-[]7JAM6+ MQ4['G0-#E'\9^P.P!"^\W^AN([OO=-*$@]YYU:I\USPD,7_6&EP9?;-6V[VB MN.JH+2U_872@#?8K#&=GT,W&;+\5XJ@&<@WLB69M5!+\&[3R&WR2!_Z7<2N/ M>]W4&DQ:"?\ZC)6QE,NT]FKQNSTZSDE0U:A4(YQ:'9@Y+=O.S:@V!N!VOU;? MZ,0#._64T03(YLW5%UY\RJ\93C"N(XC"&W7A1J,Y"UV5>^^\9WT7K*8+77MM M]VT.>_GBO ]R>>SR/0XZ>;3S-&]58A#5E6Z4'YGO^K]W;E=&/E,GX_YEE[>_[^Q^/:D?UD\;9W7:V'S_Q5-AF2 , M*<53!8;;92JY^,D,_K7U&O@PR%8P7/S^$1HUY M>4(9%?T N+8[$RAGC.4WA%YIG_9;_7X29WI43\R6*)G%^JF#==U9V>F'FBL;FN/@.RYW=C2]6AY[8; MV$/'V;?Y!J0P6O$OT8P]BZZ76'!TT@.69JK53Q^-@T":,67<=KC]R4C1!:N0O!T#F=9N/+9NQJ M[2VL0-"P3LM>,&FKKU0OTZ\$WVW/-ZN/ ZQL[6Y5^6!<86])&/O!U:9>.5A9 M?7/OBQ616:\QTM@3Q(D!L.*@P=UR*D@#=&YBEGU8NT[:YARL=YD"8% 'Q8+$ MW%MXIK9."TUD(DH1!8Q=IL!C38'#K2_2R:2)50C(F2/NC$>64X("4Q)K1Z3! M?&6=TYNFP)T7;:(CY2IQ%YWGSGIG:$PV\N2C,3'@,@L>:Q:<[7UQ$BPH2Q02 M7@;PJ:) &@PVQ)Q+0B5I)9= !&OXIDGP4S?AAA7]QH7GRF44/*G1W?-5U=+W M8X&[W1T[XWN--@OR>CMJW.1+DR,(>.9HM9PLS1=7S;DN\?)6WJ!9I#=8W?%- M:P"=Z2_YA^I*__!39^)*YUJ\?U?;U]U.?\F=VH]O:XKCU=JDF8_=EURT71[N5U7Y\!1F8N;'?[+9#->&/ MHNT/>]5>*TSR 5PP'%03OSH1.#]4J'!3?>GBK:9OD&W-T:'2>$I5YR:=6G4* M<3S:&1UMK8Q^7^W\Y>_WXF#8ZXR ?#!LA6K[#Y:0;MXVS<<=_1^_SJB/%UJQ M>GZHZ.WHW];[O*!4VZ;Y(0/HPJ/)ULV(75I]#Y;_Z+BC.J ;'?/D\Y+A.3@N MODG_W(7H!%BR)I?U+]GO\&[G)Q_7=F!,"7IB9)AWKGE:=5IX\RG7%Y75:G3@!I>.@#]..JKJH=SD7H3.Z.>3 MKS'(?LD>_Z]3K)N7NC%Q5]/@$H&-H0&&4245,.FS-]7[P9U_/VF%07,2(WSA MPG%P$OYQB7705L#(M9=<"$'*1WJQ]T1\*?%4!UWXL]F;M.;8'D3D>M%^139! M8]_8]HD][:_\=GD! /:?ZL/K7O^V:T5*"WOW41086([=D97P9G2FT:HB-NS2 MM*4&1 RV]?^TK/9"V$!5M(0K%@WS GON$TV6)^>^J)7UW7Q@_Z_?[+-]@1&: M 0^=+'MAUZ^:G%,0'EGZ!'M/DG7&VL ]$QKG&V/BG!4TYI*A_[H4;#.'D^/+ M/LO'X1%,ZM.=='Y6_+9JY$$$:H_]77C6'^VN__KJ/)/WN'ZV_44(;#3U >F4 M);<)D4@[C)'6B6!A2.3"KM3 &+''F1UAN;D?82R4+//RF+KY>*^*AJBB8_)Z M!R/.44O.%Z,J'A;ZI&V/ M^_'-Y(??)T%IK4[U9M5%OX_O/E[!\@.F8F&KYXT^'K.YUFM:ZTSHXT"]\8/' M7+]6._H,X77)+G^8[Q&[O4969/8W//*ZUM#R!IEXCDU5MWJMC>$6-XA M_^[&KYJ9KUZ1OS&:Q8^3J*"G8#[C^%:&REZTO7YM"U:P<+[O46-D]5+H^B-V MXX7^A#CNT#FMNG(RYS\ M-0E-MCF8%1;6*F86;-I3H)1%*)?<=-UK3:V[\^LO=>;<$R3.?;I@MX(O,ZE8 M\AKRD+O?ZYO-P_K9?GM_=YOO[>Y!.QI?]W;WFW5P:^ITC^Z_V^,[FY_PWL>I MM+K#K1-HYUGCZ)]V_;#9;!Q^.-JC'YJ-HRUX'MSQ2Q)G(FBUL59!9S9;[Z>DN39)Q(;I"='#<+LGQ]B&(ZPFT_)+IV-73PG M.NZUX.-[6\6E^,LCI43=EBXWXSB3Y4.5\0(=^F>O>_1W'N6_JQ-5^.YY!$'A MUOEQ:WW&B!2)..VI1RP1C+AD KF$*0I.$6:2SC-A99VLPJ*Y'#5C"NCG#'KA M+-%62QXXYAXGFX1C*:08&"&6J@KT> +Z^SN#=P1]P?6=<#UM,RF-P;5W 4G. ML@8@C5D#4"'C9 PX4*ZHR"F4LT'XS[X2U/,UAR91_/V%FD.O6A%U":VA[4ZQ MAIZ$-=_/6$.:*$FD4DA3F^,.?!!9=I*6%OI/:S85Z#\*]*>M)Z&EIE(JQ*+*A6,2 M19H $P#B@W9*Y-3^:O^8B"6"_NN*+8M9Y>')H\J*HOOB^^>E+"7SJI-1PC46 MOB3LS5B#C*@@G R(< )+@HD:61-R03&BM F:,)96UJE8->;!U3'F#J'G$;A6 MN+1P:8GQ?8%<.FU>)\FPQ]@@XK'(GC5#+LH]=V-+]$J3$.*2% E$>J"7]/9&4V.F%[+!BS M,=*?N?' %+^Z2?C^!+[WQ2N)A:4"$9NW["1.R$B:$!;!!&&<3BJNK'>Z,U-P M5MFGV[L@['-9Z.B"4L_/-.&67/7ZHL11&LDVG$M+]2>*^Y\ "!.5H9$6U$37 M;:0.>SCLM?JA-:K2L7KQDO\73*70/5JMO6VV.B,YUC]Z]JS5'HDKY6>=5NGE M%%[S@CX<& B]F)7NL^KL: WH#]UA!?-N59T#;CV3O$)R6 MH[\.]S<_-(&.&%@R)_L?IRFI?51_]U>K<03W/GM/]G??T\;A/ZW&8?UT#]RF MQKL_@8X\KY_]T?[/V0%M''S!+BEL#4=)D%P?D'EP<+*"-);26,Z(-G'E7$(Q M;&1.A^D%_$4PBXYP'K$FP7KXE4@V<0[+Z)0\3",.+FM]U:#S,[:/ "75(,PX M&9>F^Y4Z0C5L7-5E86"Y76TRN>9JR^\<6 M#>)EHB@Z#]87%1'!"F@0!4/8V6 LP^F6JD)BJ52%JK(40-.#YJ@"#"Q8PX&= M%-)R>2:,)0JKN5#)E8_7YU_:%1:. 0M^A(5^GCVC:)KF>7$*^'K(6HAP\24E MHE58;'P$/S_?8'1EL /[S 2*%*?W$2@2-8V MM+7^O;'9:#6._FS5CSZ1^N$6:[R=CE#YRO9W-\C^YT9S__/^U_U->*_#?YI[ M9UNX3K?IWN?MT_W=3Z?U78^O$A#1FAD9B$%,1\2,Z>AJ M'AT MOTA:S,T7&'7OHGK*)ZR,L]O99X5 MKP"'C@CE-)*6"_ 8J$4V.8JTQ2HP%@QF:F5=LE6J'BSZM7P>0T'Y IW^@O(G M0_GTOH .D3%'&9),&L2%\SW8.1N79"SO.CQUGA5DLF#D8J! YD1*PHX_ CDKD%&2>O(Y& M)[>RSE>%,DND2-_*87-GPGHIY;[**R+TBKD: B(NQB14\&B MJ)QB.@=$$/'2AS8\I M_8QCI!)F4;J$B*%@'O$4D351(",EE80D1Q-?69=J5<]-P/QV4'I&V\:OEQL> MZ]BH<,-C<,-,(;W(P77B$86\F\P]M4ACS9&-AB1%P7&2&KB!K!HSK_#VP@TO MAAL>Z["I<,.C<,/T<9.-4@9GD"+4(:X(1PY3BKA.)CF7R3_-^;AIL=PP=KTF MK1A/_)$6U[+$ -X_97-*R[8T<7%-G),/O\RN>W65 0"'DHQZ-@N14$!V- MMT! >$T4 BH$M*R9KM4[ M\?+6R;]WMP?UCQ4WL\;NQND7S:2V,5)@8AWR%K5%!BNP$9WQG%'/8*YF)U60 M)8H *AQ4..CIG=3"0??EH/>7.2C%J+%/& DA/.+.2:1A%J"4HQ.]" Y'6_FI M+S#XN'#0\^&@I?93"QO=EXWV+K,1%41$QL%!S7]PFG-$F:-()NP\EL)'^W!7 M=?G"H9>94_Z>)("V3W]DA8Y#H.-WWQZ&&%9K)U.QTD\=#?W28Y?F'O.\ 6,\ M&=Z/T0][K5PW<&L\P'_VND=O?U0NFJUHM7$$@S H$4US9,?O,_XBCHP2)PD* MUFG$>;1(VX#A)R9H2L["5%A9)ZL8SRL2>HD.%0KZ%QC5/"?T%X#?$>!3SI@P MB<;((O+*!\2%QCOLPS^'OCGY7;[IL:W9/(MQC5'^Z=70, MXUH[L7WX$0 'KVG;MZK%_72=^C,OL0G= WT2.^?^8BT!Y5Q5#O4.15!/FK$: MFE:O%D>R1:UC!\S5@[X8-6V[6'7U&&Z4BWF%W!2XW>!".?)>/.[V\D>V>I7\"J.Q MC><*2]!5/\25+O7:^;RHG72'[0!==^D=5JNVP>2P>08/VX-+O98?-=M9T#7Y MZ7U8%?*5[CP\^LJOWZJ8^.4T!$[75*[H>MSMM_)WWO1B1LNW."[D.EX&+UPX M+@.+?UQB7;^;7^3:2ZZJ1_L4DUV2J0ZZ\.<=ZJQ3LC*YJGF>UG$,/()<+]JO MR"9XQ3>V?6)/^RN_7<8\ 'ZJYZ_KM OT(']&#RDMK,=&:PI8"MU>-8'>P%H4 M>_E;T!R[-&VI-7O9_/J?FX<.%N*J9O>_?K//]@4R![W-5F=GT*_>XXHI_72K MS$RIP@IXA*[5:HNNVAX/LO3)AXK!89W>;/4]L.2PMSP5VO-S1B8N_+S!&I_! MI#UK-O>/MO'.;IWO[(;#QB:8KH?-]L[GK9/Z[O[7G9D*[5NG]4U/P#0^VWGW MY]'>X7M1/SL \Q=,Y_.>L?E+?//@B;')"("1IQ M+01R)%=SX=0&[!+1P8\\&5@I8MC(GD)2F,%E)H)5RS6+VB58 H5@5"C.N9LN MZ?X!S""X>+0BY^F935Q8"%N#9NWM$)9H&/3^C(EY:>I.K5:CL;JY'9?;K;"3 M0D86J#4K!R#2[U6?-")8*W"M[BE6)^%RDOGL<1R0%#1G_#(;OR&H9/>JX#6]= MF]RO=2M3Y+C;R;P$ID^[>W+)LLJ>\^B[:[4->%PONS#MT]5+7VKEM^ST6T", M8!8-NMF$ D,>F#I_.8[-LY$1/GJ?W)8?+:P> L[!T \ ]Y4A.;EWI?JB?H<' M-%LQ7;@F.\+]/-^.[%>PI\86U_15;ZNKMKZ#C5<9>SLIM7PV_',_]N*W5CR! M[FAU;,=GS[^57&=T:P[L?*H(,^SOUX/.R!1073:F1C=OUY MIW>'/1]'W1Z_V?9P],&/A\&K5$_K^&D+\ FF>G7'-ZT!F'O^%I/_7>P>].QQ M$Q:$[1]]]N;)7^-&Q*8NC-%)'HCLOH#+"!Y?[S0/7F],A:'5MP<'O7A@\]B[ MT]K!CW>%W^:IX;)\5VT(J*DFW6C01QY5Y61-B+/V2^7.=H?0ZM#_]5;=(ZZJ M7WR^H[6H57B\#N2MJ:WO\,".;9_3_Q^G/T9[ RSE?F6+O>[5>>^+Q-H)H11R MAN6]8R60Q48BG3>.&(TV2CN]VOYK1-7G'EF51PRSOVV/^_'-Y(??808"3Y^^ M:76J.5Q=]/MXBHS=N#Q+IC:*JDDS^GCLG&B]ICC-_LGXR'S\X+'KLE:Y+E.[ M5Z//A%QC1ES[,5XC]_J,K,&J?L\KKV\L(6M4E,8NJK'F5K>](3+C#GGW-WZ5 MB)GO/HO"[WO1PI*PUWVX3 M"S.O NLOJ>-PZ;A[=1PQ=T'P2TBG^@3^&I#8QP&8R LI37 '"9:?3Y^7&49\ M^]=_GJ?TLT5?O62.2"PQYHJ+8$U06DKG=):< W/[SO%W%QR>R;;7Y]:@.7%Z MMJOS2.C&C3[X]N#M[=KOS^1 _I[^T/A GNT?[1_N;/[5JN_^U=K?W(-VO"<[ MNW\T=SYOG]4W_SRJ[]9Q_="?-$ZG#^3#T?Y1G=>/MK_7C_[ZVCC\<+2_">_U M;DOL'8+/]'GO>_T,WOEL@_WG;'M&022Y*%T 5\I2DXM2"?A)2XMTY(*#2V4- MS>5JI%@U>5O;]P.GP%V6Q;PU[WN&2G+9+\>&4%6IRP MX]R#7TR<#%* $\PC)_'NJ6F%_)Z4_.JSM0H-E\!X"05F*>(A660H#4AP:Z2P M$=, KC$7J_KAIF#)5%E:H%LC,(O@#T1KN0M"N=)2T52,BOK--J^#H[T=K(@8*?UCZN+>*0\U9\]_)JL<[R'8F)>ZL5(UAR(;FQ MDL1HA#-:!%]^]G_%@I!(A>,\02<0B3IA&AMF(%(7A-+#>J8@K#T:1 M4F[]Y0(]$NLE\0XK;[B!M8YZ(K4@CD?K';?%@WEN0)_V8$*2#"?ED0;3-1=7 M5\AI%A'C,7H;G3.>@@>C5C6>E10K0'\I0$_")AY"9!P\5V634T3Z -ZMDUQ3 MQHH'\^R /BUR;Q75- 7$O4H =$W @S$).4D2BT18JCP G:]JNDQJRJ_@R*7> M"J$=:UNV/ZC]7WMT_'MM(V67IAS"+#(@!_O(= PA;]71P$P*3# %?@P16N%R M"//,"._3C NC"4LLZ8B\UQIQ2CQRN/@ MPF N4E(R6@= YZM8E4.8EPMT(SF)U'#P9 RX,M+)*&5TV$0%GSA97)AG!_3I M%5U+&CB/2! %0"?)((.=1=1@;;@4WFD*0->KDBR=!. +/X3IMVSM;^M;J>7+ MR+!5T]$>$YX-#FU2B9F/)/44%G(F,C@3QX"B7-@4E\6XXG_9:!+@G,7! MW0"T TC:2@7*.DDE*#.!IHRSJ5X\.Y$P?G2XEQC M*W#@*8@DN,72" M>K(A!$Z\P,\5I>78XGUK/%<612,E1<(PA[KU!UEB*L&&* M6:,XH79EG:TJ^F"?98F.72K UQ5I;T[YRV/FZX;YP&-E;<8-"1TAUG':X+\ MUYIO./_^>2D\//=R486'GY2'#V8CV@R/6+J(/#4^'X(K\*L2N%DZ[CS+M%5&/>)&7?:PTW:5!%L8MC%L8]YITU'E732N,^]2,.VWC.HN) M)@I%S]SH@-1I:9#B+LH4E"&,KZQSRE<9PR^&<2^76)NN?#$I>;'(BBB^&<.P M'7?25F?0&IQ^;H7XHRK*3F=*C?W?W<[!OUO?8LBX&/2W.]L=:&0K#&W[SVX/ MP-UYFXM$]%JQ_\?IZ,?35RW>OKOUQ8L0:<("1:9XSK\,R 8=D97*<2]3O*)4 MRE*6,YBN=W&H\'YXE.OJQ0!4?-P#HJPJ M%ZQ6-46J.@8_:O#]*)7PHP*";>=OVKE6-GAT47RM]7U$\15>D^3ZCQ\@W8YO MI[%^5^EVMA"=^44U5BV;SKQYGC+S15I^^:7EG\4+7VW O>A7GE'!?P7!=D7, MO [K]K@%?_5[OQ^=-9X^P3KI]].-S9!-_GW9[8_UR'MOT%;?[$ M]F9V!O:_[M'W-%=7W]^ML\;N^[/&.WC>YE>\?]B&]_CK:.]HZWL#GG^56#O' M@G+B,%*:\:SGX)"V2J'$;)))$^[%*!G*X =O#!1QXL)VSYGMO(Y!.<(TDP20 M$K3&4@45&"8V:F8KMKO%@51AN\=BNQE9/J?!E]8,B<@DXMXEI"G7B%)N(PPE M3]Y6; =C_%S8[A4DPK]MMCHEZWVAZ2,&AR@Y3T;2_*>E3B:?!0NE)8:E8L@M M%[7-2@L;:0B6,2$%8XDX9P09IQR*CO!$K+=::J"V5P?99/6^]G992DEEL6.+ &<^QPA#6*:TN<\"$1P8F5 M3"M,YF-E%':Z SM=4/@\W*#US:]?7*38)!,15=J (>$8LBYY%*A-(AD=DS8K MZWQ>_M$2;?@4G(YQZHS'DE@AOAXKSGQ:BB(3"N"+5$ M82$#,2I0HUDLQW/+1JC3&V/4"!C$'% OFD(]7*60A5U/9VK<'44-E]DO'IUQS>M ;38WR*"?9+F4ZM2%VX30T[H MDX;;'_< L;W3BD&JAMO<\%JK7^N-DI?@;]\]Z,!M0PUXY[C73;'?AXEFVS5X M[K>6AP9-KN[73IJQ%ZM@^_,/IS/\Z"JG5A6M0&\&*K M<'7+-VM-VZ^=0B/@BR[67*O=CF&UBO^'9ODVM+"56G"CD]:@V>KD%("< Y); M[&/K6YY :[6-H]'O\L-'=ZB-O]H+MN-C=7'5#GO0B^!S#X_A[2;O,827&\3> M47^MECO)V79U#;2KFVJ3<.01T!A9K64#M78"G_[OXNU>,4W35V665;/OUC0M MGRE-WS]G9ILU-@]8X^SKR<[FUEEC\],7;(E6.!#D+6&(:R>0C20B29C/Q9NL MIW)EG:Q=IT$#\&SG 8?Y,9K$@Q^Y++7X_3AF<.0)#=^K73M+8(1@8LUEHM#) M/($Q_G[])-FJFA;#;O>/^$>%DP_QR+8ZP/4[:2_:WM^QEZ.:SR<+HJ]\MNQL M^B]:*V:5ESES6R%N4XX6A*7:4DT8K-O*3$&>,D=Y-T<)DE M*7*+)(W.4WACJ35(XEB*.'Z>?87-MUT:>6H >I]J!:ZE!J9AJ:816-1QS=B) MM#=# MM>Y'V@45'XGZ ?6RO8Q&_:SG5Q]K#WQ)""Q-4HS&9_"\YZ[G\FRPYJL!W:#" MO-_'I__XJH>A99N.H<;P+PAT!RQN ZP"7W<,(P1<8D+LIA^?/J;"PBI--Z"G M/,D1ZT+KJ ] /^ZT\XN?;?;]MF>;CSG;[+AMP[76?EQ8:]NFL?[CPF;;MAX[ MH$6OM!YYO/O!P9KR;+,\V[S!Z[K.L\W[MG!//#"\A>7,\OBEO]FD=)FET1!]?6C7E ;,:YQ!W^'0[ZP9[DKP%NP]W;9H M:-LF*%G4PO;"7JAIKD5LZH'5MV0VS"S3KS+Y!+_;BR#NW=]_PK..?[__Z^;7 M;V=[[G]Y?/S]WS[_]W3D[_KMW=CT9Q/W4Q7&?'W_NG/7. M[K'6'%R;G!V?&?#,;V=__F&<]T[NSGM_W<\ZB 3&NNEYMJ%J>JBIEN-1-;!T M0XT\HD51!+OI."!NC9;M.1N4?BC9DV1/"\K V[;A::86>3JQ/)=X=FSZOF[& M3FAXNK?TN2K)GEZ:/4WFF$2!9IK4#%7?L2,L&!BHQ"6Q&GMZH(>4^,"[6%-0 MQ][!=N=;H4N>W!>T'V&B \DRTF_XCN61T>?H*.9;AAOJ@>8ZEFUJ)#)T,XR, M* I=:E%':EZ;R=JF\Y$U Y1HR[+5P#=TU+QB-=!L#?[T#5"M@8AC/+G5\OQY MD31Y!'P'\&Q$.O4)M4R#6+I/? KJMVLXIJ\Y,3$"J:IL*IXG5970#3R#FJ8: M^;JM6I[OJ1@851W'\P/=C$R=!HAGV]RED^*/\M&M\63GTPX6;#/G6->)),DY M7I9S_#%],DGW@B@FCAH$L:5:/C -C^I$C773=H/I0A=MP@-I[1IW0H( M<(/TWJW06600<.>"@)*Y M/0=SF^YH;YBV%D:1K]H>>O\\)U*#P-75&)A>'),@"BT3F)NW#NXF X&;B^F7 M" 1*3#\/IB<5%C\D$:6AI>H..WGOQ2K10PSPQV;L!Y'KF@[#M&;8&X1I&0S< M5N[Q(L% R3V>@WM\G](([" ,0B^,5)T8FFH9NJ$2+=945S-,S0-C*/8TEI.M MZ>O*R9;QP%WB!B\2#Y3'H M:^P;!"M>J8X= ?N-3%WU(L<$M2RBON:;(&G#-Q\MOV7Y3V:_&U/E5+)4R5(W MDZ6^B&HK6>IZ6>KOXRS5)D$4.;:E^M3V5"LP3-77'$?UHTCW#,L)(F2IIM\" M]KHS+'6)PM'X-Q)[TA\2-M=FB2L!&,M@#5,^#-(\P6O>9[0+%_^@HA25 %3C M1C%GK;Z%!#"]83'_EJG2+Z]4*LPQQBM^-?_;R>K*0;=4#3)*OJLDAL&^)]T[ M,LK?'(R7"$OZZL0:SIM^HYJ8LZA,6AP_V]PY<0''23-&"N^'6.L6KX+AD(T9 MB]+)D"O_*R%>:-LD,EQ*=,LUJ6^&MA9:86S$Q(J#X*O[YB,KX??O [*U$\#Z M="@W !(YF\<,XIR ,)<0KA8XMD/-R""^I446<#O="&S-IU1S/=^92W[Z:U9= MYYPVZ?.ZFN5?K$)?-%G#KZP'C/4TB_+6$269PM("^-^S2Y*+!^>BR#M,I5&H M,R1Y1QF0$39T*$NG8Z' 3(F&K-0GB7ZP%\/6Y+#B>3S"NH'C]40'-&/RG%T7 M %MC6Y.WX*88:X,&(SZ&5:K44L<.J4=U/-9E@7U'J!'$A+@^C2W+CD3=2^ M MIOKX NF50G+%EUF6JWVH3N:)=?;SCZ_4#UTO=&V5TL!2+2L*5"^FOAJ'U(FH MJ?L^MOK1_1DU:A51GI93!%#5C 8#18?P@K* C>XPJDO8SH4%7,_*:5, =A\) M5%2Z1(0L52UVH1QZ5D8@2$\AW6X:LHJ\12IJ]^)$YF +KAAD- ?4UH5XRT5A MRX?=$_IIP3HH!)3V&^M;-E@0JYM/+RLF1A/1.H%O!M:K#Y A_$B3$*[$*QH[ M1NI&$;!5\; 89A2'GJ01:YX W(<_[]7Z(U0(%PM[6:_K1;6L$O5SBE3?7QR? M?;4TUR :"53?=V/5TBE1/>+Y:NC%@1D:U ,K$5!OV#/JEI>P7]@\@W?WF-,R MH:*V%?LF."!$@B@@L>%HEN=1/]8]T I\W[,T/PZ\!_HFK$0_HDL"Z,M[W2AA M=/;S[*L+%J=E.)ZJV=11+=N,5$_W;"QH;H2A0_70L, (G?;IL>8(^1 85,E2 M>&L8((L^[*JB&TH/-KB35]22E;TJ\"]0IM!(>7VNSY[XB!KA1VE>Y*\^^@=; M!I40#?.>R+A\%C2Q4#KJ[D9'-FK];PIUKWJ"0=I)Q?LC3/ MI1R;PYGT\V^_?PT,L!,IP<(P) (YYD9J$$:NZNJ6$WD:C6S'?//1;4^SIE** MM;G<^LR-,:6VPZ8)BC>7XKH/D- 8D:Y*.H_J!? (&CIL#%*2TAQ2,LY^AE]- MCUI>Y%JJXYL!'IRP5,\U+96$-G%UW8QM@KD#"TBIQ4E)B#+0FN^8XJXDP%V3 M#,URI0N(1K6:>R*!1,K6:2@H&OPWVD:9A_H2]QHQ[T_9#>XJR;^_^FP6COT\ MK7O7B=YS@'^438 >RL6-KE6=GH2X9(W&W0^HT<(B51I./)^3C*O(;>7+$(A" MN:%AIP\SO4UHWE).^V%;>8M I1F(UB-8TV$V^I+TO_/?WK5FCB'MP\5"/JHX M8!4&K*:Q6G6.$!-LU>8FC&PU_9NZEAWZ>D@BV[;,F/C4\2([BGS; 4W0#AG3 MTDJF-159FE+$QV@&R:16NO6]UKK'VY/=G )SBKW0!>4[=D -MT(/&TR9+MAK MMA/;5+,L'S1P?59[,F1'JVVSYI(HUAS/UW5@B:$6!+H7ZM3S;-_4?#O ;=9] MLUPU(C\F5F & 46S?#H/GO.FN7PH M7\2(-$8BN)/(&W)4P9,?M#MZ?1&TD&E?]!L=1Q_/TRS7UF)BAD1W3$NW?&!H MA!"?6(9-J15XDJ<] ['#YY.O=DQ#US9\-21&K%I4T]0@#B+5MGU?TV++T7P\ MJ3KM=YXKB&?TC5WHI&HK3J^Q*]Q:?:"#%TGMZ< MG"F^<)=,__<(F.4M9<8MJA/'2<[:4WIR&-X$<,VV=*BLX( ME&YIQEO]H8+(I-8_PX3U*JX?IPR&63Z$X:%CXA3>IIB:]39XAU1]16^'PFMQ MK?XV0SM<+\ M[%<#*X\1L"!#OVJ>*2(+(0:E,#PP@F^37$"E#*W?85 JQJA#6C:ZI?728./= M%EX3DBQ+,-UF6,#"-"\9EN$LC'I@B;*6?]>,P[Q.R;QL&\;W-%9=X\=\V,.PWL\J,P3!0#FQBMR= K:A3 E1T&&0 MQ$F=V0.OJ4RDC-$-/@>'SC^]3IA9!_,J(YZW)&/OK=:[WN:V\HG PBG# M ;KSQXFHM8Z!(AV)W"E&"H^C,D%#,RFL"QI!MTG72[+(#6[>/5NFG57$5%'H M%9L)*F.G:/IBEW(AX)0+S%6H]5)^)5#!9K.U>HX*VZA\@#VC<2,4DG(I!''QM(V:,K-R*=K*!5#CTI?CB"*:)[=]#O"% M?*]&'2?<;IGAB;0YZ^%E#LD OB)U(&J& LV;V6-: ANVD +<> F1)[(!,,9Y M2_LT [XPPE_H@+&J65H[L $:DB&7)4F!ST+[ &-^20\(5*31+K]4/3)B67\# MYM M6!XOR**P4#!?H9I)6SGLYBGCX-]HR',N,#B-&5=C&ES%"OK Z''QQU/[ MF#C)AP$^I(Q*9DG^G?.@GKJ#3L(;HJ2,GTXJ^581-$J M8A>GO0%L:[78;/=2P')2FD$5.\,7,UF4&9O(B)*\8/)O, 3F&38Y0)QD M/:9*,$B62E!2&MP3><_ _P[[_6$E37#ZGT$S4G1MIDF]V>+T2\W9RGT\F=RT MTEK<;*%YL9Q.5OIJ&AYG<).PD%*T(1G0IX]\P%) +_YW>P0]9 MZ[G5Z"BE/#^=I^^M- 5T3ZV$ZA S_S(^]5(R@G16.L,>6MU9EF)"8/6@Y-+C@V&"MD>+MO)YF*%!B;&FEA",."0FOB=OZ@US9$1QEZ\P*'.D7&J> M:X1/K981EA:6-62OSHL,>7=>9V0' ,XX*;@ +N4Z/C] =R:@@AT?X'$FH0HD M:(5D7)EDE,,2EL9T'GQR0]5ANE2W.S&/G&W%N&)2C:&Y[DPS '$_N<+-1S+! MR4DJ@6ER *&F@U0 9,ZTH%9IN"*=A2+1%1>+*U,T8L*&6'AI*ZH]\KTDTP W:=@M1N7*PTTL A6E=WT^VQ0,8'X\"Y:Y M0<)(XB#/"_(=%)W#B&M1J(2VJM5:2--XV; ;X1#") ,C^PYL+6YGS94#RZ:&X0*JRE(M+F5>$@$U%(AX^$YZ.'B M)G*96(P;VRN3A -TFW$*^@Z*?B=-F04J5%3NL*X(&/D)7]]^.D4?Z'?GHV,\ M(A]BG9Z(:_;(*9D54E3BNH%6[L5" AND&+Y!QB,&4&NR6R>C&W&9*0,WW4H# M]Z:96RG'6CG)Z>/MI2L.P=L!1T;8&DRD#@I%G> B.P]*9><$\I]U0=I=F 1;"4 M7] 00RMLJ3S'9_4I+&3 #;MGS!)FT0S,$>13US7A-$3S-A4.8+$::+,F_;"< M.KN=)551YKA)I]);ZH!:G5L4$N$MPF":H7VXS%*09F#!GJ=B/W019COI"F.> M):Z),;"[] ]L$\03RM]89C_MY^S=S>O0K*Q'(P!FY('&"QU?XP<;)A!#N.VHK MCR>6M$3)<]#*-!AGD$-]T1KI87))2O45IWS-;Q5+XC3#''5@_#F60Y#82+FX MZ\-:=)(!$U#",_N)Q0>83* M)\U9NLWFBW]2I4,PLRI*>5H([%K$0B$4J#W,RP121BLT%_EE"H7)IR-*>4VU M6C#4S!*W H3]/?>U'XF'?L*\ PRJ@AZ!/6\Y#HZFQ)*Q26"12 $D 7&;Y56 1AT5+4:Y!*.[E #G_Z_I$Z28Y3Z(OX($ MT7SYUV(YOC0OZL2*.QJ D<52[N[N[MHAVTM = .00$W?*S0>LNB'"HSB!\U1 M'%V)Z@ Y?%EK"?!'.1PQBG:YC7_RV%]_/ ^41;I@^A%? L$KEI@2VP864,(4 M27C*'8%=SJ"Y1H:ZXM.]8PS*N$_,,^Z8[R)'^JS'\TB=OZ+I"X M,9?$GZ9XL#^O1/FIAB(-ES!RV6PGW[)0,<:@DIS^L* MB 23RBEP6J6 +N>AV7S.8HYQEI*'9%.+4S*,HK$X8S9*(SUVO19J):17VKC7 M$]?N+N#'FHN?RRKOLSZ\K7RFPC-UC8<9P^5.?KYBG9AADUR7R.9&>JYSP:]A MRD0YZI*,@#E[J!QBPGB*:5-PY>GQ^[+3$23]^)=^*K3Z)4K MQIS?A*)BS*![]C.\/S\^__[WS=G]W]]^U^!?XZ_>J7EV_)=V=GQX?W%S:)[? MW([^FJP8T_OCY_G/$^W,N()G?.Z='^._\/QOX=WYM]_OSHY/;*PHB3P74MWL56P M/=TN9),I=%GV;8VQ[SHG6]"O$I? S 4PGX,S+\<2'NO8V\L M[.6 +>CR0#W MUL:']R7 S>GEX[^#[& &4UZ6TLU96A?,/U1A,E@YY3T_Q#[ZL-F!]/]91BYM MA0II+W!J=I(@P>S].@I0!TNOPPZ-L$; 9H=Z,*AUPU*VL4 *YF3AD/N5L>S M)#R"2G)^S*$L)L$C7N\W96JS]T]O(VY9#S=^+G5ZES9W;;<0U4 40#:O%BH1VTF78PT5=0W&FV37?^SUI;G_O;HL>"K6J9RSWV@;[9 M$WT*E^Z%6@FQMX%C8(ZF$W6D#=E-VZ_7&T"K]?C2F_:&V2T M0_LYIEN<]EGIGK=?TCQ_UU+^8K7A3Q8TJ9BH$"]AO*MV2^?'=GF MYQ^6\)Y+7&[O/EO6(EP>,-?Z8F>^]6JQ'>/AV,YJ$;C7"_(<8BVOWJT_5E*!U^TKDVM:96%=[/;4';'B8#W>RBD?XJ&6A/*S ME>(&K(M;'KT4&2WE6*JSE+BO0BE3A]8 M:RDW'=B17/FUK1PGK/ <*;C6>I/VVORK_[W@+-A+1SA]KVU8]F,BG&[;=]U' M!3@7_^99C[MS8336:[N>\XC], 1',IZ*PAW4N#6?T M9O5+=V;)SEF#S.=9L8.6?!M5CVUJ!0F%Q7 MRO$_E=K6]&_J 3?(,&[BCW?D3EX;U'(.K4Q2#]P<' M>!@[RC,3\2)(KYXJDA+&+,>C'%+-A5*UIE EC58KW,V1."0C'; M)BI@A^6)>:PKH[C,Q,?[&AUC&GI6;4B5E?RO5?T1%5W@_V<$5D,Q3'3KZ9KR M]C,\A(W!-$U5=TS#-MZ)(TYS]-!W:W$A;0?4#0GU78>ZO0#JGT9= ME+!+ 5J*V-W'LSVN0N,YJEZ?Z\@(KD/LKLK 548<$1X!+>XP8-[D O@])8 N MT;*V4<1Q1I5'5ED"L\>K[> S3_J#G[6'&9,?]6=?XQ[1+@^"^&+!?M9$G8([2I_ MPH^L8@7#RQD!ZUACPG,.TF? NK2[?Y^#WL/A+;:/-,/85LWA&/Z M2:">84XO[QHW1*4&">N%L'8EK'<1UKK+I+0N]&OW'Y.)ZU4,Z!10=(TUP[HD M$_B^IH-""&_NF')7D\8/Z]:Z7CYWO;"=>X#I)2NQSBS=N#'E6=WYY5F?L=#J M0^4L-[OZZO.PC==)XVA_C M29S(.4_[F)L_+- ^.L66DJ+ $OCO>!I?[]DA$4/8;?H2A;615BD59!RGGEE M;IQYM6O ]B6P=Q+8S=B%'N8">\W@Q7IC%^,07RD.*2,7:TO^U228=Q','H[: M+%,(O'_TAHOSG!;*%TIRVL#P UB]@+>RO&"2?;\C(^R(IOR:YK2E?/ER5*45 M8%*>SW#GS<;S2[A2-G31C3V>^^HJ&::HV"4E20Z^D(/+ Y,["2A_//:L>QA[ M9K:6)G*_DPRLEK'0\S-Q]CIT;2WB[J96 ?T_'XY&WET8\=P+\YR^9IO M.ZYW$+D@SDTOBFBL6P2Q_J\B#?F77TU_ZL"FO_# YMN%C7X/!]AI*[E7#LNV MO^51C7X!\AJ&D/03]L@!:]6;-\]NE"5B004X;,WSHPZRI*OLJIVSZL[I7QKQS#PL%)OW6.%\'1F,8;%LEU5RK/>(G(* MGW@DM>P$5,97F:(_F#@&/EN'MZ0.__PPEV>]=A+FW$'GEXD0_C]&XY!F$]KG M:5\]$>42E&-17H&W^<'&?+2?\[/2EVDW"4W=A*YO-2@RTL-BOF MW/W'P""9]L^">L$5C+FZ?#E$;WA.N7Y-XQB@S91NYL8RK(7>[\>*W2<4)=PK M\,KLX3T"K[$$>%EF+@CC?X:P0ZQYT1KA_(@SF1+.J\!9Y@SO)IR9J\OT#VHY MS/IZ"?T7 )!-:]2S97-5:_"(U]A.^NR,8I9VV877%+:48"1K MZB^K93.J/6 M5A27SO![X->*Y:%O_$6J%K]7=5SF5=7X3GQY10D'A>!<^R M)OB>X-E\+)Z7]( MB>A'G-KC"K@$]'* -B2@=Q;0NJ$U%/!G%=!C1V77J&Z7 M1WMK/5[B>2&>96+HGN!9I(&3,O.[F)\0/G4P=[6RP$MA^Q&JM\3V"J1MZ+(! MWB8CN\SITD5.%WS(AT&>1**P[S7_@V38TBJ-)]*L]X>,91_F[2)C4_\^Z-V" M3!'J8MK/*<\M_.WR[!?ERY?+EH*E&O ( ?Z0,9H&[API@V$ >J)"PC =]@N4 M)W&2]?:'U&7+THTF]25J(NJN\>;C97H'2@H0_&$!YE"?CMAQFNX0S1[08G)8 M:E(,,ZI@F4]^@B;)E<-^?TBZP.)!;:F;G&#^[/[H+*;4638: 9/,WM3++-6J MKZYHQWF9 ADRFZ+YI[1,\Y.GMK8*'\2 \/B=] A_ADX3'4^%A2.FQ5? P'B,]T+WS M2/CHGO)'^[I]U$;(L'?IIJUQMW24#@IF@M27EQ?YFE-!C60!Z=-8_/_Y=/4%Z"HO6 +1L6AE/*NR\([M^/71?^_Q MCM^0^[2?]D; C@K:SQ-1QJ!']HD$C@Z_2!)HD@"(F7#8Y4+K2]+_'F#.\!X1 MQ/')9TD038(X%H5/]I0>OAQ^DO30I(.H:U]AXZOM&V;/^9>^AL%(%N0K;/*TS[ MM!^A?P&>!T\BMSRK)83;T$>BI!E\%OEJ6$M^@"=#X$N29>A-PXO;3^#:&[LJ MF'EC6!_VE22P@@[GR$F?!^&$LTQ),#3-#P<&(^7__M?_4^!'()>8_T#X4:(. MR94 TZ+HO0CO-=U'IP7M*8ZFOPW>O=6U=V^3'\QC>T5O2Z-!4:[5W^ )(1F" M,(#7ODW>X8OZ:0%D6L"LX$5 AF\3^/XN'78CI9M\I]V1PN]@-%OP2GL=DO6J MC"HEB44P':X%B1!VTYQ&*Y%P*4>8 V_A?C_M2MDW\B%BY7TCO?E](W$.2?2_ MWBP1GG:<-Q^?O]ODUC26?/6Q/+6'Y'9-8,EVD3/(2#<0_5RPJ"A%WKM&*5H2 MED?T7L5OGAV=4UWF&#I/;T[.%-UI_\>_=$?[,/W?NA3:->618=-(,)A=-L_E7 M63TN)I>7BMOB"[/;EN>MW6ME^VW-M=?^6+-MF8\;[.+?;'.Y+M6KC-5PVIZS MG)=Q25_-^CT;G(;6S8XF^Q[/\^R, 6IR3OYFS6DYATTCK>??07;P\6W-*M\M MT=S97-#<^4$B<-9VZ7I=AZ^Y'\=XNNZ]LH+W< LF-5F5>I6$VRV8WJ?1^U=N M!?^:LS_(#^:9Z$F7Z?(9XQ.0J3ADZ0KR5%"@IZI4I:D.8VG)K==0A208/X:VP.PF-I[.F MN;ZT(*UZ&05*MZ4&)34HJ4%)#6JV!H69$]<8C>F23"I16R;R=D6):A*A)"JI M1ZVB1Z'J-'6@;%)UFKI@&=7)\#=(==J(;)M-B>RZVEHBNUCW049VMS0P*B.[ MKQ+9593+BS]/KI2+S\KASR&=R*6H'X1=)G-_9)C[8P>3KD]^<% M);PZ/UQ'F&BDI=QB; OK8+'0?4Y M)2\W(Y_>C7P6P30VGEW(Z1#6#G,!.-'!>F,F-+^1/0&TLI%2/AL6K'_;4I!# MQ2,<#'[)?B19,:1\N=-X?@K;)G"3-26,U!DA53:ZR/G@ M_$+HRL=QQP=0)9X(L.&W FLXA$2E98\I=- MX0!=JJUQ?6K5' [#:FN6L_XDCK;NK?^IIMLV[?D_/_:Q.OQHKO_XE>ZT/6^Y MQS[>Z?N:EN8L)\4B#?JZU"*>U<7(3I&:[J:X+E9=I)NDZ#[O FTK^6 \81EO MQ&:EPDR&F:PE1K-^]ROUG8ML[LL2K25BH-BZ"X56AC2L/<*.:. MD.;NZPWKB"7NR&9+56%_5 7)N+9U9IND+6SZI=OAC%Q>WSAF1V9&92F]@>C$EM@BV#9#-2CY!ZQ"[K$?1'@AUPSH=AF$B(;\G,I":Q/2B3 MF@37)"2CD;K$EB>O[00_0JE_EH0=0KO*R0\\"UE(-&['S*38WQZ82;'/ED%R M&BGWI=S?A'UBUGZ2$>6,?">WZ2HI,5M#A5+H;\NLI-#?8:$OV8R4^#)JL,-Z M1*G5GY&BZ-"[7()\.V8F=8GMP9G4)<8<")+52'U">A!>6_+SK>*QO$L*XY-X MW)*92=&_/4"3HK^1,B#9C!3[THVPN\K$KVWEF/034/$ONX050I=(WX:9285B M>\ F%0JV#)+52*7B80$K^^SP]>1]=O3Y?78.@C0:P3^=HM?]^/\!4$L#!!0 M ( -V!5E3*1D!4"A0 *SA 1 8V%L>"TR,#(Q,3(S,2YX+=ECY_@<>^RR/3N[3RF(!"7L4(0"@+:<7W\: M("E2(@62NHPY*Z421R31W0"^1J/1N/WV]^G81R^$"\J"\Y;UL=-")'"82X/A M>>OK\W7[I/7W3[_\\MM_M=O_O'B\19^9$XY)(-$E)U@2%[U2.4+?7"*^(X^S M,?K&^'?Z@MOM3YKHDDW>.!V.).IVNMW%K_S,(:Y[W,-NFU@GN&U[QW9[T'4& M[>->]_2PAT_MHQ/WP_"L<^18Q#TY:>/>D=NV3P='[8%W=-AV.A:VK6[/.3GT M--.I.!/.B(PQ@H(%XFPJSELC*2=G!P>OKZ\?7WL?&1\>=#L=Z^"?=[=/.FDK M3NO3X/M4P"<*YKD$F<\2\R&17_"8B EV2%DU?/H%(04- M'4\8ERC(T7E8#'0^!9>:3)5*U5\$YBUSL-0:JM*+I& YJ@/B2Z&>VBF/CU/A MM@ZJYR 4[2'&DQ5RD:6,G!U.E?,7Y*%0HG;ZM?K:M;CVQ MRS2SNFQX:B=TF\A#VO#JY2&A6S,/A:UMF4:44>IG43$;Q:VW8B4D!*KTAW4$ M"N)\'+*7 X>%@>1O6IU+FD 12?*@E7\5^2ZAFM&?=D7I*8'ZV8Y^SDO&0<"D MYJ'>Q.\F$QIX+'H!KY3:G"6Z\TB\Q++FNH>"!JK_=X:YPYE?TIH/)IQ-")>4 MB&S7HAF,./'.6ZJ#:2MP3 MX).H;II<\ DG=0L.) )Z+PWT3U]^>*I;?B!Q0O\_H_@N\>H6'TAH0%M2P9^<0NI=U\?;Y:X.%I>E#)AE3!+<_&I _XF_(O:J?_<1IKJMX/% MM M<0D'<^^"3_KVHUC%QG,1 N* /E>GF*[*0+'Z9U)RA/ONA2^4-6%H^UCFI M5+4Y(G,M@PYTYVM9,T 9#CM4XY M_[VCP,UJ2S#ODHVA8",2"/I";@) A]PR4;]U5>%IAK('/KX)RE0"8AZ:DX$B M(>A7)6:/*O.>)'.^CYCO$BZN_@RI?%L+T )V9BSM3N>H.I99]G]#D8 ]B-XE M%J-KG[VNV1AG7,R0'78ZQS6:'W!%FNT. ?69"(?3B>+&O(M0T( (@0/WB0X# MZD&/$LB^HT,&-!@^0,TY,$"H!-YJG V =JV.947>.A6.ST3(B7I(Y2@4$TD( M1*&,+)0*0XFT/MF@0J5YR<;0$@7:)?U17KOZ3[6B%^PK9QZJ\ [S M[U 5 Y\\$2?D5%;U8FJP,[NJ1U;>B"C&'Z)Q1H:_ACR5@%(1>Q@+ZOU9/6X: MS)BI"=)>Y[B7=S7J0HI^C43MFV@1#'4\A/I_!I3_@_L MA^2.8%5O.J!2"<)B2K-=/;7R?:GB@S0CE.6TZQC4L)0F>J-1!#3R_=P2/';1 M]A56;!TS9V1@M&B69>O9AVK0[*#ARL[0U8&DB,YHM"RP6[F^96X:#\5\=KOV M:QBLY=1F<]7KY;N/0B1VT5@55&H\_!2/Q"'@_T"-K-E2EC,T&S/;UM-O%8!K M)V-F@5(A>P,75[_OLU?U$GS8!\[(2"\I>UT:W(WHSUH:WG[:IA MG4C47GDL$T5"42QU#WY4_)O@!81<4O"F,' M:_LK)5S->![;G=.J>!9'NC\@$+9'.&E-$@=#"IU47P@B^P[4DJ!I<'F-9EK& MV(SSB6UUJK?;1!;2PE!&VA[HJ/B7>$(EH/87<2]]%KHW:JWS."EB[1G6]228 MH3^%T6-5Z#-"D9:*YL7N\#QJL?_+0^+>4CR@?NV@9RV&1HB['=O*!6X,#K62 M@3)"]GC.>E+E<7[#G.- OO4=25^H7-?#*N%J1M:RK8ICW/;,84XDH434'M^H M^#"$D!QJ*.0T&*Z):B$O,Y9JY%L5RSGV.XG?)2"GGG MHJH1"Y3RV.$Z!Y:$>=';6O-Y%?B8VXIM6^7(P#O%62_XC;[M&XH4US0 DP)F MHZ^Z@6']:8I:#,TP'MI6+M)7!.-,!,K*V$TXV7A,Y3B> U<+&*%:2%!Y[:Z) MWFP-CZQ\6#;#30_[Y_CM47%J+F(IY6*<\>@>]PK6-9@0VL69#T,EWT\(Q^KQ MEF!1*SY>FZG9+I[85BXJ;@:RC69RD!:T-XX58/C#V@JZ?UA[?'\TOD\A&++- MM=I%=F8\3VTK-^U1AFHW]YY'5&CVF>N5E]'+1R)IM CS@1/XSM56 M=WBO;==XS +]5,< ;D^ZV6#:=CAS-BG!H=W,SBTL4(?XQDX*TF#VF MF6:KMPB*5>85ZW$T8WID=W-SBN;&'4G9[?G$/ *SY?S,Z[]B[HK?U;0K<=?# MM8RK&=MCNYN+$"[!-K-]@'DHDH5B87N$TS9V :,ZU8-.2"!T#J^FZF>M0,2* MK,U8G]C=:FY;_+JMQ:&L/!0+W.,=]9-/#P]K]K09#F;T3NUN;K9E6<\*3/<( MZ=KH"Q&.H^YH/: *&!GQLCMVM])852VQ2GGO8=.5\C7@Q&'#0"TLU%\'2RS? MFJC6EV,&W;*[N;CO$M"SHF-[.UAJ;_=Z$?>"(PPEBK=VN->,7X<2:OD&&I!: M%K5F%UN-N5D#5/"_:B>KY24;55P$$E$D$B4R=Q+VJ_'$9V^$7) V$HU+*R$ M:!&=,9YH]ZS\[I2$"XK9Z&'I;M=^G69E(#70RN_^R?#$VFF"V?9*K9[H-(JKA&>K\K+&*VWCWKY M95I50-O%Z'UIC=K/M.['R.^+B M<[HU^6Y6<@UKEJ(R3!\Y>J+HM$!XR">J8 MJE7X&JW68?SU[/JFM%D*LQ M-2,,PZ?/HSGX^0E_^2!P6.-2GF>-%:T-;@:,95S6= M7X)K!DDE!Q"&,E6;SZW,UPVW;O=R0< 'NN?"T CF1M-NS^EDG MMO[ZU.749KP.[9[9%=[MY:=?B$RO97K0 VVU?$V%URO!8J(W#@H/CZS\61G M;?X")_00C<_UNC7%= ^-JH4:0\=R+L:AY.%Q+Q_G+X=I%P>8AIJ^P$(=2^]^ MIGZH+F72LU>7::;K&,(-B#%;S!.[MPKBZH %$*]=F3@#R31=)@L[:60?R0L) M0N)Q-DYN21&O5(XN0R&A2GDUX,NYF WNJ94_N2;FB133V0TN BFV:,9WCU1: MQS4L;U5>1OM[U.GEYXTJH;:+)KBTRN,$@[??"1MR/!E1YY$,:UK@]:48#?"1 M9?=6A#Q--WA#J7 42=_;WB*PBLYTW+)^U!-I5A:U7&Y595ERG])>=ZKJSLK7 MO*W&V:P)/=O.#:BJ:L+^\K8*AH)P?654X)#[@4^'M3WW]228P;=M>S7G3IF! M5"Q*Y>Z5H"Y$%4_ 6%?&7A&:H C)VW6G)C8BR*P2*F:]=L>PGZBHI1MJ8R;7 M^7RDHM8^Y-6YF[5 688UM" 5B93,_W3@?SN8BC,\F=# 8^I-]!P$+,J[?@5O M2'1@LU8+R.+TCTL $VQH0+&^)?V.C >$MQ >"%VWYRT/^X*T4(#'1%WQ5I@Z MH+ZOQN[G+@:M.F:NR>-YRPPB+%A(AL*8R5$^_M@:4&>KBZ?G!%Q0Y]8WH=Q.+Z:$NY0R!ZGX'1[F0W_X!.KKF\IR-49;+&XDTA&A?+VNQWK M^ L+_@Q5RZ/$71'<^GR:@/9]0!*WQER\@H1-R'\?\D,=+*ZF7Y]*\"E(V802 MW(;P_$R<47YK;V9 MHZ,OWM(DT-FI5_J BR^AP@A,H9X#C@^[N/&>,1^J2W5&%,8>^@2E-.CP/(*4 M:K/G%R;OR'*;^ZYYVKC.16^$SE(5-Y4)>>_%([XR74:)8[%DM1-*,D==5V?7&$AP:GO>\H&FPMC(&A">6;=>J0UNN'D-OJ# M'_!"!#2EZ&2;[">E>M!RWHA\3-=>L@N2/GV!0<;S*_%?R!T+Y&AIHW^'G#35 M)B]N!UJF6_ET&U I5YZ-WI3#&0[(3=Z,274T714SMN2BK1)+5D+5A":S"+(6]G+!.T=XGS+ U W\3_(M@KI27O&,W,Y>+IG8QER.E,C=!?$NA/DL' MQ(56Z+RX/%&]+7$,"QC^LH;VR]V_L*@]-;>I/S)-0LH*YJKF M_4*J)GA:R8SEM\STJ)ZG5E;&D1$6%Y!1XCX2Q=-5@W\%2)GWM '.->#>FD/T M] 9Z.TZNQ2P!N#!M$V#6IW14F4[-)VQ"]N.(W]74(4)9Z?N!8#Z19'9G>U\F MZG:'@]##ZBI*0RE7YM=4 Y3D-L3^,^'C[&G+I0VTD&9+WGM"5,5_3\=*>H"5 MS9^Y&5:A;(16=SM=*SLDU,/%DL*5$#6A7"4G&5;UW>IQ:8A+IN#IK(*I@:@Q MF*XS7Y!T*:]B/A-(,F0\&U67=0"],_WC6>MG)%&A+3BW-Q[ M*NA)B?L/IA;!^?J:H&4A( -)(\JT,I3)<$WU^#3 \>H*R/HU4P-CU6[BA0>? MP0=\9C ,(_0E&M:I6^C^#:X[O*7B^[T'-MDC.@ZQ>97;5CX;X-=$HP/P.JO- M/"Y/WXA^(8VP$"Z!1@&F;]!6Q.F/I4.FRO3O'4].W.77Q?'L ^2 1\KYA66B M&*6.=PU.JX\[7#+8WK!C+EH6NVKQ,KWEMM5$T]CQ5>45IQM8M-I8N&]AM$S( MDCLK*[KUM7@TQ*F/5399+!&UT#(%7TS]_CU/7.DP"IY5>%EC-9$TM:VJ=96G M"W>(:9^BVI+,4M(F=+L/X<"GSMSM>B5>Q'*")I1'5WQ%?!J'13)8^!\*?;E: M?>37&6(44_WCIWB\ >ZJ2Z,R;!J+^CEHPI10W_?!!DFE%E%,$ORX;XQ_O^9LW _>7D>$ M@T?KZR\^'0:*NL2NK<&Q"28P'<7I!<%J2#Z[&%#4GJNOP*,ACN$%#J [C3<* MF"$N3-H([%8.N":GJ$'[C0_#>T^[OF9V?FY3?H>G:@N5CBS001B'R[93T299 MC3#/T>3N-=>]>]D<\"Q94X4:>E$\.E#-#$H?\+HA3PUP]% M!=]A YP;X6_%/D"RK4\UD&3U?UEDM II4UV*['T[91-TQ6G?>S(NOU@FF1R= MQ0K*HO35.;Q_Y#[1+!41D=(G28>1GC!6OIW%2-O<#0.%Z\DSW>W@+4V2[6[C M]7[WH50M3)T76X9N'RM=D_-A.--7S0"XG05Y,350\H M6):^,8UP%3,Z&QJI0X&8%]_4D)W&K-(\MROY!S9<$9DC#_]\O]02P,$ M% @ W8%65!Y^7:).)P =XL! !4 !C86QX+3(P,C$Q,C,Q7V-A;"YX M;6SE?=ER6TF2Y7M]A2;[M;T4^U)656U::S2F3,F4RLZ>)U@L'A*F0$ %@%KZ MZ\<#"T6*&T!$@)?9;=5,$8+N/1Y^PI=8W/_Z'U]/)H\^XWPQGDW_]A/_,_OI M$4[3+(^G'_[VTV_O7X+[Z3_^_J<__?5_ ?S7TW>O'SV?I=,3G"X?/9MC6&)^ M]&6\_/CH]XR+?SXJ\]G)H]]G\W^./P> OZ_^T;/9IV_S\8>/RT>""?'CW\[_ MDC!G*T,&Y"Z *E9!%"F"E<)K&;PR+O_[A[\PDSAFYR!(DT'Y:" 6HR$Q'A07 M,CE=5@^=C*?__$O]$<,"'Y%PT\7JU[_]]'&Y_/27QX^_?/GRYZ]Q/OGS;/[A ML6!,/MY^^Z?-U[]>^OX7N?HV]]X_7OWMV5<7XZN^2(_EC__KY]>_IH]X$F \ M72S#--47+,9_6:P^?#U+8;D:\UMQ/;KV&_4WV'X-ZD? !4C^YZ^+_-/?__3H MT7HXYK,)OL/RJ/[WMW>O+KPRAUG'^=8_O83/>DK81"L2IQG7@[%]XV26+GQI4E4QFV__Y21$G*P^'9TN MX$,(GT:_+F?IGQ]GDTSSY,6_3L?+;R.)/&;F'7@I):BDB+G"K,@:58J+&$15WKC_#)-3'/&416*:09U=H# H",PX<"('X03:''@7\:X )C:/VC0FZG^2<[C*GN8O WC_&KZ+'P:+\/D'+B1$"AC"@FB)R(J2T+Z MP L4QZ(3.O H4Q8GX1YE-*/Q;G0#_',D[CY2C%1')2!N!EIC&004- MX>L82)F-U9AT%RK=CFT7]NB'R9[&BFE&F-?C$,<3LI&X>'9*4=1T.=(J6PJ2 MB*Z.&3*(!,8Q(<%PS[VA+)% =2'(92P-S.S\%/,50@KG7?*(-#'=2LA$0FJ* M%16EV%:A$U'U,JA70QI2B'X@*ZXPG0W4T#!0GR[G(2U_'R\_/CM=+,ERS[?8 MOFV16:6+2)P2!\,9I1#1@+D@+XQ5YHKIV7,-CN= M+A=OP[<0)WA&85NB4H%@.$_$Y8SB1PP62& I&7/,*>QE2:[ ,Z1@OKT9.50! M/?SFDVF^(EC03OF7;H.1B= M%"7;(0.E4J3<(F).EG)NTR>6/ =BH'[S<%;\2/^[#GPSSE\A3PZ*(E]C(02: M=JKN+CA?)%"4K(HP7/M.8=1MO!Z,3VS/@P/5T'2]<[RL&UE5R.JW*;'!::K\ M5$)(;5P$'NL"+!<9@I.>^,EUL$)&V8D7-X :J&=L3Y!6BNGA+$=8G&+(+5@; M2##,A?)="@5T"O1)R<&P<%R7T21IIH!4)6<38"D4UZC(:"X6"QHC=UIIYV.? MS9X'DTCNI?D;?-]=1OPXJ>,OLVG:@,O,9E24H+C(ZJ(RD^2?E0:AK>;1N,!= MG_7:'0$.U%D>Q)$>NFE&G-62\3E)S^$Q3$6>/(G+;* ?18-304-&LLZ$4_/4 MARO78QJHJSR('HTTT(X1GW >JF=^C6&!5Q&5,0KL+1/K96 52@%R^YS4J8T2 M-A4*]OH0XS9H0]KF:<:/IOIHM^JT6.#RS.E)B\QK5" I5*/PC4+^R#A!4(DK MIHQ3LD^8<0%&@],RG\(XO_CZ":<+I!AU-3+7>)ER*]87U"KEW@#2G@:D>9]IIIOEK_ M#A,2L#C!7W"YE;GD*()CQ&"NZ8>6E 6C#^"#E$EE[KDI7=?LKT(UI*"K'46: MZ:$9,UY-/].[9_-O!&14I/88<@!,%49*&J)W"H(L/N92M)6B"Q/.HQA2.-5. M\W<>YW8VX',83RKE7L[FOY)M^A4IE%M%BL\Q+K__-K+9"D.* K)-FL1T J)4 M!EC6G#O.LI.FCSW8$>&03L8TM T]]-,X\A[5?DH"=+ J MJ*A-Z1ER-UEX6#_J7"K#HW)>1P2/TH%21I%+IKQ)1^8EJ51SWV<5]DHXPXNG M]]+ZE2L-!PUY,P[_8S;+7\:3R#W(D"*#UTECKG5@?.WT?OF[81HXVQV25Y1J851(48EB?A@B)F>QX MDLSV.;UW/:;A!;8'J;[1X'=:2'Q7!_%-^8TR^ J+0NP0E30(G&?RS\EX\$I$ M\$[JU1"(T.=XTHVPAA?Q'F;QFZF@&2O>SF<$:OGM[21,EY2CU_S\4]T3KCQU MS,6@G0:9O**\2WEPQ$TP,66KLC,\]CFWG=Y;YD:W6BF"5[&R_KX$1:F90ZF7JT7]08^ MI]C>(:2$WAF7G8A]UIZ_8SA\56P[6"]I8JP/#9V21]NX-AKOIUAFG#Q MXNMR'FB.CJ=A_NT5Z6"5[M1=^-F$7O/AU72)+UB1W.!YD$2&F*Q M H1@R6>G>39]8I".0@TI9[TC$R\OV V# @U7>C= -WM:3W&*-% CD2P*Z11P M8>M%+D>QF+(&BE2)B<(H9N^SW'<-H#US8W@X9#IL[%L>5?W1+9S=TV3![[LUBO)W&6-4H$MLFZW11*P9 Z&*T,3 M6F;/^BQEM[HZ?JP%PEXL::ZE]HM(WP&-4G;2"2<@T4OK[2H)T5,B$Y1V,4;. M*%?MNW3T8\IPP$+XG!ZRGJ0CF7BV4COP6O):(B1"#,Z0'U+1R91SC)W6PK^# M&))-/%3WE];&[SC6[%(!A$$CLC4N=5KLN 1E M4+%>:\T?-O#-]$\YR.RB9!L\(\Y]22)IL#(B*!$U>&8SN%A8X9D^OC]F[&-:2XKP]!&NJE MW<& =QPL6OLTD>!2LL2AT!9:%H28D: MWUA/R;X(&'QT,?6^ZR52QYIJ)(%K7BH=[\EL3T* MR$[%X$7.*O6Y]W6T[9(V8:XJT?@L(DB3*+=42$$6YQ(DX\8Z&P/W?0*:@8>Y M0^'F+H'R/CH\5J L6' A^PRLE+*^YQ>P7B_/RFC)L\+<9T?@X03*0Z580\UV M75H-UBB=Q*H@6O:ID#YR3%0[[DTO%T_U[[/.U&X+?I',-D_-^8_S=%A:2J?X3Q MM+[XS?3[39(G\_&"_NHY_3K]\!;GXUD^&S7#K19)!LA,B;KOXB#J$L&$E OG M)5'J<=11.U2B(<4DS7F[Z];:46G1?9J_)-LW_C!='S!,W][/PW1!:7/5Z32O M?MMH./^_TW6HM97C[6R^^HOEYL.]T^@CKM\A6 DC0:2<)(\O"LYK] >DPML? X>3DF\ M">%YDD_&TS$9-!+V\]DZ2'0DJ]2<$E8*9Y7W")X9#AE=Y2NWQ?59?K@%V)"N M!;9E2$N-M-O$./D4QO-JQ=Z45]-EF'X84U2WOL/TDD N<4(0\\@*CTZS6)=* M:O$.(R"$;,%X&3(3P0;L=%Y^-X!#NCG8EC8]-'0/-\W"XN/+R>Q+V[ME9P_M M=YOL:MR-[H_5.DCT@K?SV>WIM]\6]5+Y>I>D>A-*RSZOZY^4C,@B1G!H MPKK/@=-) MIH"I/%E$XM>7;'>/"5A?!M->KO9T_2OT['%.NKT0T2J@4K^OZ;-5C) @&!%:2>Q;9%^-8 M\MWNRA\.?TCIV+$8>72UMV/LCY/IVB("%##JJ+F5M=0M117",? ^<1 IBJP$ MY9NY3^&ZW3'NF>_],(P$,VSK"7[:E57&H:2P$5) M,64N.HK">-1]=A%WQ]C20U"\B&02GLTQCY:PI[Y 0HLOHLYGU,"OTXN1SKF:)PD M\32I554TGA&XR'1(05.^;GY(Z2ZGQCN]Z2%XX59,:#_T79*15;^G-Y]6YYE> M?,5Y&M,HC JZB$98X,F333.UB5B+@W3$V+)8BN,K: MT71.5AG2=5#@> I@I:EMJHO6JE?3D2$62^G$DQMJI^RC@(;5=#_-,8U7(S(J MW$1/P2(8HT@0G1B$6!""]5YYYEW(?;9&SZ-X *MVK4EP9R6TVS0_.QCZ?+SX M-%N,*Y0W95,5$EF.PBL'W*P:9WHRU,Z0H5:2! 36"U-K2".$)TMM?$%EY13 MI*)ZW6F\'=V>$?P?PMHTUUI'/FT[[E29(R46J[-$,>4,*HL"OC;=4MK'H&2Q MMO2J 7,#K#W+/?]!&717/76DSJ;YW[:WP95- $=.NA)+K6R84PW+:AD&ISD8 MD@!]=#KX>"1.[8)W%[+9/SS9FFOV" [Q;?BVLJL&BW<4[P,*&T%%8D8PTH,1 M4?MF.6430]EG#_*X MW.VV^MXO.?SV^F%R'7B;?77D_@H(3ZZ&,*K5+*16&:10E+#6;@J!F0S$-H_* MVJ2UNFV0]WSGP7V3K[TE^ASC\IQL-%U"Y"Q"LHPR?T]6R=4+?EPA,BZS];S/ M+L.N"(>0 O4DS*5VS#TTUW099747^>(XD%F=S[^1!:V+03@B*^RTX C:51O- M4H!@K"&'CUIGJ7BO8JX[P1M"&G),1K7763^']S*,YRL\/U,<<#I?WWXZP+?= M^+R#W=CN:!O57]E4T=F^]OEXD2:S^N:1-12>>.3 F5]5JZ"P2"@.(L2 MB3Y!Z[60^IB:*V671F+A''RIR\C*(?BZJHQ!9T_)!K>^S]+'SA"'X,3:9!RV09RXPFDYW*5K&0\=:1.M#I2ZZ MZN>RGH9)W?3Z]2/B(NO:UF[>NMZU')GD7& M&;C *0R*O):7-@6$2,;E$F4R?=8/;T)UL&VZ].Q5!ZHSF:U5*88$:)6J>[.. M8C)6H!8'L%H9G6.?DQ8WXQJ42VO%F4NFJ)UJVKFR[38[F3RSBW M$+5)E!K6S0!3"&+* H+V!K(VJL2DE/1]RO#M!7-0I3_ZL:F;YH[JW;97 ;ZU M=6J7'MO#E]V,O9$+.WM)[196HB@LV2*]7W60LZC M:-'*;O6L6L!U\1'SJJOAJLU"+3$^_UR/OO(2!+.$0XI ?$T2G&<60K!6"&,3 MVEYG3&\%-R1G=6=V7-6;KJ52&AXDW0![%[[\')8X'X?)#[A2XI$IKX"B]'IQ MR# (:X0!-7QU?/0V;$-*L-ISI8U*CNIOMN4(P[E*A-.SOVWD?6YY20]? MM(]TG7R(V>NX;\ M_5[-*&=NHW:B7B"M&_*UHUP4")IE1BR0J%6?V7DEG,.#^(NM.VC^O/BZ.995 M$XTOX\EDE+EC@:@/*%TM2E(H9K1H@(6LA+5D0G.OV_6WHQM2TGUIHI$;8 MC)+T0^M:@2V!5J4$YIAWTMYF=N[PWB$YI+;$Z*V$-BS9W Z831=;L;]MA3;2 M858Y@*[ED,E5>LHGDP-C&>.)L\F8;$8ES'FL_ $0Y*6Z)ML)+D+_7"Z*& 4ME@R2!QMM^Y* MNP#-\I*+4VOD (M>:X48AK%9K@;4J@^)%UYX;$CBJH"U7TD>S#S]^>/Z0"D+V4_\A M@]K,R[PX^329?4-\AZNMR2O$5)++[*T!0R*1F-% C-5J82R!>U:SM-5.4Y.PJ0BX*@J_[1*V!15C"E8@ ^8@RC3VLQ6M1KM10[YUP/,.R2U--^>TMFBR4B;430"MD@2ET(&77M9% M^Q3JH;]BTDZZO^$E@RJ?V$'IK<:WW='^M8RUN1!%+#0F8?(2OPMJ!"?/E1!, M-KAA8+UX8,AC>6=H#'*G.YXWXMJWZN$#HDD'Q70L%C([.1DO3S;%-&ID2YDV M3A.-P<7$^Y!:(?N^X_!2(0=)U6C[[#5I'?&:Y8NMHWA^BB,3G&5><2 ZQ=I5 M@\Q&)+H5[CF7Q$"9^YP!V17AH29JU_?\0B/__@M./N//I+*/BY'B07L> Q3' MZG46&R'6ZRPJA%?$0]J0Z\*_'XW<453;S%?NBO;_8IB__S(; M*1N*9(RR^$(9GW)U>S$&^E-2%-F5[*/J"LLS0DF6)'5C>VC5:4+/BL99][7WM#'=(6X_ 8M[G\Y'6 MDB>M ]@D"1O+A%?Z.C-$8J@R=]@G/]@7Z9"V0 ?'N+U5>3^$&W_&D2U"!)<8 M&&X]]GS7)?I$/:6AT>X?95Y7!2V-$/9P?Z)+'TEJ.G ML3]*=NQ$-AI?D%D!4EKR>%9Z",PRL($HJ+6P1?79[AY$(OO;-(\7J\(,9]N' MZ]X5G)?@C$$P0110/D@('@.HJ%,0VIF<^QQ$Z7V/J,T M0BZ8YA')\B*O"\\:HI (SML8LA=&N#X^]1I #S(?/81#+11S+Q[RU],XZ;>\ M^^/3>WK$&R5IZ EG\XO*WE+H_>PIK@OR8!ZAM#&Y*( Q00%X+H%4[B@JDP&9 M3Y01QGX+E[L@;.$)=WG/^R^S&BXN1MHJYB3%BC$X7%^CC2P6<-%Q=$;DTG$I M;1^D0_-_S?EVE?_KILJF>>9.*.O:RQIGC,+KP"58H0DGLQH\)@\L4EXB@S8V M]KFEM#_6H3G,X9#N;NH\.NTN[V^XP)0*#+0/!I13 D*N)>"XX#I*FTRG_H-W M13RT%=W!4/ @U1Z=B'4E<#U?1"8@VI)=MJ'&GI9#U$6#4TXK:[#6?[]7!IY! M'=K2[F"H=S=E#F"I[2P#.L:QD4LO.]["V\URMJH<<>Q39?WP M&UA'JQC2@"G[WK_:0RN]U\'.%:20&I%G$2"1W*"08 5?EW64=ZD&DCKA,=NR#^>K981"RS.:ZZO-6SFO3+N2\@I4>/[#>ZG*VCGX+SXNIP'F@;C:9A_>T7L7969J3>N9A-Z MS8=7TR7.<;$ZFBNM%$B6IM0K.2I!0,E!9$X&*+.8I>DRPSL*=7C]K;VA/:<_ M+);C-!*%<::X!L.SK:W!4CVXHL#5LD^FN.!+'XMY .@A^=ZAB] ;^R)%\BCTZ(P=B$#>8AA0-_( K? MA1%'B34HM?PTF];,T3+*N(-4C4*,31YR]M(77S_A=(%/ M<8IEO!S5JA!9HX)D? 3E@H-8/-&!.14R+\FR/DGCS;@.[G.W?OJOR[#$)]/\ MFO[!Y++P02AG,B+XX"F,+YS^I)VEN6!Y89H5V2E$V@G>D)QW0Q9=:G+77%7M M&K.NH6ULY6502.F>,DQ!X)) R>QK;B_!4FJHZ#.-L5-+UIN!#S9A0H6F=KPXF<(+J0B,U6D=?7.N@^-N<68*WD?HE$KS"Y M3OP<=6&9E%!$4*!J%3+O3:P5=!WIFB71Z3C];OB&9'-;,NG'J=-!6\UGT&9> M7X=-2"63*A&8RV0Y4B'+4:\>LRQMSBI&U:D?]F[XAF2#C\*D=MIJSJ0+L<6U M@Z",TSQZR$H2UT5DZUK0D:=8A"@VY3X'$O9!.:1#",=@57/--5Z%N0S&HO=: M1 -6UU,X9"@)3+&0O%",*Y&X['/4N&\F=7W\YFKO1 TAH:S'O"VXX@*(XNES M6P\>=4VA'H ?;\&4:T+?%EHY6N0K8E8F"DO9F^*@,)$+2#R1"PBCK($>/;'=V3\WV&:3=-XLFTYU6+];X<7M%S\VU>>1BM_+TK! MM!Q_Q@OOOVIU>*28YQEK1>@L*%,6*8*GB RD"#PP&6,I?:SX[A@/+A9XY9LN M:N/)K M-8>@'I(/'A [FRCYJ+3\<1F@?N/YF/YA#5?'83+BQ8F4LZ/0Q6503&?PUFB0 M3%B-VCIE^Q3S:H%^2.GW@&C:5.E'I2M]^(Q"X_%R44M5TDL_4JAMBS%.0_2V MU .;&AQ*N5JI8LB$L;;/NN+=\.YY-Z!O!]H!X60U8E6=^&A:8ZUD5^F3US6>SQ7(4 Q/"<%TK<[$:^28(CL1* M4HHLG8]8^EQ-;B_+D!IZ#,A8=B3$O1-[U2%OY!.C-,YD0$8_5.$>HDH)D'X8 MAE)[?7^I^[6PA]1+9.!TW5_-1V7FV_EXMKJJ>#&+0Z8" 2U65K2!@^>L$&1K MI4I9H^US^.ZNB(?4W&1 ?#Q8N4>EXK./8?J!OK#=%Z OK9L7_V>8G*ZU.9G, MOM3>NB.G@]#!"\C*4 B37 G"T(J$:5)PC-^S(7A.PLRI'8K R)N+RH5/]G%A=/TO)-$8S;;12.+%E>&V[39_7DJ,X04PU6+"^GV]4)$N8Y?L;)[%.]5C]B*>J2# UAK8ZF;/'@T2F:?+X. MHLM,]KF[WE:.076[&1"#.S'AZ#=T+CF.,#W?)J;]=9T=7]CK[LY=Y&VTG7_I MU>?>^PLN1R:%I)DTP&M79\IW/#A3(E'6,2*-,\GTL1BW &MUK.CL\?^8SQ:+ M4;%,*)01]9M+[O.?J+>(:TO=Z2*=<=)CI &\T/G-T4 MM0K+HBR.@30N@HK>@+?UK%/T%+06E57JL]W8*"D1Q]JZ.2II#E14/P:MV1QE MMHFB2,@8"[%94*HCG 5'+!;*"&\[5=+9Q;8TD/)["1)Z^K,PGW\KL_F7,,^+ M$=*$]3;5"UB%!M]$!=YP!<49'[QR4H4CS9?K00[:UN[/H%MG2R-U-9LU9UNK MY[%LRGX;2:D6"0=%6G($40H*G+4#IF)"M)PPQ2[\N0'4D X7=>!+*W7TLZIO MYS.B\/+;VTF8+BF]>?&OT_$ZN:&X@4F6D7)S%J!>$:I%NAAI;Z16>I46"3+$*D', MQ4!))OCB/$OJ2.R["&Q(IWJ.0:H#U'),DW;^R 6Q?7-59W'#F0S*DTHHM8>> M];Y>Y:'\29/CIXG ,2O.*66[+_.VMS1#.J9S/Z:N+P'Z47E]#,,HBC;TK?]Q$4^OI4B:L2SY" %K@**M(*VB MA829A"Q)4F0[W&V.HRU9WY48.VYO[*.%(V]O!%^].R11]UVLCN"YBJ!HGF+6 MA:/H>Z>^W?;&@Z?*@>KIMW?_"RZ_5PA]BW,*'4]FTVTH.4YAFI^/)Z=+S*O/ M%L^^O_. #?P&;SUX%[^UY(VV\G]?41[SD\\X#Q_PE].3B/,WY0*4-Z?+!7G? M/)Y^&!F11*SE'EQ*6,G#P6%ME1@E#ZBUYYWJ5.X)M$%-G3G6I<8P.:>IQ9/E M3= [)!;?CT:7B<1VTU:[F]DW@MDVUT)58(F;P'DVM)^' !\TAZY!LE!@, MZY/V[H)N2#[TGDAT%SWMZ"@WG]3S',,7_SUW#^[IM_ M9)S]^4V93BZ^^<=D^N?P0P#XC^4_>CYY_VDZ?/MN_HU@0MS\Z?1O"7.V,F1 M[@*H8A5$D2)8*;R6P2OC\O_]]F_,)([9.0C29% ^&HC%:$B,!\6%3$Z7Y8>. MAN,__U;_B&&&W]#BQK/EEW__]MU\_OYOWWWWUU]__=O'.!W]VV3Z]CO!F/QN M\]O?KG_]XZW?_TLN?YM[[[];_O3R5V?#;;]('\N_^S^__O(ZO<.+ ,/Q;![& MZ?,#Z/%Y?OD/KZ+1WZU^2+\Z&_YMMOSWOTQ2F"_5<^\2OMGY&_4KV/P:U&\! M%R#YOWV^^F6':BWRRY@M(5SK_63_ON8$SO",@T+2(" M?1?'E> ]8MSVZ8=COOPLR%C"8C3O$?'MS^X5[^0B#/L4\*V/[@'M\H/@ B\B M3ON$>NUSK^#<@+R)L'YD"J/AQW]+DXOOEMB>3\:SR6B8ZY[Z>DY_UDUV-BG/ M)Q?OI_BNBN(#OJ"=^0)_F7#!F%B*/E=P>+&;P-X?W@\@DD#GQ!?YT-M+#)9E.W M54D'F7,1(I8")6=47ML; M]K_NQK+2W,-7]PH_X'B!LV=Q-I^&-!\($263&2&$1&M#EL 'FR$GR[ET(62V MY=WI86TWD5Q?V6=6/IMNUKA^UQ^X&50+IE=-SR<]BG:E/UK M]],IAFG?_^6 M]:3JGVC=] 8M(?V##+KGB]F!$) MLO(2@M((J)D2KK#BI6_)AGW 'I\PAVEX.UV:J>3/+LV3B_QNF' M8<+9Z\DH#Y(0V<9"S$_6@S(A01". \>4HPI%.QL:JG\;IN-SH >E;:7!P1)O MP(6?IV1D_3Z=E.%\4(((,AL+-J @HGL%Y-HSX%(JLN:\Y(W>_2L@OO@W_J$" MO:U;<:AN7Y+G&^9TZOSX\3W9U5>..F83X5(%?"X,5!$68I(64A(\&CKTG&=- M-+T3TA>O]WZ$?9L%\E 6O,;1J%H>X_QKF/Z)5R .G",B\H!@B]>@F+(0HG-$ M5\6=-]:XT,9 W(WI^#SH27&3)E)OL.._PAG2![XC:#_0$3>:O*\OP0:<<5BW M)0TY!EJS3@*63U\QGU\AGN /68V%%?[)O<%S\C&-:\XBP/SM_A=.>J!SXSPY%[*$EH M4,8P<%X:X%::2%\E%WF;\^%.7(^-&#UJH<$-Q&Y@*M-:I1601";OQ[,*C+9( M)Z(1)NG,=3KNX?'8F-&/[!O<.WRV<3;1]>%X02#71M!D//L>RV2ZSAEZ$S[B M[,>/) ]Z_G ^QS'60*%$;F+P"+I:\"IH#DX% M!)-U8!E%DJS-K?L.0(^$0X<)^K;^[:'Z7\6%E_Z:-IH5C )L3N2OVTS\Q^Q^GK=V&*WX?9,%V>R\DP ME[35=!!G8IW5")$E#2B-8G2$)E':)%;<">N+5W]_0K_-"-^$$0.'(A0E$C 1 M$B@M/03:>L!AT*YH9"C:O/5;X1R? 3VJK L9]I)W Z?W)J@?AJ/%'/. BX@8 M9('H:^JGR ZB(U^LQ$>(C,&_BV.V M'?(?AK,TFLP6 MTRL1@<*$$%HEB#P5\KHXB?7K4^.9;&&AQ9.\"NY7,+\\"6&*+A$H0NADY85."D MT5"B2^B<\ZFTL6CV!/HD*=:+UAH"90M@M_'(3]BS< CJR^+7OVX9G^.Y;PQYAPCH;_Q/R? MDU%]\7\F^=9UO1R_QK28DJ)H YH.9_2C'Y;I9JN%;I8]D#F3YT3GD$PZDB$N M,GC$0H<1TDO*I;&EC?G0:D4G2/HY,KTZLONHU&@53]ZRKI\F4SH+Q\\7TRF. MTZD0RKBL=Y^=5H&41XEO][L0J17RIA,EW^8#Z?#N-B'N((WTQ^IY-S M3 ZIL*A3"%"LK1IPY$8JRR 8PT6BXTO[X[X'39;Y]>4X&Q*U* ?K(.N!R85Q M7Q,1HR4CU-@$+@8)Q5O#2_T/MLG*Z8+N*S\/55F#^/P6>)?08HY>6DS 0UGZ MLA+(A0U ]IEAF*11H31ATQV@OGA[M2^!;SF4#R\VW"SU3=WY!M:JX*- L$K& MVC0L R$L0$"""%C(!6V3['T=1X\JO]) J[FB#Q#F-H/KFU4[I+_5BP?,?_]V M/EW@YV].QG/\./]QM'S@W[^=X=N+6Q9!=S[,IO/J8.=%FK^UI?&K\-I\]=?U?OM\]*[T=3M]7>DYB/ MQ@'#5)0\.'"<KWD6Z/*J\-ZP:O M/\WJ^;8&]^O2 AH(R;0+I!BT!D'9"B@&!1Z-MYIEWF]_M_/3CV6T] M2GW2I\@:M!5[@^G=>#*:O/VT7N4:5O)11HX.F#$&R%VQX+UVH(/5)L5HK6E3 MZ[T#T)>L_#YEO?,U_O?O;DB&3- _>VUP^7H^27^^FXSHJ;,?_V6=&3J^NB!"^X JXY$PR9I!^VRIG>!^A9W#?LPY,MN=3-%-/@2'L^ MN;B8K"#>CGMC5%PYRR"QZ B;\.1V"0O2>Y=39L&$5NT-=Z,Z/D.:JO3V=54_ M^F@01+J]ZH$P+GI7(A0EZ31F&" $8R$7D6-429?0JCWP]A/PL?+B0-DW")!\ MCN;,WDR>Y;P4=AC]'H;YQ?AY>#^72 AAI4@2]!OL+WBVEZ5S?+9V,R">?#Z1;,@VR]DH*QV@ZNMA!7#H*N MQS7AU-&3;5C:=,W: ^03H%0#;36H0K]25D&")P1GR[*'2X[, MAZ)3&_O\E.T%CDF+!\JZ0:5YIR1!)EG23F8PSG-R,6N94>9UWE,IO2NGQ95I7?>TJ: ,ML< ;DD<%X(.CF+!),M%FTL9Z99&F?'6_-> M[GX1DQ,VD6Z9EJ"T3A!4<%"%CP%#\8U:$MYW]WMP(F8(,CAN%8B@:_))XN!B M5."R4SI%#%H]\D3,0R)@!PCSU(F8MY:PHE?=CB;C>J.YS$UBML3(0@$1R9M2 MB?Z(.CKPGCOCC93"- XC;X-U)JF:>ZE[%W,.%GN+[B37,:U37+J VB=OK:'=JQ /DVR!W9D=P;T>'/?)!*?HC(R-PM=W MP'H,1.A/[@UV@6I<)40C!8$2=3AAP8S,)\$ M,TAD;701L07,8]#\H3+>F=W17T'!#SA+T^'[^AF3\OUB1D2=S<(XOQZ^'0_+ M,(7QG+:TR:+V^7[[^V0T3$.<_3'#LAC]0CO:;%)^G];6]/-/](^J!)=#$W^H ME!_-'E*#T!;0H64+1Q37C4J'$BWRS)63/BC.;0BZ*"*3]H77A-Q!6V@'Q[Z6 MG_S[J**X\O&?KP %6F&8R!"6/:*CJ>FE)8"7Z*+PWO)NU8@/B8G=@ZV'R-_V M)VRD7W" UK!BR()TK,YQ8#+2W[R!Z'C2T4?5JNEL!W#'WXI[YLN6\&"O"FG@ M[+U.[S O1OBR[ 2[N@!UW%9)%&".UT.*5=?#DJ:C9U&%$+ANT^*Q*\)CA14: MD,?L;Q ,]S+DK(#;6T&)5F"J(4!C#Y9E^J%>YO:BP[@ M3A:,:$**KKO5 Y73X!9B]^KI S;5N1T@-@U== !YFD!&[PKN2J #M7,B(MDH MHY%60]8UH\>CAQCH9,;D54FR_MG&2ST9@>X)?)P#?_912IM@R/O%'*>7T-;> M=F'*2*[K(*F\3"95$(JUH!6/ 8OW2;4)B^T =$:F]$.5MZ7AV:&2;U-HO(3U M>E+F?X4ZC^S:&.XU2$/^=;%,@48>0!GE(9!_#5QJ\JIK"\!&V>"=X#U>LO2G ME48!]JM,1JZDY+ZJ,1"3?2%/T$H#B:-4Z'W6NDWBV:/?.PZ1=(.0R$^+*4ET M,45:ZD_#C_5OF\MZYY.T,B@PMC;"=S[7?.(,PF)*K AF4YMS9#>FQT>'GN3? M8["D]AMZ13O4RH9RSC/#N()L56T62^93,&B!TYG&F##UIJ@+"3HU3+M\[*/T M;1\NV![?^TL0&Y)U@-%[4\0K ([?!O&!*KBIQ /DUW.WPZMPN-:&_M^"">3W M*!9##;62!8H^:)L<%MMI:OEYJ/&.CH;]:G$?L?6LO5])4A>+B\L N3"2? A8 M%FTIVN\A6JZA%*U4UM&XT"DDTDE_UQY]W(9V#Q;^I _)]>A[+8&$CU> %*]L M;:$.,F$MG-%^U5;31.VX]R)%UZDQ0#<57GWT%ZC"!TON"'T''Q1<_IPX]V)< M)M.+9<.!54#Y:)D!=V$X23) 9Z'GC[/7$@_KJKEN/_B-,IR3-3ZOBXD&B<]9JVF.%K=<5,2'X^M9C]L4[ MI14RVVD-6S_^>!M9.\U=Z[1[N!!;7!>&V;N!YS8%[\@[,H67KZ8]+S@Z7:X#;OY\DD_S4.EJ+EXJ42-9SJE-RZ+M>!ZC]GN0?(-+OA^PX'2*^4WXN+QSGM7F$*MY M4:/1Y*\P3C@0.7,O:!\*QI$;9:4'[\A^MKSP$GQM"-_)<]R;'!W /4:F]*V3 M'F\ [Q#"\O9K=06&AGERO1,(1<16I=8(*8Q@,J(.PC$7NYD ]SVI=3+5D6R M7@5ZZB2JZU)7:!\5AOAO=2P8X[Q8?(KZ$ZBTJ>N(> K@Z*8$Q!R+R #,DB624RE?[F M7)W'S7 ?6MQ';$UOAHWVV0@C0$>=JTNAP.F,9%%::W2*SG7KE_0EW0SO)?R= M-\/[2*[IS7!.SB6I-40RZD E$<"3B0W M\.HPE1_'\]44ZKJ[9'0L(G)(+M'NDGV&P*.E<]\HDXV)H=O-22=M[D+QN&R@ M7F3=<[!\&Z9UWD<75+U;2+OQ'-]@ZD=?]Q#@ &$?82M8HPM&H[7) [/:!C4^ .8^N8#-A'QCUK_O4BSH9Y&*;#R^RLX.D(*U:! M1;ZH,C=.][?]WW[^<4_TOK0RZ4VD/1MJEWV4?L;)VVEX_VY( M)]V2R'4B>L["0^&UV9KA$4)R%J2VH20E+78K4NVFYUTP'M\YY?+VZ M$;L*:4WQ+J!Z/^=WPCG^,=^3NB:M9-WW9K\3'&H933 &HB%(*G('GM?NK#KZ M((VU3G?J?7Z.!+CCD#^F_O<1<8]Z7^YWWT_#/X>CY^^&X_!LG/\@J6+^?X;C MMR2;39Z3#?7RB%25ZV145B)$SC0('LF]+=I9=J-V9D?,X]Y''?=\[TD?DV;" MW'G<]SAF-LS>U?_63.\/852;*(9Q_C5,_\1Y/>U>8UI,5Y;/PSN][/^0@X?. M'K:L&QE9'A4G&\UKY9TJVG@OHS Q2IX\H\U@L/_C#D]B(7[=>.0OE^$ZZP27 MD7M(W"E0M7FV%^26<$TTMCXG(]JT"+P'6!_).[<__MG\>9A./]%KMA[_(+W1 M3BM(N=Z^I9(@ELP!A9:.&QDB/^;J;\ [?C5/GVS9EOC3KT9:]-/\0.]/C#.(]I4(%I+KKR,'B)6$S$X6Q2=_%Z(3H92]V<^#D*T%'23 MS+*K[+S)XC_&4R1KY)^8?R9Y+C/AO'5*2D4N0JY7!C$ZH/]*R P++[9HU&V* M2O=%^CCH=!0]->C4>>7J::M45O=/3 O/L4[/R+92W@;:!\F-T($E9B)/+#:: MP=D%WK&:@+7D3?]Z.'7FVCWFVC)V(9&75(CQSKIJHUEPJ!QP@73@,BLSMFDO MMQO3Z0NB>]-_-[-Y7STTR*)_A;/Y=)CFF+=CW/[=3<9"!^Q-.W\=@OXT+<'Z M8L*M5M1'5N.Y43%&(8). G1:=B4BOS/$.F5;%19]R1B;M3<_-PK>TU3L'!FX MC_9:-!DC4&LDB9R+6GU9I]+J6FBOP4M1H#CC448C=+?HQX..Q5/U?SF>[K:< MBP\0?)NV8A=D,0SK+! R'3:-+P1Y!B['56=XQ5& 3\*"]CDS JP8;],:=2N< MIT2,@]718)OX=3+&3ZL+BI\6XWR9T2'12>,]!&L)E74%G&.,5"J3,38HD]L< M/=OQ/"&6]*"0!M=%SR?3]Y-IF./U^X@U."LBLB@<%.OJ/F<\1$W>:A8A.%=" MCK%5X\H[8#TATO2GG@970G^\_GGR :?CU82&+?B0.2^T=\"R8*"(T!!\E+5& MCXPSPYEP;8)=]R%[0@SJ54D[1\$G:^&).$%A7FRKQ/223K&6 , MM?6,3>!#+B"P",ZUR +;]%?> >CQWO?TH8$&)].;:1C/"DYKH.4U3C\,TW#\ M]F79@G96.S_.MO]HDZO>82U-+W_Z7,UI+H-ZHO(-&W.S(.( J/66B!O8ZZ?/U_ON3DZ>[KNH]H&-+UJ%SQ[B^-T*[-A M<]>1/2KT$GC4)+"H/'@9$*2,=+;DXH1O'QC;G3\> .XZXW)1[MPLH8 MC<72"YA**F3,<@NQA 2%%4PZ*>%-FY;F9W)A=38T.EP]C3>H[9R6-HM([B[S M@6Q>'B+X&!44ISVWZ'UL-"?T_+S+LV%2KTH[^G57YC:0QY0AIYK*YXT#QR/I M/R(SFF6I?*O1]6=UW74V=.I/70VNOWY=C$DP[\/HM\G\$I-G29>4-;B:"*J2 MDQ""-F!4PD#G+FK=IFG;-C1/F#D'*V?G55=_]2T_A>%TF8/^ZW) ,Z[6_O!2 MECL_[]"JE>Y@;Q2H1),*SZ6(R#F9H!AR\IP[S7U!M%D/[OSD R\7-Q^]:NA' MI/QE&.)PM-Y%EH_++\>OZLXR):;2+_PV&4\W7WX?9L,K:7O,EE D$= S42]? M78!@Z6_,IR SZHRA309^K\MHDZ9W"?&'X:PF#1*B0119!6OKN!1&\I(^0HBT M2?M0A!48HI.=&B3UE+6W!>+Q-\C3,;);FM^A>CQEA4Q17F(MPN"6-G55"FWT MME@P/"LI3*I3!I]8A6# @R%V2TH% Q"*E.L'0E M<$D_#+G-=K83TI/F4R]Z:C&_K0<1K8)Z.1410"0'3)K$2/IM2H0Z@#M5D/]$K-G%W9ZTU^!TWN8K7@*\'")^/\2FL?X. M($\4PN];P;L(U+-V3D2D%!.7UF5@VB-!];SV7-&@#+U111C)>!N#[V0$NB^F M?@;\V4A+K1UH=6 ,NTB,@# Q8,[?$.)7A)?]CL MHL?(,*4V4=+SH^##"V!/QL!]M'>\RC;&E%IV*\1HZD0W$<"YQ"$HK1)'$2)K M8".S[[XA&.PQF9ZFVO< M/]5VP)E.!^-BH5?=H(UMXD_GS]>'%I^<"UWW4>TI8_') 5;#BA"EBEL@@F*Y/;M.SIAN^)7Y;U MK\.63+L:CK^-=W-QT@'LT;.U=L(]>=Y6;WKODD/1J]*.E8RS$[2(I8B4/<24 M:Z.KD, 9GL!KSF.0)F*CWO1GP+#NB5WG0;!]=-626"_&[Q?SV5("?!/6REJ4 MD@6(F LH%P3$X@(481DJZZ(I;:ZF[@!U'CE=/:ES%W$.U$6+$.,6:.*RK9Y4 MDI8+4FI'T)B&R+T!DTQ"QS#[T*9UYAV@GAI-'J*+G;M)?W7?WX<1>1WX^AWB M?%WG_&PTFOQ5OQG&^??I)"_2_!7.%U.R*&?DR> !5>$'/.W0FO&^%GJCHMQ& M;;0-WDK-E5'1>\]4298QGVQR9G# HE4^@N2970$L%0?L"QFM="N:B92>#I-/PVKWA'9ZF\V'Y MNK\8?W[T1@G5@5H+?O9J,AK]-)G^%:9Y4%ST%KT"96M?=1\YN) $&!Y3D8(\[#[8MNVYG]+3578.S^&Z@ZQUAP+THF@4'424#*J*!D.B82<;D MY*S5K1(/.\$[_OG<7-&3UEIJ8/W?#?+YNS!]B_G-Y/ED-J?O__CQ/7E9.(@V M%E2!04J2G"-%KUJ(,0 +7G'.2$2ZS=[U(+A/G6I]:+%!B.ANT#]@M5OHI[,! M.A;&7GOX@W1T=(-T?7G6!6/30%H7E*>)G[70\G[& MP,-5="HZ696#8I&,(GJ#R ?+I7IC%ERV9#"5)&2C^2NGH]$]0;)S8=$^FFG1 M(&T#C6SHYU/,PWD=3[Z95*1R01=H\T5'5B1FA!@XJZGN+#JDK;K1H.:[4!W? M%>E?CS>[G_6EA!YOXFKH8?#ZQ^>;B45<,+]>\K4;]\MT\>"$05J_$<6 XDY# M=(I!"08-RF*XNV%IWPYN[/G,1\2$EM(^30R,8)-]./\4QKG6I[ZO-OCX\J<] MA;[N>4B#B-<^R[H1Z)+9,Y,-0Q&3"DP')2S3C(Z4HI,V:EN@ZY['';;W;S[\ M=WKL\M9L\X3/_J"123!>Z-#+D7BF2P3'C8)BDHK*R*)=F[CW_=@./?EV/N'G M*6V^ \&<"Y@,6%4;UR@?P-4.E))K@XD9QD.;!.Z[<1U_S^N9)3?/OA[5T*); M<4J+B\4HS#'_@.^GF(;+[9_^/L*U2_OL8C*=#_^Y_/[.Q0QTYHS)G$"J0G8D M:CK%HW=@N<9H+8LBR#:F5$\K>'3$.XEJ&UCP.X']AO.!8SY;'C/H*,AX9$F" M%_0B.4PE10PR\2/OWX3JT5&I-Q4TB$%]GCBZ$^7ZX@V%4('\6TW_"\H5!M$3 MJYV3#.F'KM@V.U17A,=J/]R8+$T4> 9Z]UNRG0H,K+?@Z:1G9,P5:WDN HNS;#$,R(R79.HI8G[A!;A43O"DN&XT,'D'H,='A#XD MW^-.L+J*GY3Y7V&*FY*3(BT]38#,FJ D398_0PG&,!:LC4JS&^'37<&-:Y_[ M>'1YJ-!:3.Y93$F:BRG2,G\:?JQ_^]QT-]-:-*U0D].FN-<0BRB07$G:\VB$ M;G/P[\;T>*C0L_P;I%#^@F&&[R:C_.+B_72=9GHYT9C6Y#TFD*%.*>4Z \&1 MP'DR/#@2!K8I*;@#U./C1E\:V-GOH&EH\\5X'L9OA^2.+_M'/$LDG=EP=7G< M9W3S_N#6P<,Y M_C+\@/G&HZY,"=.8I:B5 A*):XI+#4[R&KD/+"M-AQ4/;8Z$#N@.W?!N?O!O M./_Q8QHM\G#\]N?))/\U'(T&(GM?;(Q06%XZ=@:<E9(@PN4*PBO@BHN!UT$(,L55+$0 MDJGE,X$IB2@ DP[_V_&#@<]; 4BC)!Z,3;U-G>3^V1\B2GA72P#>[0P0U MF$Z^8E%29=#2>5#!*?"1"&T]1L,S$5PW&N)W)ZY'2)4>%=&@*]URN[O2M&]0 M N,VI7IQK D/AE!M) :):6N+35[)-@4.-Y$\0BH<).S;RM?M]H@_9E@6HU^& M!0?2$@>E=: BIP47@;16;J 88;)DD9S31OWA.J![A"3I72FWB6-ZR.:<+O!J ML\_G:T,)C8LY*P.A-@&NI17@->E6NX0E>%:<;3,<8R>D1TB1?L1_FQ>V[]/D MJ@4=VB0K[<;T")G1DP)N4\/UESYYAQ!6 MJ5E*^H@I)8A,UQ84*D)@H0"/22J96#*NS15B=XS'2J%L3IA&:CF7-,H[%O7] MIU_#?T^FST=AMAH;@-<5Y.G3*ONE M27=?Z2!UM>B%NQOJ9Z"_A8M-E*\+W+8-O?<#?+*!=FT(T)UHO6GO#$BGO'"& M90%&V=H(F <(T2 =#^B,K44UMDW=^5F0[?YI=&?)M7V4UH!CFRRR31+2#&=EV1^NY!UY?OUI:&?$LVGZ MQ_/P?CBGW_HGYN>CR:+FL*S,OV6=8.U ..LW#V2/!S9("'GHRIR3&Z'6VQHD43%(\;LL,V>/1!VX>5QY$%OTTI'G]],^^BJ]=)$W18%.I M-YZ>[,3@'#B1E2HJ.L$;S1V\!]G!V^;VSZ]7_"4X9776X$.UB$.D-4MZ];V/ MTF;RUT2C[KJ[,1U_@^R5&;=VQ'Z$WR(;?CNR:P71.!U.\H"\(^^MYU""(A-# M1;(NC!=D;&1E5"@&&[4N[0SQ:9#F0-6TL,CN!SK(B=LZ3A:27K8T*I9DX,FW MS]IJC$*U&L39 =S3X\U>ZF@Q4G,[Q-4%C<:".1@./-54N!!I,\S1D6'(E$*T MF9NC'L%'O5 ]!3/V%_NY7)_NHGIUB95*/.NDP-7H(_D7$F)2%M &)VWM]N>/ M:M6<\GJT/\5WW&OV5<#Q3J6-?]L!7-/KSCOAG>9RLS=E=B/) 9HX.ET,)J2M M54!*-5D.'0=O2:]2"!V=1BRQ3L9,.OVJ9]-9.9X\8X5D,G+.B($(;+((2F4)M3!@=BF%UH7= >GVE][ MQG(<#NV[P4NF:9VD$WIGM$O@K#-@F DZ8G8ZMLEJVX;F^!M5[ZRXE4Y_J- ; MW-Q=P[1>[=49.5ISKR2G?11# E4P0I#!@312!,N#2Z%-NL@]P!X[/0Y410/3 M=AL\.F8+9RPQT"S4I@V\MO?1#KR*46:&193=F@.; M'2SS*&,1&1QWJG:L=!!$LL S\QG)F,?4)DA^_['1#\M?XWP^POR/X?S=9#%_ M'F;OQ"#2>YZPD%/":C:B484443(PB<*FR)BRQ]L7MP!\_._"H5II4(WV>_BT MFG$]F5Y#/-",&<5X!.:$K9/FJD=++TMB3BDFN=>Q#5MV(7I<].A%[@W*SK9N MX8P7$Y)1P&4-KK%B(#!?R#V-.G#EI;)M:A+O/S(/R7>_]NE+TVC9*WOIDZ]3 M9IE0"AD#IB4M/(L$(3!Z33WG2:HH?&H3O-L#Y+$"-,V-R5:*.9>8S1T"7 UB MXBII(Q5QH3:^546!#R1 )+O)U^N&T*@0YQY@IT]M[YD/=_JXA^FE@0%;&U+= M$,&F/U4'8$U#.3NAG2:,TZLB)RVU<%2:U#TW\WIP.V%J?1F=WEE:2,+K@J8H MK=ODFA^9'O>$;T[#CGV$WZ(N(:1:O!]-/B&YGA]P6N,4ES/W M@L@FDY^9 ZU6U+GQ@0OPVD1FLU"AM#'I=P!Z+"3H0]ZM;\%JS\OEEJ>=23F[ M"$;:#$IGXF:QKA8B>Y.2U:[1R*:M<)Z4G?D@';1H8'43U/H=Z *KJ6VY ]@9 M6)8/4]U]9#A [L?8+];PHF3*6#*-M"H$S\H,/BK:U;!N9(ESVRBW\*ATV,>2 M;,J&?<3==_+/L]&(D,S+9'KQTV+=Y?H?D^F?/Y$\GHT__?4.I_B<6%A_,AJ^ M'5_I:^^+E5SK!*+4[M+=AQTK'>#N2JQ*PZ=;([1P+LL"6.K?]] M1-S[J)DP_M^3&3X/HR$=9N-A6)]2],@LHM7@! OD$T<%/J.%8+V+/B1O,74R M$W8\X'@V0(^RG_0LN"-D"C^?8A[.G[V=XFK,10T'3LKJNP=D"7?YV$,SA/>& M?B,[F >N(\N!6V.4TB+4YL(B7.#D 'S[2A#WJYEMSFJO77\'%XL;CX?C*= M3OZJU_KA/?UD_FG@#*NWK@I*8;Y:4 :BS@**X]E*)J13;;JQ[X/R^#Y*'URY M->FFE5X:W(9?Q3H@"YNV7W*2@BO520I^V7(1LC?6\>1S%&U*FZZB>'P()%W3D'"R3"$J* %'%0CN5B=6&BZ:TJ2?9A>A4UQ4':[K#*;&W MQ!OL%MMP_5(MO.GF0KX#OJ:!D/L0GB8BTH\^.Y#D8&6<@C1.AQ2RJ!& >N>K M:XZP,1*<3N09B."#:S.KX31DN2=>&W[3EUA\1+28"]XP-W?<=FSY\.-;D?V*?]*C[%KT"KM-7B8O2-&K@^7A/A0"FWZ-9T#=%E=M#]F-HV4-F" MZD1]4P[4V)T$.$#<+;JD;,.F8\(4ZD1@YAR=6KY =%:#5MJH[%(VO$W&_O$H M<%]/E",P8!\I-TF%^3 9?:B76->ON%8GDTO.:\T,1,-BC=34DREF2$QF[6W, M7+>J)+T#U@E:IARLN5LI,7V)_001D)^&XS!.-;P_G8;QV]4W>PR%W/GY?<=$ MNB_F1G $H\XV.Q-F\)>^HB2_+Z;I79CARS@:OEVUO'2:%5Y7YT.=2Z:# M@LB8@U)T(#5H*1K=:=W&+-! M3M7M8*ZAY@7S8[ M6DB_@>.ZS35/Q0IN0P)6AV2K>C43BW)@%-/:"A*$:3,N] QC8(>J_A#9GCH& M5G.5?I].\B+-7TY?X_3#,*T*($TJSMO:5MDYVM"8)LXF'<$6BT)949+I% _O ME(6W#<$Y763MI=%)CY+M.>ERC6?V;)S7B&:;-I8=0/6>?;L3SO&S;P_7U&VU M]R3FHW' EF2M8@(4H:C[()FMNB3@.2#Z$$(IG;R?<]3]'8FW1U+]/M+MO74O MF:C$*/*E-Z V]<@EDC7"?+V>J[FCPH OU@"*Q%W$0)A-)T]@UQ..FW7;D_0G M?8NN012*EDJ'VOQ3K2VJS0M^_)_%\'T]L;[_5&N95WVHLS%.14;>I[5U;KT% M[[D J0@;4PQY:F/D=0#WI1_OK?30P/[?";$"W+2?[P"Q:1RK \C3A+5Z5W!7 M AVHG0:W#%V@ZCK%RRL&LDA>YPK7=L#D5B44(=61>#&W"86?C$#W!,7.@3_[ M**5OVZ-VU:%/>T?0?L /.)HLP5VB7)^FR426" M(23!5BAEB[:4?76(>I7*2 M=$ MR#I_^,'QL8(Y!!%0JQA"2+YF9XH5PF6L]Z/Z8 Y,9)[/9M4__ M?$U6P_5"9@13BJQ-:P+QQRI06A<4S"6G&U71[,1T<.HFSF:(+^G-#/73?\$P MPU^&(2Z#RYMK_Q\6.! \D(E8&&3#:XMHGL"[I BQ#-(&EM&U:?W9%>$)HH8'1?!W;JQHE>EG^F*V&@ ^BM0;I_R%)\CH5(JT]>0=.*\7I M9R'J-B[ZG; >#3WZ$WX#OWS')C<(V:1$"R.&:DT+E@$\YYG^YEQ@&H4O;0[: M'8 >*1L>)O &7?>OP[H12/YA.$N3Q7@92/X=IXF.OP$&H;BG'9AGH-(RZ4;KYOD@?*7-Z5E&#QOUWXGV%59173TL^X,Z61,P'-,Z2-27K M]-. (#UJS[7-*1QCS[D?Z=.@U*$JNDTIW2^E:G^J@76,260"="#%*F'IZ(R5 M[CYZ&S 8:=M,F+N-Y9'28F\QWU:\Z5?Q&Q=LP)S.UL< 2OH$*IB*2AK0@HBJ M!XI 1XD[MLDL'UE$G^^A[K/6U7$LD!HRT*G//2&%[J1-RFB<:=H3X:ZK15TFU6N<-:BJ8T76#^ M\6,B'_[9.+^,,Q+A'%^,/Q#RR?33L_G&A_\UC!:CN>8V6TMKI4.US(YY#7NKNCHA4^2R,;( MS>=&@_="@2A2>%J7]MTZ,GR9S6?[4&^G/K/[B/EH[46[@'J:?6;W4E>G/J,/ MD?71B$"/9TI[PJ5J7$"K HZ\*6!6\^S(I\Z\D_=ZC@1X4)_9_O6_CXB/U6CY)?[Z;C.C39S5=:?YI^9V7I6!MA_]FBF&VF*Z^^0KGP^ERX_J==(G3 M*>;E]Y?I,!<7D_'RJP-RAMJ!.33'Z$ABNI&39+6-SD>O"Y?*UMG#R:',/AN= M4]9\T [6@3-]WX4I?A]F=8K"Q7LZ$L/JQ;WL(O#]I\^_LKY@>U9G.%_QGHRS M64L$YFM/[5+O10I'.@^C*]F5E&6;;K"'8S\\R?>J?I8/FSU;S-]-IL-_8AXX MDPP/40%*3_N1TP&"#@LZ4@0DE$(=9;?:7R$<1'KPDZR@A'5+<,:Y]H_8E=P/[2J$#%-6B6=\5 MHV+X89C)L)G]CM,ESA\PC>A_\B#YDFS0!0)F!.6#J:,X+!#%R?1!CZ6T"6%V M0??D&-6[RAJD:KT.=6;7$N-OBRI-^N+*[OEB_(:$-0MIV0:(2S9BILD,9UY97X/4Q?3I=W=_F_PFB!FS=C M(+W10F@%23L-*CF"R$T]OYUS3&74MDW/P0[@GARY^E98@SRN*_ROM>VTSTZ7 M,GJ%"82%YTJ2OW'F,=DZO 2:2#'5-)Q>9,PFA"K]V8GAR7>E)/ M@Z2S+3>(R\&HO^+\W22O9 D A9YAJ<9Q:8%$(4K7QJU,FL"[JG M3:8^5-9CUMFEB"Z'[]XKK-DN::U'\T:6C<@)C&;UEDT$\-I)8(I):XK I-H, M0.]M"7D2E9\Z">IR]8M()L(PT&OYV6Y8AOR=-\F*&NU7G#;XQ!4$ M6<@6Y:I>T&BM2YO-DTT_D/BI#;O*T%TTUN)>]ZC6'"_KK%?MR,^.E \*F M+83NQWB:#D(]*?6.>XP>-7(:[NABN0LJ RM&@>)2@R^U_XDGG,X(&7BC?>A$ MG+FG:=#)*+./(OK.V/I]$4?#="V'8)VVHH/SKA;HEE1;UXA:H: ]0HD6?9": MH[YA9^UJ6+[K$22W#KW-CDL>0.#-D];4I)]L%Z=%0HE_AMS@@-BFIJRRB:G9-QM706NYX M!6V)/BH@\Y^6G!VG)2=#&V#(J5Y'\-RFMN-.6$_<3NU-8PUBOSVIT(%,F2(5K"$S1RQ"$MEQ'8[!- .V( MA+C/W#PR'_81>8OQ?9^C=!NSR(C@/9VC+&1!QZJ/M3VT!NX$)U"&.=UH@.=- M*,>W.GI0T>XHZ /DV\#L?%7SBL>8?PS36@R]:>'-R18N)GJ0LC96"-6-X8?L+9I/61$WWX/Z+\^H/-R M;N3\\^*21.V4EE9Y'F.6B8FBM.?,2JZVY/S?]:B3Y_$7EY5AW -/O-3^!I(\ MI9B *PP\V>2$:Y.M?OH\_@P#:;+Z"S]-IC_3OYT/$K(8F*1WN4Y* M4H6<4:^8 4R,%\M<,+G175VC%7V10=I]F'W+>SL':O1=(MAJ4<]R7K(AC%:_ M,!!<>&>,!Y-"[2>J% 1ER'D7%AGCR071K>SP6(B?#+_/EP=]7Y6OV_G\^!&G M:3C#WZ?#M+DY7%WL;?H0JAR<%EA 9F-!)3*\8HF6['!G(BK-L&-?_:Y/?%ID M:Z*'!E=B2P'$^V44;\IH^<=_X:PV"UFVSYVM5Q3>XB#I2,AU 1&0O+JH:R^@ M[ "SY4H+P4-H:%WUO9PGP]SS(46+"HV'RO3JHF@YPTGF YM+3!HM"&&63?W3B39O>T4V6\_7%.#HI^NY5_?!+19R_&*?)Q67Y M[YLP?8OS9^G=$#^L^F'AM$RF%V&<\ UQ>5:#:YM;(QVR]DY)\&_Y,A_I?"D1X;L!>*PU,%!G("Z>5N>J$ M>8@Z!)"Z\*(]TTYUC-@2@CF+@./2IL/\HG1:^6^36DH[2#PH M;Z*J*3J67OKZO@MOP&I>5.1>.^P6UCGA(KZ^&.?(EBVOR8%]F!^Z\'4;%K9]^O2WV*^ MOC;GS)XMK\^#@[>]"6"OU=:A8KE8#2GG2&=J[0)?Z&"UW--2.1H3&EM9#T3^ M]<4X&UYL>0L>'-@];+7+/ZZ$IU^6-Y-Y&+U>Q/_&-'\S6=\Q/)^,5]D] V\D M8W7 HE!.UF4R<%+7>K@F1";&%Y*<+3VY=T_W1 M6(?,T^L

P\D?^]\ M-?27+_A/VMI3W#_(RJ +6+9"MV[5:C$ @1 &X$]O'UM>2=X51?\HS_?[!^IW^.-5H95H'\XFC=L-'OO@AO3$_5OY< MVIC!X+-J?9C#])N@.X/,&:-MC/:O(P)(J"@E02Z1G<9GV2]D/(2GKGMO7*@[ MRC][\!-*JJ9$1_1B5Z"7^>DC35]W">UT*RU8V7,%66O _O<3\>]1M\GF'O5J ME!"Z)L( CSRBC?-G*U9D63@V"MZ2:XG1MOJZ+21I<4%VK6=M*%%?)+=![UY2 M/;0P8DONC[N4&Y9#XB!,A8LP?17'I;35XF>-N%D3@9P9NUQX"/+R67E93U20 MFF+Z_O!PQ:-[VZ^!5-_, 0; $1=R%9'FD4&(+$O1ZTC9%L."]AT^TLM:IJPA ME+>O:?R[IJ,2,V9?.P/20G:E MN3_:UT88D)1SA27Q!R=KF0Q:1E8R21=YR.D3^V8>R(F6H6ZPX[X%/"KM?=&H M'=4-F[4)D6QE -AU=CS6Q!@ WU$&X NO,71,L3&>]G/[-'CR!3+O:-O\K@\8 MG^LZM!GD9M/<,9./RTK^A3I) C=@QAS-WK$VCW']X@RR8WI)PD;KDSVMAXTE M;AA[:$3"'1S0"<#\60EG9<46,PK%'@.)YE7@,I\7_!/#OQB ,J3Y8LHPY"H"S)GS>6(>4&ZE=-?]%>JGDV^]T4159NJ M)0;X&R!A.\>NELVCMD]O4C1?Z2Q:M\3#2/>P2X>2B8GXL%1V@#FE?4V.QJ[% MFRBYZI>Y-LZ7PEKQ<"R!=9=-*6_?<&H*V8H.NS.59I7 #%,?LY[T:&:8$O(N M(#(9@)O5EZ&.1&/7?CEJ7-X_,=D_&G:A*YV_(M:CJHRH-0-=V^[M@B:Z0_[4#/D0BEZ] M@LV%C=HK/#='=H[LJ9?^')^Q[O",'P.2ZUN024[T_E5M&'V2 5"1UJ_XY?'G M$N$'!N#P>HM@\R[U>O;XOOP#,.671&X%%ARE:I!"?<2#W&[9>TK-X*'7/:!> M]J=S;)_$P#JH/1?K:.7U9T];GZU[1WV_I7 M-$4^)[K56U6[;>Q&IO7_V @3>9[TB %@*5*4Z\J.:FX/U?*8RO,JK'.[^"[T MU.4RCXJ%W=J*LH+>/Q>.F!AZ*>YF^Y_#HW\_SOR?,/2_XMGC7!1+CJV.!84K8FV_[4+\6'KNH!C\Q1Z\_I8X=,7 [P#X=BAYOMD[S>C;RQ* M%ZX/?EE)GOF%RG4J0MT^O=UET7.%^PFG"+ZU"3%.7B MKP_-K>P4'=Z1KGT(XE+X.CR7FSZ;OTK-^$Q\&RK);S#I?V3D4]D]DVV-VU$; M'*BQ#CQ"=);$F0C279$%YS_^)@MV0X5?]-*\_HFR@#<.%=FQFE5GB57 M];;601C9T;R3-JN%V%9=K9FV^Q&M/S+G\;/B)7 8NGC_,ZU"284!0$&/+BL^ M@YW'_$C-3GZ^!?7Z.[H& M%?29B3.L/XPS,PJO(63,C] \2+?#9F#'7N$<_D+#!8922'7>" 3 0DMO,E_$C2(:KJV5-06U<56ZHF=GX MQR'R8:Q9J]:M"B&5PI.42O4-3PC:I?ST3O"I51.^Z9QW4\8Q6]GZS[1.. M+4HEOC;)%,&26,9ZLK47H+<8HK^\Z_9L,.@U;JG]7I.^%D^])P/PRQ"C0ZM< MSR(]ELU*-V_ MR8[7U(LZ]0U5.63!+[H/A S4Q9X1*X5%-Y+6S^UT$H;;X+] M_4HA_ MA93"G4BS>_ KB??^FZ3:8F3L'EW$40*X'*L_9JBV/<< C-^C0C[/TM+KA6[N MU%IGHW?,W^T>S9);O4)L =41*H'[Y0,5&[>)I^B'X"4#V:$KS,Q7F&I?,_26 M+@!O[,D.+O4'+V>'X9_-TH?;A[>6D=-@(E G 4.EA4\R$5^\QF?H& ;O':BN MVX^L>>1%L\WUI(_@N&SWJS],8-9^,OEFT444ME[EVW[: 2)E#WX%N*'LH-83 M80+V^[YW8&:D44%NXQFXW#.4+(488>8EL+TY ]!Y"TQDVD@\3G_? :&&6JO/ MD=LO1Q(:%'P36V1?KTU7SHL)%5:9 ZY8WM#@*$;VHM"B_DWM4WR: , MD*[V9(=M'2;1)E46P>0LT'@5$_XF>^XR:>X/U-(0FMK$S$S: +'AV&4#-XF,66O?$[>:TB4*]YATO17]&QKYA+N(X/\**QSZ MS/1H6"AS OJ!F=U;OS%S"BD?1UHG0IM.(DOO,'VF_UDK="RQ17JG5B8#O%^Q M@9H7UL64.4:9KL/E(,@='Q-0MU31=KCD(C/LOM!%WFT"[T:B<,!!)B(,>TYY M]Y2>/3V7!:+Y^"/S;Z H5KA3:^!!ZH4-!F Y/Y:FF\NQ;TX)#=IY+H.C3;H! MY[G$T&4M]3PK%,_0&F33MCR3&;B,'+>W%@760^=,R0YGF=K?8 "^+S( *1E, M%J,X,]2ZAPX;_]6GMS>3@47:G]-NS!BOLJ[G*P_\H[: M8:[AC/P]5<-KYI3;D%7(F,H,_2%=I)RYS'0&8"PL>84!*'5OI=;!GXT3;S( M):G$ P*)*!\Z%S@X[5AT;'NEI\G**'LV[DR,R@!%T>Z1)H2:?!VT,:H)2>H M?1;YQCM_AF68&7F_:<4/(S?V& R%7G3E1Q'A#6],U-:/P[?-!J V3(WZ')0 MJU0AMH/EF\NO]Q5G1-[/1*')[L0>E+I6QM)\@XCRP):8^:#USTY]@T9JB;M\ M.<^OF)"V>VG!M37-J1KK$=O+/&65)+X,CQ]YXL,8OI'8#N&?V,KQV.Q"+[1+ MS2<*6+_/)]9 &:ZNIZ3_;471*72]A MQ0 445ISF.#9RABZ>+XH=2Z&:=MGOLTXT=17;XC1'UBNXHX_AFT)6S;Y=ORL MK_;:O<#[OC+DH'#Q)2B9P&259D' GFAD5CF"-A?EA?Q@(F/7N VW'9Z*+;"1Y&4 M?9)C1*$&,O 4W<69%-24QG8S15DFR!;GTRFZJV5S_=&,7&RV"#1Z/G'1+H$! MN+P<--(,$LF^R]_DU\-<+%6#@PE?I>:2>9$RSN!;3,=&K\0R6J\NT-J#3MC!]H?X>FNHNH&7UZX6<#("7 M=A20]HI)AP^#6PINTAPCJ(:*M(Z(:?JG8H2!#93C"_U.TE:F.MV M+#]-G0=M*MW_^G2,&TDYR@ H+E5"QYXQ,<01^^YM;=QWR@H(@2E@.23 MHWF''0>3)@8#A%:9@4(!"MZ0HZ6X,XG&[V]WW!Q+N_:A%!;D(/-W9N0=$;[" M3&'2,QJR8'Y*\-RZ=F'\] MP_>E!O/+&!D87Z?>/+W8?AFA6>)J'C#\C9FD<0X!R2$,@"N'C&3C5?&P#'P1 M#W0IJ?S2=1\?,2/T5?O8!S@OO:J2[^_3#/T+.'!C&Z"2'V[J)_(-O%"369V] MC2_WOSJ<"3I4V_J= 0"J:Y$Z?E3VKF]- AO+LW^@C8(51A1O7S*_+2]VB1,S M875IR741@]6N()6(XGJ'75W=KOG1]AGH9]>6/=EI>Q?;C<.=G<; M+*S]T/_MBLOC"VU5^ZM MBYV>R+&'4]]-<^#\,_SA=,'%3QU8--&FKXS(#,%EQG2;MKZ^<(Z)C<<&7Z5O!]AXUD<1VX5VF+H@T>^)P?5( *(/#3 9C.AD',*!3% (C!W9"@6LA3>M%W3]". MASV2]DGJ.Z5UQC]9'GYT 3E^>@*Y<* N-ZHHE[!'@-)9N55F!R#)NQ.D0Y1B M$A-@#%$DF#CX62W0Z$; M"'H*\^-DU.8N _ &Q9)H3)F5G.QWB*:-#&#RPW)_8(36P+/#/GL3HY+TX*$M M+5[P:'S \#NF9Z9\>GVU(9 YV2_4.[O>^LL3OO'(-1D!Y,*YW+9I9.R.L,,8 M>)S$^3SHNNMB^P6D72^2)Y/I+'-.N<:6?2@+O^F MAEQYTP,/8:ZPR4"3,.K3=77$HCQ%K)5LEDK*.%,$K#K4Z]5JM:I,UN*-O9/, M=7Z,*WMJ]:>D\?N/TSE:T,(*JJ7FQ1(*A/"N2F:+!M:JZHOISSVRYCUZZ\2O M&9DR;7:,R\H9VFNJHQPSMYYV]F4 MEL-G<'OCN[%1=WWO*.L5CVU'VCSZ]%2 MH(U0? PT_QZU;],-5*)9W#JF>;9X^_A"7]&2G7(Z^THT2^M8+2Q??_E7 QMR M_T+1QR^%/V?AYU?UA$%6.?WR4/(O\"XW]B$MGJKROHL X9X0V:V-9*>K'2\X M#+:'LK6B5-P]E^G52R4H&EL464K:_D5CJXOK&O^(]-:;NI/0^-G>H$[,L4>_ M%KRZI[ZY^$'V3C^U.![$S"3'5DFH(XL;R!%[9^36.==>IX)AD1C?X/U7]561 MO]G,_N@/"RJ(*)ZFCC[D=!A91TLY DZ;&*XK"O'F$ I\=W/ G3307AJ+?%40 M)?W@5$'\^[PA=+,*W2WNE&B%=;%V<=&.T35><9X'I_X_.;;V?W5O8_\GSPO7J6@I;PG7XH[.=KW+Q#^,4 ,XL2^&)<767V_:J MHUQ\1=VVR;C M(5S:J:6/ZW_!V7#%L&#<6Q]WWPGF(L7+P5LZV[G<0[' UM$SXB7@+UU'R,)E]X-?^#$IZG1=\2Q+P.SD5B3U."^[ZYDF3] M-!/-5+??C@SQ&).+=IDP\'DK-99G[.>N+W@TF6"(9@!$H,?=+(75EUEH#W(' MD8 ^ )_IWSSN[K#,E5[E8A9/:UF>C9 M"TKLF@/7L+DR02Q?YK[IJB03*\L&"=6W5@-I*:X+8U)TYJ8:SNRP@Q,TF<__ MY0#YU;=]^D'B]MB.W0<6)B](I_X^WEU&&AZ@:P;QC>DOD_U16_%Y"^T7:(\U MG%M)3'J^632KTXTD]H)XW<$S\]-3Z7)%HU/014%FR.72FQ%$4F@4.8(TTIBS M=7<\:D\A2J-,I#1YBIE&KV10LYD?_"D'8Z([S#%U'=?E#=WHE,X$RN\ M&FI#NJZ'CA6\'ZY0W2'=O*KD*6W>?FSXE'JV:,B@E\W(T\R?DXX]WRK>T:MO M%5";'2;@W%C3YY%4C:P[0*A"NP3=5:^#0]R1?8>9('CQ/RF.-I1)_"W*&[8Q M:&@M[N#W.PKC;4\O55:QQ72>PK1K:SY8T/;SU,;Y?J-]K3]%,=4/@?2O^E05 M/&+3X?'%1_U*C&D[HP$IN,_DE(\#N>]3WAS++JI!2YZ<+"FC&L/GG3G'0H0\Y+O-,%2+_9LVQ)!A4S %@.=?]4F>9%T"8I M\!(#T'O:=V? M8.Q.)P-7@0:P@DS'/9-FWI L@W7>'6Z[AYCG"$7)*>+::^1J.Y@N\1$95L\; M5"\R$+Y?O@1^59@4%1[^:8<9DCT+6\_CCM:>HWES@!ODJ;F'*.#I^>5T2U3& M9;J!]1M>('M8P !J(K1#I#68:D21NUB19$2YB74I9I/1^%X#4.1N#$TP_-G] MM!O?PPO!%S74&?\GGGU!)5P[/#",]3M/8&HC2F] M4#@JWW4Q6V[2%FPO.#&;3K'$GP]:#U^![),\Z#Z>H ,4#^!V$*A_<"_Z\B8U MSS=J.TG@)3-_Q&=+K3AB\319',WDG2-H_]49^AO/RZ(O'U\>EJ>WOS VLOS2 MHG8N..I\[C^6';#DYYW#O[ZT):ILZ,YAP.1\UMEC'73J4>3;O,%[-98LH:K/ MJ8I>]!HFV,*L_VQ"IHZ$(8QIL=[(T_!&[(->C[/$U9A^EIQ1K B_$RCH(.O1 MUG3VV7F_NS<#SVK!("=,HN=>1L?,"M]34+^ -Y!NN'KP+U1/\Q8;K>$RXJM1*#D2=S_S/:";*_L>3_?^ON["R](Q2;Q +LV:DF51N M#)ZL4TVR?WEN;O-Z&%VROCSBY3F],UQU/)&VNQ&L.]$TO$YL_5FX*;[P#5\V M8?WD IUWP.&MI8Y_ :[9D:/]P5MM$>V[9KE7QM_C]59?PUGGMR [9Y'",H;WO&J'C8U$)?LQ^' MLRGY^?>2I2,2B(X?W6+W=Q_TW&591.(]X37T"$@3D'KL=RF2S+]=:1;:1EC? M.PL^#B:J87'4L@PZOV0T9N'EWTJ1UH'(C>'G&B91&T44J[3?]4CF2%",<(@5C4 !2PH'PRT,1[IVQSX(#OG-8YW"_UZ.]8\*_T'7OY=C_27R_T8D=HTNAS" M"3@;CU./DSY1K+WWF^M?K"/ Y.1:!4M!DYNTG-AH@2GV-G8Y$99Y022Q2IW) M]F])$MCI[/ !B"I]._%G[](?K3CZ @011B_3K?H8P X$IMQ6S=^%W_ZA6-V M7?]>_"D+X4?V'?E=_/EBZG?Q9P'H+XG_0N*P9+ FVZ?S8,_ M:*OS1T4!SPK^DOAO$LLBBZ@VE'>R!?C/?73F9@A?U;@^;J[_#@?<31BE)4U+ M86/O4AD 9Y5\SVL_2[S>'V!9X_GO:7?_?27"D2^#?GM,OR/T).(X*:O[DP_' M7.0*#*$IRN>P=,\A^^K'W>&?WXM:5,,:1-E6F:CBO[S9_?>5""*L1^.X/93> M\F.1;.K.[E]B;S1G!2SC@&^[WE9'3)UO^1+D6\Z=^S1VUO-:VW_;Y/+'JPT0 MF\1-@^$M: 0.L,4 <%]+FA(KI4#SQI>>M+1W"/<;X&=3KAO??XX/NR[:.]([ M^.>[1?TN3?4B(X$(Z<^4=@:@>3CM=-\JPAQYN+QV)/UKI%SA8Q9 G%[CNL^! M\W1C7=H8 ^#]0,8+S_\"88"W!'*ZBAPEKA7@ZS2&]35$]F\'NZHY/+ WB>.[ M$7&CYOFU4YPZ7M;N3$!/&<>OAP:).QLYI\D2NU&$ I73H9V^SR9?FK[*3#>_ M]4+,A"6X)O9G]ZFXN>JC?VP#=LP&$F7#$=UZ@B)#M?Z8'6-GW8:?&\0+A,@E MV?VHF)P[,1O, /BM!3][$*O*A.-E:%X7FU,#5/T,'#S9X+HX.=8=R9.%*5'O=]M;?' M CPS?7@W"W.FC:8Q8S4M%5.G V_,-U7W8#_HW.5734ZT;A^1H/C+M]:AD@6$ M<^.U#WP1XDPP (_"FDPM1-*)4*Q?-?*E3X"!)7YY24"9'FI'8 "TRZ-7;I@5 MRHKH;/;[IBK8/WBI]%4HX^31YX$^_X+M'91QM1JH5A>:Y+Z(I1@>-"+C.97Y_@"EYUI4:E7(F[WO'1O,R^C^)@)-"J< MNL!U&7GQ4810A?%!"$GT/K$P9'I_$MKB:C=V*)5D\P-64-^;=]%3^IJQ1G[/ MI=G MB_=-^N^M0M1]"QOTCLXI<F^S:4P*^L^ M=[39+#/B=OEI,R&1CW%#.6937,2X-].@(XLB@KT%)[$Z_>ZVWTHK8I[$?PHU M6GMR1:/;P.U_?4.)%29"\P)O(] LFX".8??"*"$ M;L4#FGY\Y9LR/8J[=&H7DN5B[D21E$SZ3QP[PA@5^#3?I2@/*VIMTW%1A=CZ^?FY8 GW5SEG:MSN6K]- MDN1X#O08T!2'ZUB0PM+Q&FK-%N(,0)0WI7,D5;@P@S-Y^,?1X(UK^=;\"I(7 M ;LC@Z9Z4 Z$I%,!U9D8TG36-I#U/HD!B)SIVSIL;6DZX#&/,G;-@4E*OWO[ M(LZJB4\BI#,<42%B)KF6^K^\A^-"0N>K6QOMRT).'(K%W^]>$4MK1)MK7@R_ M64FL+P)%)D(2L;'.QMWR-6T,4BA5]T_'9M/ M<;0:0&AE='86NP@83/B9;/ ^SN?3;3.^SB8D)RP?W_V54M]%7'D&I2' MJDW[Y/VFIJZXM[!6RQ:$SK1N[X5$48KP4.P;U#3ZY6JM MO/_'Q60;;DI9?L^G!9MS]0&N,G>;O[@<+T"G\NFK VG4NU;02V=XPU0>]@N5Q)S7T"EX A52 MOVZ?W49[\9'R#-N$Y*Z%?)YPKO;)[SM_Q/%[4D!;<%)! 3A-%223'])=Q&9Z2+3J->WSXDR_76<== M[5Y/N-!09/U9N 6NY2Y<&WIR@00O) !+L>D:U!M[NL\?VYEQP*1#86\Y$=G] MM5[DB/Y\3U^S$\Q M!Y9T^9?/1I=MI\@%TNU#L;5&H%9WKL>;I\J^E^_SH7?T=HO)W%ZKI1WT(4!@ MP;_Z2M(*$QIT :[8:E&8_1D.8VY!A(^,3#ET=-'BM:JBA0JA\LV)R)M59HCO MGH=7K2\6BY'4C3^U"0;GQRB<$CDL6ED4&R3MO(DP))K&J/L0=PQ#M(C08+J( MZQY_:.'*V8UC!6+#/U3'SCV4>2_M%LUA>_+*1$C'?7^ 9@X1W51TF+*I5SN$ M4"04\#=9V+^.Y1I:2_R"]>$\EGLZ?DI%*I\G^/H50(A.\.]X0["/;5X/H3[X M!"_LGH)(N,8"C<(V+J,!*PZ1;P\UL+._%]C=_YZ'-Z'DS"#+/L=+8K4HUOB1 MH6&24>EDU%AD9SK&[ZO%2TD_P0..,:;ZTU"V2<1C4D6,INC2)93MKH^8RS M=#FNI5Y>HN>JT)ZC9*SDV7([,5Q'6]LFM_UZPZ%"TQ[,U_IH>SSF.714P+YZ MS+E<1(+$55!6[>AF)%'L^R5#??H\*['HXY?_N0WMGSU-_/_H7J8_W'&R-T/V MISSP(SB2A!@ 3BI(-<)F>;4K3^^CA?)H)0[3K?!V9_==O?MNMW^W:_I D C% M4IMDDD4(!&,M-%"1/F(G<*XJPR=T_+TS//C,W]RL%#0-DUQ#W5XX__$H^*>% M\\BA$N]]Z.H+#[>6]%]R8VP'0][6=GJ,5AX:?V_GR/L&CPZCGR3:Y.4M!8D0 MRZ,_+EDTU?MF^7]V)HX;!$K,N6]>/:^@,N^5)#;[=D>YK^]?OD$^-25#A(;7 M!GYJRZ"@;PRHZV3>;M]PWBM[[V>RUNZ9V7KNC9C(]5;>'FY0-<'U,&?QA;V M3#XX?UY4^1H=$,!QF>_\V0A.-MW!@P]88UBB\ERG<<"?BU<-D]W3GQR(+.,RO5%67?E**O1NO]YIVU 9QK@0,W>>=8/X&,("82E*R$#'\A# M21O&K23MC9 18/NK.#Y+<+]+LX# :59V%@^7B[K]-"^YTE\HJUSJ(@9AX??$3L:]L Q-A::0X3H.Q8#8&P(E)_M6(ZXVI0'+L-W,;!L#! M*6D8YU(!J^.I.0Z[.6EY9L]4"P\^M"#"VHOOJU5,7ZP7[L,[.)72)/K5+.$= M\@[20@_/BR48LHL--_.P="Y!.1'"^12'36QJ^,LMM76@S83&Y'"BUV>L>.:F M4KW7;1+O^6Y[&OZQ@N7<<,.BQJ% MWM)B>7!M&G!):O5?]R-NIHQ/H[$]D<]>7T5%4P_B4;PNQYMD"-7#6P$!;;8Q M\@^C-D2/5SE<9C_].&!PG8CZ7F* ;X,V! D[(U32O77'FE4O[S:*6A@67S0L*'\41INR<9L,><,9E/LQC;6 3.NX: MP=0;' 8&;F<.J\L1YQN#!(=FM&/EMF*/#0_[F)RR/ZESZN'AZ9A-ZUD>EM9% M)#N"-9T"O4<-Y%JD"PT)9V+Z5KW?P0MD1Y]S]C=^.=%V]&,2^UF=+,E@ M34XJF.+H[^4WS0"PPF&-R7[R$=GHF_TR*U/WV<^:?]*ZJ-C-Y:O$=$=^ICNJ M.@RG&GYPSAI3ZI]0XKM[43[%SC=!1^HC5_=*9VN.@]B&"^T?7K?]N;=H_S'Z M__N'=Q8JK,R%W+?$AX5\I*#O$I.I8C82B9"Z0:5*&?'*#6[=08_@,]7!3BWV M9=&2CRZS'5#\MS(/R>]%?R_S< +\H8E=QA_ZU_V]*M_(&9SB-:0A8-G(XG)_5#O@H=/W+Y;QT751D <>Z9(EJ<+VX/Y33T'P%J M__%VJ?]'TT?T J_WKP>:;&.?>>N8,#=() < M,[;XR]P4(JO9S2/+X1[;TY48!]B%*/]*.T?+H0;:ID,G@"%CW:]L0]]"IW97 MN3"@P(:*N]>6=\*'ZS]\;A/H$!3]XOTHS.0TFTA+=*6&+/5V$ @!-PT&-$RTKK2%>;,16ZF&[\WA)S8;,IB)W8TX(>4R48A*.V M7('\%O#'';?#=?J4.^QJ2LK"YBZ()RR>><6S:1\O %8*;G GYP"^.E#>$<0Q MC6 11I;STXJJ\]/A-HX?W6Q2$O^ B^GM+K9;Y[5MU:_^.VMN8E$@AY_QWW! MSCC_;: 0E8^8W63@T6,QY%XF:.W1/[E"&%+2<-C1JU%9:>B44\[L4VNMNNGV M^+[JF0-ZN<\P*_O3,K;7B2UQWJH#2@P 9YY.ID0TTNMS7:;;.Q'EA#'=B8PB MSIC;]2P/=8N4FBA%35!^64T)RXHXQ'7\JF;@36,B>Q@7^8UT9_FG:7@ZP1N9WJ"X*<4AI-,R)F2C&9\YZ)T@@ICM\!U2J'?W3@M[. '"X><=_MJ28/QH8[N;2<._?^W7. M$HL8Z6W*Z-Q](&O]GB6&4W*"1;L;300U"%AW?_!QS=3GI:/S(458)"W=_?TV::>T#GPM]QFK\,/'C[??9E0 VG? MKX?DEH(/9J&8H\DY 5Z%UY^2,],L<[(1+-'0F\IFG2YUJG MD<'>"X^C<%H;,RAL)%X,Y/I^1O_:C?$-6DD0$D,? OAG/Z)P8N;";'-[6(KK3-\C9<=M$R<'*;P)<&?IOG4Z2%M17 Y5@6T+7WDU;*G6CGZJ0G^=?8SL2_ZX"\?L1]])@N(/$5Q[]W3GA/4U&< MC0P1$EU8&BN--ZD@!)PW5C$P[,O:R+J8'B%XYFF#N/^5'^JF/:!2]E66F56O M?7:ZF*88Q78V,(,.E3VS[XO [#GR^=KB1!R9>^X[#(Y0%_X(__:#/M&[->FX MLE^+7N70G=_8L?6=G)Y1TWXZPMI?F6>48Z24C=E>"I1@56C 2]WPPDJ,6-;4 MR02HPK"]E#PRDO81$9C. ,"03>%-:.Y:W#<&H&.VB0%XU)K" -R9;:'N.W:L MCR\@PS!"M98S,'Z+18&BQ@(8EN^>6,S>AW']V5L/] %^WT,2#A"]$BX7&1(9 M@)!2X)%=!N#G,Y%W&8$9L \TM+.0B,/$ZN17SIFG+<_L]H:;>9P&/R=XC>]M M'Z=57^%E8D UQX3F[:)6J0&(1V8A4C\J=[% -H0:X%DPX?9M0 M;(DU9^9//H/&548I/3]&IIJ(?VMG[T,*E:&[J!0KZ$9)(GALQ0!&&)H). M#0Z;2"G1[MR\&.]"_&(L8.3*N?#CB?"G\K93CP.C+2DLT\"3"+E$_%0V_F<1 M0ECLL]?G#O76DZ>[&GP2D6^SNQZ/:^A89I2@WR'XC/C[UB\#,"GJE3&X]/ *MYWN\3"NXSM>EXMB/#W MUHLBG(CET?CU< MHW(H2F&MY6!(+XBLZ=R^][5 9CSM,*-YB*N.PXJQ6Q9.- MVRBE&?95J#!5F%C1Y'X;>V]H%?9Q:,46+K-MP&]2TU]DS'^F%NQ4FG2!\U9N M<4RQ\0-#!99"WV6R-<5'*56]?,RC(,-JT<3SI^6DDXWH8&E'6)3YK9+=_G$K M[BM5F3N(M-Q1+/KV)"Z_FB&^K9![8J:R7QZVQO.V/V)$/?:Z)9%8L[ MW7]=K_&]R3TKU]E:=&\3@Y4+"V*EO"':FE#>S 1$Y*O;JV3DVN#@9-,HF7O7 M EQ';8_ ?*30W[0\ODKYV^[82:^9;(I-;HV\1(C:3L?R*M5=#32>&[5^KY>W M-&+Q>M^FI_."NC! '\P)FV759S)M"72RQNU]2+1);?2= M^FJ#=XZ57_5"2_L=SD;N_\AW!U#*28*JYSWAV?6XYWU ?N[E0_&7E1?6@F0IW-,H87B* M,LU5)V'>:-PCF8.7ULFWT\$6ILNW-G6%3SHK=C0J?P'OIR*?> _9^)KHF#*' MM$4P ,17#$"C*;K,X'>Q04U0WP[M\N@.>/0CD*,?XP2)I)\=KI6?7N;&GUT,M*=[# 4K;F\8$Z>L^M7PQH?*E\W-MQP -PTSG6^6>D1-RQ@"I MX*SQA6>JL3ZK^E;]V\+&&_T!=2J'^NT3!",?57!KB49FWC\?]M#(NJ3_%-T= M PIJKU:-J@V<[M)N!*ZLGFPU'2KK>FBQ-)*47&(]^9V[NR*5_Z3V^/?)$MWO M5B]>Z6I,,O$4C!5'T;E&[.T7_SK@?6A3*4>I[L9:>4Z[SA-9(R L?#56L'S=\O<%W1*#I MB,\3'UV/LP;!=Y.=8H^S'8C@T4UA3ZROCQC"V*^'5=?%O7,8.]@<6Q#WCA;W M=?%JV6SPQ*B'P[Y&;[#=_OV -.UQ3>*=DK02S54-OVG^%^I:M!*/+7/10)NY MQHTE2^G]=WILPY9!/TCJQM(W;']6;D3-"\VG DC(8&29:8SF!?@XUF-*L*J2 MB(XH+%H=5H,<<1EFAKQB[-Q;68_'[IU($CIXW>G]@NND/<6=F9ECM*Z0;S M+*9>_.KRJLO+RU5P2=5XU+SK*;I4W]UIXUV O]C$?MKY(53*&:-H^X142UPUX=A4DO_PIT@XOQ$Q M8P "3AG/^)XS/K1>O%7T,NUDGX^,+'U YU;5@!*8HEU@H9<9?\]P4O#4T6^\ MC]YF[+[EVWVVX?7#&5D";?P@H9<*YE#NU\^"I/L+Q&7Y^7,^\VY1"="=2375 MG3XD)BT *)Y>X:@J89E%$@?0)Y1 A^$=T"%O)UAI$;N@C/'._1IB7 Z^U#0"POG_WQ?UT@;:E/V C\\DU?%%*[].XZ\ES@Z-\42M M$4Q-C.(K/\H77=:X/G-FI,Y4E0 +#P*10B=,K]:]J$T5V^C=W?C(D?!,FF4P M[=E(:%2C;?81*>7M0 $]RR'IE-L*Y3&;*"#5;Z3,0$&B@OA@KK"/A6?$).&* M]BN6Q-"(54.:K_9]?=-W,=9JY27X\E0U MA(,BK4UT\SN2,29XJU+*#GI5CT7T,EA1R$<#G.5A\M9-145*MBZ@K%K/$POP$E3[DP!78D29"<9C6)5;.& M)1W."A5-4%9(&NU-W4LD2*Z>)D /-Y#*5E:\[.?[">;<= MFD*>'L*35\=C9+VZ [6A+^H/O\,CD$#!6PQ U V9S](G_"[#4QPVX_L?TEVN M=H2;FG)F'CC\/1]]BM[) !RK#2RR7MI;B_3Q\PL0+O6+%"D*X*J;'VU365<_ MT5G<)>;X)D'+T4I6"89"-26-U9LO4(59HP'JB(]56]^H;^X?.B7[5( M.DR\O^FSOOEJF7N/HZ]]Y)U8@%EF##_[T] 0_^:1U3$QI@4IK ML[Q9(]GF9"43]V9/6MCH?=&RNWN[Q6S;$CXUQ^>WS"4 BBKB)WH3S*]*1^U4RLV6Z)'77U_3AP M%(H/#8U+MV4 #O]*K@Z<0TLD7"R3,=X@<^BKVCM4E,8Y?W 7[7SZH9QP2?T+ M"25SB64:S4.7@F<0@-]Q HM38OUKP;G MDGZV^2CUJ%V$<=K?K>\+E@][Z#,^/?\2$EQK@#^;U2;R@F"^7NAC:5;DJ%V9 ML*&3L+#[ OLQ/A/Q\B' #<#.P[)IF&)KBS=@G4EN H=8B&>'UAYTG,Z+=N=9 M>)55D%:6:ZGC=6%0!J]UU,CS54$+./#K&SF!EE4L!:OSC6+Z"?ZM,8VCQ$ 4 M^PP7K'Y6,P?VD"">H%]GO>)1:!:'&"W0#T]60[>S)6B[KL#8J">)&"QE/ES? M_=E2OROT:UE8@^ 0'K7[UL9%?$:2*Q) M&LBYU-IW3$UZ/_#FW>HZ9YF,&_'72B"BM4^U\Z>LG-J+$VX?E%1BV43%K Y\ M#SI ^U3+CX\^OP4[/$K)OC:P6CJIZE[+YSOV\MGCI1,WO@ B3\M*O,J=9E6, MCQDI">JNMD:'T,\AG(E!H8]@F12(UL@*VF#@8H9907YJH&R_,R%*&:#]65MA M5<@C)4)HQ.3>MX=J U4W8N38\YC@X,_@_VCNOJ*:W-HW_+7001*2' MH@@>(:#2I,8""B)-:0("@G1"#B(E$HF@TLL!CN: 0D 0I0M28P A0;HT,8<6 M"$HG\ ^>A A^7#67,S,U7QWL]9P_UP\>Z^UU_Z]ZWWW?M:#-7R;D7:JW=K$ M8<,O._9 ^/V>HPM M/-=G?XIR=[G^;J6_H$!SNTV#,?*9,8&4_C=BKXR=A9J[")TLV?:I@:SWA8J^< XGJ>13G6K$'20?IF< M>Y@ZSP%4)_XQW/[[X<^;9[N]14;ZCP:F>(F7C1W MVN8Z&[%A1;0ES/[6\9M#,-GBYT/L$>9*&PX=&VSH0A,@DB6'\=Z4)M:5L/)K M-'0;KHB'B#O,=WXUD3B40@BRI69[Y-WHD')X@G%^NV,6&"[*'L2"V"_6@1 MJV/@0N=#.J.B*A)9)_%53B],R-ABY_E(&-])F^KN,,\:@2F,HTH5,UOWH>OGG M7D@>UNC3H3SN>)@>RQ+ZGL[-[HQPD]+A_MEYE(FV2;<>ZO@'P4 J'=/.C1^7 M?'I"+-)C.K]DUI+Q<:8U!^52-^/!'SPJFYZ-WF42G-#<6;/G>B14VA!2[+)*!42B*&_<"^[:T(_@U![#/ M_$S/MO/2U7G?*9:"]&@RS Q<6>?9.VJ^L8K?1#LM\G;I">(C-HVD.ID*MZB7 M80[V#N5I-+ LUK-+R/&6ZT:Z_91)L6=$/W)_^ /E33IH4?2[2PJPFWA)\&\]R M9SPZT3ZLG4;N5QXIKRR.5;(Y+F(=HO;RXJ?S=;_OP9#C##;569B(E4)=J8U# M'Y]@8IQ',,2(PU .$%=1CE!.&UG5%>2KW7AMMB D/G@OHTA/+7"QZB *-LB6 M7E0Q&X06QPY5GL*]L/C87:6NDG-5;CQ9 MAR9>4+X\;C0RN1QMSO+%S=R;BL8P< ANNS MCIT#XDLX;%(^"!F(KX-J?"*+U--\WD15$'_6?Q1KIWQ/&GIHXNZ._-R MU38>T5D5'T0E/S,P]M;3 \!ONZ];3E4VPVM&=RP%C6EQ ^A+&!6T_G6ANTQR ']8& [/0[9=VDSG ,31U M@&EN/,0HX0 _%!FP:N1$!)4#I*.S?'30XE.30\4H8= J??<)PTBBF]T^NJX] M9;![)GQ#(QB_5Q58].9.L$=A/6.VK7.'!!X+*U;O%AO:AE+V",)=.^X/Y6_& MIP+(1W)-SE-=#-RI,'63W051[/N.IC2[-=3IKLY4YCHCBT9*0/M:1$U#_*-% M2 _2Y5'GOZ%,Y3*\O*/\ZH==3 .=A@74_8H?D?-<;BPJ.'H!))\ Z&0L?G\$KX:FM4OC5GM!$<< MP+Q$2EFK$!*GG%PP%1G<3J)NGNP>67-0RH.T6_8W>20@/%WAE#BKBWH#_"A3 MVMX6X)&SJN[\57%!>"@%XC!@TC)"]U.79FSEC)/G9_TJ;]YY?SAMZ>#5P=YY M+4M,BO&M!-SN6\/;H;3"&^"7K$?YY,4<4D*8L.!$KT2<]M5TZSP!%TR:X]=[ MF:I1G:(39S/)7%SG>^KW4DKAR,)P.==(V G/-]C5$7#%FN;=FJ@PI'[,OG[4^QO5?+1* M6L"E&S6@[^2AB;1%Y@7%F9K8__'JO>OI2(0:&0(DM]I"H\(@<_UGRQ)3#'3$;E<2K4I-3N[!/O@ M3IB2;X]6 G\\-)HB9\\:''BSG%JR(M% TAQ+&-=ND-#L^ZETO7+'%F)O46TC M('K1\*4#DTY#$'#81)3QMD/\[*/[TY>&\.:!.C&%=V!_4X/7U16:A/P9Q9GT M&3/!&,](9[>+]A>.KW" ]%*KJP;H&7_?,&[)5Q>V=T2UR72?7\J@F M6?OYS$^J]P99Q^]5*UFPO*?W%A,[(Q]C>/==_[L W$G+=Q9>OF\%NA#!"CF2 M<.7,*"^QC*X*L8QNM913*>587?*G@PTH'G#S,C.PL+]X486Z1SL5S^PG5\WL["7Y 6!+@"'.-!+#\K:(1B8A8MT%CL,^P-?B M4\17=9H:U1V^]^I[[*Z%< -PS!RB-N3-WN7^%%M2XMV-P4SU-D\7IINVAKK M)**X.;=].7S0I1]YH!'9QW;!I]^CSB5@/'$;3.5F^;;6FLT88[GB=.'X(EKP M2^\B+;CW6Y54>GU-PM5+=CN:;I(YQGJI?Q9('18Q*]=(D*]A/R]#7031R:AS M_$L8AAPTF>A?/- ]&3VXQ!UZ2Y'!C9@3MQB2#3K760//I&0B-9YR -D6 M115"KK %:)4]TR]\"9QNSY7H*.[9'M^>^6@.Z=(YI]L-?WS[54]WVDWX MEG6A/,.3B5!)>DF$YD]"3);OKYS!CI.PWDD,NP'=Q%/5)IQ1(".?YAO#EF19-GZKT*KPZB ?IWE7/:6JUS;K M+*FMW?MH<9*+X*SVP>JRS'2.Y%2>M2JO7>/$*@E[$"\4'>:E\[0H -?QHC6\ M+/0\GT8Y\>"XS:''!5RU\B*25,_8UV=<<&7(^'UGX4,+)P MH 7XG8W$N(%Q945C9.>6[-!PWZ3V9:<%8;$_),=NE%=R7U'F )F8F&AUE"GS MRF.SD[N*WJ2N=^Z)4NY$.O6:/;\9G@B[:I;U0XC ^"QXSKGU; MZKFCY*%#XK4<(,:8;SBLW\"I>MBG]FOMKK7MZ$R>T.4YWJ:6K#Z\VN&_'F2 MGW6Y#MBWIQ8"$/I_2X($$>SK*IWN.[+45KK. M:_\[?=-__S>F_SG^%C@:B*55$:8%4->'9_? D5(AW^$<=$O@KU5Z&6^5HOGE MFL2#9N6'N")DJE^=@_0##WX]Y26HL$0XP&O=_T@:X(N29VM?8YU'MPEOGT3_ MRAG 5'. [_\9A[POW9?N2_>E^])]Z;YT7_K_60J@9/9(-9%&8G<:(':OU0;0 MG1=8Q\'-]FFA!TT/!GB9@=? RI=JG^#C#H/LO#ED7L+7HC; \K.8#@"$5^6^#7Q"$A=5:>;57(EGK; M#OM'XM>O$?$R1!@KUU0,0!.TF-?8L1Q ! 9^CXSG %GO.$"$_^?GSQ_ FYQM'L2Z M>%()7@X%M6W8-?N2A_![+('\"O>?%[ M]I5 ^*_U3=?YXU.1W=U7(/""X.5OB[\PP7D2$@Z%CPE$,D&0!HS") S2*"0I MBC%?W/W%BYDO.,:0A#&'**4QI#*.(/-\@OP@9#B2]4-7V?KWO^@_*"D%4,JM MR_J?__*G^ZIZ_,M//WW[]NW/WVFQ^G->W/T4>%[X4W?UG]K+OQ]<_RVLK_;3 M-/VI_NWVTC([=J%ZK/_3__GEPQ=V+QX(S-9E1=9,#U!F?RGK'W[(&:EJS,_* M!4Y>H?\%N\N@_A'T QCZ?_Y>\C_]ZW\#H(&CR%?BLY! __]OG]^?'#+]25_Q MTUK?^RJ*)X] M54N9:BG]6$OY3Z<&^^D"\1W)6QW*ZD"X6MV/KF3LP_2C,W%O%3^(\07>&^9B MD9L7ZNV:3_7N;H>Z6/3Q)7;U6N0564WP6NR&V1-YI7_P0?VM'48_J(=,ZW%: MZMX357ROQ)J+ABV?/1ID_%_^I/ZV9&3U?7G%6+$1_+/X*M8;\>6>%.(3>=(+ M87F]*0KU_V5*P@3Y/H881R%$,4DA9GX, S\,0IIR*JBWK+:O^%*LX=^^=-+4 M0UJ-]R<+O:L3WV\ARGQ3L-W*][ ZMIRIE4RO??BG-7D0Y2-I;U!":R.AT>-? M6[' 8U[H=0WDZFUJI(>E%A\\MO+_SY]V&E^.^FIJ+%?CPM@*"UII02TNZ.1= M@%9BMR#RUJBK+9(IP7PV\'Q!S=DST5;:=LN+EQ#ES!:BAAKU38KZ E_9L;7I M]D^FC_GI8.JOBDY44K S,]!>\1/+E6WZ6,%G;[:VY0?I5.6#WI8&6272GT!> M<%&HO<@1];9O]J:$=X0\+K]L'M524[]"JVM2WK];Y=_>KV5>/-2OU!4MJX*P M:BF8#)(D15#& D&$.(.$AFH[D48^\87OT20R(6?+<>=&TOMB YZ5;)67&S6 M9FNFU !2Z0&RG2)_,2,:V^GH9^T101Z9O9_AJT4&6F:P)S3XK1/[_[V<;@8" MM;/(2J5CC9(D):W5;!_YD^:CG\2J*KN?U P%/;_=7OZ3[=B3<-5 0#K.&GJ[ M'7>51;7\J%ZB&_D+^<^\N-Z45?X@BC?Y \G62T*D'^(D@0$7$43$2Q13"0&3 M.([2)/1DS(R8JG>4N?%2)QWXK9'O]+=A@60_R3C#9V1*,8?&F#:,5.\C"?6 M/8)0_WI)#OTC3$(%1DIV'[[9Q<-,%&4#;1XVJ_9$YF_K0I!5]E^"OU]_%66E M2>:O:I />5G^(AZH*)8!\N.0\1!2&C"(?)G"-%*$X*4$)RA(&4+4QE:Q%6!N MY+"3&&A!2T#6'&AQM=VR!E=?2:;470FH"!I^(2L!?B'%[Z+2/P-?!-L4694) MPWWGX%DS,VG&G(NQ=Z8WU^\78$^!>C; #UK8'Q?@C:#5'MJ+%_-2JGE9J"U7 M?4;P6Z.<0PMH**Y.32%K(2:UB89"]-(X&OR<8?3Y5DK!JNRK>+]FBI-OR??/ M:NC/0FN=K;+&(*O>"?5$LOI2D6JCWI2G9Q:,.H#F2:&\FVPH*RDQ842DH[SG0Q568T.O$$C,RL6VU (R%0(@(M M(WBNT0*0"G03M=7JY4V*9842S,5QU@AP.R5<%W)-RL$.@7Q)RRX?/8RIVQ,] M_6QQM>;:P[U23W[[_5&L2_&S6 N95A[X,:W5 O[F8?3S09!2W.8,^WZ $%$X M)Y$/49*DD")"($D03M+ #XG:4G\5!0CS4$(RMO MXSD0+G8VGAQ@,E_C.17W78UGKQUFR]P\*@JILO5=;2Y]UED7-_)OI;@J2U$M M8X\E 8\#Z,N(0R2IA(0G'HRBE$<8I[Y V,9VZ1UM;C10BP=S"3>E 'DG.5AI MT2TW0OTHRR!B7,0$AEZ((*(\@JGO81C&E*=$!BABD=U.TQG.T^PU;YZ#NP#% M/O1$"^T2;S,;T!F&(S/Q#KP/#7C;]U8)"ZYZP;.V^(Q <6KA]8\XJ45GI/Q+ M"\[LIF'D_49(412"WY+O]>/*W6!Y65Z3HGB2>?&-%%P9<@PS1F()L1^I;6C M4HAES*$?D"C D4PXLMJ&6HP]-V+_**I]/E?B K8OKQW7V$R"&?.,!.W(/-1) M79^P-W(OP!XY:9BOC6"V9J4!@#GE*)OQ)V6L <"\Y*\ACQC&9I^*=J@O5"*,@"8(H('%(4SLSZ<3.:<8KCR$33R0H[Z/:D=9A(: V-V[BJLZ-.&S5E"L)!3)3QC<,H MIXF>JJ,:]&%^5].C/AG&:1KCT(L@2E(&41KH8_L:: M&\VT 8E;64$GK-6YNPG(9OSB"+J1F64P:M:D8H"'4SKI&V]2(C%0_"6%F-QB M[Z+[K"9>M,$S4>1%,E!['Q:%FB@P@CBB 62!E,+W!4X]8Z_>?_;0$A&_M@'HV'E=CNB^\6>MOUG3N9<.Z+(OC_MV*_' MRS;Y5&1Y\1^"%-MK1+F,*4)IG&(82:3V%K[:5F#L$4A]FB0\B(G@TG6*R3%! MYO;9ZP/$JM@(N'ETGTQR="8,]QP3X#OV5L0X;:16!&A-]B[5^Y57R13I@W7R M])"CPLPN)Z0/LB&)(+W/LV-.+K)EF_;Y]/8[N]=4K%.IEPB'$1:40"\2"42> MB"&E5,* T31-O33R?*.DNU,#S(WI.AE!)R304IJ1WDD0^\G,!31C&SIVJ!@3 MSCG5CQ!)*=B?[_*O/ZE;:P[Y!])_A\ESGFW55/%WG7"QC0?Q8)A[TL! 020]!DF(!"8\"%! ?1P*9 M?L\&X\WM\VY$!L]D7K0926IQ;24'6G3S;]X$]_,4X!C-LU7#WNA0U5ZO.^DY=)D7]E\>Z]JUE MD;C1W@*SK=\LYG9LLTO+!G59< Z>>?WVU 3T">Q?UZH*:ET7H'LS/F[?C-:G MKC0&G\40M?YNJ[N]VM6 MW7>%P+:%*V48BSA% ?01]R%*60#3!(508IK0D$0R2;G-.F,X[MQ6C:Z0;MWQ MH1.\:06QJU=WOM#E15-A1O8C #PR=3O"UIJ +9%R2J>F8T]*CI: O*0ZV]OM MB*LNK]S54K[-OXBJ6HE/K9EV0U?97 J/>TO0FSYFN-KV%5L^*T]O<-[ BUC'> MUX'WN@9.&XSV=*MK9-Z*[]7/2J/?%5]'?IP&!(I$!ZG&<0RI( GD,2-"\B!$ MJ;"JCV4OP]PH_+@1M&@24YIR4)TBEC6U!LR/F=DY,NHCD_TIP+<_KU79^_=6 MI44]'9\%$]G7NO[N;[620&L):C4=6JP7@.RV6M< .::MW340-$0@T02"C%B*,2"D22R2AD[,][C^(EO8!KB&C,!P[!+J'W-B5Y 1 (RR!W^)@IC$0IF>*5.0(Q2DD":>3DGE4B2!'TC?*()SJ !S(YR# M4F7?6A4 :70 1:=$%FKCG4CL6];^/SK._,X#:S&;BHNV)2Z/ IF@**01I5#& MH0(R4(9JJI83&/C<#R7W,&%D6>4564T$XVZL/PZ(AO1^*31CB M0Y;N0\ M%1\=:5J^[5/V@%1[+QYXT,GN!=^L1!M8V;=K+D]MFVNGS]*+4R22 M.(8)9Q0BYGD0"QY#1@."&.5>(*WRH)U)-C?CLU-L&UA]YJ2L[#TJ:_VLEEME M=]-N>-[Y&I,Y]BGGM/-H?[3I&G.W!YK.I)OV&-,UJ >'E\X'F-@#MNUKH5:J MS4-SHJK;?3&U 7B3?Y1C7;PX21.(TC"%%*- &9D)1RBAS$LM M*X&.+O/\3/U.2L!;,<%3)E93Y649S_7(7K$QYF_^/K*]/D%[>B_ ]IWH5*]K M@\S 9V8[3?/PH!E+_%1%$ 0XAU26?_) E7AHF7AQ;M5$92]#9[7>:Y%'2R:DC-X#<:/\JN-," M3[18G9M?$>LV67X 12ABB'@@89J2& J*28P"+FADV-7S]Z,O_9^]M,9)(9S,@\[Y)RP M?PSSPQ!R9U:'Z7A#\WSVA-$N_BIKZGF^R4JVRG5USVW:RS&GIM)L),5M"W R\%9XS938$;Q(P$[,FL/Q'1 M[HTU.HYS;LS'GSC7QAJ8PQP;^T<,)"Y2WNO_WOYCDWTE*WV:6,S#4U*9?,B]4F*9&0!D2[ MXH74N>@)3'&H;.L0,:730;F\Y\]NZ$! ;S?OCL= M#C\NP!:*7<'.NJ1P@X;#]>-59M'M$C2M"M.N8J\R/0<+X>M(,: 2R_!D@[:2 M7ILWA%,_8-Q+(?=]!%$&C:NQIJMSXQB=9[5P7#][RB6T.]M[+DJYU+X;1-(02LX#B#CV(1%Q #G' M' 4>C_S8J-WC*-+-;5'='=6_J.UK4]++^12.N= ZF)CYK[CMM-[(EXS]JM,Z MQ2KL8'K_.,OQ@&F>:&4^,PWC+-&G!OT#K-5G\'*S:)\;9&@#D7?92C3/7L91 M$N) MP<)O41M9'794>K[,,8)BGR?\@0;%4H^]O"YK9V-?$ +V'Z)MAU ]H#K M7_(NA6/D%.(]<,J1$L"ID7#T0)=DN* M.U&57T3Q-6.BO,[73?VD=F_,1$!HJ+Y1+^1@)2F8S.?!P.@=!=V1N6$?V%9HT$D-MF+;'PV9 M VM337@,@*>J*>P$:,O*PK9X]=<7-G[:A%6&;35\7FO8^NX9Y>O\/5^IQ^C" MGG461YH@1 DA,/5HK*MM1A#C*( )CH2' B23E,P@8^>YU/,+EMWF9WS="CJ# M?)T7NGU/(OHY!Z:K_C MJ^6+A!!A)&#*U1K&D!_A6%#.8J/FQ%,)/+==4EV$M>4VMJ>-;:7ID:?9;/F: MT^2-O'9=?7I_O3B^,NT^_\4N-$S6'5G+"NSIY+("]C3 .ZZ?/;+0$U??GF8* M#FMW3S3NZU3^?OM=%"PK=Z5C;W5 \/MU563K,F,-.TF48"HP@P%&:B6*_1 2 M*2-(A @EPH32Q*Y6S@1"SVTAJD4$627[ M1=0^2C^B$?>IKZ.4=;=U#T,<1=IG%',94,$CCQI[BH;+,;>U2&D".E5 HPM0 MR@"M#=3JP$X?T"H$MAI9.#PNF#@#U](TTS'V-N>"F0"_->H8)J!>.B463JEI MIF8B+]4H'XN=T^IR/'N]6!<\?CJWUN48//-S.7BM?OD:?C+%W/-/,@S%'7H1GW\9$/7AO4Z+^]7)#,FSD24CS(E ZJKSL(<-. MM';CK5;Y-QV(4.ZZD937]SHJ06TQVBXEVJNS+L62X)AZ49I SXLH1#S$D$J< M0IPF7BH2'@7+=O+TW-4>#GU=JZ>[LZ"+ M8'9ZN#-,DDE/:RX"Z^7QRV4/&^@UV-!2_&.C;-JWB@ JW8OK3:Z[G"Q#95 2 M&C$8)E$$4>(SF/H802)Y$#!?)EA:^9M/CC0WKMP)"FI)VP9EC;"VY>I/PFMX M@NX"M+%Y;1A>]H?4Y[!P>[)\ M5>KJW.ZZRH7:)"M[4.^;/Q597K1'P.3[I[QL%K"EK@>!L*Y9K V 1ZT->!+$,'/' MZ3R:D=?4LS,RS^VK Y2,H%-H+_ADJQ+0GS*HE>J*%^E;MGJYHT67*#ME4">" M34JV+J%\R[.C&=%O!,4I^O$K3EW2/NT<_B:L:9#U$8FQ"U@ MFMFVG=6$PY)KAE@XI:US8T[*2(8 O"0;T]L&ACJOJXQGJTV5?15?!-L4]7/? M?M=ER@37_*7#!S:-.^Y&OB6%[IFIJYO5T0-7#_J\&874LW-&/R45\J(S\AJ]00ZY=KJ\[O>O[#K_3NX-+V; M&37CM\GG:6S'_9X^8*<0Z#1J+,$]G?3Y:J>5M@V;>+ %:#1S&*KL$FBW\1Q4X?/D)K=NW;T6/H/!DU*E.[XY M>R=_G9=8UQ+NQ=UM>_8>\*9KSWY,B/FT9^^!R*H]>]]S+FTR_'ZM3U/SXNFZ MZ5Y<=ZJ\%=^KGY6:OR^18$$4)3XD<1Q!%"I&)#Q46V>)8QKYH2="WS+!W'!H MFR]QFBSQK;Q#._N>P=K0GCPN M4Q9[@@L=&)/H/P*]Z_8(E#@4,D@D(=RREX_-\'.SV3KIP3#76\ _[ #O(I$^GP=\0 N@(;@Y[@)D M)<+$C8"&P'/8"VC04X;1GXZ.43?IM@IOU*-7^:..SVYC8]I\!81P%/-80)PB MM5.5(H T\%)(2)1& 0W#*(CMC#.#4>=GEW5"UV%C?">V'9^9 &Y&8HY!')FY MGJ&W)V\7@'<^!\>:K2P TDIM5%R.MI/A4Y'S#JL^BVA3K+2V^V.+X"2)"AA1*@3V(?.*IC67D MPS0B:BOIRR"4YMF*X\@X.U.NT4VG2V^UJR-H.OUVZ0?Z"VY5[,)L;4J+CS/E M_9PYDXF<:@-\(T$WG^_WY_/=T?F\>C:?6M6=/6FS:YYLKFV*R;_ZG$]54M[] MW+LJ)#_J%/27DQ]GZ F+RH^*W?/2\N,.-3R\/N,9*9Z^$"U:783LZGM6+N,@ MB'!,)20T#'1)4@FQ^A-*283PHE3X"-F&UQ\=:6X+M1:O[J]>E[CY38LX(*C^ M.*B&1\,NH!I[*;1!:5 H?2\"SD/ICX\V>2A]K]+'0NG[;QBR8R#K_T?M]:]U M^F1>K#/2[IF%3U",(P$]ZD40<9YHDS^!?D(BS&-*?6R4MM@WR/RH8 VTG+I% M;">IC75V DH34_IR@$8G@$-LAM3Y. 62C0UZ.5A3&9$V+Y2E%=@/0K\9=^+> M">VP?NF?&U)GKIVR4=[;A\=5_B24/58\9&NR*SK_+M>VG6X$I-Z=>]TMEU3B M-O\LF-!!5'40I.+O_Q2L4C_-RM]OI#("ITQIY>1NZ[=NY!U*7L+6%"70X 0T4 MN,U!"U7SY!*T8-6_T6_GC03O_O_P=D[1]?#UW](_3M/$UWQ;)^J^..[K,$[S MQI%D_@/T?AQWMMRTCAQ9QHFK=;_]QR:KGMZORZJH2:N\J>Y%<7M/UFT1UK^J M1U3;"JPO0F3K7VHUMWTQEBD5-/8PA0$/$411@&$:$P$1CA,9)+%,XF"BWDBN M=9M?#,:O+U.V[K30C=$K=8>=IABX,H\;PW>BTM_.7RK#@]BYR#L[F_:B(N(- M.F /'E#C RH%T*[$>(/1?GWQ@\R)^I+&C-CU?YI!V?&QYG\>M58O?I%AT"E@6]QHR ?T+ MXLBPCKQD#4+4JJ;K0&PNKNAJ.^YD]5P' K)?S77H(X;M=SX5.1."ESJ9^1=2 MM2G.GPKQV!"LCL>X)JM5>2.OOI)LI8,PU&9+.UYW&='+*$)4")3"-/ ]B% < M0Q*(!&*)!>*$2!)3N[V*$[GFM\_8J:*_RP=2_"ZJ.@ZNW IMM[5P,W]FVX+) MYV1D?NST:2I![#1:@#V=ZJC46BL]8V\$K?:*22S 5E$H\P*62E5W9KA3O)V: MT&XDF]3\=0KF2]/5[<,'%HK01J^VG MQKXSG[*MXOV;Y@] %SLA*I_3\6[[B MV?KNKVK5^)"7Y 11 M@$*H3%8&> !5CWE.N:=OK- MUH8Y3.K(R\7-]?O%N05 ?]$+L#?SK=9 JPU^T(K_N !4J&L%V#6N7 BU2NI M"[8Y+'\Q\I2X+9,QEK#3EM,8&?*#LAMCCS<@IJB10#U$E!^V[5:"T(^E8 &D MQ%,;!!I$,$U)"B.))0E2$@6$& ?V'!MA;N3?R AJ(0>C-/ 2(YXS&6QNE%>_ MGFJ/W$@+.G'!;YW ENDDO4";6:6NX!N9$2] SMHJ-('$J677.^"DUIF)ZB\M M+*-[1@HU*4\YO.H_= <)G2RGWJ2/ZMUJ_1E!DH1"$@)EX"<0^=2#J= U-7SF MA5Z R]RVPA^@)!S(ZY:THNZR8PQDXY"-4:>GY&9T69JW(#L38 MYPJU8*,I]R+? YQPA!$NL\#1F$"@P#QR*\(OZI)\._GW@E@L_*X6L]'/$"-B/+8E, ]X+9S=X\ \D0O<'=QVKG%[ MT'H=YA:/F\Z-;J_C,^?Z@-LG3LIN\[_>?A<%RTHM4W<&PW :419!2HBR^71> M->6<0"_U!),$Q1%WZR:SE7!N^\.FWF'>2 O$3MSAS2W=SZHCE]F8INV<'>IT%X^^BU G":ZX;$C#U MU]M<_^AF4Y456>N VA=)Q*T"XE.1,;'D*$B"@(>0Q'Z@5I=(J(T(#F$DA(<( M\?TH]:=<72Y39]Y+T==:MSI+2[3:Z6)T^L?UTL3SU8H4Y:YTQ\2KU(6OTC1+ MVG0OR!]H_?O[[LUZN_=FZ1^KJW;0'*G/T<$#:GSFLVJZF>=9+;$7JO2'6H_= M3)_KQ=N15,-6^O=K5NB6LV]$\__WZSHGYJ.:D*:I8]<_0)^9T"22$><(TB2- MU+H<$D@122%)48B$YP=IP.Q.^FV&GY\?H*D^M,K7=U 7@=VV5[3.0K>:!;,E M;2QD1UZ .K'!#YW@/^I*3@W2.^'!!P.HK9>'(9@Y)7,K 2:EWB'0O"3*0<^8 M=QG"98(P)R2A$/L^ADA*!--42IBD GL\#!*2!)-L52P%G]NFI-:A;,H&"F5% M-B=B\RP3.+,J@#-B[]#/<+ :9O';L!6^#^&W3]P2EZKLMZEP7@:3=VC M6#]:U_553]4_4%L&?QEX$?,%36",?0I1)!#$5%GQDH2(2D]RYH>6#=)/#C:W MQ>69K#I1D#71:+KCPD*?;+6"6W= /PVWV1+A"L2Q7?;/\/M9&N M:$0Y1+$R?1/!/4]@VR)U!Z/,;Y._%1*46LH%^+^]/WM!!!Y)6]7ZGT&T\#RO MZ^A"-M5]7NC:(?\,UGGWTZPL-^UA:+X[V &DK8K&ZBP)$/H+H%_5^CKU%\^V MF-WAK)D1T84S,3+_[*;@2S,%M8 +\+X&U67!N),H."[_=CC.Q,7<3BIZ6)KM M]*6#2V:J);=ZTAF"E3[V5$92W;W\4[[*V-.NG;"78!^'F$$>QC%$B%.8LE!" MPC"FQ ^Q(%:%TTP'GIOYTLG=N%(ZH:WK7)J!;LH7[J$YD?96)%LTQPXQF&=$H MY2S6D2.I=IC&#"JKR8-)@&F 4R\)J5$_^%G,\/3AFON'1S.:U9$]HB[F:OZN MSZUS\UEPY-PR!TY.PCPE_&-X+,^![#KX\/1 PVS SZ(BV5KPMZ30]D79 MUI@2/$#(\S%,XH!"E.H^72B-($':I^#'?N19'>4='V9NU'W%U#YIHZQK]:V_ M$3)CF>6IW2DTPR@-$H*@T/81HC*"&(<^)()XF%!,.(OL/#&7XSF-,Z:3$W2" M.L'3;/6Z'*.1EZ #<$:H?]8/@M,EX,10D_)XO[HOR?C,U:XBM.N^.!E_TSIF M=-CXNM0U%^OHDJ9TQ))(SCQ$,$Q#$4$4)0*F- FAE^(P2OR88"F7:W&GR< M*H.T'9E KO_M_<;!S(88#]VQ/_T^8,%.=O#; M*-$:PW!S')]J)<+$$:M#X#F,81WTE"&%\/)U74Q/MX.^WI15_M#:&[NTVY_% MS]EJ)?AGH:MDJN?>R/\0I&@=ILLDTA%GL=I#22^$*/$%)+H$-4E]%+&(>RI%L^*2U !:*T9*#K5M)/_22FW#<>WJ?IV M\L8LFGZ_1B;6=*JT,N-Y.U54S5=MJ#;H6I MLJG;-^64357.;Z*ILRSVYPKI_AJ %X\R86E 5X@\KQCH[*D#(WRT+_JS>%1O M\[UV**DE^[.H,K61W^^"VB0><#]*TB @D(=2;1)XRB'5!Y T9BD.64S#Q.L. M(&\M_/WF(@PX>KR=8*&\U4H[@G M=KU7: 4'C>1MDG";..+0EVZ/F%LON<7XT_J_[8$Y\&P/>,2 ;<%5X/G)QWS] MCPU993(3_.W#XRI_$J(>_U,[N@XO[WI.,8Q9RD,8<-^'B/D,DC!((?-(Q ,1 M<(RY\2[ =O2Y&?U:?+ O/^@4:%*U0*="G71A82A:3XN!"3\FV".3G!W.Y_V^ M#@"W,,3'!'XBN]O1BVYG5@_%K=>*MG[H=$;S4'V?V_%S*>Q6K]UZC3!&.+8H]!G3"1!2*42^5)G_.&P\W.]=S(JH[<3 M<@'6PM+R-8)\J']]((ROZDW?PKH3>DP'^FF(1G:7'QGXE9WCIZ$X[PKON7> M'?N%W0N^6>EFVZ+084AJ*_M0WNK'UG\L/>ZI[;?.IHY"#A&F F+A"9AZ)) > M5>^>1:KBN='F9J=V\M9=XAN)02TR^*V6U\92.HNT@2GJ$K^Q]]?GH!L#0@OC MTB64$QF3^Y#6@=IU%1"VJ<_SP&.;%5"7%-5G&=^(#N>NGNJ?_-F1;6D*6Z\M M>?8AT]F.IOH\LQ6-;QIX7+I]?!?O=$N^MZV]UGROVF4SXM:OGW).(D\2F,I0 M0,0"S=)"U^H2$:4!C@-N5:MKH!QS)O%.$: T:6,&ZV_%I"ZLT[DR/%H=?P8F M7 8,P&\7A7'J:%R(IMLCV(&R3'L<>QE@!T>S%SYNXO3R7\CW[&'SL#T'V-"2 M%5F=__19;7J7(4I]M0./H(\0@@B1$*:ICZ'' B:"* TYFJ:&[QE!Y\;'K;A M="=AY9[ RK"I+ LJCC;!AAP]@VD;F\0O3U+M)GUW_+D_Z9_[)GVZ5%7#&9E' MQNHY8?\8B:N&D#O+7S4=SW&-N@_96KROQ$.Y1#&)0^HE,,1,&>D)2R 6L0=) ME" <>E2RP.@\Q7S(N?%_;T4U\)N6&]2"&QX-6(!OQNAN(1V9FQV@Z:X@W0% MTY2BVPT[CR)T!S 8EY\[O-..B+C(EF_7558]_2I6JW]?Y]_67P0I\[7@==73 M8DF1# 6C"(8L4OPC&8888P2]4'@H37PNJ5&3O+,CS8UV&F&!EA;^KL4%G;Q- M0=C3M3(L$>XG&:>XCOHP]Y.&$^VI#3*.F$A=F M"85()!ZCH1=3+[;>$+N6WPY@+C3*S%1O@UIVO^N^!F MLEM5P>=VLL?HB3#J9+C? #N7=/K=[UA@']WZCC;8B(G 5[2LLQ"68>RE08A\ M&%/=!P)Y,:32QS"@.! Q943]YSP/N!M];OQOGJW::6"Y+;:;&S.J'PWQD2G< M)=CC) :_!&WZO."M!/-+"WX)SJ"LX(.'#*.\-X)6+QKLOE\KPE#\6CL/DIA% M/E?4QF*20$12#E,N0C4K 8U1G"A^MBIV<&:\N=':MCTL,<7%*1.?&G)1Z# %X23:FMPU++@I\99S)O'@@ M2H=;4MR)JBL[R(D@ND4$C+$,(0IP""D5&$:$DT R(A"SRB0Z/=3<2*7N<;4G M+&BEM<*D*3CG-7F9;V-PAZODFB[@Z+/X*M8;L0S#U$^CP(/,]U*U!8TII$F:PC , M,*(T5'O2T*X4[MDQ;5[O::KB;N/QBD;"2]-I7H)L9ICOG+^S D0SB?/G+IQ&,]T!7L5C771)AE;1C&/6$0]&)!8 MV6>"U-UG$BA(0"E',4\3JPB/HZ/,S32KA:I;2_!\M2)%J5T839L)RRX3QT$E MG%%*/ P](GV(,/$AH5$"N9=&D1^3B"66M8R(O1F/7XSGV,[LKKJY$K#QT2Q +:,[MNZ%P"E#'Q]I4E;N M5?8E$_=?/(Q]/XBR%.)&O>M$G_-]T S?!9$_M8Z/\LU&Z#I&MPI]W8K:\WDB M*?2]B*J=($FF5(&,MP=Q86[U=R(XA[$$W8X]1H1R961K9 M=2.>5GI0B[_8)K8\+=KRA9](QA=U*350*^&.>@;CYY26[*68E+(&@_22SH8_ M:!C57:U6^3>]2WZ7%]?*?,VJ#\H(:,]?,-$1?3Z&*)*)VLNR0&=H^]"/8D^H M>4IBF=JP6M]@A RSY",Q@3D)S24N^ DS*0B>HOR<;HGF&\HLN@->$C MW1AE72^M%,574=ZJAUY]S\JEYV,1*",)>A3'.M,M@-0G"*JM;$IX&$0\L@KL M,QMV;EQS]*/9JK+[?,JVDF"C#=#J@-^T0I:!&X:38T9,[B%_#8IR@[8U8=F! MYY2Z#(>>E,3LX'A)9Y9W.P](^Y2O,O:TR\1'H0P\HA,B8RY+&5^60^]-P(KE[NQVE#\1)T,](:!\J1B:LWQFP!&L'!;^W_IVY!<0*W MJ<+,7@X_EQBS$[!8!)B=>L*E)6#:-)",BUT(V\WZKR*_*\CC?<:NM&?C0ZXV MH=E7P9MJ"N_7[]<\^YKQ#5DIHU%D=^OKNN>/DO/GI^:O>Q]CY/E^1'P&4^)+ MB*B0D!*>PA2A4/>_HC0R:E#Q&L+/C4.[S+X7>9CT">RT5M;*G5K_AA::F>"- M,*/GN<[SV);I?DF;7 &TSK!6NBMXDZW!3F_0*@ZVFNLWI=5] MHEHXT\W=2 5T)E#@E:KN3#^(KMD*>_\.__VA1<]UN#LQ6%>?(CKPBVSW/J.&']WR&:/B\&/.@) X^UR6-6D95>GKJ>;GK1^BBJ):>)3T(L8TZ2V&@1.3_4W!:-/4D;@U;W.61]II@^L M;5-(+>8"?.QIJ&%_!'T6#+='SJ>'F_:(^:S:!T?*Y^\8[@(3!"9P5K7(U *.$.W3"X%SO]/A2).[F$XJ>\R;=/KBP:=A767MO8+:RR"0 M!(?$@X*C!")/^-HZ\"&NT]T\Z46$;[NJYHJ/C$_!CHQF]'Z_:*"Z'7.\=UU1 M*N!=IE9%OH/5T*+_)T V/M\:BMED!UJ[,OU[(CJV$/IQ<'U^=6RHJ0^L>M0] MU">Z'H\Y2E,.(P]+B$*&(65<0D]P'T=^ MF$I))BF!?TK"N5DB'[?[_':#3[:BU@EH;G\.9&=E[<\.-&S%>)[ATB6V+&4JF(Q$ M##V6((BB.(;82X4R+N/(8Q%-&+>J;75\F+EQ]RZ]:]6D=[4=URR-QQ.8FE'N MY4B-S)L'.7"?SH%D37G]&#CEK1-#34H^_>J^9) S5P^C@;9:PF?Q0#*=QKM7 MMN6&KK*[FJ7>?G\43&_EL@=UB:(B]=-2$J9_]V';@2%(>"C"2, H2D*(TIA! M&H@$!F&<8-_G ?>L+$9WHLV-;EK-%F"KV[-*1#OM%J#3#S0*UB;'GHH7]-1P M./-F!/$>GZ8$@P)T4P?BPCB,&(PYG&:$"E$*HPB[DZ.,#?";KME;*4$C9BV M;45>XMC/FT[0&9G^;($9T#SDA/(7-@UY^=2)FX6<4.JP2C7&P;QQV1&&W+<+V!YBV&=@1U0[:?AV[9F!%D#K0_AW)"IU/ MNQ>;O_2Y3UA(?,A#[D'D1Q*F(D%01"+E@M/(]_UE9>[C.SF2U><[@7^O]B$" M4HMK6?CC))AFW[$3B$;^J!L9%T!+6>?1B[WD)8>U/9V\8Q@K;)[Y?/VZJ\H/:':S\-F EII(A3B44J2Y+F?@QQ F2,$"(I#A, M6"@]FY6\9ZRY+>RU;,"W(X4^+,UHP1%"(Q/#CA 6H!%T 5K 1H@&,L#$*4/T MC3C$U\[V'[0&(%O_"':X[[08I6G3B/_MBZV.8"WY/O/8BUD5I5OO[/5AFL! M'NK2@I]$435GKK?YV^_D02<4JLL_BVI3K,O/^4IG/FO7_#+%DG@"ZX+5OC*\ M.$T@(93!."*)9#1!F%FZO,85>&[6V[Y^=4QBIR'X34L-6K&M/5LC3[NIOVL^ MDSFZ%VQ?5>W9.CFSV@_6*@Q:C<%.99T^URE=W]:J;?H^#'"/33-)CIUF(PL] ML2MMFBDX=+!--.ZPQ>NO>3/O 'D@P$@ M]O&7)[1V&WGYHDM/I(*ES(=I&'&( ML @A#CT$21)X42""6!!LWN7SV;/G]O&V8MDTI'R.5?_7>B$"8_OE&L' Q2#8 MM.$<#,9$95-,0;%LMWE4[?[^FL]OF;"AYE%9GW?0/'[)X):9^8-06Y3#1NE+ MBB*,(^S!. T\B"1&BHK"!#+$&!$^202VJ@_;,];R6OV\*;.U M4%ME9:?@*%06B]J"Z"2/@"HKQI?0)[X(PT!0))A=Z.^SY\^-)-KXUEI&T EI M&_;[',%^-G" R\@,8 ?)@(#?HXI?&.[[_)D3!_L>5>@PU/?X9>Q$!858Z2(HVJ_!&GW DR"6 M98HX:=U%VGAN%9LT8S8$:TKG$=F49= M0&H?4VJ!D=O@4I.!IXTRM8#B(-S4YMZ!+;MW1^57:_ZERMGO]_E*W5_J5CG5 MTY)X?BPB+X(R"25$+/(@)KXR+3V?!(%(.(I2F^25'LXOC=4:VXM42Q#[B4QE(((O5VE,!42PX!R#TN,TXACNT#V_@%M MOHEI@M9K>0[G :F3L:YWGGA'I6 K,5UK$W_2PH[GWKIX>R+:OQJ:V3^JDL_!-]\'83Q8NP1F9)K24X$:";7F?3M+S>7-VB%FX M]ATA-Y&?_P($[5S_!K#TQ@'TW3]=4("!%L\B!$RN=UI*6$[%S5IT MM)F0 "&6ZAX#*40$8XAQX$%/!$(7"8Z\T*Z]K/G8LV/2YJA8R>>DPN]1N,UL ML9% ')EQCU;;W55'78!6=HWP",G+ T";HHSNT?'G4""W#QC#TK>]CQAX""7* M,B^.%\J\S7\6GP43^A!LB=3M.)4AI!ASB&C((4YT)+6D*4EXX/$HL3J,,AQX MGH=2;?>QAVR=/6P>0+FA=1G<@55PC2?!\&!J!&C'/J"J15Z DQ5SM3N8:J]C M([K#HRM+L-P>89D./NU1EB4D!T=:MOG4=(CZ-:ONKS=EE3_LPL^?NL,8 M3S+,B- &EI] %+ $$AXDD.'89S['82(2NP,NDV'G=\RU[6-2- :P;=;,1_"%*\4TO,,O$\*8(D@4E "421[GGO408EB^*(!CSE<6+#2;8" MS(V?U(L8V]NF5I";VZAC 3F!K2K$$5MUCZ,::_43R?@":!6 UL&MT3H$/>?& MJY40DQNQ0R Z9LP.>LZ0K,? \]/&[?M>*;FNU//J3;^NE=J>:$5)Q D-8\CB ME.E*XA[$@B/HI\KZH@AY8Y_ ;XJXQ =(F(],MH!.Y;RX'UC*!TQRE_JQ.@^=,F.IIKM7S_$^+ M^T9J&%F>ZD=V\UA',K_]KOO;EJ)\OVY<'[_6N:J"7WU5B\N=Z'[_JYM68PX1-ZQD[UJRS/-*QL(=#%UUH0@'I/&A@6 MH ,"M$ALKP(U%A.VM!QE#J?M=^E6A3GX^D:>'NM.F>-(,3#1\LM?<_74=2W# MG5BS3)1O!*V^"+8IZLBU+E1"IACY*84^#G6862@AX13!1 1Q+",9^CRR2J4T M''AN.YZ__?G+G\'=5G1 M.Q/H-R*;9D::8J_V2(S!JHC+P]_^P)V,H-.:*"E M!CNQ1PB9L,7*;8*BZ>#3IB!:0G*09&A[_V!?H]Y4%#6Q?L[*WS_LFGCZ,HIP ME$"/(P818@P21!/(_-@+?9S2V+>J+G=ZJ+D1TS-)@1;U@C3!'H2-'5T.*W.W3%.>M^VV%$DTC#RF0/PB#A*9!C%,2V^WT38>>WQ[]P_NKG]]_>'_[_NT7W/][_]V M\^'-V\]?_OL_XW_['VY3_BPK3XT!\-A>JZ,I@*/4H;)%9]*L MP->I4&4+B6V6H*/V#UUMAC>B^?_[]15C30UO\D3H2C?4BVDHDP1*#\5J4X93 MF%*/08XD347"1(I].[(Z.^;\6*H34(=[:@FM"]^= =F,A)P"-S+[;,O&_-!) M^Z,^3ML"^>D,D$-JX9F!X[HBWIE1IZZ+9P;"D>IXAC<.;3.CZ&K#*K5%6]^I M?XCBJ_B\URXD8H0E)!*0IX1#E"BPL>!B@-4^9Y,(FI!Y' '!)/'^&PE$N/ MR41MRDSHQGKDN1'/E[?7X N[%WRS$@O@!]!+%V"K4;UOV.FT6[WWZ]K6>AFR MD_U,]?/4J/B/[;,<'7IC6AL,8Q_!J8?ND9OZUTMBLQ]U$HH;#$9'=L,?,,RV M>DL*W6I)=UVJ?7ZWXGOUL]+D]V4L"*684A@@95JA)$PAT55* TR0H(*0*$CM M]FXGQYK?GDWWT&Q+I"PD(B'V&8)>$/J)\%,N8JL-V?DA9V<:M2F^"Z!&>] -&UDKZ>6Y MOB_ -CR#=@KAV*?/I_)[;ULPK\^!Z22Q]S@^HZ?TOACVU9-YC\-@DL9[XLYA MO-,E2[8U6?;BE6[5 ]_D#R1;+PD/8ZY))PZE,EH$#2 )T@#B-"52(*G^;E4P MQ630N7'/-JNT%1K\ULAI>0ADA+<9^;A&<63ZL0?0FFYL$'%*.$8#3THY-E"\ M)!VK>P>6Q.P8[>UW'2NYZYV^% R+F'(&>:),'81Y E,<(\/0#D[OUVI95P_*OHHWI")=Q84H1CX+< 2#B"M^8#&!E 8QC$A] M3AQ+M2^R:^5T?*"YV1]M Z,]88&6]FPE!CMT^UG")69C'YL,A&M YZ=^+"YL M 77BX1/W@NI7\; IU)GK!\;_DL>L(BO=RJ3;_.AZDHU3@D22^Q0G$,5Q")$4 M#.I8&!B3,/%Q)#SJ4ZL(X)[!YD8->[)N]_"@KF1JY0DRPMG,C'"%WL@D,1PX M^UA@ T3<1@/W#3AM/+"!Z@<1P2;W7!#WDK%*/9F4]U?K^G\Z@N\K6>DTK>,_ M;?-Q0LQXHFDFBH,(H@A%.A\JAA03DDB$$*-6];4N$69^-%3>US[2^B][X@X\ M*KEHHLQX:BKX1^>QP<@/B[.Y$#+W03A#!9H^0N="Z(Z&[USZS(%.;JFL+&WB M;?OX?B:5+BRIT,A66>UK5S^\+@3/*MUI3J@A[I<\8JD7Q1(RS\<0(2)@*AB' MDHG ISZ*.27+M;C3#2AOS9ETF#1&'W':?,0',HWW07_^[^3A\9_?U%TY62.Q MI6=\V-P8NLW'@WJBS6&G0!>-H%ME:AW 5"*!),@3"GWC$J2'#QY;OS6"F<>QOTRJI[^NB$%65=" ME#IB-ZOJHD97#SI\>IG$29!*@F#$6:J,$Z0_2I["((U"WT:]GLF&,?,#.*& C#R%S0(/"I'P'K M#_Z(KDZ_[/WG3_H)'U'LY;=Z[)+Q>T#Q>K?N# MEF&VS1_V +JD]\/^8X86#%N+&]D<]2YE'(DP\3FDS!>*M4(*"4;JJS(FNM/B>9%D7_366ZV!;[VP#-DH(&0C$TO^?H.UCEF M6L Z-ZH6T65]KD/%'=?@VAM@XCI;AZH=UM(Z =:$J]5_$3ILA_FVWDV[C_'ZUB9S$,ZYG ML-.O\8NKF=-"+PXBC&JW>*L6V,8AO?S96X-Y'N@T'V4F1O"HNY7S%=SMHP!] MW!<_SE#C-N?^A>@22M53':*Z*T01($]$84P@CRB%B$4!3&,_A@P)FGII&OFA M]!RW'55D*)5F=X<)P*EB2J(EE<0I1RE)E^WL(QCR-8A$*@851 M8)?OX+"?@N@W6NDRD:2.WG,!W$,;EYJD#^NQ^T/U ;P6[7^>K_"[3;:]8 MUW0JI#YB?@(I0ABB),60>'$ @U!Q,P\#C_A&YZYGQID;M=:2@GU1%SH^_<\6 M36![0.UG0(=0C6V1GD!I2,_<'K@L6N6Z@6VB#KG6+YE=0]SS6/3VP>VY?;KV MM^=U>-;UUN#RH8FJ-2-_%CJ#KXFPE7GQH$/>;^@JNZO?%%UV0Q]ZW&8/ZI(; M^47]M)0Z]5XG+6C31P:!3*CDD B=&>]'"!+$4RAQDB!,2>ACJ\QX-V+-C7Q; MK?1Q9JL7V%,,[#1;@$XWT"BG;:Q]]8;9MXXFV\S.G7X*1UX4)IR] 0FS+L%V MG#KK1+2)DVA=PGF83NOTZ<.(_U/1%F"K$RGJ,K/EU::ZSPM=#V&9$.HA3Q\I MAS2!B.@*:2254,VQ1"2-":>)G7.R?\#Y^1FW\C8)7XNF7;C:R6YEKAN*-S^U M[")^!GPS@G4'Z,C$N4/R2X-D(RO8">N.",U <4IP9X:!&#GO13B&0202K4/[' 'L)1E.#06S[6 M"5]?*E)49BQS8C2;K^'EF.-]&#^356TZD I0<9>MUZVM\"1(8=GK^03( 6(\ M"-,8)C@*(/*PSN>E'J2$$Y$F+/$D:D%^N^830]R-. G 8LW=0NMS+FC$&$PY M\32T^@")!XH=1,Q#'&,9$:NNY9?#.DF3\CTQZ](1M!74#:IF2Y\#K$9>\Y[! MI L\_'P.)OLFX_T@N.TI?F*L:5N(]RM\T#'\S.7V.<)?-K3,>$:*;;?Q)99Q ME KA0S].(XA\CB#Q,87"5]P@TR#TL7&B\.'CY_;Q[TMHGC)\!+;^S_QR,,9V M?>T)YSB#^+3>%Z<1'WGT9+G$I]7:3RCNN6IPG]NFVDIKSE9/;?5[3I 02"W< M'$M/MTCB,!6>@%+$+.8D\3CQ;5;O4P/-[0O>JT6TE71@Z;R3V)JMX2X0&_DS M'P;6D!:VO4BX[EQ[?+"I&];VJGRD3VW_]9'L:*&R;*!>7=6HVU[4DL[K/G("TS-2.%R MI$:FA&V#D9H4:A$7H!;2?8>1XR",TE/DQ5"OTD7DN+JG^H:7U4@\G-()ABG3+$$*4H4^QK@TD$94^)Q)T\6H6&GV+%S%[LZAS5N:GJY[/HN]_.)ER&C,@S"& 0TX M1#+%D%(/PP#C-$:4XS0PVN"9#36*<_7$\DNE4P*+3T7^59=V M77J(Q5&H>U/&5&T(TYA!C)4UG5#L\U@F//(#.S(Y/M!,::055M=7K?-T"] ) M;$L@)_ UI8[+49N&- 8 -H N^M&XD"A./'QBBNA7\9 HGL$WK/J5 MZ :5U5-3@79)J1!<" ^JKU]9%U@@2#&-H2<%36*"8HF-,FY/#S$W*FB%!-]: M*4'CP[?8HQQ'TF"+=S$^(W_T'32=@&U5ZHNAL=BN70S19-NS1_6XNFM,=2_ MG5B+@JQ>OE2Z;GK]>[76/Y+UT_\H@5KIN;I*Z&J%6M,VTTQ?Q&N*E:"\;W87 MKM(,>C'MW<@=OW.ZC5NOY,\V:OU77M#[2CVTKMBM=X+%5[%,11"'F*O]EZ?^ M0#3U88H2!@7S0Y^DB?"Y;Q_M=6PHF[?^%4*]2OVJOA&LW@*#T%\ ]?YX YI6 MO40X\3 B'&'HI]2'R/,"F :ZQ7$HO-CSL!]RZU O-_A.&.:F[,G6-Y)=>&HM$9SGY?JS=!93K%ECJCR0( MO2 2DN'8LABCG00V'^XT"5"_BNSN7DD,B1J/W FPWM165;W5JH_!-Z6.$\EU M&XI'I5O=]2IK8J9^4.J5/^K]W+9MEK[G+Y85&"UGT8Q;1YR9L8\76\GU"4/C MBUB 5GK%LUI^L*< ^*U3P6&PVD#PW!8[M)1AVD*&PP Z*%(X\#&7!<+MXNSJ MV)J/HE([=\$Y93XD5)>IC:, T@ 'D" O3EGDQ9A9E:HZ/=3#A.(?)_ E% )8\PC+R*$<699S?KT8/.SE5H! MP6HGLZ6ITP.MX8[1"5QC[PEW0BY !]H89LIY-!P7PC\YW,1E\<^I?5@D_^P= M[IL/?Q3?ZM^4RS#"'I$H@%ZH>_K)@$%*$@2EX#'W<(+"R*IPD-&H_"XH:N,J2L5Q2OUMJV&Q?='L2Y=]AG>39(9 3F'?F0N M,N@GK,1N+G 8W6\%TV1M@W-BOYDH=JY\2$I\]<=&D!YD'"8Q^B5*2(4X)3EMKMJ,Z, M.+]M52MP73V:/!/9LEWI&:C-^,4A?".SRSYNSV4%K; .FYV:H>*V >J9,:=M MBFH&P$&C5,/;AI'+%6.;A\V*Z J"!5F7JSJP[XK_YZ:L]C+"@B3V<, 3*%"0 M0$3]&!+/]V S@ M>$E>EG MA0_=3_V7.P@K_Z2FO:TVI.R75"I*@"RD:J\4J;\1/Y60BI B7WBQ3ZR:WYT8 M9VXVR_-87BWGP#).IW U/7.Y&*W13UKL@;HL]/D0AO&BG_?&>KT Z$.%>V.@ MCUQ^:1,VG2B4K_6">".W7N]V)]46?GS18S&*J8=3%D&1B%#3!H9I$L8PHHD? MAG$9&+?N-O7;*Z'_M17BT"H$?6I4L*Z!?,G6&[JAI)F1L)]6@ MN1BU&:8#8$=JL&8OSRMU5QL,W.G6:L,?.9![=5#BSZ047(^L1FEV@#J/\*[> MFOS\M+ND#?B^^D8*?O.H+RS??A<%RTHM4A=H?-7$&;>_$9^*C(DEBE(_9E2Q M,\-QXUXC/" PD"*EQ/-#]:<53T\C]^PXO79VYXT.0.R4J)M8\'RU(D59AVO7 M<=JV;#[1RV#(_/.;XK%7":T.I%H?L*\SV%,:T">P?UV7A5-KKK-T:MUU[Z*M M]@O0Z0]: +K?"E!#X'!1F7;.W"Y $\D^[6(U[80<+&P3#^^J?FR>\V_92GMU MWJ\K)6NF!&A^M0R('Q$22QAQCB#B.()8?<[0Y\A'$D4R$'A((+W)X'-;CG;R M.:HQVX.[Z>'F.&B.?N)YK!YM*WKM_]V#^JH?:@>%:L]C-G+YVAX!7KFH[7EH MSI>Z-7B&NYH=7T15K03_-:ON\TUU3YJQ]# ,]?3PQM]=VGSW1T(,:*K4\\ ^%9DE8 \_V8=_68&_8#S MV N1?,6B% O0"ET'/2NI@19[W%(5/3"-7KWBV-BO7M"B!Q"3&A=]MP]CJ6OR MF%5DI1OZ7.?K.DGA.B^K#]E:O*_$0[E,,&6T/Q#5#')#]T-]$]+4:D)[ K45.2[DXZE1E-G1E\33,'I[WEF[4N-%GGZF9[M0$YH5@07T*F'19( M^#XD1*A_"HR3@%*.6&*9ZG9BJ!E:QZVDH!/5I.:.+93+^),/@M]7J!^WATB MJ"7T5A0/P3(BL?#3$,$@#(1B(J9[(7@(XE0$S/-CCJFP#FF<5H>Y4=Q!K=JB MDUP74.I$!TJ4AT5;6ZF+A M9'J*!S923UH]\ 104Y0/?#GT'.H'GH##L(#@J;N=QA!1%E?U7S*/UB ?;G/];%T%8MP&JLIXA*.C#Z'&(73H!C&*_0\8-RF M8^_4>ZI;.95+C\0D13&%B:^CQ7T<0LIXI/C-"Q*>2A10J^IBUA+,C=C4FQF- MTV9L![H9;8T*Y; M&XGMBUE[CM7;4&Y6]8UVM^2^D^%W4]2^_"*:V MH3I$9J^\?$PB+(,0)@ISB$1 X/]'WILV-XYK:<)_A1'S1D_=".,V%Q#+]"?G M5F]&9*4S,EUSHZ,^*+#:G"M+OJ+L2O>O'X"+%DNB JD6=,?JM+I)(ES'I / M#@[.P@B,C0VE(19Y(C7QW!1ZRS U K+B7U4)8=&.%A45;?6(MHKX;A#])\EU MJS@H](-O&H^A?G4:]H&J+UZ 8N#MI+\<(V\L>P-UN,7L_ZB>5&EVL#>Z*<&_ M"3%1)$F((CE@N3"&5YX*0(C-04ZI3D4B1$(]N[0>'6=ZT915 M8L?!="2M2P$:FI8:9#8--08(T^G$("RI'!UI7-KH4O: &#HO[O?I[V_SVOYD M+[,\IC(5* -)CBB "4P 48J#.(Y92G*9(41]+*$3XTS-VMEZ.>:UEZ/M,?CB M1P*G8)4L32FW3:]CB &T5B;#(@$ZM]4<<*HX@[/UY'LX+-?[:/7"[*S>,V MSJV4YBK-,Q!G)#$VEDX S:FA69HIBK3"@CG1[)EQ)DJS1E(W C@'8SN*5XLJ[Z20G2,42<)[98&TBS98S MR8'(.1=8IEF6.C6H[1ID:ES8RAEM!8UJ2=T^^$Y NXDQ%$P#LV(/A)R_:Q<( MCMA$I1)_OUL^_[NYO3*'_@7MCZ#^L?KB.Q\\RN?NHEK[K3M=V]>Y9(,FJ^BO MJEGL+,.(XSPC0&*M[=8R!80R8_APSC*N*-1W7/["WZ]4@(SNZCJMXZ.,Z<5W/FL%%R>[N5K8\I>&SC?/L MRZ:>&A1QJB&#@,<0 ;_=+WR)V M9T%W8X604 YMH5R&HG\M8$=HPM;_/3?HN#5_'2$XJ//K>E\_POFZ7"Q;#U)= M:Z5M>VR,'H9BS$$6$PZ@YBE@ F&@D&9,P"S-$?%Q_9X<:6K.WUL[QK9:5&5X MK.^-C=&DQ51I,GX,K11 MR>.LTJ]9X_P-_>CB\\*PCYF@EZ]JO3DK)ERF4&$-L* ,P%3%@"&2 &0,$L)9 M'C/D>?!^;)CI;9)^/#T\L-6+73Z+5N >Y' 44S=>N!2G@2GA\Q85(^ @I^]= M" 1E@J,#C4H"7:J^_OX[K^WWZ7]\>)PO7Y3ZH5;/A5#'>[ 8WGDVBZ:25<9P M62VEN_]N0P*^+M?_J=;?-]7>ZOR33\M5\RM[73)+)><$QA1 06-[\JP 2W(" M5(8)HKG 20S]2&5[1DQ3:MWW!PJW1; MR:(*CS)J1B^&G;>*7C6Y?55MU!UEP['VV\Q1T/5@9!5&76G>9GI>KV%O)$7/ M4X.GR GMZ[,_@[.C #X?>T/[\T\!%?]32AHQE=<,E MK)__S)CCNOW= #@X!7"\;>1NNC8BWQ;4M.UWJG3(&^O'NKUGBZ:6SX8]7U7R M^=56XOS UNH3*U;UR9A.DHQ1C8$BL=GD:V'L<2HP2)-4Y-H6.HZ]*F1.0:FI ML60E822-B)$V,M:'K6_;@S?D*^3&S5,0=4(+0(""=34PT0XR405-M#;8;,O9 M;> Y4LRN?C,M1I$%J3Y8GD"#WP'F?!K=?T,J]M=H#3S 5 ;K&SR$;#T"L\^6 M[N,G2O=],VQTSYJVQDN]$[1PT]1^:\H:J52K+&4)2&5" 4?63>BM&"LZ?T-OA%_$_VF1U)@X,+\5X^0>C(;J7QC#>J/U<$L9"*LH; M_:KR_DO]_VWI"R44I51G(.95$\S,F!-:Y2"&.9$X4;%,O*(5W8:=FEE026T9 MX)MY:DM>55S13BN)7Y\*:>OV^NWK'>?!;><='MV!%_$-L%N1K^J>'"_1'\V? M@Y09\4,JZ([2<>A1]WQ^<+S>E7G>W3^KHU@_-,5);"E,,Y!:V&8A,YV06"6Q M!%CDAJ42&[_$TQS C, LRPU)P/$:-.+"]@1MJW8MA4W^N6'4O:,6$7( MT^?8!;GC,4T8&(<^HGF%WYZ<89,NSH 1//_BU'BCIV*<4?Q85L:Y6WH7?WQZ M>)JSM9*5#\B:9RMU;RRTXEG5D99?EF7Y5:UO]"W[.]9!B[ F4?@(Z4I.SU&/\D M^(^&1-SL:6[S,".4L32$".-?4MKZ- 8^9!E SC#*5 M:ZQSUSSXCG&FMK&K18U:6:-:V*B1UCT=O@O:;JX*"-C G-03*Z_$> N?& M=SU[M/1X!P5W,^1=+N]I!LWGRS^MN^+3;.#*NMZVK?S8UG 1 M1&N!. (YAXDE!;/!8H@ E<)422:HAOEL85/$DPKLW3!YP#BZ?70_J>MO>)%GBW7/[3\&UYRU9W:GTM[@M5M[_^IE;F M#7RPPM^:.2_OEW,;C&Q#!F<:IUHEA-E2WL1P)!2 T*1J \L58C3F2>9W\CZ6 MZ%.SREH=HG6EA&'5C1;V8+Y5(UJW>ES97XLN&GCKE\/U\'Z*4S[*0?Z[[J/: M=^U1[;MC1[4M E=1C4&T T*T@T)TNWUCODW\C?$]X)_BFS/J8?_DWJ >!_]C M3^+Y((#1)!HY(&!LI ^# T:7H/>YVU;"A6QSNMZIA=+%^IOY$'.O?.)W""( M#G]$MZ5U>T9W%-W!FI+T "WT49Z[ &.?[7E#<^2PS_\9_O[OST*OKI]D8>;Z M>KU696V6?)JSNUE&62($2@#/4K-W2R$$+$80:)+17 J28^T4YM0]S-08ZO/[ M3]^C1M1H1];("NON_.[ ];SO.PQ: [-//Z"\/-_G<>CM^.YX]&A^[_/J[;J] M':[NF8@I[I5\FJL;?=R^JN,LZXP0F^Q14U)9/CW4O[NUGJGMDBLSF?$DIR!) ML6U8A!1@3*<@1RSAFLB<));)Z)D6&GU,V* M>KMI&MH9TRAFPPDZ8N/WYJNN4GLPJ\86JUK*1#3,!83,'PXHX;@[@(/ > M9/,-,\JE2T,5AF&&46N;%2CJLO#I(.(]!;XD'0[8$>GW%*8C\:H;9@,QYIG! MWX@+W2 YS7*.]_H(\=NV<^F;&BSF9Y)* CG* 4PMCTV ME:* 8X@ $C'-XS2+,^34\,1OV*EQ5R.M9Y5Q-X3=R"D\;@-34RMPU$C?V2Y0YYUD/=4?F!&< M-/=R@AW1L[?7:_=9H[FYCBBPZ]T]>6H?6B6<2PGJ,X"=_]QZPS#X(9@C EX?W5%M M>W]V^T\;[<,[JL3NIW?\@KXU],6J.G6O*I7:]/RJT=7U>KTJ^-.Z\DHL#UT: MV^/] :8"+=K/UQIV?HT["M,IN2*/5$ M[.H3K9?1AW;FMI-YIL9UP'3;<)@';D-PL5@C-RT(!>-ABX-@3^['XTTGIO*3 M4?KC3T-J"R-)4PC6IAU_62[NOIC75]8^FR^;=F(JB\U.2B*@TVZ%S^O1Q[.;X64<_61E6LSP+5> M%8*U1?4UDE(9YL04&R+E"08\YAE@@K-8R]AVYW;.F3DYS-1HLA8TLI)&_\8> M'O\CJJ7UR$4X#6DWLX4#:F#>VL7HVA;:JL0\7S'?!RJ/%(L@D(V4#G$!Z$PI.'WW>.'_9S78"]4_?_5%MN=1&G[W\JM:WJW8XWTAKE>*O8Y12K#0 ML8P52&)DBS7D*6"*,D!5(B5124J@$VL&D&5JU-IVP>4OT5;NZ+NZZ^I^%'R" MO*S+H6$?Q\ \:5_NST2ERZ 1# %0'<+,["7/6UB:EP!WPMB\Z)$][,UK(59/ M2K9#?5>)M0)0!U,S%B7EZ,TDFG9HB5: MM)IWZ>^!K,MN(#I-RQ.WCF=7=LN^9U2>N?2R +!;]K/>NYL?VM\U 1[?5:E6 MS\KN\RL1V+QL1/E2,%[,B[4M[9D0KE6N$8BA-.:EE"G@,$< ,4USD2 MH5/@ M1FC!ID:NK:25"VW5:- OI.SB.7.S.-]B)@;F[TU8FHU#:X-E[<^;?V@4NXI: MU=K"W95R5U'+:3OZA0]?"X7X( %N%POW)B%PH2 ]%207[/G]Z/R+,H.KFT=E M>Q$N[KX8"UFU3W_Y?2&+LJJ89&4R=EUY_6#_-D-0("V,>5LGLA)MN%MH"A*% M*=&$I4CQME#;K3N%]Q+&B27VJ[;=CD#;5I>H>'A\LL55"R.T>;AGHD*_N7'C MZ.&@'H>0:_FOHHT&4:7"U89?7ZZB736B6H^H5B0<\UZ$8U":[2?)J)QZ$5BO M"?2RA_7,WGIZ>&"KEQN]B6G>JQF^=* "4A!"KDF.56) M2I57]I;CP%,S7G]?K#;MM"M[J0G^-A^B6!?/9J8\<[=<)\"-!8> =6#B:T2V M04X[J1%[8@^;NN4)6=C4+=?!QTW=\H3D('7+]_[>\:3UTZ^?UO?+E?GVKG\6 MY8RD+(GP-O'= M4$U92-6THJ_JXBIYL[A=L47)1.54AEA+3&D"*$XD@!PK\Q.+08R3-$TYQ1GQ M*K?F-?K4B./Z[FY5[2*CA5I'CZNE4$HV<6]E5:]BV330\[1LO*;$T;P9"NBA M;1S6E :I6V#NR1ZUPD?FYQWQ UHX?5 +:^9X23"NK=,'G .#I]=#>A:69.7] M+,VY5BF-@9#4,%B*I6$P0VB:<\5%)@FC7J$L]J%3(R8KDV?=1PN-&Y/X*CPP M073JZE]W<4>YL/44[8/'K9.XH\I!_/7K&';2CVRHCV[O%[(G3I$;5,AR2%B,.>&W\W$0R$%8! C$'/.8GF@$BJ" TU4Q!+X?6B7&F9CQNQ(RV9_"U8U< J U M,*'T ?$5L"P+J>/A3/A50+67Y3J\HD M^J#$W/PA9RS/ZQ1K0&C* 6Q2!@A% HHG'JL^0PZ-;+8"!K)1D(; MU%^ML[80BES.S2]+VQ&M+HKB61/%:1X00O<4.3_PV+U$G*$XTD/$_=Z>+7,/0CQ;VYW$"1&I1(:,T MQ"&@6DK >0JUUH1(R/UV3R?'FMZ>J8V?GCO$3WOBFBES ],<0$RQ;3ML=J7, M;$V-2#+C0F.5J-EZN6;S$5'=CC<"ADW0@\"%X#L_:1\/TAN@*? M0R)L!^"3HXW;[?>=?<_>,%AJTZL>4FTTXW%7W/MEN9Y1P\U*00IB+'( MDSP!-.4,9#R+*64()X($3G/R%G)JMF>UOC8^J^A5=/+$Q&H[:FY4[[D8.T_*7]"IY4SUAKI'_E3_L?H&V#Z;16BY M>OE4+(KR7LE?ETM9?E7K&]VF-=_*&MU987TC;L_#[$;3@:$;F'4WTEY%&_@J@:\B([*-E_M^+CNX M1VBN,T*!XW3/CSMRT*XS$(<1O.ZW]B.>MI7I3B>KIO:82A+"48X!EHP!*#)[ MYI&:OS*LLRS+(8^]/)DG1YJD"=FOU=]I--U8)0A& W/)F?K(5PURYPOA>3/* M672"\LCIT49EC[-*O^:,\S?T9(I_/=D,@K9)08(5RY2FP.Q08P!CFP5$L ", MT@QCD2*6QE[TL/?XJ7%"+9UW;X<3V#F206]$!F8 =S#\/_&C.H?]KO>'&/=C M/JK>P1=\_*J>@0RL6-G6E.K=R^;'_[]0*_.@^YH5JZ*-L)7KX>OU_^X7[N"&OALA MA,=T8**X!$[_H @O=,+&2+@-/6[(A!<)DK_.304Z.H#^IQI42Q M]8JRA^5J7?Q7""_W:?Q[^JZ#H/H6'NE6B/\@ [FLX -ZS8^/?S; M.H//PG+6Q7O^"3U#U^L=:G!ALWKOR,R@?!Y.>N[YGPN#:+!EM)PSS2//(?S/K(# $M MYX5XF2F-DRQ''& F8P!IK@%1 H&8"!G3..-*>K77ZQQM:C9,*UVUK'Y7Z]52 M%YX%[KK1=:.(8)@-[7%MY(P:0:-64F.=5+)&?S1_#E.VR06FL$E\G2..FY'G MHOQ!>IW331='H3='"XP*F>92@EQC!:".#96D"05QSE.6,I&B3/<,.9_F 36W*Y:)\IXQUJ#:EG)0U4U1QMYBA6+&$ZQSDB<9F@Z%CP#!G -D2 MD2A)$!7KVBU7C;W7EJJTFT5:5 MB%>Z[-29M$'/YR:F9_FW2S =H$1<+W'>H(S<); =+S5WT1-[[K+4G=V\?5>/ MU@NZN/M0E&*^+)]6.\VN".0XQQD%G*49@ +:O1:50-&8Q13&*HF]VD4XC#DU M2MSK@66GQYXLEM&?Q?I^VPG+Z(]A=F#N M (7=ASF,.^YNS!V(@SV9QZW]J&A33WQ+AC.*N3'&: (D91) I!0@F.1 "LS3 M5+!42>F3'W9D#"^J&2$S;%M6OVB,A;DU%OS(Y1B6;F1R(4(#D\<6G#U+*AQ5 M=*@?E!J.C3,J%70H^OK3[[JTI]4A[I5\LI4H3YXK57749TS$)(UA AA1!$ H M,\!I;OX',8$*BS@F7ILTUX&G9G^T8C?-\.!HD Z \]%G2 M1:#Z6R2>"(4U2UP'']YP3R.;?1?FL: MJQP!QO,$(:B$^=,OR:A[0)]/:)S\HNT2/;<">^Z*SL K*5%9;NQ!E!(&(!$: MT)RE@,E,V;<]2U'BLQZ$ W>T?H3[Y0(BL*E;5QGFRX5=(I9#SH&G'7DQLJ.9 ME(=MK()7&7!#91A+\_B0;V-T=JI_TO[LONM24]3&VIC5POYA5XQG-K=1#;7= MDPK%8R$A8&;+":!A>H$)Z@#30/9GU\AO9'PZ@'':\G2YN?=!Y\JRWP=5 M__FY/D2]7\[-,\HZX^7[?0X$_ M_'EG:-S[''+V02_TR::7#&,?9_8!Z,@99J_'^!&B5,7LPU)414D_%:5@\_]4 M;/7)_*:<$85E#G,*-);8;+ZUMNEX9K-(! I0+%,(,J)\S/P79\ MH.DYUL*49CL!J^/6ZF*HAMY+G2NN\=6\^=76JJY3-71WEV'V3\>'FD"GE9,[ MI.ZK>U;KE;*PCV'S;ZR0GQ?OV6.Q9O,F,#GC"=$IQX 2!HTM0&- <3>""8[CP$1STL=[ M%;%UU$I=U_T(VVG3&:7@K3C/CSQZKTYG,(XU\W2_N6]ICVV5BAD5AG%0$@.B MM&W=ED! F-D!B8QB"FE.18[\MCR[CY_>1B=HB8X='-WHI"\V0SLR=L0*64#C M4-G )3)V!ABY",:A:H=E+HYHK+6(1*N&&_>,_$9TL]ITYWD43]"[ M[J; []JFP.^.-05NWI*M^M&-CNK&+0T"YF]1@T'T?M)OB6Q\M/5*^-=[6_;D M_V_UUCBOZ6\S>;6U8,>N3( D;0R D:49Q;1X&X1;H^6-1N]C#BWUV@RG&C^A MS!)&-4<@U]85JX4 -"4<2)[S1+*$P,PI>.[(LZ=F6+32^:P!^V"Y+.>](1AZ MS6T$.^\P/?_.>*Q7O>$8:U$Y]U)X4OQ1?;MY>/^6$W+9P M.$PA5TE,02QS!B"%T!X>IX!EN:14L 03K^[3W<--C9PZ@DM[UF4_ _=%_MOI MU6V_"+]0#MLA2[N?&7(*+MHSI=\=[^I'+KC&$A<",S U[&,RP(%QA_I! M*>#8.*-^]QV*OO[8NR[M]X4W95Z^JP=6+(K%G=DNZ>7J@1G);_B\N*L,11LZ M)&S]W^+!5NC1/\QO2VWHI;"5S=AJ_8&M5=66 +&8D5A ()6A!$@@MD5KRI\4JCW56TT2_:43#::G@5M3I&M9+6>[NKYE54*1I937NU MG0C\'K@QW-O-[L#D^#83ZTVQP^ ?E)T#BS@JL0\#[^LU8:!1 I0YV:UDN\EA MK5+#MO6^)",L)1H#E"C;14@R0%.4 XE@CLR^-8%Q[!G<["G"]*(!7I4^V2O@ MO,W5OJ#>B(BQ-O52/& J+-6BL]S M>AP&O+^W1Q.;@,TJ\%X6ZR?S]GY>5+4KY+NG]=?E^C_5VH9VSN*<(,82!%(E M,@#CS)(@5;812)9F.)%".Z6N]AI]:D9Q+7]IDR:9$,LGZVUZ9"_55UB%1ATI M";)2<]N?Q(8P/!HY[FT%$/M=/S9U<:H;U=EN/ &FTN$P8\@)&MH?6(D>?=X& MBN]*'[7B1T;^R"@0&0VJT/(A$?K;VD0)3E]8_.(*VFS$=&L&!%X,3E0Y:1+\X(!J@LL%IB 8N9W!DX#>N M87 :BO.%"SKN[6$!7S^H52%8^?'G[S^:,X\<,4T(HL#&OQ@;5VG 19:!)&$" M8Y;B'"-G&_?P^5.S8EL)(_53S)^D]>S]_O7C MSPJ-/E$S1V#QL O@VA=5Q6<\FG:NE M4$I6O2F^% M5WNCWQDPKUC,EL$ YS4!,%0.0:PI81@B(,R52"G.6<:^/5B5E5>VN&R[_9IWGH C; MK?/D:..VZSRG]$&_SK,W#%$9^8=9)ZH Y1O]J5BPA2C8_-NR+.KSF+5:E 6? MF[O*]0QAJ#)-&,@RH0$DQBZB"8, D92J.,UXZM?;,Y1@4^,@A\JUU8%IK9[] MX#8*1JV&T1];'2.KI.=)>;!)=R.[MYC*@;DQ^"Q^7!BSK.X:%?!T)C3R(]8X M]A!N0M60_2'UJYOEFO22*C>%OTY?^;IK\LK2_P1:V_*[&\6Q3_I>3M\IW:_NWSPE8:PT\,TICSCN:[> .4] MG]A;C-]S&[V^5RLCR::'2]UUK2E8.4NPK7$L,4!I8HRD_L$VS>VNWJ[[W?B^ZF#3EE"L"@.4,\@45I@D0&8$ DBY M!IQ3#++4L"/)60Y)-ENH.QM/YNS![QC0Z<.@]8>Q.^QPW\?O:[,IKDN+6=^* M>;19(1SS]QU!=O;C7PK<2*'":[:09GVL>R1:3X&T55!>!PTW"EQ%[;%ZI)>K MMEA*P" (-]Q">_Z[AAS;_>^@_I$S )>[>G).\YC;Y;7XUU.Q4B<;,LX0HRE, M)0*IA,B>'Z: >_.,\^/2XZ%NH:-T>,^%(4F'1'>GTL1': M^JT:L5\WT;W:;_@:D)V\ 0O+5.[#C\M:WK <,)C_$_I4,GHQV\&'LJ'+)L)& M9(+D"$- 4H3M^20"/,L$8")/5RD: M0YL^M7@;8Z=/G:-CR/A4.[H0H;%J'ODBY5D#J0.%[DI(QVXEZ5:E^TOZOWF3*8X3AC3 "(: R@0!P2E,9"I8+E.$XZ0 M$ZTYCC_E:CW[C?TL'IX>FA<4:40493E@'#*S U()H'F2 M@51RQ1.S-:+:J;G6P9.G]ETWPKE]U(6;/*E,^QV>OJ#?6OO[CU^7SVJUL%NW#XJO?RCQM*H6G/:3 MC 51,,> TC0#D.8I8,H>YQ J&,\$2IE7T/2Y :?VI5895'<;D:-R(Z_?BGP6 M:+?%.21\ W_JO_^(MK)&5MAH*^T B[8K-$'7[[.#CKJ4NT+P>E5WOJ\?R>PF M:5-,U MOM'?ZWB%60P(SC'+?$A;G!O5Y><>)#3.B M1@^MK+ZE*\YB[/9UA\5MX(]^(^Q59+';R'L5&8GM,70K<\BJ%:[X!*Y9<7;8 MD2M6N,)P6*_"^%L)X51A1T$1"L^4 >9H(&XX* 8FE )ICP2#'1"G= MMV+EN<&G1S\^U5XN1=Z-C(9!032D:I0N@(V4/W)L\._4>5)5UA. MUYQT?D(_]JJ"]V_-O57M;2D3E=GRZY0F&8!I3@')S%^12E*2[E]]+&\;3E.Y8W%V+=?%<&=.;]GM(YK9+O 88 M(6CVYL;J91AR$"N&LV;IW5IDQBK7-OUJEB4A?C?;/ZD9DFB5:RH!#B)!8 "IY8R->!*8IVD M:<+3L!N$OI).;3MP?7>WJG+DS+?>R!D]6T&OHG)OI[#<:A1X6]![T@-M L:8 MR@F8_*X6_XZ^5]%&XZA2>43C_M)9&=>4[RWMM SW2T'W-M,O'K!/;F!?H:K? MEM6/]8:A[E,GS+]_6JYNV>I.K:_%?:&>J\?LM+"[-6]C>;^=-=\MUJ^%5>Y=/LN#;SXA3UN;;BSFY1?1=]R+ZKEU$WQU;1)O7 MKC[#V" 3-;I&!INH!B?:06>OJ>KM]K7[]I=\[7Q28M]>7)_7;ZP,W+_8:^B9 M #R=.>_.-YZ G".F-T] VU \3@%"@L1$28FA4Y.A"V28FCU7JV!WJ:>+KK>:>$:!]Y@@-\?# MP+ /; WY(#YH8-<%,(:-6.\AQ[B1[?V!.HB O^!1/5W#UMEH:=>0B:T M'Z9 MI8IS07,,M$H0@)C&@-CVZCJF.8'$D"#G/IDLAT-XL=QH"2WECIS_]C](FN#_ MJ.J(>3=+/X14)AEE,50@AA0#F&)BHWX3P%&>JY0RF2 U>ZR.1'^8_?%Z#&!? M#S<9]A9)@ M'L>,RA;A1WA_F=4BQ==K]>K@C^M MJU5SO33[MU60+=9Y1,*ZQ0^'&=>??5+- T?TZ2LO;9JU+,OW;+5Z,1N(JOKX MC,*489IJD$IKOFLF >,\!S26,89YFBNL^K7!>CW4U*STK:TX-Z)&8D?6OMVI M#M!UHX0PF U,#3NFM85K3\PA&D"=@F*@EDX'P[U1DZ93:I]NNW3RCGY1LW?X$8A4Q>Q]L7ZY7BGV?BG5+$H32'6#6_?%=C,30KL8M"'V:7QR@X1'E=PDJ(X7<>:'C%^]V2OO. MX+.#F\:+!#LE[UY8ULF++D@+.VCJ>ACEQ4]D"33INO8P;3]+()FQ3"J6QSE0 M!!O[(LXDX S;!AD\)HMX7/#AA%W_.2P06$_FATV[(C^V]./B[4UNZ4T'V%I+?"; MU>WRS\4L(9A@*'.0)YH!B!((*,YM>Q3!$(6:9#IWW:F>&&-J2T M9M3(>155 MVSB;.V!D==_"G@+T_&XV $P#DVLOA+RVN6?N[1G M!(\U8NON2K\5I5!S,[-J^51^-;(_K6P\U@Q3FJ+.V"&>XA8);QG,,]YH-WLM;#PC;+C;CNL[ E .TIQ!:#8UAFNDTRG YI%38Y+/"UDP1S?W%IV@[\G7_^^N'S=0"/]8%N'?N+YN+Z VW^4GV;M1][^ZAQG-<'HF\\UH?_ M$BI%;1,SBC7-4"Z@X22HS*K-I=DHI 2P1 FE)+.]%3V[*9P<;'I1+[NR[B>L M>=9G[$#8T:,;!+6A/;+N&4&#Q.2>!VG@)*&WB;T]K_;YI*%0=1!W6RH\/3Q5 MH;S5]L,Z0E?J7BW*XEG5S9YM-L*K_'.S;L<\1P)@K1[]8K7SKG5\XBXZ4-M[<#,U[?:=E MO+XQ_?$=KIE,#YG>KL-,?P [V\Y<\-B>5;N-[JR\MQV[2IL29O9@F[*XG]?J M89LNI&FWJ6H!$=6-FCHA7^ M@F+=SE/@1J2#P#HP938R1Y^W<"[D3D7N2NYABG'[HA6V!K?SZ..6WO8%Y:#B MMO<#^B9Q+6SMJE5UH/Z]*/_Y?J5DL;8_S906"D&< *2X,1Z%,ER5*@9PS-,L M27*H\]3'>.P8:VJ&82U99$6K/J1-0\;HQ]/CX[RHS) =;3P/NKI0=^.H0%@. MS$I[4E9H7D4[T%Y%WY;S0KQ$?S1_#F*W.4 5./OK]'@C9X"=5?PP"^S\+;VS M15_;8E^7ZYU-CH(0PYC$(->0 )@GB6UO;//!4IKC1,$0B>9=@\Z=K:I$P1'TD[=[ANS M?/O7)QNK?J/K/+9?Z\YWG[53,5 C_6]J/1,)(TCE&% ;!@1%C !%.@%"ISF5;O1;79Q TGT63L7Q;:K3F20^8N\7F.49!_W-?OKE&(?Y74; MJ01[N#D>IO1Z /G^ B77P\U"F%+K >7IMP>MO6EVB,;2-)27$X4R23*0,IX" MR*D 3& ;D$$AE<9FTQ3Z>>6/C#(]__MG@[UYWCI2/^T4JJMHX;I*=:'IMJ.\ M$*&!38>M=,T.TG!S"$IUT#[H!O'8.*/N"3L4?;T-[+KTTK*K>R7)=U(),HYC MG"8,LR#P35.2& M65$>

:ZQ] I "0KQR)5N!P'8C7&#PC8P_W;UD1@D'<85 MFX&JWYX:]8V*X)X!X70MW',W]O#@O6?SPIB"BX+MEA1)"$UDAA60MG$OM)T> M2(H,>R.5TU00I#Q:(AX=8FHDLA72NSS-<0@=_$@7 S.TK_\5)GVJU1P'Q\,+ MJ872Q7K&*),(IP)D2F&;-\ !RS4$22YIPK3. M28Y\.FIU#^=%-R-TUVJDC8HZ@&#-?GH&7G2#ZQAV$0RRH0VQ!JTFW,*(&C6R M1K\TTIX^7O6/M7"")6RD1?>0X\99.*E_$&7A=E>/'=JW)SXO1)7_=*.U6IF- M8+M+BV&:$*T!RG);L)>F@!'K7>>*D40EB".GWJ3=PTS-4JD%K[312'ONW((B-M(?S>[7\]F]G<>C[Q]W%D- M]O9RYZ_N:5:QQ\+8)\5_VM_:CHN]J;;:)2GYD M*]N^MMR)+_]@K#YA-B*":*B4, $R0!5)H)2+#"F/F=@)X?='I' MH+N!][(6TH]X')!VXYVPZ U,.ZVP42MM],LNDHW 7=^[N@$91V'84FOW^'&- \1N7!,6N(&YIA;6UA=_%1K0@OG^')C>;...3U"V M<1AV5+9QA^$UVWCK0JR;IE._+XIU^?W'[XT30/!8",0QR'.( ,PI M!@0C!N*<$(RY2E(W]Y/3:%/CF*VPC;N@$C?ZQ0CL6[NF&V57NR80=H.;-!VP M!3PR]\(EL#'3->+(=HR#\H>I-']XG<8[C3HU?MD(;=?>HU7J^K;>=IL$-]H)#NW ]!,$U1Y% M_CQ0"ESOSV7DD4O_>8!Q6 70Y^:^#4<^%7.U>F]&NENN7F8JS6,9)Q3@5*< MXC0%#$D"> IYPH7B&#M5 3_Q_*D13RUB5,D8M4+Z=AC91[";2P+@,C!K^$'2 MHZ7(4<4O;">R_\R16XD<5>BPCW4&8,8<9%K'FM,B&=AX:%EGIXKV$H)M!'3 MMK*K\^-6SN'6X\VUH_DSI?D;VG2ZO'>=U;IN4!?MZ'U5UP"SJD>;G,GO7>]$ MORYV8\Q3^&9V@TH]?D^[,2;A:&N[408.NG)9"6Z-C.)>W?ZY;+Q!A"906^<^ ME+;H388P8-@V:A=*<\@@SP3Q[J'J-O;4#-5O:E4L963D"[)X'(7[HF7@4A!' M)/0-46\_BJNHD=TB/(!GK@=H8[#KT?&GP)-=P#@R7N"IHH"FU/PE9S@E7OT[CP\S-4(X+,_;-%#PY(,3H+K1P>50#NAWK;RL1[ZIXM2KQ_=5]'^G=U5UA.6:R_FMF?$:A0JDAB&VCF MMI\F!B01*4CL/H8F&46YT^;EU !3^_@;O_%6R,A*Z>M+?P6BJS.]/S3C>--= M4>GA3C^N^H7^]%OZAO\\UOO"\D9_*1;*_%$7*Y\AJ&V2 MJ@1*6_,>)P00FFF@:9QAE:$$XFRV4'# GU.CC1STD')R7GP4;G*%Y+7U.5]?S\F^[9:VL[!Y2>C0)W06I\%??RI5J(H ME9Q)@57"4P*4LC%"FN2 X02!.&,U82NKA<;Y\42KB=9&$Z-$\SI/ASD^-&[4%A7M@3MO'N4E6 MK\6--O*&XRUG:((2UOE11V4J9Q!>4Y3[C;VYR;+F+SYJ^% M*C^;+\]\!6E,DI@3#E1.$( Q1H#'AJ!(DI-,XBQ+B6=G3+>!)\E2ST5I%W^] M7$5_-N)7R_]*K5=+2T3BWA9,KTC*ILS;O4:U84$+S #(TJ[D, M/3:U>6R+6A'7:G M6C[^MBJ$FLD,QWD>QX )C0&TU;4YSA&@*40QTB*)4Z\"(F,K,#5/>&VD+!LC M1=?*&#*P[:'D4-+024XB8&GR*O --AY*C9V7D M8F%(^$OQK.3GA;'5[@H^MZ&NRLKY&_L_R]7[.2O+ZY]%.4-**LPU!QQE.8 X MIX!(BH%,!6<0)PF4PJM"LOO84UO+:M%!)7NT%3ZJI;>T5LD?50I$?U@5?.LG M>TR,VV(T$-P#KR-!D?:OLNR/6=AJRQ[CCUMUV1^8@^K+/1YQ28#J885@J!(& M$=) 0QH#*#@"A! .$IRSC/(D36/JVY3LXC+"8S4F:VLN^_;*.06FR%#&,K,P MJ QKLSID&C!BWF@MA,2IT ;0S*>6]5^DB/46R+;'6_0+/U>.V0M8&F.6&CW#T'' [?!- RD;@OF]&N"CU,+?,PB MX).H_NU9]CMLO>]MF8.E^&?M.?OP9"OGUGN!NJOGQ^;8K#Y-^'-A3-[[XO&; M>3EF,,FT9CD&+"-F44NH7=1R#:2*8Y081HZ)5^FWGG),S6)ONOT^FN?=5[Z& MIX69B^CCCV_?_!N47SI'CMZCX9$?W/MO77ZU"E&MP\9Y4ZMQ%;6*M(>8K2J1 MU25D_96+P QNF M3<,LT41F.($ TQ0;BY4IP'"*0(:0R"5A5 OM9_YW#3>]/4 K;;3:B-NC/W$G MQ%PCG>;2K$-04 9Q,9VU;'M=\,YA!@QF?ML"D(!/,;.8 1XW=:14* -O%AL M\/J^@Q?3QCC8ANA5Q\)U9&KT95F:Y>-]Z#ZE+F@%70TZ!QR5\EU4?\WK3O?X MYPY=/ZB%K/IQS=G=C'*2JAPG@,F,V[('"I LEP!+KC*2XSA'TC5I:._)4[-2 M-\)%5CKW+*%]N+IIX2(0AN8 -_V]\H&.ZMH[$6C_::-E !U58C?UY_@%?A]> MN5K/KLN"?6.BT(5HZE^@C*8*(;N&(\QQEA&D SV69S \U7&W," -S1'7@?\S^I8AN64_/TM#GM;\JD+R MOCY5ACJDL B%2#E"B",H68Y$Y%RLZ.-#4B:TIPV+/C?7&C M6E[?$B6G #[OC @&V] V4E_$>I0O.8/&A75,3CU]Y((F9Y0\K&QR[H9^MM!O MR^?*S/J\Z,XE_KZ!QK &.D\3N,1'QX]&NP:9&F#NE\'>D[5TNMA-G-Z8+A=[ E-8?./\$ =$ MPD;\=PTX;HB_@^H',?TN]_C1B&#SG_W+]W]5ZWHG^4VMJBMN;5;_^EK<%ZHF M0O,/>KEZL/QW:V:RM.VDS.]L*R4)&VLE+<4;13C9P+8MS;5%$3Q][9_:+[W M3\8 9/,ZR/N3^5TYPQKC+,EC($B. >0J-5N]E (!888@IXQQYQZ:)T>9FKG3 M"AK5DC;9#U$EJ[N'_32HY[WK0: :V#KHA9*75_TL"KT]ZJ>?/)HW_:QRNY[T M\Q?WV)_=+-3[IW)MZ&;51@U*E>!$04 S1,S7GC)@_DN BB6"F!+.J5/4X/'' M3^TS-P)&K80>!N8A; Y[B8O &/A#WL7A?."@"R >QO!%P(QDISJ]*'Z6XDFU M.XVXP[O&LZ].2KQG^IR^JF?(4U5:HDV=043IF,<*0*0E@% G@*7&.(%QQK,X M3_),2J_,I-VG>]'3"*E(MW:,2-3"1:P2U3,F:0\\-V]R;T@&)JE:KB%2AXXI M'#8@:&^$<2-^CBEW$-)S]**>\%R@YOF07E M6N>8 4AC;@.>A3$.2 :XA @Q"36/O6IHG!IH:MN8(RFXEV8K>[%(")R&-AX. M(1J ,\X!,7 "\EMPQ#F5SR<>!^&$PRZ(YCD?E@^L6,S2/-%8&H,CEW:GD'," M:)8ID*>(:XID2E.G-&2'L:;&#$>Z$M_!$0J!T+K7",H&)5ZA;UV!3HX]]66TOC4;:?AE2G3B[$4@H M](8^&>D-G#>%N" 2E$,Z!QR51%Q4?\TB3O?T]'R83?V-KHIAV0ZN-_IVQ18E MJ_J8-:MDEG&=)[$$B".[3:$,$*E3(#.*L10RT:E39)K[D%.C%"NQ_1[JLG'] M[! 'H!W='T'A&]H!XH>RFR2E,T-!F]>4AZ.WT[BHZ9MY"Q_2.D9009IK_.AD'O:9[I#2"\W,Q M3(Y Q[A_@02 \ZB%B>YW&*=OJZ1G\Y#EZN6K6L\R+35,M%F=S4;/5N]F@,$T M!8()QC,E$@&1;W^D[>.G%TRSD>%>)D12AC#G !B]B@V74D" M*D0&B!:$,Y[$7'@Y7GK(,+7=1^61/&+RA.C5W#T9CE[X82$>9?_PJA'RCBWY M1RUQ=*M^&L/2?$W_#.FS[P_="$V*N^680)]A)Z#<6@6[/:IG?(+2:K52\I,R M][#YJ?9X.A$XB3/S,F)EC3^1 \J,!9@Q3K$DE&7*+U+!:=BIL5TCK6=D@AO" MCC$*P7$;.EJA$3AJ)&[SZ0=N4.B'4]@8!K>AQXUF\(+C(*[![^X+:X+5"2.& M[5IO=:'*WQ2SA8/DS>*[LCE+=03XU^5BU?[5D&91?BD6ZO-:/90SCI"F,H$@ MRX0$4"$-[+$8B%&&6,Z%5JGN540LA'23H[5-\:RKMHFVS838T3!J58QLT&*K M5775KII1I6?TA]4TJE3M6[ LR$O@1JEO-K4#,^^;S&K_:FHAT1^F_%H0"=^F M7EM(<$\6> LZR(4-4&[TIV+!%J)@\V_+LJCLY[;PHL>&-:A]^J7(]J_ M@8H#1,/T4>D:^&W:J3A <;*KBLN]_8CIL+)N:U0;.[HBSO?WUJWS>7']8'.8 M9C3AD%AJ@@DT_V,R!RQ/+&=)11.$%,1ZMK"AQN81[ESE*X?3!T;K#^Q FA%V ME46]FURSG\HSV,M[1MQ8:Q" QV&P(U6_KZ(-TG;#7LE_9;?PJRK,[IZO;>E7^S MG&&6R)PQ!7+(@=E^O[&9 ?'Q[GRQ>E?JC57=HO@O)?=>>B4RQ1&5(,\(-*:G2@!AC)FM,1$Q MQXK&U.N89Q2IIT;GOUOG1B-GS>3-$:[8C0E4M?/QA_ M%6UT;8,Y:QVN(JND^==U]*+6T5;/\#;SJ%,2U- >1_)1K?-1)^.U23_NX/X] MY;^MEO))K&]6C8!5_V26*92(5 #*L5E](!: Z20&*"-YDAL#02=.365/#3"U MA:*1L3IP:<3TZDI]$LAN @\!S\!I?W'7^Z,-':SS?I=IN[_G. MZ_K9J.:1CVJU?K'12>OKA;1-JA_MVKA3RX?)+(-,$D 4XP"BE!L+$Z: F2T^ M5IDF5'L=OCB,.<'/OA+Y*JJ$KE[RC=A7EQ11(.?"F> M*S?EXJZP%=@JO]4 I0P\D EJ(;F,.ZI]XP'$:^O$Y]:>!\%->\L;_9Z5]V8( M^X<=YIG-;>)K59/%ALU64;.S3##"J"(@@5 2&)CZ.&!K5[L0:8P>>;$R-Y=5J M(X RAE!&)8 )MW7MCI4%Z\=G24J='7GI"5C>6UJ^I&U(V: M+L9I8 ;RA\B;8CHA",HDQT<:E3 ZE7W-"]T7]]UZ-2>VE7_F&UN9?9V-:I%5 M9%[;\&LF"$02Q2F@*3%V#A8Q(#HC@&N"*&8ZR3/ME[[K-K#/JS].8N]&[MI# M?Q4]LE7T7#40_J581'(YG[-5:0MI1*75X'1NPB7SX;H9"XWQX.Z;%MP?-;A& M9O,Z1[7439_F34?%D'LS'Z ";\^MN_[Z 'Q=K6XKHB<\+ M\6F^9.M9D@I,(<0 JMS6EDLAH"S&@ B)!*<)E<0IP?;HTZ=FIM0"1K6$426B M>_N_0^RZJ>1B1 9F#!\PO+K\G52Z=W>_PR>.UM7OI#*[W?Q.7]0S\D!K)6S2 MZ2;OZ[MA 7LBM!#%O&A/DJ2R[F3K>FO2PHZ?.=DSI5G"8)HE20)R1"F +#/; M$F0,$LD$,U8(S;7P"S,(+N+4R.+'B3 "S_"!\%/I&"OPIA,T-'>URNWFMEK] MHGT%JPB!K8IM^NM5=#:R(%@!J.'G(VQ40'@QQPT!& SF@_/^X4;JW_"YM,*L M'I_EN[4EE>TMO'+V($*%BG .-8@@@@0)010A(),DAUZD0VJE]BM>H M4^/VC>#1KN01?XDVLOOWA3Z/_7F#<1!$!R9C!S"C/X+ZU'LA=7%OZ?,CC=YK MVEGY8[VGW6^>6OSLYDGU33?K>[6ZO6>+-IJ22I8G0C,@N20 )@D&3!J.R](X M1TSEDON53GDS3:;&FW_).-MS;XNC/?U7> >&/D7UCL?]^%/,GZ0]\?A_*#+7 M<<+^(M&ZY[3Y?R2"UW'2QHOJ=14H9+%%AZ*VS?"_F@NMA6#VP<52_D,5=_=6 MOV>U8G>J^L+J>[+6 M.7\Y[MO:38\IKZ(:A:BH*IT;'*ZB%HFH@:*^)+)@1-NZ1D/7NAQ\'D>HDSF< M#A.HL3GX!+G5YQQ>C)Y[WG\]%>L7*^ER801I^P1RBF),,\!RD0+(&064" UB MBH2$ BGIN1\]-LK4EK!:R&@C9<\ ^^.(.N[9+L5IZ&,,;XC\=T%=$(3=H1P= M:=S=0Y>R!Y9]Y\5]BZ$9(^QS63XI^:&.-:M8IR*H\CB3S;($Q6G&(.""Y@#F MC &.8 X4I#CF!"5,<[_::-XR3(TZK/2V)DH5#K]\># V3FW>/BW,7%0Q\>:S M*=K2S-&CK#2\%K&0)HRL[F4" &6F;]J 9'&C$DJF5^"P>G! M?#ZX<9(*+-IUE>V'5E9/0^\TLH[V7!"TAC;;:B$KH#9BMN%P 6VQLUB$-;E. M#S>N9756[0,#ZOP=PS:5_ZI^KF__5/-G]=MRL;XO9R061&&;BHUQ#& *->"4 M(X 4D3D1%"8(#='B_+4@4]N+FECU*X+C&[QH13Q=VBOL+\?_Y4%ML. MS#K!DB-D:)):;QV3": 9UR!&)(,0RUQG3N?<8<29&EDVPK8UPHM67(\"L9=/ M43>-C@_\T(<(SKD0[>PTUVUT.I_M,,0T>53['76Z1JH)/,:T^=4/#H9R9Y7A MRT<9KQ9Q,$3V*A:'>^K(H6&U>[=V^[8'ZK.,X%P310"7J08PDS$@/), 49P@ M;G8-21:/$OAU3+JIK8_-Z4E1"6FC;QXK,4>*RSHZ?XY.CK>:E3&.LRZ+J=H[ M$=M&5$T@4JH+^VG$01V5\*\1Y=0%;K 8ILY!>NQ_?BL6Q?9B$I2O5M M50AUHW<*#+?&F8 Y)U0@$.>I--L<;5@]-AL>+&*M\CR3B#I5L?(:=6ILW<@= MJ4;PZ-%*;D,,=H-MKRR)6_'9G6/*B]]4.&QGA@!X8.)ML6UECBJAHQN]UQJC MQ\;$&5>/_<<0^(ZTS7![ATN;L[6R#AD9L3)B.Z^TO71]WT2=UV< \E0C\SL>!\L,TW?SR-MV$3ZMYLJ'FX96AVF?:/L/?5:E6SZIL MPK"%)C2-&00R4\J8B9P"CCD$L4Z0S)*<,.%43,)GT,F1P,?W45MW]BI*4A#3 MJ^A(8\QH\&K1LWK-2Z6*FZDHO]AOY<%6L%Y/)/UP:/;KB[L=/E,(Y# M2SMQG)&AH1UA[?ZH[;K0M!W9:3FR4QBAF%=P_VHV7IOK[2]NBP>N5IO?A6,P M)VR#4E?WB*-REI/RK\G*[:9^+/79;)^+5=T+_;/9<98?1;F" M[D96 T Y,&UM);8TM96Y[N%37D6UV*"2.QSS> (5E(-7%7>U Q(@G5*3&&N=T+2AD#2M(,Y )C M 7F289+X-;YP&'5J[+0C9+3<2%FY5Y6PU17JL$9[ %3JHN/3NF BW#@K.+P# M,U8C[U6TD3C:!7LK<_A*4EY0!>ZSX3+RR'TW/, X[,/A<_/;5#ZZ>5J7ADFM M;?ZJ6L2>3_W[&^K"F$, T20%',@&()CJV*3@0CUK\R%^% MJ?'H[B%@N2U. ]KB-*^.#3>-+?[7N"6.>KPKCL[]2;\!0[OZ A8ZV@'B2(VC M5Z_1']>\7*^86(<\J7BSF9Q&B$]_-?X:<4 73U/H@D<72-(CHJCI:7R]D$V% MQ/(W9=U6,T()5 3'(.'4; >T+6L"J0":*44TTCC&3G&AG:-,;=EJY*S]IV4C MJD?PRDDTNU>-8!@-3.Q'>HR7T1^UF(X'8=TP><3TA(!KI!B>8[ %"J4YAT)G MZ,S)F\<+E3DG_UYHS-F+@Q9]JLK)G:@4E/#,UH-+ >:< 1BK!!!.&(BACO.$ MI43!$#6?.D28&G,&*_D4I,Q3U]PY&O"#SL@8!OBVR%,E]!1K/#F@.4:)IRXQ MIE#AR0$FQP)/+D_J6=]I:5['=2'>6]?=ZJ59SU.&1)[%# AA[$?(8PT8T1QH M:IW,$$I(O,Z\CHXR-2K\_>\__AY]4@8[-O=%_?8/%X+L3(,\_&G,<5L M],\-+XWL:_5Y\6P6E.7JY7K]?KFH/#*_L<639K:#LWFC8QY+B(0"F.080))D MP&PIS=H$8\T3AF+*4N>]94\AIL8:VR*R12MX=*_F51^F\NGQ<5X8(3SV6'WG M)A&84I'FMAQ5!B!%$E":IB"/LQ11QABDB5LYJK%F9YQ"58TBT>-JJ8TJ9L5D M==R/^5++IWE5!44K+V]!WRER<":, /O ZT6+=ZU"A72K1+31(KI>1ZT>T:XB M(\R"AZ]BA-D8R971SHK:SLJRG94M;[&U_2KJ67G842A4 M&%>'8Z1?H^>SR? MR87:[[E4+GU6O\W"ZW*+VT*,^V499UG,-240 [/L5$7-4L"IXD! &>-,497* MS&?_X#KPU(R#NLB<%3PJ-T+Z[2W<,6=82Y%AP#&U;>45!8Q+# 1"DL:)S&7, M_>I1#H'Z.(O^F+B[;?.&P'+HG=_YTKKA=G^^^ 3=$#H//NH>T1>2U]M&[_M[ MMEYQ**OS_MYZ*S\O/MA>IRLES45UL.1A-LJ,Q38'1"+ ("*6QR"@@FI J,A) MAKF*&?9JVA)6OJDM,=M4+-:*Z-GH)?#\N?'A&\[*P+3I7F"LUL^6KFDUK)UL ME8['!["=K@)+..XO7&& ?B@J\Y P_1;$VY7BI5/JY?J..-[E2LB M;3/.W]3Z?BGK..%9K.(T-W0.1&J)/I$*D)S%@$(5TU1+!)%7X+K+H%-C[U;F MYM"U3JN15W6E#S\>=\+H-BE7/XUKH\-'I/B %I4.G M@4?E.!\H7A.7U[W#UF:WY:X_F;=RIA*>Q]KLHJ4U/&&>I\8$%1(H8W^BF"/$ MA=?QIZ\ 4V,I\R+FP]1BWT#N1DQ# CDP2?6JO6YU&+_X^FOTWJ3H^D:(219; M?PU1WR+K!\_IZ9BMW<'M"&93__[)6'B+=1M8/Z,IQHHI @C/$8!P7-C3L\M^./IX8$9.V&I(]8+.%[LYE3Y2G MTB=NU<_U.Z/O/V<:\!9Y\-[9\PRD=^K0E\&Q&?]Q6YU]6UZA2-F2LWC#3$#;* M+[",X\8'#@/P063A0,/T6T]:N_AV>2W^]52LU/88=^>\5>)8)SB'0%$M !1I M#$C",H"3.-=8"??;M-A!MCA\-U MI%RY1EZ[&6\DCG;""7Z8+SF,[^;^U;E$:IXMH\L M;U=,*AM]M;Y7*V-M6U]EN?WWS6G*I^7JP_*)K_73O+WJVW)>B)=91BC$24X! M@]!LRPG* )'&Y!4QS(5(<)K[>1I#"CWJMIF<:'O5571F(J^B6L?HC^;/04S8(68C< VB@ *. M7*HH/+2'%8T&&*-G(2(->W"<*:_V40YC3HTW6I&OFGX!=O^Z MTS/ BAW]807W[!KC K^C%S4LJ$/'.BT7=^"+K8!M[++= N?G4/1WG;KC$M9Q MZC#NN&Y3=R .G*8>M_8,%'!(&TF3!$L2*[._E1Q S" @7',@$R4XT5!BQ()+I.-$J\2K&Z#CNU/BG,I;,0 _1 MXW+5-K"2[;>UJBOW^S&2ZPSD&>&0&8,_QG$&("?2; )T!C#3-)&2(!S'?D'! M \S!.*'!'UX!?A7-VWD9!GNW%6$ / =>%39E??XT(D>MS'MI#ENYPRT-GD % M71YZ..>M!@:NMW2JI6E1YN?:O'X 7W44!%,CBFAV] MO>PJDLC\0'S,3"0R724FB:$R>:$LRJD!V$@$7 -K4)BBR&$&%55><8@SSYX: MY3?B):U\?@QS#K1N%KD1BH&9PAL%;S+HT/?,@B^U_(_OJY__W=Y5K?5_8_=7 M4/^U6N#GGC?*(NY0I%VH79?T/+1M;[LW7W2Y63^YFL3%%A0ISJC&AW,N9ZQAC:N302IG\T8@94+SR HK=3! ) MFX$Y8 M+*V&?3B,7\ FHW7D[3B.5YCS!*U*QS6X .FMI7KAUO%*9W;(?5,*\ M]1ET:AQ82Y8LK&B!61<^"/L91K%Q&Y@?FP[/]?;H<0?HNZ1!]&,7HN'9 M& $0Q4W+\!EXW/R, "A.$C5"[@UCGG*]F?V-_^=JW09;RCHY VH%L76Z(!($ M8($AX%(4(,\,RBB&R)*0#\>95EWJ]4NX"M7]3T(MN=8N9)5KY;*_DRO?UJ*6.HJ M^W.&26%4S@E(35;8!6P4H*@J*J658)"1(@OLSGY]T*DMZ\-H0%64S658-6(G MOSO!DTKRP)"*UPSX&1&Q<1V8'F) VN/(E#]&D8]">0P\\A$G?RA.CRX%W-N/ MFJPYE9OY ]_H1Z.J)1P-,2HB_^\>L?+_,)5/7N= MRA]:/2W<$_EZ:7FC_*S7;36.N;0,\G:^>'*9B>[(XZZJCE9&&EYDP)C<&AV% M1H!R8@%%!"%*38H0"\OPZ"G)]#(^6D7<^G#M3-TYP>316MRE4R:PG6G/Z?%C MEQ$@'YB&]K%N=7"US.OR17=)I4=EP32:#%J]Z$8\X[8V[2G+N/U-;P/LI,GI MC8_K2:'7ZAM=*F]T_UB=]?NK"R^7'Y9U1]:_KBU=S! NN,X8 @P*:UC10@*A MC02&%)RG!6(T5X'T&E_*"5)O5>Q\54N68UG'SI: M:F.72OOYC9W7];,"JR)!CDW6^HW)MO_-?G^AS&J\UF/1=/ M5?6X;ZO/O$K;SZ D4F *&!408 F)_?!)"#(JTXPPB;D(.K1RHSQ3HX>ZZI?< MUZ>MN5,7X@FS[&Z=+3\K;L0Y&)B':O@/5$D."NK<)58AYX5;E5PLL#YPM*^5 MJWM9ZQ7/-HL$<%0[[%:91K6Y(@%X;%_%>FP_*OZ'+EUOC&JW7A6::, MME%)8__YHQ+ &<6.%_.Y2_KD=S\\+E;/6G_5ZY]SJ2O_2AR[8)]6RY]V.*TJ M;ZO<_Y7;T/RTVCSKC6L^^'TY_R^MOJU>Z]V_/BRW79^,SCE6U*[S+%< <\T! MSPKF:E7EE- \QO0C>^$W)N1LP$3?G+%.'$SU#0H\X/ "L]A];&),@48\C/$" M.!\>\7@) <+CPTV'@><4B6_SS4+/*&$9I\;E76 -<)IIP" J !-(0H(58ECZ MQH:/'SXU Z02R@464O2;^$O;)L/S2-Q9]*X'A6_!9."/="@<01'A2WKWC@:? M/'"T2/ E5?:CP!>OZ>'=5"?F/RS-:OU0[R7Y-6OLO'="KUTE8K(GHT]7Q@"4 M FRL&&B-9 ^=H!;)0+D&0:V*_[PVI9.;TS(U6><<0 %2Z&H%0!1$XP@#F!BF=4P@('UJ_M'G%JG]Y6 MX+I8_N:'3DI>?WQD)7125NDVUN&WD[[4LN*%JCK3XY-8S*6]TFB7BWY7Y4': M^YJ@06C7L*M3Y1>RC#H! Q/N(?:MM [#6MZD$CAJO5L_;&)7N[TRZMBU;OU M.%/IUO/&GFVXJX**,X(EU4Q+@'-*W<'P''"."5;8.OL&B8_-@A7?F@;JUOC\![7!PK&;61=/WK<;M4'ZIRTI#[\ M;0\+_C5?_NO>O'JP7RS)F[(@,"-2$,,!-CBUCC;7@*.4 R4AQ"S31 DO1_O2 M %/[XCL1DWN3-$(&6/;GT/-P?6[$9. 5>01'GWHSYW )<'9NQ&SFMX1>)Z>16](AG8C_-$(=QG.*AW7/S@< M8EQGX*QZ)Y;_^:OZ%CC?.@S57D3YZFGS8[5V&PDSCID0IC 0H;M*F80<)8I MUYV6E+[XF@A;_ X)WO>[$4<[IK3/ G?"MS_C$\7YGZ+/Q*. S/! M?MC@KMZ8+9.=I#$+9E^%(W*1[,OCC5P8^ZKBI\6PK]_2MW=LW0_P,Y^K3WHS M2W."&4US +/"]0-7!>!89D"*/$^5@2:50OZR?HO=/F&77[W=4^.I,0*E#-"<(8!QB@&# MS!H0F6*"I))0EH99#&?'F9ZM\,GZO&OW(OZ/L)5_'D:_]7\S- .S@#N=<=@! M^?S9#)]]W>!5WPE.U+5_?J11&:!3V6,>Z+XXO-+C5_W=Q7O^JE??U_SQQUSR M1>/($J.TDA8Q(7-WOBSC@!5$@UP3E6>:(9QZ-63K'&5J9L"^A('Q@&XTNTDA M&D8#DT(8/$$5(:^J?W-AR,LCC%8?\JJ2^V4BKU\(&O$@Y, ;RG.@"<41]E_K9$::VS+=)<3LQ@RN]GH?R M^CJ_&:"!UW@/;((6>J?^-R_R\T\?;8%W*K>_N+LO[%\2PG7:F*76.6?:&O(< MNUIKRM5;Q$B[YL+<@,/ Z]5.^ M5X&'?4UO+NQ0/6ST@@[[*IPKY'#P^]Y5E[6]Z8>K$J9_ZL6J:E7]KLY8FW'" M"DZ@!BD5#& M"+#NLP!I+M.TD,A500USICO'FYY3W8I;%=-3.X&#"RMW@.SG M:D<#;N 5?8#8GJ1)(VK4^LG7$8E=.+ECQ+$K)E]7_DRI9(^;P@WRS^N5>I*; MTCZW.514-AXC--K^GTA!H5@.L#$&,&(RD,--\^C0#4P4?1"*K\LF^-WM%E%'!-8,&4,V4Y83"%2?1 BA2 MZ%Q*(J'$@54^ X:?GHW12)Q4(MM/YH;/%X$IP$'X^]D;0V$Z,*OLBYT<(;N3 M//E]F$K(/3"+6PTS1(!QRUSV@.:D?F6?9_3(B3Y_(GJO3J9XWEURID[F_=.F MW-C/VGSY_<-RLYXOR[G\!U\\Z5ISO70M!ZQ=O*>]G?)5O^D N NJ2'85=.?X!L2D$D_P3=EI.S\";XQ M8?G_(T]=YYF"L609[YS"R.@>G'T8>^Q^/MU'79:K]38Q[J.VTC3"E$VY%^U: M=W[[8^6JO90SPCDTFB*0$N/JLZ0YH*G!0$')TYQ1C:A7];F^ DS--+'+* MS MXX(A]W/EA@1RX.]^+?I^?F8E_=V6JNM"?*T&=W55+*M(/*>N+WI1';M@(49U M[OI"=.S@]7[.K5W 7DGIF+/\M-KH\N.*+UV$[/U\:5U,*T<][&&K*20+(BC+ M 7%-A#',(:"*2( 0UU@R@FCHP90;I)E>3*M5(=E)6Y7#Z-L'+'R"/*-TUP^LU<,5&ZPZ%%:Z5%'VK39[LS)29[#>Z [4'2Q@4L249!@0BA3 .D^!8)0#HCF7$G-)L%?S MAVL#3^UI6LGJ'^JVAZQ(TB8332QF M9MN$^2YI)(T$5T 0)1)L(P4^ M^L(7%IWPP*0SHM!U_WA1 \M#CQWG^M';J?X<=N972A30&BMT0)I [!APM*I M8/:?:88RG7$MO+83XHDT->*].2;HUPE^J GV-&E'G;:IQ_W]9FR\]H@G($^C M&^).K#]'\\,3&*/U.CQ]K8?RIWFU/C?=&J3\^W+7;^:T'O]!N?[#3M^S M0C("N7*-@"2WCC:B@.*" UJD.^BD_,$LYH0:PP$YUC5L[;/?X<4N%G:AU4AGL](K>WI=>/NDOVAUNL(;9 M9[VN6BFX"N5B,?]>48$[^"0M"WR;/]A+[LU7^]/2FDCN=W6/^W0FIY!C"S8U!MC3(UEM%2FKW@=.E291HZPTF;M, MC=UO*BV#?;\X\^OM)HX^:\-[E$ZENV2K5+(_ASNU[I)6L:36S)G(^[K=);5V M43W0J'#'=E;C"#>V7QL5TC,N<-SG]^/]]WR^KE(A7UOOF[LC(+_6_W[2 M2_E<53W(F6T%[M=#V M =R/8R/#.#!]]D(PF @#,(G*<3[CCDI? 4 <,U/(K;T+43K#]?-Z]7.NM'K] M_/?2]<#*MMFB^_7H;UUKGPHZ5A$!Z8G1RXE6_Z>0_]D_&&K]?/UHYS8;+Z<,DL MI5@JAB@H4L6 _3L'--,(H!SA/$\S7?"@OAH=8TW-:K*B)K+>?I-[P@8R5!>X M*N,H)Y( *)7[/+@VC+G]4"C$F"DRHRB485GED>!]V6I+#>H1@?;C_DC@#4SV M[K5L=H7WY6P/)L8C=@\XHC)YUWBC4K>'XL=<[7/+C2YNW?SMU5)]G'/A-IPM M\3<6KKI??G%MGET;4GO!IY7;#*G_^9J7\WK'8Y9SF>OB;IS/0S1YSD@9FP$CS MT]\]CX7E,$[\S=*]C*L?"]2+ 8%H _0D\J?U;<'FX<4G^JMHGK'W]CGXT_%:+S8=EN5G7)94K4PK#(H-08" +UW:0 M*P*$I5Y (;.<06AFG?00_CTSQM2(=S\!\N-J^1W801\2)WBRD[SL9^.>@]B/ M+&X$;F"6B(19,Ð!*5+::"R*0865$CE)"4A::WM7Z'-;/Z)YQ]B]O, MG#=-_!95$S]7OU,VK9&= H$=#[OQ]N.8:!@.S#"MG+ORA'=))>L@+0^]4(G* M+MTCCLHM7LH?,XO?37T-F&VKVS>K9?5$=_JARLDR@G$FH 1%GKLB['D!1*XP MH'F:0HU32IA78P:/L:9GN.PZ +>R-J>'>B3 =8'L:ZY$@6YP4Z4G:CV,E*MX M1#90+H\WLG%R5?%3P^3Z+3WZJ6[X1A^W;:QI(^5:&6E 5F !<($T$!CF0!F, M5(I2F6/O)HL71YD:81PV# WLL'@9RVYVB(;0P+P0 DY8+]5KRM_>2_7B"./U M4KVFY$$OU:L7][,3_JGGWW^XTY#6GN??]: I4C4GHV%.B)/,8Z8\;: M;,Q :[-)#JBQR$/#4RYDEF8J"_,$!\-^',^P%1_P6OX#I[!,0"+&G!X_:V\P MR ?F^5;NI!$\J26O#H/5CM?/-FA9XJE6B$D0*I9"C K!&!844"%-M*E0J3&JR#HE7&F]A%IQ+JI1C2,..@/]XHH] M4'V!B&(CY7"!Q",8!@TAMF.]:/#P2.%K8/E>_ZB?HOU0V41?^._=/F9S]4G MO9GA5.BTD +DV/Z!62:!2+%=L3GD!<[R0L$B9,6>#C&U95M+F&R4,YW*&*F0U6!3XZC]K#[99O5)*^U=\MW)&R47LH;9S]R)!=[ U'8Q&_(N M^6LG;K&R(0\ &2,=LAYP"OF0!ZI[)D0>WM-SU]H8[2ILZ:V?]H5O7$]BJ\U\ M,:\^&:[LRU-54^!_KD3Y2F[NC26RXK.V[]UR,\LXUJY)&S!&05<\BP)*[#\Q M1044B*20!9WKOUVDJ1&2.^RQJP+HMFE=H>CYNE(E<"/V]OGRXZQQ9V%@9MLJ MD^SB/XG3)SE4Z*[ZA=.IVNYQ6KEJ@E4Q:!FESV1\>.-N&]\NUK@[S-%@/-F, MCO?D6WLD?='N!+#]C^8T^-:_>/KQ\(7ZWH1OS*JNEY[C]D7ORH=B"T!^;4F$#?T+;( M&[*!VA-='_^%VA!Y W.YW9#_(_INTVWL&S6W#ZJK5ED[Z=TON7AR*9E_7:W4 M'_/%8J;2-&<%Y"#EQG*;9 Q0I#D@1BG&*1-I$52;U6?0J9':3N:$.Z%#=_(\ M8/;=VXL+WN"[?5O<:GFKW;[DMZW,22OTY7S('EN _AA%WA3T&'CD;4)_*$XW M#@/N[1E!6ST\KO4/O2RW=IX=Y=Y8NV[&A&SCKP]8RI4><,4-JW6,-VY4[;KB)T$UCUMZQM0> M'A>K9ZV_:G?LQ,K?[/90R'.HJ $YHPQ@D6) C19 HI3J J-,A)4FOC#.U(R7 MK7@'CL%KO=0FN/SY)6@]8UJW S9TH*J1,-F!%C_!^ H,<0-*%\8:-TK4K?!) MZ.?*Y7V-C3IR_\_YYL>;IW)C^6;=UNA]GMGE3U4F(#",$8!5J@$7A@ %A9 R M(UF!>9BYT3':U R.;8;-NL[7"+4RNH#UM3,BP36XI=%LR_UA!4U:2>^2K:PQ M;0D/2");$UTCCFQ/>"A_:E'XW!2U'=?[^=(2U%$[+B@D3FD**,0&8"P8X)(I MP#''BF%<*&8BM.,Z,_34>.5L.R[3RAV['=>YN?!CGV$0'IB*KK3CV@H_9CNN M#L3&:,=U;O@IM./J@,6S'5?7$_H1VOWFAUZ?\<&:E?JOK M_VZ+&J:25^VC0 :Y!%B2 G"6*Z )$[E@D&%)PXY_WRY4R (=YZ1XI9,[$7XI MIG-7'2)?&7=2)+#H9(1)]&/(<2=F8.:L9\0S:#1(2A5U0[,_=&*&I M&#JYPY)C,<08?>.2Z\?5FF^T:S;QU34$:WJ&58%U001+.42@0%D!L'!A M!8,0($*(5!&=Z32H:4SG:%/CXJVPB7+M3\JMN*$!RBZ$?0.4D7 ;/$#90E9U MC-E).L ^AAVT'X[+^5B MY1J^EKM5*@K*42%2P*G. <:: *YR!')%3:89)X6 @3U"N\:;7AATUTXY:=KA M5GWL>O:U/HNQ'Q-&PVU@JML#;$]22V9#T)@7*,,TDCX[XLLTA^Y2_F+#Y\Z; M^E')0=[_&^N'?M?E#+%"T)QBH$2. 89, >L!9I9&#$ZASC"204&\/*W7U0EO:!>X.])-H( :ZP!R[$!.LT80X5U MWA0+,Q[.#S0]JZ&5,WFL!0U;\1?@]%OSMT,T\*K?8M-(>)O66'A7QW(E@=URXRM[^JM<_YW*[O\%0FNHLLZP!'6L0 M2@&7.;,D A7*$,*(:#_CX=I0TS,?6OD"2L1U0=G-#C'A&9P:RDUR;]J*FG=) M*VF?HGI=B 44V(N$W$C%]FY ,*P*GPI^^<5MQZV;9E3[D5O%=(Z4=;D(Y];YRB%@"EO^Y)(3KJA *JBV2Z@ M4S/%=G')N^90?QO058FS,UHMJFYM?>.[OI,3&/(= /+1HL ^: ^ZU=47Q6'" MQKY"O$PD.1"BB\'ET.?T#CL]/3Q5YX(O);XVWW-HBI1P*8'6I !890102 C0 M]J>YI,84.*COBO?(4V/!/<&3<_GD'X/KG/I/0BXA30W3H""I 1A!#)B!"D") M,LAHH2'.@\.!\:=A'!/_FSO'-A32WI'"^.@-'3R\?_/A0CF, 3+%@A&*'5KT M''WL:&,8*&<"D($/Z-W-Y^"(PX?EAZ4US.V4NR.610%Q:G(#"H4R@*5) 4/( M *)%;ET11-),SY;ZNQ/3CXTZQ_-:0ZQ>0_NC#K>46N$NG_WN@:H?\]R.U&A= M?RKYDM]:2?^2S)?)GK!1.P!=QR1V,Z".$:0(PLVPC7$FPE#)(>)'E>68& MJ-0\U6#>E<+!@U1F[IVY'AWA@=G*KRKST'GI0:B]1)'FE\X^#P*H9['F2($Z MZ^$]K)9?-_9)U?'$\OYI4V[LFV6'G!%#H'9G PN.++7!W%*;0 *@/$T%9I+E M>6"*>==PTXL$U=(FI1/W+BDK@9/53N+D-^MRU#\.KZ-Z&7;&.1$6=P SPASL MVGY1F+5D&37V5PAFL)C5I\F_;OAZ,R[TQP,/!_]K_7V^7-9;$0MG?K5S$!%K MGDJ4%3(%)F<6ZR*SK[C]:@,HL&2F4%3JK,'ZW=(SVA 7Z7;8X7!^5[_,PX'L MZS'$@6UPCZ$BA:\U*=22WB5[LD8M_GL5D=C5?R\/.';YWZNJGZG_>_V>?I_) M;VN^+(TUG^UGN$X>L,^\-TT1+;[XL'2?ZNK\D93P\[WT=ONC-?*W5+*4B4X)B M.[=, 9PJ!9A2*4""I"F#2&0L*&9\>:BID6LK:>WA).M:ROY>30?(OG09 [J! MR6^+VI$)V$@:D_VNH1&9RRX.-S(S75/[E&>NWM&/-3ZO5^I);O[)71FGS?,K M*==/?#%#B-$4IQ(0R5U<1%BG$:4"D(Q H5."["L4[J"?'VRBKGGM*R9\DXBM ME[XRO6K<70 Y$\9 )!70#%. )<) N%-*>9%!KE(,E2"AGGDLB(?WR?< UDL5 M&5H_,KX=K(&)^*OS[5Q)/A<(?_=K8X%R1?MJL9-6[J01/!XO=P,3E9,O##4J M'W>K>\S%5Z[N&Z5VR?NN1]C.E-3EU]5"S80P2A<0 TK=CK_!$ B#K%N=$9+# M3"&J5-B._Z6AIF:]50=&+#'T;+%Q$5'?:%T,G :/U=4056)6-+$]5.,DC1FI MNX9&Y#C=Q>%&CM)=4_LT1G?UCKX53JI54&[+D%O[H9 \A=9((XX.T@QP(P20 M!158YYQF) VK;G(XP-3HH)$OL-[["6Q^J_\6, 9>\ZUH@Y19OZ1WY*(E1X., M7+#DO(JGQ4HN7-=O_;8-0"TK'/<);7_U>;68R^>9R;%(,^0R^R!Q6W8&"$8R M8)3UP43.,LJ#3HQXCSRU%=]*%[;B_8'VHX)!X!N8(UK!*I/@3$OA]O=W22UZ M\GOSWT$R:X(1C,HV_J./2D/!H!SS4_@#>F?0/#[9Y?YU939_\+4^&JPY]U.P MO-#(8,M7VD4S\@)0EFF0YMK8'VEM1!!I>8TZ-<+Z;!_THZJLWXH=WGWX.M1Y MD0J=I00(6F0 ZPP"!BD""B-EE"2FR'EPUE)OET&C[>HN1$1S< M<:SEW4)W=_*9&*3\>0!*T=L^7Q]Y] ;0WF"<:P7M?W,8\2L]G[UM:H)\;L/! M;_E&SV !IPFE2CP#$P@P*""X_ M=91%?U6I=H%?OS#F3M^;!2_+N9EKU59Z-"3E&2X$4 @R@/,< 6&D=4.%M-8= M4=J8H&0!SW&GMO ;L9+'U;JJ!;>"Q,]])N&7_ZB9H M!R:-2UM7 ]3A# 1GA$VMT[$GL,MU$1"_;:_+M]]6S?>+EGK^TYWU<=U=ZT=O M([B8202MI0$$- 9@Z#RA%&J@#$\+30B2//#4AL^PTW-_OCX]//#UL^,FWA:V M76\UJ'JD]BO^VXF^'S?%1G1@8MH6!OZRA]^5L[%;TAHD$!\"X"!5A3L'?I$: MPSY07*HX['5ON)OT;KF9;Y[?5/5)%Q^62O_Z7_IY1C)5:,IRD.N\ )@* [@F M&9 T-YF6W!I17EOV%T>8FK54"YDT4B:5F(F5T]]-.@_D=3?I9G@&)I9@9(+< MI$[M>[M)YY\ZFIO4J=2^F]1]8:QBXGHI?]C/[+^:8Q&IDAP9)H%$Q"53%Q0P MF1J00TJH21%E/*BVY;4!I[;4SY3(WDK<\]C*5#OG#A\?,07*\^?N&^?G3S<;[4]Z8V*M]SUV5M\_S1I7FNFU=?$&(R MH11(!6( ,T%<*5T-4JP%5U(AE 4UL[TVX-3HQLGK')S&[FY%ODMJH7LRSE78 M_1@G)I@#,\[-. :3CB\X44GGZJ"CDHXO!,>DXWU?SP) ?3MYWS^Z"_=/'7]9 M+1;O5VOWRUEA"BRP4< @[+:EE7$MEQB0&4J-$0AC&E8G:! QIT9PU9&>I!'Y M+OGTY#;NW$JMC_D$9CL.-+5^=/CR$S8PB5;2 U$E>.RKF.SIF(CG9/^Z1L^D M4O1N-]%[RB:_.W631M^8%8T&G9"XA8^&$77<^DB#PGU21FG8T<(^+>5ZXTSE M1.B'Q!=A&:?L$=F]E_'1'9EB%&(R$_- MED@\K^YG8[[51J^M ?N-_VI24M>K5"&F>[BI$4,K;;+AO^KJM67RVV+.A;/T[0S\)=#JNP*VG_46#\*!R6*+ MGI5TE]#NA!UD(\X/EZC&T)4A1S5J_-0_-DX\[^K'+>^,T7*S+=AOQ_AB^>N+ M=AK9%53905\W]D>OENJCG=_%]CI=SJC*4X*E\U(- SBE!:#<&*"5-5(T)APQ M'<(\MP@S-5[Z\/#H*D5;Y[-T$CMZ"BV3=]/<^!'56(@/O3/8JI'4\E5TYC1) M#E6Y2RIEJJRS2IV]ZUU5EL]Z+:-F3L7 -RH=WB30J&09 [IC*HWRS-N,N/./ M?_?+>9WZM5YJ,]_,(%*9P3D&1F+BFOX5@$N: \-R*3C,7 .F/B:=S^!3(])* MYGXVG!?6819=; 3'LN\N\U[2")_\UHA_N8Y7;WLO!+5!K#\O 5[$%@R!YI)E M&/2,WBGOCWJ]>?YL7Z^-'>K=OY_FCRX,MJNGCPN5%8+E((.Y #CCKC0>M5," M"X9SK8C*25@JZ?5!0Y;:.(FDK_LT6.^,Q W_V$ M\7K0>VERT(7>[X[>336ME5@9CNYE<9:C>U_:/<9"I6FJ4F!PX6J66B9E)I- M8YX;G6:(P3S$_^P<;6J,VKA&6VF35MR>"7+=4/O9<-$ ')A9;\"N3Z?-ZYC$ M[K39,>+8G3:O*W^FTZ;'3?T(Y>_+M9:K[\OY?U4[%8W76;9-/ D0)9%](:=*S !O!"H5RFW+48 M;YOY?O.GGQBR>2VRP\:_WT8IY.=.DKH%YD[4N3W0QU;B9-VT>]NLDD>G5/*L M^3J,NZ+,JA_%C39)XS#AOCI5F*U5Z"YI54JV*B5N@2>54FT-"'?+5J]XI!D3 MY:C<&D6P42DX)I3'3!WUV3V\[7ETO*\]8SS7VU.; ^?;]YZ1CXW4 M9QKNS2NE*I;GB_ILPZNGS8_5VGTN9B17!::T $)GUHA&Q "FI03">NX,&9@S M&'3,;4!9IT;MNQ,C?"MSV\J5;Z7NW_-HR&GWL[(G,ID#?VXB'"[9O0H[C9MS M1,E.YPF<+_&?F&D<,O&0]\]QTL0?^&C'30*&'"X=]-/*MQT$V2@?5' MM!WLQZNE>JM_ZL6JVOB;&<:S(A/:-2^E -,< 8XE H5FILARR?*P8XQQQ9O: MU^?+_\,?'O_?MU441U8'5@=(& V8/;\ORLO-R= ^BW=2Z8%Z;3Z5Z_%7:U@E M,>SI^$)YIN&3,'KF:8"(D\M%#8>W3W9JCU%Z5M-8E>6;U=+%F+0=7I6AIL;03M+D0-3D=R=L M4DD;6CCC,L)^S!L'MX%9M"]DX34RKJ(1MSK&Y>'&K8MQ5>V3BAC7[XB<(_I) M;V:((&E4P0"%S-5"U@9P)21(.=;"\"+7N8J4'6J'"UD +Y 7JH?("W4HLQ1K M"#4$$"L)L"P,8&F: J:D@8C;"9!DMEEM^&),Z^?>;'WH]2[%,B&@.:(@V(_1G*"\&L&1=BIYV,,#7C[)L;(UFU8B:ZD3.,&T^!]..[F^ 9 MF,.VLK6L%#';ZZ+>4:GE=)11Z>*BDL<4;9]>E^GCC MIMR=UZ-(PTP("A03*< $YH!+Y;9##)."6>^,BC ?.%2$Z?G%57Y%H\%_2VH= M>FRJATQ#P$[Y0-".L?U]A&G=T/YTO[M,?A_D.&5?^.)O4H<(,?[.U7( LV^8028AMXU]$6$: $ MD(M4*4E2"VY8N:NSXTR-!IR8R4[.&U()+@'KQP<1X!J8#GHAU:-:52<.D0M3 MG1]KY!I4G0J?EIOJOCR\Y=^W-7#E[*E_4/N^L[KV;MMW M^+31VO6=56*_3=_Y"WIN _/UTCZK_*S75;!@6^.:IYCR5&"0<9X#C#@$'.7V MGXRJ'#+*F<)!.[P7!IK:LFSE=-N!=:C,IPAV&+:>^[,1$!MZZ[476.$;J5>0 MB+M'>FFP<;<_KZA\LK-Y[?K(V7Q5^?%96M"4&&& 43FS-CLJ .>J "1E'"E% M,OO:1,KGJP:<7KCO4K[9=R=NI(RS&FL_THB'W\#4<27K[*^=^,7+.SN 99S, MLWK(:>2>':COG7UV>-<-&PCNY-M:_]#+=3N6ERX>Y-5?-B7?UBLUG/Q=/&%0G]MOK,JXAY5I LQ8P# M*JQ)@[40@&H-@8"6O8A"BM.TQY[$6/)/C_<:-1/9Z)EL=JHE?*M;V2/S=MPW M(V O98JS/_^=\\^.-%6H43(,V MV+Q&G9I;WPA=UUAKQ4[^L'(GK>#)MA-YV/?*;Q;\OC/1L1WX^Q $Z_4:3\%\ M'H175![V&WE4_@P"XYCWPFZ^B:^^:%=J=+[\_EFOSK+:2 MW[F?-[+WHC#OB0DBLR'@'H?67/6&%O(]X9/[/<@_7X>\+ZN% C<$OWG+\!), M%PK0!-N,1V-,>[.TGD%3S:4+EPVJ MC/$_[-NOE8M!_WK4TI557[D?W3]MR@U?NMWPNBK:+,,,"<$8T!@I8/_?G:G# M!3V7>H9P9DR!.,AE M7@"<4PJ8I-K^C5 "F:(RSV:/5>^ KQN^WHSS:?24/H0OCW48Z_NXVN\%GJ_L@,C_W WXKSN^-WR:L:]OV^;^X,_";Y M,@[L 5V2!H5_I+Y)0TQ#6%NEWBAV-EH*?^IXK9=Z:WS0C*G_4_IYYZ\6U41J M=?Z;V-2/FMD/2)I*) &$KHH;A@AP@7)0D,Q(ICA$. _;B_(;>'I;5+7/4UNY M)Y &$0137@/8<>U?X.@^/8? Z\ MNQ\QO5F5FWOSE2]T^7FUF,OG754S0U-:Y+0 &14*8&,D8!FA )E"(/L',:G7 MZ>GK0TW/JBVK=/(FIR.,.9.#@-;H'6$/UUM5)E70I.KW]:;RSYO18Z M&:0(W'5LHI)*QW"C$LEUM8_)P^..&_89Q'6G7EQPZAO7W66N'SGUV]2IUCA[ MXHMO>OV0SA"!A#%C@"J4IN=*'>B)Z[LW%U2'@2@]4[['A'FD5^=@&CS=%^(/U'D>0^),Y'G70KL'AR) MPR-R%/IEYC)^1'ID/<:/3K_,1)V-5+^0*&&?X7*]F;U[IF_Q+^S64F;#? M1JHS S#+,\ S2(#)!33V1XAHKQ-9QP^>V@>KELWO@W,"4O=7X!;5!Z;F6JR( MJ:F7=.VB+GO/'FW9?QU3ULE#1^&12ZJTB_OB[WOL$^UE\U>.>!6>:A9_NQ!S MJ"!#!K@8GC52K;O,648!5DH6"J7V]UX+T7.\J:W/_3,MEA.PB^_?[4OT5,YXU!HCC4")J,9P#C/ <,$ M@DSD'!8<&Y1GOI4>NP::&NO6LC;U,MS^8B-M4HOK7PFR$]UNNHV)V=#F5$^X M@@I'^F#1NXYDY\-'*ROIH^)^E4FOZ^,4G;3$,Y>N3LS/;^3I[:TZ'_>I_OBZ$+YPHMR(_"0 M.JCF35%'!UG@(:0]S/P8N!\2 S.L ^&HLJ7]Y^*I.JMUJ3REZX[E]HA6BX6[ M[,/23IV<.TD=4=^S6JM$Y?]^4<5NK;_3.K.68E[A^_:\%7$M%TO MP.*FZW8/.6Z:KI?Z)^FY?G?UV&Q\O>;_-5^\^3%?/N,WAH=;#/ZW]6#?*WKK,O/_-D1>L/E[WXUMKNE_/635EL?6Y>S3&)+ MMTJ!PACKV M2/3<'\0P)O;"I9-XNY\P'L]Z:7) JWYW]#PW*']H];30]Z9FYM=5F&O+TF_M M?\I-M;?>=,?Y5C6WV9Z=A8I1@F0&>+M1IG$/K\4!\.0@6J3']BP&P@*[#4BM[LIVD MXY_MW1"Q+$D,8.-6+KE)HG&+F\0 [Z3^292'!@:,W'[P^GGV]Z\SG+FB2?9; MR(EU5#"1"C".5?5/P2%4&?+J-K=[Y-0T@#L;N#H_6'='L/^H^L)\*,LJN+O7,W>F="I9JCF@ULX$V*0*4(@TT$(8 M:7*#5&J"0@,!@T]M6=:")N5JH9*Y.]YCK%745(COUUDG9"8\O?N!\!W:E>>U M&U\)WK:>J7Y08UY+[U#?DS^BR]X#M;C^>8@ XSKC/: Y\;S[/*-OS<6'A]6R M&NHS7]^OJV^H^@=?/.GVG-&,$YYE[H@/YT("S*0U)2#1P!!.&2M21',4EDOJ M,6K(8AOMJ*(5NBY =I<\\G7RTPD&%SS1X^E5QH1W:>ZHQ;6C,"FQ?WMJ. M4TDE\^[88LS"C=X01:[@>'W@-Q6M/1_]:>">ZN!':;PKH]IFM2H].< M(" +6K7S20'%.@?"Y 1"8122:6!>^[EQ)L@^39V 6MS_$9C*?A9+/T*Y&9^! M*:26;YLD,\A1YDX,XN:BGQUIW!3T+F5/,L\[+[[9)GG#'^<;OJBMGR^ZU.N? MVFTWO'_:/*VU,X?%3U"P[1(?]E$MF4;\UAUK%:BFH58A:748 MQ*X)@V\H*\=3BI>R><) ZK" A_4CQ6W&Z_'E=PM"C!CE $B,P%P9BC@5%" M2)XQB#&A8;7Q+PTT-8X+3SN^"J4?3<4 :& VVD_H:&K@#UH+_QHD41GFXF"C M$LDUE8_YXNKUO<\!/ST\+9SW=;_YH=>NH-):_]#+1 @\/#\\GO M3H^D4L0S5;;W1'FZ9P/"/[3G%A_Y/L>->\$7^P!RF!!C'TGN!=&90\K]GM,_ M@>S5\G@[_3V?KZLHU=MY*1>KTMIG,U:@/"LHM--BR1#G" -.4@S2G'&6L8QS MR(*\1]^1IT:%?ULM]7/RP-?_TAOK+2Y5H%WE#[FG/S@$D$/[@6VRSVE*D!.\ MB6KO1(^;^!.$5O0D'[_11T_H"0+E7/).V /ZEA-^I91]$XG_[Y#)EZMZO=5AIOWYYVW)^L0 JEFN3, MR-E2?W=&U[> K*-@2;Q6!*M7Q(D\ \;!SW4+L^Y&_Q2D\#GRLW4&@OQ/V[5+ MERY[J08A8N)2;Y3CIB^%BS%N$E-OF$Y2F?H_J1^)-GU2WUN=VC97_]QKK'T< M\C\!0+O MQXK#P3DP(S:")VYM;1L,)J[%>](*/VQ$OA]R45DN4(11&:X?/,?LUO,I_9CM MJ)M?FQG:E'^O&?7^:6/MT:6K/3)C*BNX+B"0A&0 (U$ 7,%"L$MPV4TRV10 M4D3@^%/CMK;506_3+Q1_B 52(A6 2E( 3*D&3&H)*&0(,J(5(2JD)O60^(]0 MN/JDRZ]L\FGK% FP[?@QV@3Y?8(&A'W@;]!)R]N38P)[Y*HL3.E[D)U0%2:OK)\P)9-SS)US##@A3GF>TT$1[A2B"1IT:/>[7+FHD M3RK1>V3DA,'?39.#@3ITQ-8+S\'!#2@2. 3((]4+O/'E#2L:&(I39_U [X>- M5THP5+^#JH+!-_>SD;ORFS[IS;VQ7Y%9GC+*,T$ X=+R>L8R(%!& (=Y!@TS M6*1Y2'S 9]"I!06JQGG)JDK^DP?)?P>-F^ZJ-J!V]6SXKS #V6LF8*XRCB ! M6D@#<$$4H$8C@+'!.4N%I# H@S[Z3(SP@;V_-@<#X.[G@<1&<^ OZ]5,UKOD M4_TR?^MXF8,]BA"4HKH.7@./ZB.$0''L# 3=V^_CL,T=^YOF+G'LH2X()9_6 M;G^TJ9Z<*5WH7#!@H-N71)FPWP6N Q +5?6")RCM> X_*.R%0'/-.T+TW'B#*T^O'=BT_6T,'5V]-A MZZG>JIHTNL9/B!UR*N+FS XBZ;AIM4."?9)Y.^A@/>.BUIASS80W;K Z\;?M M%I1F4*>Y!AGG!& ,N;5$)0$PP[B NL"*YT$AN$LC38W3G:!@*VF3!A\8:[N( MJF> +0960T?5SL$T@#M[%8NXL;.+HXT;,+NF]$F4[.H-45-<3U*8+&?-Y;:. M'4EAGE-< $B=+6F(=!4M-"AD1C7CL) \L"9@+SFFY]2^U69<>GYL%N;UIVW[/8/ M4[V2F_G/^>;YJ.&9T5QED$N0(6( SAD%0B(&C+8_-I!JRYC]^M;U%6EJUMA^ MID9]=K01/VGE[]NBKO>D>;K4HT[%B/[SUB_>.2[M8=&[[:2,U)_N5F@':E'7 M6ZP7ZE)W*XR7&]7=_.0>>9RO[6O)%U5^J)KSQO%"%&M#BAQH#2' HJ@2W3.@ M5$JD]6XE1]H[9_/<"%,CSJV,=TDE94"RX%D NUDO"BP#D]@Q(GTZ+)^%)B!G M\E:(1LJ/]'YYPC(AN[3OS'H\>^-X&8Y=>&-RRKUY;SW'I9SSQ8>E M-6"K]Z"L3[3."FLUTHQA8*2AUI#D%' D*= D8QE-&:8\J&*:UZA3H[R]P)WC-9I1-[/WLP.J(#LZ4'F.-4L@T";IB$ELZ17R:CQ0>,BRDM7C?W M+9G$-Y5/<&]K%U M##8UC\&%IR4N7FZK":7UL0]>Y5K^?DR5.S31KA$B==\N&M?S770[RZ MN>$F% ;F %\ @FJTGE6V=UG6PZ>-5HGUK!+[Q5?/7]#OF__9SN%DB*DM[5K"I!71 M&I=6R$"__PR0?JO[-G@&7MV!R(2W8KBH?-R>"Z?#C-MN#SY0RS@D'7XT49 MER.H- 4BE04@A"F3X0PJB8)V+,+&GQHUU.*#2OYDIT#2-M.M=$@J)1*G1?)[ MK4<@>X3.DN?>QG#8#[W+$1WV\/V-?N#%W>D(E&'8ISU.0(]<6&:("<)T;4%!44*U@GA&O5G^=HTR-VHX;HC1_29RP MR?VR;_.8 V"OAQZBP#4P&_5&JG_OF'-(Q&D=<_#DE^D<^E(YT/RY^N2.'R>Y/S-M?E3!2&N'/^ *7$FD$RQ8 I MF0-(,RP,(P4I@FI2^P\=1!,C5)YR-7BDV]U[H_R79"M\\NHZS.%['<&(Q=WT\!]^W-V/ M8%A.MD'"G]"[2LE:\U*_U?5_/RSOV^V7ILWZ+K^#(RXS0D'&B35O,BD @T(# M)%+$@T]O:_;-#YB#[.&&(Q:[.(KO\&.72@F$Y4SAE- G MW-RG_:U^7&LYK^+<]N\+71W,7ZI7#ZOU9OY?U<\MT5HY-L^?[3NXL;]SO4K+C$I.I10%P")+ 59%#KA0"A #A6"4IE3KMN6?'^O%$LUKL1[V !QZIWFO MP[C:4ZTB1+ZG4^]6[K?-I1]=CCH_X[=^W]?I+MEJ5($WAHP ^5+/XVX1[J2;R42#M:"X?Y_D]3H(U1Q7+]RX_H4IXMG;Q[MAB M.4LUD@2Y]BAQ?!]E4O4@O=J(/ "SIW%!'&D,VBW@!EV M+,T7G,XC:E=\4-22ZM>UWX8I=%9D\0\@@!:3KIXT5,H"2 M# &2I8P;@C7.=&!^=[ 0TXLJ[-S;750T-,L[?"YN"H]&PO=EPZ0[W'=:#),= MWAO$,2*G76),(8+J 9-G)-7G2?VX\*]Z:1^]I@OY^ZA=H@VCWU;<#[- ME6$,()6F .,< H&-<6=<"#-$:D3R,/KS&G=ZC->(78<(#@0/HST_V/V8+CJ4 M Y/;/H:'$B>-R .4[@L"*2IY^8T\*E\%@7%,46$W]\U8^?I#+Q:N3@M?/L\H M*BS%N,1[ZL[J4IX"QB4%EGJ01KF!1/&P5)7]QT\T1Z42,6ED#,U+.8"OFT9N M!V5@O@C"HT?VR3FU;TP[.7CDR/DFY]0Y330Y>]5M)V7LTQ[F5='/+]IEK;G6 M%/;/AZ>'5P^KI^6F_OU&JYGUF#+*%+-L66!K3E !J.(V!$KG5(#"])'P2_(R+0:$=.@36HKH3WK6[:<1/&OF36H%DJT'\HSS! MX URTL=?BAM:IA8 M3VU7K5%+F:8R$\!@^P>&*0>,4 F@)#G&1B*4!ITR"I9@:KRW)[@KJ-'J4[D& M7^??EW,SE]S5=]RJE+0ZA=%C^%SYT>.@,S P/6[1WI^%RBD[17N@1CZ]X8M* MD.%2C$J0O4$Z)LC^#^JQW^G"6.[_W>;I3[YP%HT=[&]\_2^]<>4UO[KV954D MJZ[U5/^Y'?KHG[-"B$Q(=]A::7=:02C )'=MSUF:LP+:7WG5/QA MJF1JM/L MK@X?[RE8YT/L=$QV2@;L T:>58\MUY>;JX'I-WB:NDKDW,*4;'[P3?*#_]3)6G,U7SS;BRWMN%8/[GTRKI;B3U=YKTQ^>]B]9[LG M_.4_(NUE#S.WG3O?D8<<;Y]\&*P.=M4'&N*&QH'B>@,J<=R :ELX\E59/CW4 M=;M=Z%G6N4D/Z8SG!&F3*2!8@:RI@"&@I, $JV,+M(49UG89M5PPDYOAZL5 M+UG,3>"FUH!SZN>-36.>!K8;(O0/W*NGNZ?P7;*=>Z=SY#:"@TY+_%Z"PX@[ M?D/!06$_VU5PV!'[?6T^[HXWO7E:KUUV/9&YSG-$ 6&$N/J_' @H(2@44DQF MUMV4,.2PZ^D007[A"(=:O[DQ$ED+MW_B*XSESV#IQ\ZW(30PJ^X)9YVR6KQX M#'A9]:C,=6:841GGLIK'3-%Q9;\5_N[A<;%ZUKIJY]*DSQ"A&)69 7FF4H 9 M8X"JH@#&KGV2ZDPR%53B^\P84XO]O/OZ^7/8%EW7=HCAKQ]7-UF^+QY\6E5A49TW9JXW/_5FU6Y M^;3:/.O-%RU7WY?S_[+FQ.JUWOWKDW5GO_VA%S_UWU;+S8^9X8;DT/J.2I(" MX)0CP'$J0:98YE(@86&\*.-EQ)\:&U6O0>."R'U7I2D+[L[U"!>G:O5QH2T$ M4QH0NAS_'?$(6D]ZYDDWZ! L+CDWZ11HJ@3_N%"@N)O]A\=D;-QY=JO,#Z MBR%^$'M_.2GZ!DR6^MX<%F;]&__EDJA>K];KU1]U"0S[F\WSC!4:Y8H7(,VM MJ82UM6$YXAG0%!MLH,2YQ&$!]Y#AIQ="_Z)_KA8_W1Z?K$L)FT:%N^2A5B*1 MC?"AH9> 6?$-R@R#].#AFF6UGWI4J]D52:T!W@J?O+D&=8]H3CAFD>,\ 0*, M' $*A^8T-M3C&?UH[F]/R[F( 0PZ!T$H!@8I4 M%$5F( IJA'YND*EY:EL9]_( PKCI+)1^''0K0 -SS0Z;2KX!0DE= $0ECK,# MC4H07:H>$T'GM3T7_&JIG^N4A_=/2]6^IX114G J "&8V"6O)>"PT"#+,I)# M(Q1409U=S@\SN47OI$SJ'*#$.#D#E_QY,#T7_WHVJ])Z5E4*GEY6V"!]H)]R'F-/C^1F MY(;V/:R A^@DOUA4]\1!Z+ZZ'R]8IUTOG_1[*YM[ MMBNM\<_YYL>;IW*S>M#K#TNY>%*N D=9:OL_]8W_FJ589M8U@$!E;K>(8.LD MD(("@[7&)N5,LJ!SK#UDF!JC-"J$\44?[/W(9&!$!V::1OK$+9BDE3_YPRJ0 MM!K<)5L=DE:)Q&H1CXIN@# J3_618U02NP&H8X:[Y5$WY&._OIZZ]_HX=>^^ MSM;[1QVX7JIMVM[*_>C^:5-NK#7A9/W^?5V5D/Q@%9HOR[FL,OYF2.1I#B4" M#*>NZT1A250C!(@B7 F=09(%65XOILG4J'@K9C)OY:P/?MPE9943LZH53IHM ML^HX29L!O%E5/^Z1 /XB+Y'?U^!/\6H,_$V)D#Y^W^:+_V/WXKS;>W'W^T,0":N!O0"^,@BIK70.A=WVMBP\>K\8$9]B5R%C\L:R:OL)CL2S.IY->>+\__Q8FO M?B_1U))>S\SC"R>\[DOT?U.RZQFD1TYT/2=!G_I4B]63^F"EU=N5[,9NDQBP M4AF45 '.9 XPE?9OPA0@Y0P*^W.6YKE_O:G.L:9FJ%32)H?B5@P25"BJ&UX/ MTR$>:$-[4Q?QNIXP$@Q<2&FE: ".]+V[!T'17&NI^Q(B5@[QT.:P$ MY'=+SYTD^\#JN772AT$I9%A*P# 2 "-7ZUFG&J089DP43*1%4#;MX>.GQIU; MZ:ZFA/A@Y[FKT1N1H;<:O,$(#_:?U3EN!/YPB''#XF?5.XE5G[^JAS'4YH'= MF[^N^7+C0E3;DBQU=LVNN%^J@.08BQP1DS!#&->;&*&_+*&#@ MR2WUO=RY2O@J?+I76RG$7 J9 _;:2!8A^:+JX@V1-*SRF4(R %VUD!@CV1T MQ04]S SK@5RG31;RO/$,M!Y:'EAK?>[O\PWHN_/YZF^FWYZFGS8[5V MCOIGO6Y+\MN_SE=JIC1T130H$)F@ LJ[:U!>5R4[SQ.J;;/N??)[@^Q#R@9W4>S'6=WDZ[T?@1WVTV>JV!887 M8T038C1,#RV/\8;MV\GYC[WV%>O5TOY5UCVBS]:PGB%68$4%!$I+##"A"- B MEX!J3(HT@XR8P%(5H2*$4,U8Y2JD/NJQ;?5//?_^ MHSHC8\?CWW7"=SHD3V5]7D:7F_F#"[KN>O-409[]0UHC'<0*>$,\-R>G->NC M!'4&Z,U1=P7;Z9[\WFH?BPB($<2Z@3L.^>8/) M.KTOW=^7>R<7RBMG'7JV*(@^XW[?L$G,XHA?KNT7:;?J3S+,[R[GE-==M@=H MM# 4_,.T:X@N[L9Z+- M(6S=_-H;C*&YL!\.WL1V5N\N$K(W[!&0_=H8!,JA*>#=FZ25^BY)$8#L M+FE$OTM:C!OI^QSS", X)%-B$*Q'RGAHI'7A,"X6\]+J4;6^YI4]62;J2=?- MK:UED#PM%_-_Z<7S[M2TGO^T-U07K1+95,KZ;V6[$%8F>:QQ*&/UMPY'NSMC MP?]Q(V8>!.MXF$$0?GO/F/B3*/6_G^Q;^NZG_:-9.CI#&4^% 50H5[T &B"( MR8&6(G.5QA#'7F9;YRA3^P+LA$PJ*0-#QV>!] SVW@K/T*Q^A,P !9T[(8@; M]3P[TKAQRBYE3R*+G1?W/6NVDO_ZL5K8.TK7UG[S[$K%;[AWC]AIL<#^Q)^]^26MZJA8'/YD$?N#U)(AJ(@[N! M-^#7XT2;#RR13[AU#CGRB3#:A)Q/'? %\X@?*E%YY,J0H_*(G_K'/.)Y5S\> M^>MJI?Z8+Q8SSG)4*,&!@BY"Y=)I*#4$I#PM%*',OD/E>/+[GID"QFBYL8OZPU*N M'O0W_NL+WU25A):NJUP5SGJ_6NOY]^7!%6_G]D97MW'.%[,TY8IRIH$FG-M% MFV) $5& :)ZE*BNP@3SD,Q]#J*D9 XV\R>I1KWF/=+4H$^5'&6/#/S#=;-5) M:FFK1%\G;W*HTEW2SM'Q=?N*W;F38+(K9!2^>1\1[[C[]#$$&W=+/B*4)[OO M,9_=CZU=\EB=;+98K/[@%A*7/]9$C,O7?.%^-#-<*VLM(>O&[[>^)&RU]@AR_Y8@N$8H!$NX9ODM?X^7R[=&:.5J:HX MAK&PWP2P3!FN,@6XM*8KICD!@G()$-6<8:Y<;G@S >^6ZD7A;\GQ<3'?KVZR MU]@VC/ N8NY':S&0')B\MB*.4X;@&B)1R>CB8*-2SC65CXGEZO7]Z*-M1%.[ M\-9Y?UM2:6(\:&VD 9=2 G%!(&/:F*-2AR< MQPSB>UL_(GFE_O.IW#1V3AL?U)_TI@X+NM;/GC\WKUOW\]]+M MJFYMI55ZZFATS[DG]U@[J'2/50L[5MZI^ MM9_@IE6W5]K7O!U\; U.&W^=[&)S62&+,KT30U?M'EQ"?=JG."UKD0W_M_E; MBI3#A&<(*\HA3?1X."02,LD3R%.)0REY+!(Q8\M_58YO$6QG:[LVU"IS "[7:PY3D)J;!W"*@\M,@+JL2^8"G#H\D@W0N?V" N9O;/NH5=7S"+H0 M7/^<95O])O9XO.%.4I0*$G H%$(P3F@ :8@%#)-8,(QC0;'1EJ!5K?:.L$H) M\\KN(M5O>SB\Z@6B#6"U^978^=5V5_[L'V1>L%$,TZ.W5>V:;+5!P%#%&IQ1 ML3XC8EVWF-S_XY$5&]! 4-[F8Q.Y@.3YDDUE3>%SKYK,9?3/3:MN%17T46/^ M/"UT4WR=**(;%SYM%RWB+ N5[)FXJ9_2+>*!S+ MKM_U%[?NTMVHVYU5N_$G)I)&'J>\YA^B?NNOIT;1(Z&(\E1%D"$2P)PE%*1, M!E 1E:@T"A&15O.D/>5X1Q>EF4!6=EH21 ^_CYY?<7N1,/3VS_L^CA:( S$FI% M \QS2B"!@@S+&.*82160($VEW2:@D0+]XX:6O4 ;#&I[IT438XB;LL9R.#JG MC^D03J 1,UP6YI.10E5E::XK="QFWWN\WYPEKCST'JSN7WVOIMU[;W)7M+[ZW]2O.I$YVNE MMD+N*_%@(F3*90A3QM-\-!0(R'@I[GR_"-YZJK02EF>;Z MWCT8#C/6,L@XIJT.* L.?L8!F"T!WO/ZU?3 A]UKBX./W#DAZM 965*^GW/] M5HE?%ZS1Y.]$/(T4ST. H^F= MW$6;N,4&=H.0QA&8CFFC!T=06UYV\D995?,PM@B4'&&]4@PUBOE" =4$E 9C M+9OWK1>&3?#R780VY?D)))\/6P^OC[J$\IB82B.?JI#%2 F8%+/9*%:01%Q M$5"AIZ]8F!AEP0Z6XAM]-W:"RE +5NG%TH"FET#(_4S4*3A3SFGH158_:_X\71FR7=!E.V3+JP!6S8/P[SX=5,SK&'I9&O8OV$:L57GI= M9#".]8$NB$M(8B("Q4,BPNCN11\+:,9F(^5945A=JKN/JS*WK>)IGH(_"7$S MJEH01\?\- ]":THR!&91'AHK4Q5'.(-4%:I,(1=2-1T96SH/"V4>;2_K[3^VQ*!)U!GQ_Z.JNR(F=D+:'C^<2\5.3KX_&_#B>A+W+=-O+(0_,L^WN_E^YO7_0][S)/;N7W^43VVI]Z+^?=X4$PRM[O)7[ MI_!.I(C&@Y*4\;<"CH\KEDQ./)Y\6^?5G"HF5?]&7+WM&;VC'M3+TQV*>^M]7?]N;) M\M]#_?)U%6']:)K6UU;3TI?SNQJ8-J ""I1(@1HJT,(*:+ 6[*^]J_]ENW=_ MW%LW&O#'[[[@P3\+UQ1&*9.5]<];MK^7+Y_%PU:^%<_<( M VCA %I @-NFZ8P= N5!TUE#2F6%)K2FI(J736DE:9695>E&8F6J47^ U,I, MO)>17)EK1%^DU6[,W_)?GSY45_)_="3XZ"TR,#(Q,3(S,5]P&ULY+UIEY-)DB;ZO7]% MWIJOURI]7^IT]QP2DAQ.DTE>H+IF[A<=7\Q!4PJ)EA0DU*\?<\6^*-#RNEZG MIDX6!$$@-S=[W-S,W)9__>]?SF8_?,;E:KJ8_]N?^)_9GW[ >5KDZ?S#O_WI MK^]?@OO3?__W?_F7?_U_ /[G3V]?__!BD<[/<+[^X?D2PQKS#W],UQ]_^%O& MU=]_*,O%V0]_6RS_/OT< /Y]\X^>+SY]74X_?%S_()@0]_]V^9>$.5L9,B!W M 52Q"J)($:P47LO@E7'Y__WP%V82Q^P/5 M3__I\L>_//CY/^3FI[GW_L?-WU[_Z&KZV _2Q_(?_^>OK]^ECW@68#I?K<,\ MU056T[^L-M]\O4AAO>'Y-^GZ8>M/U#_!U8]!_19P 9+_^J7 M >+\, M\]6T,OX2U$R%$J67X!*WH'*.X+DR9%EE9G2*2NGA,'%_]9U@H?J'Q5%<'1D9 M/\_7T_77E],9_G9^%G$Y06MU0LT!D>QJQ1V"0QD4^_)%6V8?P[XC\^7YS/U\NOSQ<9)Y:\Z.18 .F-:&U:96)?=,RO0A97&I$ M9[33I60RCZP")>DZ# XSY.1,\=9D#&P@T&PA82>XN-[A,@1_NP#*LYQ)!*O+ MWUY/Y\@G0>NHC2/#23@RJ8N1$!5YW((E[H-'GJP=""2/++\30'SO #F6KSV! MXSE]^6;Y?O''?)(",LNE!.ELM:0KOG6PQ)1,]G1V&E$,"XV;Q7>+:K'O!!D' M,K4G7&RNR3?+WY>+S]-YPDDV02=#@$[)9^(+@=R+F,![RY2VJ0@_L-ZX1\%N M".DX\#D8>WN"R>^+U3K,_O_IIXTI%;E%CMD0[4J",G17!I[)LHI9"8,R1>3# M@N3.^KM!I..HZ$"L'1D@5?L]6V+8T"V(;.U4 :X$@A*!@P_,0;",-%_R,?KC M/9G;*^X&@HY#H0>S;V2QUP?4V>\?%_.K" UY3LH7G\"H2#YYTN23Y\R <1XC MSXB.'R_Z^ZON)OZ.0YY'L7%D"+S#=+XD^'(1WT_7,YP8[IW*(H)U-I++5+,$ M&"/:75:!1^NB2$=#X/ZJNT&@XUCG46P<&0+OEZ&FJKS[>A87LPD9+SF7DH!) MSD$Y%R @5V"RU5*Q8)0_/M1]9\G=A-]Q>/-P!G9R^'_^DCZ&^0?\PR1)^>BRUKKX^^ QU;>#0<=ARZ/9F<7;L+?<#;[CSDYPN\P MK.A.RZ]6JW.ZU$R0QHAF&\B7O+;T; M,KJ/4A[#T"X0\?Q\6?EU\>)?KT02POEJXD6T@4L#+!5RB2Q91-&6 D4G9,$; MR94?"!B/4[!;[E7WL*/]WK[X:0CJ.< [&V"R7R[B.YX=?P-H5E[B6PX'REW@%90Q[08/W/^Y"' MBFW<7GQ1%2P^#(65NTOO!H_N@Z#','1D1#P[PWFN MQ4\;DT@(7G.,)1@BGVY"QH"NQ A6*.6C3AU+#+T,BXM?QNV.@XJ#D, M8\=.N[R(S-_@^ZJ*6CHM%"L<2 /6LB9+NY&R0"Q<)Q7(US;'&Q';5M\-&QT' M.0=A:R>*8W53"8?YIZ]O*R4X3_@>OZQ_HA_^^Z1XZ2,J54O@)/E;4H$OM#-; M2B"UZ)F-Q]>0[4S.;N#I. K:AO&#H>E??WS V-?TC8,:%6U">:_F9;$\VWS0 M76)WZUGTX#..;U_T-%E'=C*J.YC<7^$:-,@\\U87$*ED\CYYJ8\B"5B**?EH MN([V6QQY X M+8R&$]8=)^- /H[M7%Z0_?JRZ=E$,B:R(SO'I,1!>?*.(ND?X#%IJ>FB2^GX M]_![BX[3PZ@I# [B9Q]0>#E=GKW*$Z^L=49R<*+0/82T]^AD!*$12T*&T1[? MKN;.DN.T+FH*@P-XV>6=_GPQ7RUFT[RQ6L*LMDQ\]Q%QO3KDZAE!.QL;D%*1-Y992%0:1 M[$:E8LY)F2B?*GTH814WDKY<='.:?L39>G7UG0UW@?'+]I+_;1_J#M475VL\ M6ZV(N==[]:&PDK6&[+@G;2<=>,[(2[8NTLXU&/8%!F>=A]?'9/-???OZO\^GG,*O>]+/U\[!-X:@V1-90$NK@J7\T_$]V+Y5?: MQ,0P9T*4]4'3!&(+&9N!#@%)76;BE'3:/_4@>#A^;E,Q3O?9=G@YF,-=X./W M)7X*T_SSET\X7R%=X&_6'W%YATL3:3 *FP447SMPAQ#(,XD2K!"64&^LE4\] M_QP.FQV(&Z>#;3LT#2V/+D!VE_R :4CIM0R(%#&,U*?6H(/V7JGE,FB95Q@ M'^ ,GA?=\-HZF,>'6SV+=9@-I(46GW"Y_OK[+-3N_[EZ$)]JU*3JU$+8=BD0 MTI5+H*R/$&/V0(<@1BMSXN6IC.ECU,]VJGJPIP<)"0S&^BXTS1O:2ZAURZ\Q MK/!MG6CTIOR5%&EEV"31[5MI*L M'@SH0: T'/,[<,1>7"Y;1!P',32/NZE&RO^M\4\75II'J6NZ:(@:PJZXLC! MZVB!13+6,,; 5)MXSJ/D]& 1#W,/'9YR@2JC;JXV+]<88]-'O[VHN='7A&KZ;4#89YYN*MH^+&3%]50WU M]=<;UA2+EB=..I!7>+, WD@#0=ADBV)>\Z=*@0Z'R:X4CNLQ-7^';R*H+O30 MK9W=#UAX+DWQQ@"J.F GUTD'219@B0?+!#$S/U5$, CHNGJK;X."[5 [1B!= M@.OJM>7W\+4^M5S%KTPIMJ!P$$NN27*$@.!M ":9R,JDF%0;8#U.3S>@.DK> M6QZZCF!]+Q!:GM.Z#[@TD1E+SER L9;T.=*%[TF-0V91BL(<.8Y/]=PX"D6/ MDS3N)=@.2 ,(H LL/5_,-_SXVW3]\?GY:KTXP^75OJYZ(TX$"LE"**2Q63&53CAA0; >E(EG?@$#YY%&Z%.[C4:)3SH*,2M"V=(-BH M@,1O63+(LFWC#^Y(8#6Q#T7 59:8CQ:H?S8(&7UMU M64[WO4F>\R?[^P_USG8HZDYQ.[9#W;#BZ>*BW 1T;S'O=E37HI.E;H/N?E#: M%XA6:Y I1N&3R-:U2;S=3E,W%V=#C TCD"[ =6L;DU2(RB C:*/)M$#R7+PF M2\.P(#A#[J)ODYITBXAQ7^M.'<#:B^5=F%]G9]/UIGM#K7:@&YXT+KE3>; MNJS(2H$.B5"@Z88&I8H!QSS]T=-]7;1FGK$".C+6!S7U*QGY6;H*9H]C=!6">Y;QY M6P^SW\,TOYH_#Y^F9(/=VMA$9VE8%+77*OVB?.'@>;3@O5>NQ!+1-JKQ_B9M MXX8)&H%J8)'T ;.4SL_.9[7#Q\8GK2WBE_@1YZOI9[S((7V]6-7TT3?E??@R MX=(6K6K P]3L'Y49N%)B;:WF#=.1^]PF=7=/0L>-(;0"8$-A=8'&M[@.TSGF MG\-R3C[(ZM:&7V"9INEZ(I1!4R&20MT3*@/1)D\;2PF3S)H]V?[_< !^F[9Q M P^-,#>P2+J V4-634S1+!A&Y)?ZB,6#@\"+A"0#'1;ADTUM*GL?TC)NQ*$1 MC(YD>0>!JV\YRQ-I D\Y61"J-C7FAD.PY#,SQ7D)4@@=VIACWZ)L)T -/I)B MK(#H\<(9#&PG:1KW^T8*'W$]I7]Q=PM'=I"[^\D-V\D]L853]I8K&H5E$8$[ M%4!%BZ3I> +GM#2&_AA9&]OV%+WE[D91B.-OEIME\\8__AV7FSDOY"=+-$@Z MGA2[(P?&"W"!9]+1M1=#-#SS-A6>N]$W=H!K8!0]'>H:1$A=&%QW]W4Q4>C9 M^?KC8CG]!^8)DO)EVI.J#XZ#2KPJ?23FB:14THS+T.;=YVFZQHZ,G11L1PFE M6Y"]6JW.:2_1&^^E4>"L)U/3UR)JJ6KTSX@8O?6AM'F6WD[3V!&R$6B"..%D-2:]U^3_%@8QD%^#$GW2D>=LVOB.WR!L[!C8"! [5"Q=X.Q6 M('GKU:^8MC)Z!CK7]_AB,NGGR$$SD0(R)HT]L71H 10:= M;0WWN3K0(SL//@4.3O%8.,^DG-L$RK80-&X2SNDQ=8 8^L33[=L^!.199@XY M)?*):WL#'V4&[SF:J#TOI4TKD*.G 3>+O)X>68<*9$!XM8JY7C-SM2A;WEV/ M#;[NLL2P4=B]-S50./;BXZ]7OP:C90X%N8"@A>&@3(Q WB)66"J190RA67_= M1PDZ_J'Q\@/?UP+QB;4J>+JFP:K:_+C8##'' DF:( *6:'BK1\;;=(P;1!U" M]@]?%P_F\XCU8*OENG:/S.=I3=X$+C]/$S[[,EU-?)$V:J(Z8&W4)K0$)TEU MYLCHOUB4VFUX!RUP"R/TI_OXV$9!)V'V Z2Y&)"U?4!C\Z!YL8/5B\59F,XG MAJDHZWNYXYS7[FT%G' "+--81L;*9 MN?;NZXK.S.IR,[_B6<3E1$BF72")HJV*U-8-Q*# H_%6L^P?M*O?,BKSL4\? M7?S'2FPQ)/LZ*"M^C^GC?#%;?/AZR97+;20RNR-'!\R8FOH@:SJJ=J"#U2;% M:*UI\_BQA:!QGM6&!\Z0?.\ /M>W+OD2^*J>AHFNF3?92"!M4">O.C+)L!0H M.:/RI&MCLFWMU6M:.GF+/=PB&8C-'0#E+7[&^3G>-)44(DHF,T((*=2&5PE\ M()[D9#F7+H3 T6UK2C] MEVO"NDPL.;ITP8M(6U1>0E : 353PA56Q[FW1-(^Q(X+MN/0\3C4FHFJ S0^ M7ZS6;\KE1J^9IH+&K!(G11Y)D8OZN$+D@Y&!\'.HV:M_TVU;CN\4L3Y(0V<9"YRQ9#\J$!$$X#AQ3CBH4[6R;5F/;:1I7 M)PT@\D=!=#3W.] _ORP7J^I>ENEZ4LA(E-E8L $%'2M/+J66#+B4*@32I+R1 MUKE%1"?I9\/HFD.9VT%5R76SJ#1T MM3O?IDGF5I(ZR2<;!C/#,+Z+.^H=SF;5.IOG7\/R[WAK4Q/G"/8\D*=::@X< M4Q9"=(X.A^+.&VM<:&-0;Z=IW#MJ(+'?=^J'D4 7:'I+ B$2ZBSJ%W25SQ:; M8697VS$.JPK5D&,@+NDDP!EN 552/GG-6M5_/TG6N)9S&TP-)X9[6YTMBU?./8?D!5Q/+ T_(ZC 2I:"6K$",6H/5W#@> M@N&Z3?3Z,6K&M9V:::CCN-Z!7_;J[%.8+B^2Y%Z11.8?IG%V,7!Q]9*.QAIG M=##R1'@O!3FLP&JC5R42(W?3%-JE+!P]^B3;./L[$CAN[GT;?+6030>0>\"L M2;+198D6&-WJH# (B#)H*"([PXI&:]ODA3T@9=ST^C8P.H[?/<4(;K(R)\5Q M4R0)59AJ_S$MB#4^@HQ!)<>,E;9Q=.!^4NKH=3\#QP4.9'8'>/EM,5_JK++K84)TK[!A7NO:=YE+0)B)YI^K&$KS*D)G.SVE3EZ;B8K[Z"5DT]3Y\P=7/7XA_)+[I/"R_;@R).N&C MYM8L-B\%Y,XB";LV/=.)I6B 14OFA20N>RLC&.\5.N-$D&TF+#;<5"?UM,/8 M<+T(OYMS0%N\/,<_X1SKD[M$;F+P"+KZ2"KH6D,<$$S6@64423;JF[:%H$ZJ M;H?$WW%,[^):OLC/V/C3VFA6, JP.9$_;3,#CUI#0MJ!5YK9U 8P-S3LA!'_ MG6#D0-9VH%*NN@I?-5#Y*:RFZ=KZ2(:YI*TF M)6?<&,6 M\%2GOQOH/7F?N;>#&=G:\Q3[B(B$$6B+[FNXOL(#KC@9,S8U.* MI%S;^(Y;"!HW(G$Z$!W"_WYAM(FUO)BNTFRQ.E_>>N J3 BA58+(4R&7F!/+ M3'10.$;+BA/AN^FN[Z7&JJ64NK@._X;3#Q]I1\_H0\,'_.V\5J:^ M*0^Z]5RH:EF3I*L#:LE0!#I8#GP1 7SPTH7,I,,V.FXO,ONZ/@>%S.)4TNM M0V[9W"4_'_:3LB6&:+@$H4N=/H$*G#0:2G0)G7,^E38VW)Z$]G4QCP#/0238 M 4!O>=7)9^9,\!4B=9 262"^ID8ZD[ (([AM-(]]SX %_UZJ P_D;0>HV&7P M%AV^Z2+3]Y=U@OP+O/C]^LS5P!WC$B%%XIZJG?N=JB-/&"?3V'@FL,T(J^-I MWPV%WTO=V(EEV85%N&W/?YW3QF:UT>S_6,RJNOXE3.>5$6_F[S"=+R]FZRRG M*_JK%YN,WPO.7 ^;DSF3AT^6ATPZDM,G,GC$0N8'TG'FTMC2QGALM:.1"Y5. MC,T=C\9)8=*QNG^Y6)+U,W]^3C3-T]?WRS!?$<\K..9Y\Z?9!53R_SZ_R-FY M%MIBN?F+]7HYC>?KVE#F_>)B M(D"8LZA0#%VBHQ5R JRR 8PT6B2U+[TYZA M)MLV,OR QR=&C+HD=2XV M@*V9,RHR DPMRV"X;?&L[>:\+B=O(&[C8<@@^-6 9G;M2'N9K)J5."R M4SI%#%K]\W<;'QX7W^@]O@_7._!OKJF_X$C5MHMY/;F;GLK,EAA9*""BU: 2 M_1)U='6&@S/>2"E,F\Z.3Y+5":(.D/D#+RF_/QXMT^N>< 7G< EFS;DQ;C#$% 5@5K4[#LMTV4L!9"=J[3''V.CY;F<2 MQPU!-0!:$]ET +JWN";>8+[*VKCM7%;DA/A([DA2&FJU'42CR$30GCG; M)AGP<7K&[5TT/)P&X'H'V'E?H[;GRZ^W+W'.4N$J(1@M: NB-ALTF('Y))A! M.AB-7/Y'B!FW*\CPJ#F6WQU YI'0+.E%ZYF($-1F_*,P$+E'TI]>%4\'PKC& M'O[K+D=\#.+6'\;F#H!R_VWHU?QA\.SM8C9[N5C^$99Y@ED7)6H?[CK[F@Z7 M!"^X JXY$PR9I+]L@J(]">W$_S\0%P\K0YL)J0,,/CE<%J/BRED&B<4Z7%9X MB%E8D-Z[G#(+)K0:W'#DM-^63==X.>[B(EOC+:;%A_GF4_XSS,YQ8H+D M 0."*(5,3TP*?#:>6,.EE3)PAVT:A[3>V;C!BU-BO2N,='#C;SC]:K4ZQWP[ M=?3BAKDJ,[W+B$D.+D@4"5 6LM,S^>L^9@-).I]43I&[-L?@ &+'C:.<7(LW ME&2_8-T',;?\(_-7ZTF$HW$; .46#:#2L@595:#M3I:4F0GK0B>GQ2$=\D;M[%=!Q@\ M0EJ]0/ M?CI?IH]5J3^;D\F\GBX?V>,D6Z\D$5';S-S%].7AM/",Z6 M3;/4')D/1:'=%L*'K[>[ M7NAFY'MA/$59^X]MWAVT@HC!0RK9&E8,TZS-$(^GJ#IZK 2NZV>2P?AY2OS[ MZ>M?R1%Y-;^>%_4LK:>?+]I?W#37LDZ(:&L*80)5(H=0AYCQG(0.PJ?2B _[ MT]I)9LRQ:'HP@Z*MT+IHF7#+A2$ECM(+#7DS"3%+#U&0"Y-=3+P^I&C=A>O8 M;@!38WEO]Q[W87T'QON=M^?Z<#Q/TUFMK+_Q2]XO]F6E$X4EI@)D9BP9%^C! M25L@N)Q4(G\F-8I'0A2;=\M[GFO M&\O0*T6_M>D\>L3;;#,-.SY2[CLDQPNM"_"]0%H[32^H5YS[F"2"45[6(+:" M4#NH\\QCHI-=BFUC.=ZF8EP-V!W0#A90%_"JCR,7LIN1=1WF"5]?*"$Q(D;@R3M0 1T$GQ!RKHD[ M(ECNV^01/$G6N F W2%U.!'V \N'H=AK[EUF]%ZS3CICD_!T9Z0:BG6&3B"Z M!#K8B%KD[$J;*M_=:1PW#; [P#82;A?VP<.]/4NIW@\KXCQ./V^J(HD[S&D7 MP!K+R:C6":*JT^58EB)%;GUH8Y;N0EUOY5?#8..;$#Q23,>JSD;@J[/.Y_2/ MZ.A.'&IF41+]G+BD;'T2UPH!;>31::9$:E/L]R19O=5DG0ANAPJF4YS]OL1/ M89JO3.2K^=?SBT8CEZ9(C)6#M;%HJ!5HA79,/(L@HU1:,1=*H^%R5PO\]?-UH>X&224;'3ANMR'\3M;LN)I!T.)WBP0=]ZDOYDK3> M"IY.?",?(J!^;<'E.5$R#7$ZVQC4$Y<$>JXYE%P-:54',J8@0' M2C&.!3PA M[.Y1UUO]TNF0=XR8.@7?E49_BV1ZG.,DT>G).F=0/-<9U\S6H: 6D@RQ<$?. MG6LV;_YITGHK4CH1[(X14*>8V]@,ORWF:3./8WW[1'&AN-%TF*Q@NJ;0*7"& M6&E]K%U;2-/S-GF'^U#96ZG2B9 XD-BZ .7N*0"3[).)P>G:M]61A>$V2>.^ M)I^PF(5$Q]I VD!=V)LB"'$EH7VI*T?;"CR <(H.ME;)E3:-G7:GLEYF0)P/CT0+KYW&:>)C(,UN])";_&M:7F]G$32\V36?M>9C- M5F_*L\]A.JN;?KE8O@MW]JY]\9EI#]S73.=D#;C$)41NI(V1ER3;N-^#D-^E M'=H,S"<7>!>VP.Y9BGQQF9>9W2*A5(IFIA92D0K:C#7)4-P?(27!M#=7]:QU6KI_:< MAA):%]KR]B6QJ>Y]\ZG*;?7S%URF*>UW$B4K,F8&R8A"%X"+M85D(9-',Q2) MSGNCL=3?)*U+/VDP=#QQFQ\OJ%&Q5TNEKTUMLCAN6+9/%K( M@7/:#IWZ>5NO1PAH;1\#SOT[.ISY (H93"81(BZ34;X-TGKTB,YA0X[7E =%-+>WM#K MZ1S)E7I.5$S7$Q.\%ZIV60FI3D]G#'R4";)SPG')N8MMAM!M):E+3^(42#M< M,!T@[.VUM_ZFW-V(M;Z$.F*/3@EM1!8+U0(@;ZM()VS62;6:$[:%I''S;DZ, ML&$$T\\ENCO[)BZA*U8CY/I6KX)3X$T=5IM=X#D9.E]M;M/=:1PW%^?$4&PD MN@[")C^3TY[(K__Y2]J4+;XES+^9U\W6_]>7H<]AAIOZ!^+C--&)J'^QZ1!Z M^QNW?G*B=2(K0IO:&)36T">)NQ%\R>:(&A<%(%K":@J,@%.$:_),8,QQA)7S0: MJG72?8YKHS0[,1V#I8-KY#C-(4O*-I,32LZ"KUFMI#0LKRW/$ZL=#C-O].39 M_FIH9@'U"?2]1-G--+'CMBQXR=JD2-Q-OAJ6"%$Y!\A9T00\DWR;9Z3VZ&V6 MP=PI>O<192^=>\\_?9IM6!EF5ZQ\-2^+Y=F%,*^82CO@P9"GS(BUY)=862OS M+-#AU#+)E*5HU&5K-P+'G;;0#(\MQ--!T.S5G#Z+CE$=ID?.\20D6Z?=94C" MUIP$X2,W&>UA; ?%&4.7&GC?P7IQ+%8%INR D*+W"5EM--2M*B_'2^ MJB]BJS#/[Z8?YM,R3;66XZ(S0IW8M9A-4WVEN;.CW:8J'+;0\9,6!MC@0-,7 M'BYS#=AHH_1U)I^T5D-M4PJ!*0T!4XHZ1HN\3:[>=IJ.O5"O6'V+_W1@'Z[W MGKC[TZSFD- 5D&*R"0K/=):L260Q8$V&NU MK<#^>93?R97@V,IP+*68:]IBJ3V:8[U;6>;UJPP:34'.M;2BC3YHJ!3#:EK+ M=NXN\/7BUYN#Y5VT-D<&V=8VZ"4;",8$",(X)9%L"][&=]V-OF[5WSZ(>:#^ MAA=-!V[M7U?XIOQ,YC(Y^[B:1.:R4\E#E-%5ISS5KM&6%'BJ;2:=8J*-G7&7 MCI%[U+N@JJ*.XC7Q9E69$%4F:E#HPS$!7M*BL6=!!T MQ9DV#U+?)&WD7O)MX#2L0#I V//%:OVFU"K5U?V=1(_2YCJ&L"#QB9/%&IF5 M0$V0$Q"UG(8DX/)PLDVG1F>)&ODONQM(#6<('I U:-3B=Y< M^<*OYHD8/?V,M<7)Y0F:2"E]-H:!-)J!RI%L0:P])KR25FFL;2;:8&U_8L?- M+6J%P,9"ZP"7M=)JNK[N_;#8,!'GU\[Y;3TN8O!11R!'Q9 >=Q:I7TV'H9ILLZ[HJ\Y MG6].SZ6&SH4;K6D_.GH.2DD!07 +DI1UJLW?$V--D+43>>.^L#?"V/""&1%M M%\^Y#],V23D_UAOLT6#??<6-2JG@R3,J)N;:]=. P\"!1YN]C\8J>Z]^;MN[ M^Z!T[1:.9=\)&L<67 <:\F8HT.K],N2;:1@/A@9=3PM\N5B^6)S'=3F?70\R MN#BOK#A$0P9NDCF!BJ& ]_;:\4@_.\ 1Y=A M\MHOHCI=E2]_FZX_/C]?K1=GN+R_.U8L%:S.Q$X6[H^]X>/YK(IP/<_;)8Y#^FL]DFUKD.\P_3:C!L!J==_=6EB<"S M)#/8%A \,%"<_+>H7808E98\*&Y2F[22G4G<#7G?VQM)&PEU +WKLH_[1\@6 MKH7.#*3V6"L>$WAO-"2!L13G2\;2MOCF()7VO3U]#,+_#G#T&_YQBT/+Q9R^ M3'@KZG1_?]G1.:&]0,Q,@O)8P OTX",RSA@3SK1Q$O:E=#?\HDOZY2F_\!\F\//SA;+]?0?&\E>-(F9,$GG+9,?%30GH]85 M#9X\>G#D1@6GHN6Z53N)'4GL-ZMX#]P\;!S10D#_/,44?UUA.9^]GG[&U:)< M>6CAEG-V:J6Y,T$C*=+#&-9>N:+SVM;\9AEJL 8U.A95"('K1BE@.U+8 MK6K=!S4/\KY:B*<#9VCK;G[Z^IX^XMF7Z6IBN*\ML1QH8A(HR1)$+0Q@],FZ M5"L/&@W#^S9Q(S=+:8**74.)!XJH9]35#;U8G(7I?&*CC$9:#5ESK%Z.B;G! [ JX Z73 >!JLNXY?=SU5G[%LXC+26'*2*XS M6;^Y-O@S"D*Q%G2=WH?%^Z3:O-!M(:A38!TJ^(=IJT=+H2,PO5N4]1_$V'MA M]LM-&;* BV4*-/+:Y5V1LR5] "YUX9*G)'B;_N<[D3=N4>2I@#:E!E,U(Y[ M+U)T.]50[2;^VTN/;GU$GP]G>.F3>9$U&N0B0PA)P)TK.V+ M0@G@);HHO+<\-INJ^0W:1IY(/6KP^# !]0RYJ\?*@A/%VH'#^>7(/GN6\Z:M4JUROVZ%?/)^? M+-W@*1I&RC#8F2WMDPJ\K74>=($K9'2!E\(@:IV EU1DG5EE39M*B>&3"C9E MK3?WRW,ZDF$Z?X_+L]7F2KFX5] P3PY+ J%HFZK$^AZ.$4Q&U$$XYJ+]%@YW M6JG;C(!]1'ZG9'A0WO;@O&_<5\F<$(F-H> CO,Z"$V1.STN/ ] M1G'V$MF6*,X^_!O;C;\3?S#:9R., !UU!I6% J<\8'-"*W MTS'>;3*,?+\!F .8/3)DWIW'U31/PW)Z_>H=/*G58A58Y/6YS+%:!4\^6'"T MB\R-T\.IF(?K]P610R2Z&(R]8X/C:HS;+[CXL R?/DY)!V\.#=GA/F?AH189 M@S(\0DC.@M0VE*2DQ=U"N;MA9!L9X[P4M+V'AN'YV,#!#_>W<'F04,MH@C$0 M#9%>!Z>!YTF"U]$'::QU>JE,_C@]W?E! R-G "ET@*47E\N^#U\N&K_51NL74KIJ[3L1 M.7,O2%\&XR0H*SUXQS587G@)/K)8VC2UVH&X[BR<@5$VM'SVAYR_@-PNTU[N=:J_RF5A-EI'^@DP MUL"AM0A1DH>5I51<9(D!&]6;/DG7$-;2;LWY;QK T;%)D=6'UQ3(('3U%-4^ MES'2H4W!NN@;577O3^RXN5$#8NHQ(ZREX+I,#=U=16S\Y<8Z[W*-4VJ^Q[9U M&OU7"*HQ<4/881&4CAI<NOMO\@I M55[+'GC?0*IP/J>@ [A8/"@3%#@7:M&IK>WD,0G5QHGK0.=-F!:>HR([(5L! M*M@ T9!QH@-+S$1.A[=-:&0G\KK6]>/I?&*$3028!.F[98O#9-+\1,55BL7?6C;=-"^ABJN]1[>R/GP2RA$XFQ M \C635Q2GF3T-AH.1@I=VUEH\%*0=>J,1QF-T+NET!RD^GJ T^GD_H@&/$ ( M/CF1\@9 MMX70>* Z6C0=X.O7Q1R_7KAA+\_G^3K75:*3QGL(UM9(I:L#*1DC.,ADC W* MY#9WY>/TC-M98C2$#2"<#B#V?+'\M%B&-;[ N+[Q\R\W8T5$%H6#8EW5Q\9# MU,%!%B$X5T*.L57+V"?(&K=SWH@J;2A1=8"[O[[[9?$9E_.+P0J/[ >9\T)[ M!RP+!HH.#P0?97U])N/5<"9 MS8FCYW5;%ZY32B)9S^HS8&U*91/XD L(+()S+;+ -JW8MQ#42PO(5O&/(>30 M 9S>+\-\12O7=]]WN/P\3=/YAS?ED=VM:H?5U>-_=9F67G)(.8@$>=.JP]01 MJ9YY$%%@U%H+Y&T,O"%W,:XW.PBL%IW(N -\WU;_SS[@/&T>@QZY!E+VJ-!+ MX%$3@Z/RY,('!"DC*8-> *<5#BY@SD9T2::^ W">NG*?=KLEL/DTBW,GJV?A^7R*QW?6MN$DRR] MT4XK2+GV52,[EBS8S %%37(U,D1^2K#=(Z_'I)4# ;%;*M41TND 5#5=BP&Z:R2N@[.!>\:M73>D<)QO=Z6 MP&LBHX.Q1\Y,7 S1TF'WJJ:)<1[1DK\>K96@9/00L3;<"S65 %A?:S9!+[(6D1&EYEC M).\HHQ!"<49659OG\B>H.CHWX)'/OJEC\RH78YVKOG:A+6M2NR4A/L8#1PLB"+&G7IFYA7TH[5E#[(&FK@FHAL"[+H!]5 D=4 M/#_Y>8UT5LLZYB>AEDW*=30NE&(<*,$\A#H+6X?LI1)2$2HNSR]>K!R>"?N"W!?D.=P[()M:<4Q$AQP3&F "*SAZX8AT(KXHU 871Y13: M[/ M=*SF]L'>-]3N,_?;VE0%XN\;_.<9Z^;I(*#4%S3;P#B3#GF#YV(8N'X533%Q:EX%I MC[0ESVN?:[)R##&ND+7!>)O^.#L0UPDLAP+$-L -))U. ;>Z/K=7*2HA:Z:C MA52"!.5E ,^*!IY3+"XJKE6;Q/5=J.L$"='M OHL\O)7GC8K5W /L+I &);R^HDMX+1)9'K#E3(#D(D M8]F:XE5D(>7=IMOM;_@=437;+#FDC[MX"%EU +EA\Z0Y!FML)BXR49/_(CEU M=):-BX58;-#&-O'%_PLJ:_>!5=/*VCUDW &^OUE_)&W*T=9.Y):3^:.#A8A) MUA%V6@3'BKT_0ZFG K+OI))V'\SL6T"VCP [ .3C99E*%>F5]%"DE*!4-<*E M1R "#"LIF()MLE[^Z2MHCX#>\:+J &\[5Z(CYEKZ)L'D^G).EC@X'0UH2W8W M%U@\MLEP'[2UP'=243N00AQ,H!T ]>GR3)>%8U*0U:/9IJ62 9<#'3WE6>3. M)[2M6@S\7U)9>Y2B'$IT'>#PT8)-K>L>2J^__!]37!)1'[^^QL]X,6<[:\L3Z7-(UM:J.D$V MKE %K%)9!).5R6UJ'G>C;UPUV$D\:'A)]H3/V^^>#_=W>9I%+$6D["&F7)L4 MA@3.\ 1>"AL ]V1(ZB0U8A2('2*7GB!VA,WR^KH&E=D2BF0> M/!/5PZ*C%2Q]Q7P*,J/.&-J$;@;=QKAN36=6Y,EQT<&A>#P[X)&D^TD4605K M%1A;W4;I(X1H''CR^JS $)ULDWN[,XF=7/NGA]%.*6O'RK0#L.[@)^'YUC^H%J$XF.VF?F>F<;UCYVZ#AGEJ7: M>4Y&"PH5@Y!8@NA*X)+^,N0VBG0K2=]_;M% :!Q$9H,UIAFRQ/6G, OSA.\^ M(JZ/J&Q][&..+VC])G$#U;'>7NJ"@.I%R.8 UN*JW,_%,F9W!SG M111<2V8:M?3?R))5Y5B+KM(7((PKA\ 8BVS^LB>9JV#QD1Z2YZ!2/ M68(PD8.RVD*,00 GG'D67/"LS."U:5@A,S(B>+G)58^!"RY1-!HT> 31WX5VVP=S MVV>2MQ7H^/TG;[4G_ACF'W#U:OYL-EO\43E,'M"+Q7E?7Y\OYE5W\]?U=)G#M-",K%(J1Q 3C"D23(\DB*^Y82:;(;VG)AO2-Z^PV M!' O,NT@-'/#A5?SSR25Q?+K<_+/Z*M[^S+2\H(YU*F.9)UPF< ;U,!0:)NO#(?C>>:@W:Y/I9N4MBCIZ]L"MJ+9%2;KG:[4CCN4^!)]=Z HNKJ MZB4;8WF.M\.G]S2Z+R5GFSCP$ -9RV0R!ZD#)-2I&!Y286U*7G:G<2<8FG\* M& XJKLZTX:6-^[>P7)*R_[K5RD7RTC;1^F3\A0_G7/802DT>5BEYTR:+8E]* M=X*E_:> 90/1=0;.3T<7-9=-28,L3:T%TE)-UF60*6HY*"O _=J /7:>+F#WG^&ZXO/?]K'F! M6V+QX*0EK5X\:?6:5Y>=$=Z+R%AJ$Y[9A;KO(A*^#XH>)" ,+:(N+MZ'N_IE MN5BM+O3=(T+MN&1\$VH'2R4 M/D#V1,S]9H]7VPLUYQVM 8.!.!.!<2D^ _8F[;MP,/;!T94*;"ND#AY! M;C9WI0A6F_C0YO!OFF)L2KR#"MD;G8$Y1LZ9(+/6&6?!2%&RUB%(W>;:W8V^ MT_+3=9U9>UF?'54NZ (=2W09%&:$&#BKG4Q9=$B'&-L\ M8#Q%5<\P.P0#3_BT1PED1'!=I#7^_/SJW84+YB]9=,>TONX&&IPP2/PRHAA0 MW&F(3C$HP:!!60QWZEO^Q)YKCAL9:8:BEIP?$5#[&!BOKROY-"]1*Y] 75P=7YZ^+SIJ+JU?SI MX_QV,9N1,O\C+/.DN.CI\"KRN@0=;!\YN) $&!Y3DB:!97S[A?(63:&-! M%1BD5*\A18<[Q!B !:_J9/N0=!O->1"YXYJ7?8%U"(EVKT-?8#6NZ6]7$W0N MU-RMF%5 EZ4 )5] *>D (_1H<: Y+-_AZ_!5ZM< ML_HWO$G>2#SR$N@H2+(90#EE:@N4 -9G)80QB9DV";:/4?-=O/7N@Y+[BNIH M$721UW>]B[?ACU^)3IKQGB?P=#4Z67*M7 M) 3O+ A,16GK!<BF0'XL;U5=M!;"!Q](4QVL&U0L6O/G@-%U#/JZH8NDW>"L@R9\L S MUCS#VJ<5N0*KR.[DQID4V^B\'8@;%W6# V+G)E&'2:<#P%UOX3)KJR1ADE0" MN&'DO@0?P;&8H5C+(9T"Z5!!+X;C>A=.X_/%V:=S0N']C? @ M#"^& ?.9_"2MZ)P57H!+Y01/BFO?YH%R"T'C!B!:PV@(*8R>R[LHZS^(FU=S MNXJT1)T F361GK2@DX 2C&$L6!N59O?*$+;EZ][YW'%#"JUP<"P#.[A_7IXO MY],U>2.;9LI?ZE=7"<2"9]J[)HYHHVJ#' VQB +)E:0]CT;H-G;.=IK&?4UN MK4X&DD47%]1K#"O\N)CE5V>?EI>O\%>;2<0%[S&!#&S3@RD#;4 "Y\GPX(A] MV"89\0FBQNUPV1I90TFC"VAM9=;KZYQA(Y-@O(A:_V_H BYDSW$Z.,4D%961 M1;LVX;EOTS:N131N7. P 75P2V[=T:8OSD0PYP(F0V?1Z9KN&,#565"2M#4F M9A@/;5YMGJ:K4Q_N0!3L"K+]1=*%5GN6TOG9^46(&(F,--U(BKZ>X66]Q+.S MQ7(]_^L$=_!Q]+?^XKCL%> MR0^'UNV3-"DL!Q%2G?7C(]FSG,C6T8-&'EVP,CG7QKNX3<5W,=;FF&?'@UG^ M_4R5>T6?.?\P)6MX,P[@6:(3LII>:.MA\YN_M4ZCA.>]MG?:_(HLC1$H)?FY MZ$%)NN(B)X"91-]FRJ+!-G'L4^=7U$RV-;Z>?L9\3R"7T^OKX&U,*4%DNM8D MJ B!A0(\)JED8LFXUK-!OD7C=Y%CL0^BMN=8#"JN#AS;)_;ST]=?P_]>+)_/ MPFJU>;GU+ @AA08F)W;X^7\73%OO9?7G%)>U'(+7)E.!9:6CTKR-T;@+ M=;V\@(QU1Q\FI@[TW_V-_(;KG[^DV7F>SC_42IP_IK/91&3OBXT1"LN;_#X# MSCD)44JMM$(=19L$MEVHZU;['8B)!Y4N PNH ]#=FL?X*[EU."-O#Q?GMX8S M3JS2CFMFP6EO:ALS#M$%#TDE[G,2SJ//LK#:[F]"A(#5< J#VG(Q;XI;/F1RO%$KRP>C$V[2] M^C9MX^;9-4?8P,+I0&T]P;+ZGJ>X+TJJ#%JZ.A_'*?#DVH#U& W/=)@:C31Z MFJYQD^Z:PVQ H70 L8U:OC6/>%("XS:E6B^AB7X,H=J0#!+3UA:;O))M.M;? MIV3H9*BCJ['V-F(0/!8(+CO&F7,\ MM:E%WT[33KCRWRVN!A+&]Y.0]#Q\FI)_.OT'YN>SQ7DMYIAM2CDV*VT&G0^; MF;3'@DU2E [=\&ESE00ZX:TQX"P7-3(1(0I.GF.D;ZJDM/JN1X/?%L)BOOG( MROF+)Q)-!R8'PX&G&DP.49";'!V01: 4HLW<[#2N;__'SB>H^B[RD?9!S8.G MS:%$TH&AMF4OFUP$I1+/.BEPU=Q42DN(25E &YRT==R7;Y/*^P11XX)K.,GO M!JF]Q= OHBY3"@PFC$X(2*D&]M!Q\)9 ((70T6G$$ML\C3])5I>HVE_XNX'J M $F,W25AF_EQE442N%$NH9R1I\J/E*(=).9"9>^2AM)N=:-!KRM)VF+C76@;+?#5C["J)?2-VI M0]U,DY@DJ;RWI-]+4(&,@>@A&$_NB\FDF4,QV&C^ST<5.NA(KD7(+A2+>D5 BAVGO M:P9$'V)Q#L%J)T%E5+M\F? M214MOB)>>_SQTV\;W\;'L/.3A#Q%NG^/B_BZJ4VY K@) MDCL7#:#CB9A"6M21Z($YC](KS_!^B\>GT?'$6N/FUK='RE!L'ALU[\,77-$& MZGO9)?W7I;^76WTU3W0F-C\X\<9@ML5#L+F.H,8$/@3RHI'I6I199. [(6B_ M=<=-I&^(IH;L'QM9E^2_7.+TP\?UA!=4R1'5GBM/C+'D-Y#5!C&P0H:=\3:6 M?73/Y>>.FP/?7L_\'_;>M,G-6T<;_D6HE_ORL6,[Y_%4$KL>7_^":G6[]]9R4S?5R2R.5PG+!1 @0& ?\740^[[[ Q>DA=FG]03Y M*_E\N_*0Q96$WC@P(M;"O&7@. 6K:(+F45%^*=HT,SQ-U[B-[VUCWP$U,NJU MY=HX-AGC!UQ=+&:;%;Y7G#!+QRX&!!YG]W,N8C M 'G\.[;#QXE=3 \IUQZ.J/6XB$??F+'H0LCD 5.R-$A&,Z-8G9;> MYG7&TW1MAZP3NY!NH)(N2FN/LU**Y-X2[4PX!DI[12FBJ*R#;H. M!-:)WC /HX@.QL,\'<7]2@I;=T.OA]2%69J&\_?SR^'<;VJ/QK*^I?QINB1I MNI2S5 9,,:M1FZY56WF'QRG M[>KGS7J[MS,RK5D.BUR7FVPD?$)/^D<3GPIJ M&0W8['4=/B'Z1D7?Z. 8ZMVB)WTM#?>_E@_!"#> M%ZN&F-O\DL+PM\LEQ>435B+7QGK(I2[90.O 11Z 26:Q.)W1MYGBM!U]X\:: M_6+R(#UV[!.O"KJ3A *Y(^1PBN+KF)D(SK$$DOG(O%>4=!X3EU=TC=L,UB\> M]]);+TL.'_+Y3/,29"B@(R^4NA%0@D1BQG#%HM56ES9UL@/.YF:]8?WB;B<] M'7@VOYGEXZ79'Y "[HO:^3N=?1HVN7[PHYNDU,\S<=Q$VD8A-2-T%*7JXG2' MX)@I8 TJSK+G],,))]+?%V7<$CS9ZN8[UU,:-ILRF% *&0.FI0"51:*8EDF* M;CE/4D7A4YN73#L0>1()\2Z8>GQ+W; *ZZ#&=XNA]0/4RM2ZJ+T>4A.X2N3N M%<&C;JM7I7;5" 1D]6)4:#H2V@Q??(:P7M;1#0R(N^/4!]1.!V#[2'_OCL@V M,VZ0\I[,ZT-Z)TP=*VD@U"0^":\+Q:)*ZS;;YAXE:5R #:KX>0LM= "G'T.Z M+/B0KR*JHX^0E:0@4V#VHLU;S ?)&1=& ZGZ[E3K M@^7> 7BN'H_^BE]Q40.(#1M1!9%-SE W;X,2OI"[Y@*\-I'9+%0H;2Y['R%H MW)NU-@ :0O8=0.B66-Y3%+IVS=J9E+.+0$ER!J4SV4&QK@Y,]B8EJ]W=)R0M M(J8K+<-IK5^@A! M'45&^ZGZ.?#L(?>QFWG/SL^)\E69+[[\>%&?H9.)_6>^^/U'DM_9[-N?GW&! MKR[.UW]R/OTTJ[>$&Z?KBY5$O-7BZZQ:,=!1U_[$+."R(,!@;QH M;7C9%C?W)F"BL]!:<"Q%4 MX P<9@F6J(]8MIJX/LD2\8$0G#Z&T^L!![BYEO MWY/]=#VFD3FR",<*R%3-Q:ZG0$4.2:$TP;&:RA[[#ONGG89#-ZL8=W"1O9^> MNL/>Y[#XA,N)"EXR392+%#4E(BZ!L\Z 829HBN"1.=/ M@FH/!?0&HHUT;K9B:,V]HJ"?W'I(H I&"#(XD$:*8'EPJ=$HSV<(&_=>Z;C0 M.E MG:)LHF+AC"4&NHY$5(E3%.FU Z]BE)E1A%F.<*^TH:8C5W6HNK> TDZR M[Z95^4%_FWF4L8@,CM>W4RPY"")9X)E1X*A4PM2F5V?O ^\X7JDEBO:1?:=> MZ%=Z^CR_6+T*R\]B$LEO)RP6D-75E485,HZ2@4D4-D7&E#W>F?< M@>/>+!W;5QVJH4.[AS\.-^ETT_Q,DKK%Z$2S]>OX",S5L88^UDU<9%&).:68 MY%['-H![C*)QD\*6"!M$!_U ZL'#G?%B0C(*N*SU<58,!.8+>!%UX,I+9=NT M$.P=6#4;2'GTP&H7V7?;9_Z*")FNSCXM$"]?L]PB>+N&\GN?<7CG^--D#=0B M7O.W=^7RJZX:C:Z;>(L*BE A(.AZW)")!84R+K&6\6Z789C ._114W_EV0;-_((0>.F:(/A MXJX;&4+\G6XZOVNP58;SC0P/>*NRS<<.[VV>)?X8#D@7&[(+!91F%*4H"GR] MJ[/]Z\9,&WC$+$[2 ;V=U<.T"OKRLM^5C*Q$ 47F&N%C[>;D$HR69%A1*M9H M^LT#Q'3L>';!PT..YQ"Q=Y#1/RB;=3^6<$%'SL%22@B*@CF(*I*8LHFU8!E- M:5,&>8RB<3%TL*KG#>3>*7Y^JDY\L:EO.QU2R*)V\]4>+%TS!6,D.)V$42+X MX([G;V]2UJ%/VEG_6X!J;V6,W23R0YC]_JZBL!JVT M4=FE;'B;5[ /43/RYN\#-?PD8/80=P>0^8!?Y^=?:UWN%C,;;^F2\UHS4U?B MQ-JL6;UES)"8S-K;F+EN52!]@JR>0+2/UN_=!0^E@@[P=-LI_W3=T!*$PXB* M03'>@,)2JF..D$MR=;F@9KS-R[)'"!JW#CKTT36$U#L ST.AX,_AK^F7BR\_ MS!>+^9_52,(?]">K;Q-G6'VSJZ 4YFM+)YF(SB0^Q[.53$BGVNQTW(7*GE+W M/6&Q1:8UB(ZZF!AWD[N)0H:1ZP3!E?J@*5!8X#*E#MY8QY//483F".LIQAX> M03O)N,OQU7>O^C?SNF>?SNH0L4^7OSE@P>+)SQ^^'FUF%[Q:_XN+K-%V.UC&I.&]KM=>Y#$2T )=T!%LL"F5% M26:K$VNK9X5U'N32@K@?;$&4"1.GC80C^:Y".;);Q@=!H=J;CZT&#O(PTDT?^!B M]:T.E*C/D][\[\7TC^I2?_A6ARJM#49E8YR*#"*SY%"Y"*>&&*(4_- MAF<_1UQ/.=/^IU K;?0,L,K0U96JU5E[2C%ED1R45?4QI)>04(24)>6?N4V= M:POBQ@US!@?$MH#;4SMCGVZUOYJ^_3.Q\AJ_XOE\SNPB3$6%.=1YD;X^U#5T MO+MB&5C/E:-1D>)^6GG+V/55\]P [3-YCGU=7[\P^SB_?+]YG M9SG)J78_.09:U:&!OFCP(@M(+F4MT!>3\U:GU19?UE,X?1A FHBW P=39?0? MG'[ZO,)\5N?2?L*W,_IX7*X^A!7Y8.>$8=%#YHK.FXS9*MVF M%?49PGHZK89Q/4-JHL]ZU_S+E^EJ;4!AEE_-9_6Z V=IBON5MY[XN &J6=L2 M.U#QZL;WG=WYON_/M+Y7+R):5[0$E 0(Y>MV:F4L% ):L6A$-FUB@)W(/+@I M<9LO^_YT+6O.L@WD;Z,GSRM,?9[O:KCH$)A46(S,'HFO/7=B#O. 5924?NK1*M!LP= MU>']A,LEXB,+WG\.])*)PH+"(-;=!.A<1.VERZ+- M;?H>Q)Z2Z]L%PT\TG^[O 5K$Q<8P2>9:3T&2F1QL0AH"N&"\,5 M\N>\X*Y?.F[:V1YG397005):69LO;K/V/??^@4[DA-.OF!\Q)1&T#8Y3IH2J MC@1O>X*>UQO>.1M'MJ@>)MH1S2^[GK=S0-([=@ M:Y2H4GD; M*9RYSR=3MF(K<8%1A,UA0>5)9M'@+T$U5>&=[K"_R%=/#Q3SS_ MBC\309^7D\A#$!2$ *;H0!4?P8N"H!)BM$Z:5A6J?2D^I?AR%^SM%%\.I=%. MXH!M^/QO#(N/?\XG(;@2 P;@I;ZELX2LF AA]1&4"2)QAFT>K.Y(Z"G%I\? MZ3[Z.S5X$MYPDK1F$K4#%A,)$Y, )R(#9%&$%)P4C;;D[4SJ*06C1X/HSCH\ M,9#^.+]83+)E261;Q]I:51> &4H3!&R45L69]'0!NF 5' 0R@9R+G@JFH#A Z'7L*;:<(W56#)X30"[:DL*M$&G^/HC<26/[(W&^"N?MD?C; M+),4YQ>S%>8W?R7ZJV=?ZJ\FUD9E5!80C#*@@D$(PD6P,17NG D.U?%A^1BY M6V'4OG",#J++?B;&/\+EQ+&,')F'9&T"Y96KYE>K7M9E'[@0;*NEJ3LC\Q&" MML*>.WWL#:&/%W&Y/KE3]VISO4[?KF!Q]].; M2O))5D8I4FB!P7!.'@P%F217!5R6I;86QXPA&"=>2)'B;E&0CI\O[TK]XLN: MHS&!Y40G7Q)(H9IQ$(HN$%-P*1<9;&X7Q3Q-VRD5'G;!TS:EVP.TU$EJMTTQ M^EXI1>@2=)04@CE7]RQZ#E%;!B85%#S([!I%+OM2?$I%AZ$Q.KA&3PBY'_^< MUWN7Y015]AIS!J0X#E2N6SV4$75,H&(<48O4:#K]CI2>4NWA&$C=2X.GA-!: M5[GDD&%,3O(")@L2HI$18B%>60PA6Z_)#-M5<'>C]93*#T=!Z7Y:/"&-<)"\K^\BL%"0@QF"*3EPCMDWVM6Y,ZFG5((X!DKWT^$)@722M R> M

V+@13F1MPP7JPL1@9*+YAHM&DPRTI/*4:Q#$@N9/&!JM!C'+I=GW1>(S6 MUGM?=L0KN*<9'>4>*02?),^RC@XCE%F7(8;$P7GG4P[&&OD"GE ]HH97%XOJ M'";1H$6SGHV>R)YSL."4+9"C4H$I9XQMLY;@:;I.Z?YH%QQM67;81SL=',F/ MX/ZN;,:ZA_/W\^6TJO--#6:6TWA._VI9S4DQSJ2#DLB1JZPYA*P,F*0M M2NEEC$?%X=I+#$XR,\_;.%.T- MN<9LZH*7>N+Z$A345T@B.<&X?0EE[?ER>7^BQB0+STL@NW7*44HN8#VVUPJ? MI9,1/&.9PEBCP7NA0!0I/+&D_78[@[>:S?\H&2-O_!A O_.AA3TV8O#3718V M8WJ)3*9T';:DZFL[7>\VZ^,[9C7/#NE/^%9C$K9#S&-DC#?&?R#USH>6]=C3 M77X-L_^:+_$5Q19EOIA-KQ<@TS=Q9!:,D9KB/(40G"S *5$6QA9>F'LN&GKJ M"T9$PC!ZFP\LQ+&!\$.8?0KG\P6^G>7O#$B35+ *)-:=VB0-B(X7$%YYABD) M?_=*Z_%UXO<^?9Q;J480.%A\'=PVW3M1?_J^R*^H*&1&,*50VB=\@(CUO:'6 M!05SR>E&6S0?I6G<2\T!HX^!Q=\#D+9]D"5XL(*\(,7WG+AA/(%WB)H.T M@65T[?HJ!WM"=[P0=T]$[/M>;A?U= J[.PW+F2(Z%*$ 62/Y=R7(/I4P8)G- MU5I]P.,!;H^V\N/YLW90.T E'8#L-B\?Z@CO=^6W)9X1HZM)M-8@_2\D*8@9 MI- A)N_ ::4X_5F(NLV SB?)&K<\TPA:PRFBBY72CY660C84*++:+Z0IAQ R M@.>\#DUV+C"-PI?^2GW-*B9'P=)^PN_.-]W9+_!Z\\2X[A=XCXM4R^$8A.*> M?*^UD?AS1D*@K!2\S3+0F1^U;;,\;5=*Q^UL/0KJ!E97[W#\@#7AOAD3\ EW MMB2R,D#C+,6;4H#/E#1+3YDWUS:G< Q?]SREXW:UC@''0]75'1Q?S9>KB77T M/<@$Z$"@4,)2@!"K:?GH;,.PC@*I'86>7>@N4J.)\SI;'T, MH*2O ]Q-Y4(:T(*,0N<2S=V%QTV O43? 8"NUH9]+WQ?N]*? MZ<Z5@HAWWE0\$@E:$\"MKN(92>"M:.I8L"K MC2&;\'Y=S=/OG^?GI+5EW?B[^K9/M]T#GW)X6]USI W4/W?_:WZ9K[XW/AFK M'%J*C8)A=,@9Q\&E6"BT5H5SZ;7T;:9>/DW7H8?AKY_)VFY].N%^_9L_D,?- MUP_FKO<_>#(?J6P$5X0!Q0GU08D(/@4*%A,Z*]M<4.Q*Z;B%H@'1=/_2S6KBJABO0K\_L#9_^V.]#?@LK:9?[Z^PD4AAH-4"C" &E*Y% M5$ZVR$(FV1C4*-NDBH?3WK53VP5Q]YS:<=7:01KZO;GZ,9[/%HM T>W:F__P M[9Z'/_LS+/)-]HU,7AL0(M0@5"OP05 *Y%1110L7?)N;LX$9&;?JWA#B8RI\ M["3WNWG_BUA;1JWO?#F6DTG.@U/(*#:R%KS/$81.P<2@ M?8K^N3-^UR\=MQ[? '1-I=Z!]WSHO+AI)C?/B\KOI2Z7RXLOE[]W=ZL=8G(Z M)F YRGJ/6<"KC.!B1H^Z9*4;936#\C%N*\"1PX,CJ;N+7I3G^']#B<_\&^): M#E?WI>_/PVP+8:106ZPMIWR015#%"-(+0PJ>E#-)2>$;;;-OR-2XW0DC&L*Q M@-#5$?#;;(%I_FDV_;_;\50M;_XRGWW%92V;5_'<9=DS:WCF 61BZ_H5!U<[ M:R-7QJ20I;!M7H(.0/RX+0]'P?AQ%#MZ<%PM>?F!]+=8C\A;_'A1ZPIOR5## M+.$=SI@7UHO@07M7B_04^WNE+!21(I=1I8QLN_!XEZ\=MQFB68#<3/)=3EJX M+\;+N*D0?=/9IX\+#)2>7O[F!UQ-%^M4]/T5_>O?7T\V^/)E9)MBZ6NZ RL&)4K2=K\$4E<)[X<4;(P!LA M\%G:1H;B,""X"ZUA-3)VMO/^(IY/TZUX:O,X7P?G77W;4Y)BH$1MV-,>H42+ M/DC-4?.M,IM'OV)D> RLR/G@4NW _[S[BHNS\_/YNL_S\D9WPPAJ(RQB F%J M2I]Y?3LHR(:2QY XQ1B^T4O.QT@:N539!D[#*J(#1%T/&KJ,36ML,)^MQYU5 MSUS0ENBC FN(; 5%C7\2W7T1AL,Z#Z07+&SB('4_=\:-EW * ;=TE7![L1 MP7ORYBQD42=G1XBZU/X/P8D)PURCFO4]4L8%S@#JG0\IZP[ \J'>-LXPOPF+ M^DIFN>&"4R183/0@97WI%VH"XH2$@DGKH*,G9]T$,0_3,^XA-SQL!I!Z'\T& MSQWZCYWY/WU_@F/(3VN)0*$@A8BE/L J','[Z$IV)679Z+7$P;2/W K61^AU M7 1TX#%OUVXNZX)G%ZO/\T6M/4^<288'"C]0^BI,'2 HBD%,2=%R;Q*7;;9Z M/4W7R!';D5%R]UGH<"KKPNT^Q$^M1!,O+.:(-=QU1:HJ)@8^6@5!.))0PJ)Y M&W?Z.$TC9ZC]06\/574+NW<7J^4JS#)%,1,32B";88"EON[GPH.7/D-"+A5W MK-Y?'PU[-P@;^9SN#X#[*JT+%-YLE9A^G6:5[7*PY>XWIG/Z3)XE2?AMT M@8 9:P,.61EF"V12-CKT6$J;_&4;ZD;NO1X7CX.KKX.0\.;]^D7-Y#8Q^<;3 MOYW=N&^?,&D8NJ2!(ZM5EF(A!FZ :\?1V*(PMEE)O N5(W=%CPO19NKL *HW MS.]]6+Q;K.]2\_J=SY453J0W6@BM(.G:O9@% MRT&?@3SU!2V>=FS-T$#/-38SFZ[:XYT1)5C*A:44A,&ZZ"SJXB%HPWPNF()I M\SSC-AW]/,<(@BO)O0>#I=;:G03'+0?T2AL>"V*C2:XOY#G& ?AJ]_QB%Z5V M<#97)U";*M>]1TJZP+-)1*RN4R13?1*-E(%YS6T*41O9ID7P)A4OY9'%3D"X M>^N]KU8Z0M15GXFUD6L*-4HP50Q:0J@E>F;H-S&FK'.;-V>WZ1@75?OK\Q%@ M["'1P[>U6666J6HS'-Q MUK9?U@:++Y?<'758>9="K(H X5'!DHF.MV3 MIEP&-;E:5)XQO2T^'O^:<2O^ R)C($GV@ G^*"@OKT]5H16GX%^#QTS$*Y))-"D" MD]P8X0/WHLWUY2TR7LISED."U_WUT@&H]A?<=[9G^8Z]%A.RY"*"D'5./U/K M)V0.F \"U:^MO:TUW@/9;0]1N/7TT:*5F00*WL<:, M="!0!,DA::92#M'$V.C!UF,D==X"W!PM=]]Z#:*Z#C#X 9>KQ32M-BU^O\VF MJ^6'7W^[CE,]\SE9<(P$HW@N%*=R#]Q1Q".]"YFW>?OU)%F=]P0?&XO#J7#L M5.-&;+P6WLUQJU=1L@HLE%2'6]21JM[62A^7LL MF+703 >.[]]D-=/9IW4@8Z-1**(%GRR1;IF'2!*JPWJ5%9AMJU7+-XAX*>_! M#LE=]M5)/W#:V)GR2C+C"\A0]Q72V0_1NPA:B8A<,<\:;8._1<:X,=O>RGP8 M%'M(M@-8/&)-:W,ABR*K>S?#JXMB+'5WKH1B.5F.6 ]0J;UMBNF(=6]]JP'9 MVQ/9!:3V@<)VZ>?!>CD)R'W\<[YA3>7B39"9!$@@=^BDDD&+ MD2!W3>2XT?XQ(;>?7D:$W'*QFGRI%9*;-7+0-]P U3TJ[N >I2$D=])C1I/#:.7WH#UG^GJ\P<\ M7\MO^7GZQ\?YF]EJNOJVL4UF*<:07D)@F@3E,X>HBH-$<8?(66JT6S6X[0>Y MIXD;Y]@<" 9/@6I G8P,MS=_8;JH]?MWI4P3+C:>F/D2F*JUN/5$S5!?N$:* M7*7BS$9.8<& CNQA&CH"SY#JG@\J^QX"KXNXQ/^]()F^J7N97=PT#*&K/B&W,45GT1EM/$C+&:@2 MZ@Y@$4!8;8L* 6-J]%#X,9+&GYE\L,*?!]$>TN\/1E=YK\@^Y90HT:6,AYA0 M$+Q $,Y$(8B5'.TQ(-3#S<- JGX:0'O(O0?P'/X^JKBL#*M%J<2)8XGDR6OK M$U<8>++)"==F[-61QKBU>U+>QV%Z7 2<,N9OCX0X^QJFYU7\/\X7Z]6IDX0L M!B;)FQA?7PJJ&OPR Y@8+Y:Y8'*CG0>-..J\;V1@9 YE&$/"9.RB?BLAG.4\ MK9\4SB__PD1PX9VAD]A01 >*_@>",@A96&2,)Q?$G::IIS;6'8'BSOM8VMA& MOY@8VU!^GLZF7RZ^O/D+%VFZQ/>+:;H:A7'9:?&>_H $,5$Y."VP@,S&@DK% M0"S1 @L4(:+2#%G8"NC;?F/GG3 -@=I$)[T$,/%YF<8'FXLV1;$/TT^?5\N- M!,(GG"0=B5-=0 2D(#)J!U%G!Y@M5UH(3NE0N^AE:'9.?M+>P:'+J #IQ4KV MT<%-(1#[TWGF$YM+3!HM"&$2J& B.!$L6*,8ENPM#XTVP S(QG5I.P V/@3/ I>2P^=':'LB.')S\@K\,*?PS3Q7J.Z$11?!>5#Z"EUZ38(" X1"B6">6S M#THW*G5WP/W)STOLTRP;P>^437;]PPSM+.BEU:T[A\?)&L[MJN4Z<,7\MFPEJ%_F==3S)/&@O(FJ+@RU MY&"J;Q'>@-6\J,B]=KA=S6]$)K8SJG\*WB-"YV1-;-,04']ZF2=>7K57'_/C M?+&32\+"D-&Q#:[X#,H&6S>:UA:"8DMR1MF[2SB'-K7AF-G.Y%YDZ;X#Z>\$ MI9=@>CL)QT=O<[$:4J[CPWP=)%;H_+?Q/_!M/HXWUS@O)K/+MO;)MY(QHRS()2KLW8, R>U M Z=S\$R)Y/1VDWB/1O)V-O/2.@4U/YM"G @A"U$2,"%E M;786$!(F"!F558FS@'PKL&_]E=N!]44V'+112[?%EHE7N7!6/"2E#"B%&:(5 M JQG4@2&6>8V$PX?IF<[Y/V]:OL[Z:B/K93[BO'!3H1_+>;+Y209YQAW&7)8 MCXSGCLPM!3#!>UE[*I/Q1P3J03YU@"'S)/WB&!UX*!< M\."XC! YAL =<]$?T\\W8W0[T_JG8'Y\5)W(WL6;+:9G:37]6L>[#+EW\:DO M:+%W<6N&!MJ[>)^"7^8KO-Z3)T+)J5A+21G:.DU00?1<0K;6<:;JX\U&CNA) MNL;VY^\N5LM5H QC]NG#_/S\Q_FB_N$D>Y9T9A$\8XD,3-?KG^+ %N%R3%FZ M1H/PV_ S\FOHX9 YM.,=0/W=YIA[2>&R[C?Q413%A(6 Q=2&+=))% %R-)YK M77P(?4;]]U@YT4$ ^*SG6/=6CTZRHL5EW8S$/94*9P3(?$(66K MH*[=@."C BNRP^A$*GQ&(;C1??F=83G3?0 M$/-MU;T[I/TEI&?XB?+A_+&;"(J$77"ZNB"Q7#_D"BI*-*Z )-Y!T8\0I)3@ MK>)1R.00^XRA'F#F1&<2]'L:' J8EV,Z]^-)Z0(SV2,$04&EDK'.-$D"G%+, MDKZR26W6XHR3?/37?-"OV1P&E@.3CS>SW(7%_'O]+/%LEM_\]0?6_6L?Y_6W M[LN&"V."];KB/8#2RH,K.0&SAFFFLXNJL]$?.W(X98=$E9>.QSYS]'BLC9R_]&L-A2G\!J+]A M]G=JB[<&S-5#OFP.>;1>?+;M-+<$1 JS[PPX+W+)""?ZI"E"!$U4UE(ALZ,8Y7#,?EBRCA= M6.9(X#N%D_(YT5QQOYUT%/<^<')6.E@)RO "(?L(4G#G0C82V4AMDX/R^6(* M3B=AG>T@V$=M]E#Y/%"3>%I"RMK ,P?%-;FPP .$@AJ4"BZ@0RO'&G@Y,*WJ<8]*;%H^EZ M1#B]@,/P1FGG:;$PGBB@SX"1W*9B+$.HK0+:.1^-3,A%GX?AE@R.O*F@7W-J M 9!>["8^+Y:X\WG^ >MZ6?K].RL@Q(1\B=5*<@C*DFO1LH KAH,(PCEKI=2A MX9#UXS([\JJ#QO;4,7!>@&WM?((_)CD^43*Y)"B(%CY0.!U4 "_I<'>Q\%*" M2P%&.CC,<'C(G+148JM(G@5/2AD"1R6!!F-(6=F M&&7B75KB'LR.O/N@7Y-K#9Q>;&N8BZ*W)(GI;#E-ES,KM/.%7 NIR]3,5-:) MBJ0TL#XDY7+TV.DDE$=9&GO=0;]9US H> 'F\/PA??;ITV+]).>.H()!QQT7 MD)E&2D@Y):2!(QW,@=+1Q'5QO$MSV9OEL7!I[K\%)!&J'X&#L6;7/BB%N?5ES M6PQG7^87Z_G7ZW\^,8Q9*3,E?+9$\A*1' 1' ]%*R@J%3^SN,-*GQCJW)WCL M[0+# [];=?=R*!Q> OC>3;*>9GWGH#369A=9 %D? RGI&5 T&D'Z^G1:,)T[ M[=#?AKNQ%P?T&UD-CHT>[.7AH1UK7AZ>V9$RLU8R#W']"%1$#C'F4-_$4<2( MV@K6J+*S*ZECC_-OB.2F6CN1(:#7$T[GY7()P6;QU*"#0)_[DA;#0'=B[#@# M09/%Z#(%PBG7BTG%&<1"/TO6*<.\4QP;SF5J-Q T?<9\<8Z;U65[-:)^K(G# M1$J3I#$"6')D7ZP6,*6K\X%MB$EF+V2CYT%#L=#UV,]=\'?/68ZBY [.]O?G M8?9+^()G?TV7DYJL\N@U6%OW$^00P?G (!4ML@DE4)[;!* WJ1@98^, 83Z0 M5CI"U.MYK6!-6"PZ6)&!RU(G$M97+T8)$-8@\ZBPV#9USMMTC(NJ_?7Y"##V M$.[8=T]G%$3:7^:S_[V@V*9,,;^A:&O^#2^#T?<7B_29#*DR^#.N9VI0.,J- MJ.L&N21_+AV"UTD!N?$2>!53WFY=TJ[?W =6]E'Q_%CR[L#/7+I:^LMKHV)8 M>(G,0$8A+M_L>&X9F)@B9F7I_]O,1KQ%QLB/H[LXN_;72P>@VE]PW]F>Y3LF MG(/+)CL)EAER^!P]>$F"J$&IS9;^V(\T-6T/;L9UC@> :[!7A0-IN@.T?T!* MG::U_KL^$WZ;35?+#[_^=G4>..D94P4BVGHH! W>9@>QME44&YBT;5[C/DE6 MYY-AFJ-FWDJ%'>#Q5H2R8<%A9B@T \=8I/A',#J*0H8BO;(YJL1*FRZO!XCI M?/;)L;%WJ+HZ0-S>Y9Z?KM=\*:M=Y"F""8P"]%CGQ2J?P%@1 Y=*"=Y9&^(U M[2-/"^DB7#TR DX9\WONEI.)19NDAJ -@A*)@S,J08DB&T_G$RFH+P-IN;%P MM--A8!R/O+!P%U"=LLU=UCG>SBC*NUA[PG>KS[CX^#G,]A6<02NU\&!]'6F2 M(X(KD2+$8EWB3J6<0U_6.+0(.H_B.K7348$XX#BL(RP=O2?>VF4]6^+PVT>? M^Z9F:TAW8O$X[0<118DV) BN3FVR=9!-E *,T-G&$+3@?^_V@ZA]DI:[RH<$ MY3*"-Y)$91 99[E8UFBZVM^B_6 7_+5K/]A%R1W$16]GY&GP5U+BFKF?ZC^H M_-;;W1C1:ETD^()TS'%59YDZ#6A$=%9H(76;2.4)HEY*<\).,)FWT5F_\-O< MC<40LX@Q@TZID&A8!@I+'# 1D!AQ.>DV+^:>)&M<" ZF_.U M8#5? MKMZ5#_@59Q?X?C'/%VFUW-R.,F&0%2T@B\+([.I]//>J-G[+K+V326WW+N:) M+^D2'_OH<=Y J%V!XU=X".?$ MTUG^,IU-:[J\FG[%VVQ93)+'S, '9T %BB*#" X42:QHGW5N-%QZ*_+&'2[; M#G##ZZ8+R UPQRZB2(45 25)!%4$@O.27+SF9&#:Z&)27V62W:KZ)]"$>L@= MQ9$1T,%5QMGY^N]@?ICUC45//*.SPU$HS$3A=7H8!R_10RG)%^Z-"8UZ4;>C M[^1KZ#NAYF[G]/ J'-4=KY.S][A()*9WY?_1Z3)?3.DW_ST_)X;.IZMODVS1 M,D?IF0WUS5ZT=0FX%1"%23)X79B[,R7AD9SWR:\Y^8KO/J@:6/ICWYQ<<_+V MRQ_G4\PWV$@B>HI"$$((E.-+U!!SU"!0RU@BHG%J-Q#=^XX3W:LU)((.D_N) MS MX\^O[]X.6Z6]^8(MJ_*,$#U1TO_R6[V^LO>+!R@(Y>%O7L1B(T13P447& MN0M"M0D?;M/13U'=*I&( M? FYBUXZ %63UR;<2PI"M (G7%VOQQ3XY"EBT*G>DN1.X#K& M2\A=--T!VA]ZRA28E9S'!"JE.ED:+;'@(I@2F6$ M;/'R;!=U=8"X6R-!G.%:9F/ 6[)AE5.@B"<*4'3HJ.R$8(V'I+RDX06''-E[ M:Z4C1&WLRV6!RI,81':.,OY >3JQ#ASI8&"QN&S;I&H]G9+[Z_/IP3N["'?L MF[.=!\%P:QB)(P *8DEY[R"&PB!8X8MWWIM\I\/D)0[>V4G%!PW>V47>8X/I M.5Z$"4BINHMKO0'P(JS0ZKH: RI#0[.($&N*?& MNL9(2@?),@1E;");P 1,>&>8I/^/;8+N?U[3#Q$_'1D!IXSYG\-?TR\77ZY= MP$57),-)I8;SNK /E&8XZSV$' M1N90AC$D3%Z N?QR40_&C9-;OL?%E6 FIDBI3$J0=;(4TXL(KF0+.GMMK8I6 M^3[MY5&63KYM84R#&08H8X?;>TOABOUWA8B^'OZ_G/B<5$15!SS).C(/ \2< M.0C/;'0^22/+5O'YT)2=?(?%/F ?7\== #P^P?QC*XJNLZ7%-.&\T+_^,I]= M[K6X)8Z)S=G+$#-DEBFUG\2SB\/P+.+U>?Y8OI_F"=&60Q"*."I:LE:!]X("\4IYBU/QIO. M-E,]S]2X#S1.-50:&"POP6[N"JC7Q/K M'$1_'J=A?82G%CO#W,2'=+_ MM)J[U(BCK>S$_F,G[6#2@[D\O#WODKM;99MW?\[H6S]/_ZAUFPDOF%/=@IIS MO5SPB4'(]9E.\=9S%Z7S;=ZQ[DGP5F!W+Q7L1U!R!UB^YN1R-,;#0O]E/OMZ MN15^O4YPO;;TYI_7(1N_S%?_C:L/F.:?9O4,_/Y)E__H[DC(B=(YBF@\9%/[ M+()RX+0K8 R/F3*Q^E:M;0O=L5G>RI[\"[6GTP#:2[;(2P=&A^[FM^K?XY." M43*K R112O52 3P*#<;7^0 "!2]M%D\>E\_M"HSL'^,[-J;&?X5\:#7IU;QN M\(X7]5]M7D1.?*FKNBGW<[@>AI%+'9#AH##E%6)1+&_7ZM2 N.U,X:45V[M0 M=1<5E7WXOW(@'W'Q93H+&_[7IG]^/O^SAL>;V_8ZR/OCG-P!3K]>.IKEKQ?Q M?S"MZ'>GR]_?%?(6!:>KBP5.!#)91W5 T8$4&&XW\[ S MQK8SL9=6GN]1$SM![&3-\TY!2_K,,)<,27OB.2,'IYP%)@7&8(Q)7+8UJSV* ME_R? OY *CU9&#]VGTXRN"[F7HH#6>$Y41+'%)/U59>#((L$[HNPW&*=MWZ< M5I5G:=T._"^W=-\/$%Z*7=R]/[];HIV8(&0V24-BK#X-H&C4^>#!N9PQ1*:# MV*&MY0@4;VWMQ?;1R:2.5TT*P IEP? 'L!+F4+ M&5DTP1JE=*/2RY!L;&TLZ*46^OM#T(G,0SRC _7+)7N#CD5\X'-;3$=\ MCOSC;";,1BL>N0(?1 2E.;E;HV4-2%)Q5EK;J/QZ*IL)O93&<%0@HRUU";T M;Y, ZTOV(5N31*,-T2]CB.* ^&LW5'$7)7<0=-R>KR8=*T*;!&8]7\U'!]$& M#2*A\,D:+['-X](7.51Q)R@\.51Q%[UT *K]!??$(#49,;A@#.@@ZE@C51O1 M*>E5PM?KT9APK$$!)SY4<2=P'6.HXBZ:[@#MMSMHUV'8U:R^.A^\D.U3T!YK M ZT'GU0 GG*)0CA4Y@BC%6^2U/EPBN9H>6K XMZJZPV#5RR0 ++-#*3)JL[; M*A0/U:5MINA+?X?P";]S4U$6;N/H\ MS_/S^:?OJP$T#UZ5*"$71M&8U06"X70.15&R"U*Q#66A2.HKK8IN)Q M!.9.U*):0;JER0V KGY,+CXOE+B+4&JG,Y\H*20:69\.8.WLC(ZBUUIZ-:&8 M%"4C=;6SM"8\=9ZX]&!@XV.I'[L:VMF\GGZ=9ISEM:MQW%%0C@Y8JM$'J8J" M=6W!.LFU1)=%;)/0-V?M1*?BG?(QMC>R7IZQU8=@&F]V_MD7_S8','Z<]QZB0=-V\(8/0!#MN("@3H5 XE10SRN5& M$]Y.I#W'FHA*1LK?(HIZ%YK ^:P@%2]"<;*D5M?1?XOVG%WPUW#GZ0Y*[N#& M^7:EWHGB.0\*I*WC7V+TX&2*]#,4RA6A$G--$/HBVW-V@L*3[3F[Z*4#4#4I MAP84@6?'P)9 ,C NU6%A"424)7LNHT\C/<(X\?:<0A4/C?>*>MUG3^W=JS]D)+5NWY^RBN@XP^(%RO\6T M7KNL6?EM-ETM/_SZVU7G1_9$EK"@DF1UD4&A@\@HL"0W1%<*+VU66#Y)5ND,NWFW+Y./\!O__J%_QK]?%///^*/\]GJ\\3K@4W+"$P M+^N&#(J&H_:&?I!%6.^9WG)1W=%)[SPK:6-%)X"2L8?AM9?.V]E_8UA\_',^ MT<%B5-%0WLA)A76P36"HR=EHZ6/.SMQ=O#*:]5P3?:(-)R=A-_LAXV]C,60" M."DA81"J@-8F5/4Y<"HP8"YF3*(X'U)?-E/)/OE=C_U;S<[H^+O8S8_SB\4D M&Y-D00\4M!90F"PXX3*(['P,*O(<3%=F4ZD^^>V/W5O-SM@XD1E@:X$M/]!G M+[ZNAPC^>%&G[M=9FV&6<-"VQ2V_JT6OXCYL'J=!448E P$(I.(<5)01@K82 M>)$F2R]=J_5-I]*@6$@ )N M07$7)7=0X[BJ2;5+R4]L2= M@# ?2"L=(6I3-^?&>^;)*@,9(:C, CBI%$1>@H^V1.?:=&7WU!&XOSX? <8> MPAT[]SD3C/M*_Z8!PEF&5BD+5M9U&2[4^PX>ZK(R$YBQ,;"P57IRYX/[T/0^ M"IH/)*T>-&TI4_G?"PIFRQ3SK?Z7ZZTIWYDC@Q"\1 4"M:YO\"6X%!"\-5C? M%C"?MH?"+M\\;EUM2*PTDW<')\KM?NH02#+&$] M/*(X@8Z@0Z*4_?72 :B:- GR)(T1DFPVF00*LX6 5M#/6/3"N\Q2FT[@E_Z( M8B=P'>,1Q2Z:[@#M#W6@)J&+5756H:2X0C%1>_!+;7DPW.=@E&O=A+9CP_!I M/9S8"2%;- SOHJX.$#? 53K!1]B<*$S17M=+:@:NT %EL23D+&;1:-7)D1J& MV[6:=!$>'!D!IXSYS6J6=Q>KY2K,\G3VZ7*EWB1:YZ.R&8IR:_E[\&@89"MD MR5HZ&".(W0,QTP"JA(@6&$D&6 MXDV0&H/K[(QXAJ.3;_4=Q4Z&A$D7??3$_Y?Y;!W_O0I_3%=7NU,?+?Q.O"39 M%J8)L*JF2#Q#"+9 228;8ETQTV;@U=(^;1@/?!5[68+ MAA(\YC)X73Q8*9.@-)"K1A./=R!R =W\ZL>4,/R(XG^!_HWOT]RY-GSF"#E M.D*4.UYOQ?WZ!:XV3H2@VLR^VH7*<2/<5OAZP'^UT=NIN*X#&LF>^+0FCJQE M,]@N>'-.U[54$8J.'%0*#BCJBF!L$DI)9KUH%IHHS+JIX%_B9)#S]BC_-EWMYL.<_]'!'MB/A _FS MS2;>*X!Q69A+P4+QEM2?LX3H4$&.EF6*OGU0;2IYM^D8(LJZEMW;&DOG-&LSE.,YRL;U10>@X:& :3 5G*:G M6=<2VOB;S4L\Q$0;WX.!SC+K V2C&:C:]>5LW5''!6<^:^=]HZ$&@_J> M[U6H)V5[:1+7$OYN%Q:Y\8(D8'0AHY-T#,?$R?($)LE+,4HTNMH]C/"N/-&IWK>H>K^R7C%E($IO0#GK.,LLVD:C=7>ALBNOM0M*[G4E MME)-#V54TL@Z);Z45V5M/JM='.LFN:*+QG!@QB859K%62C MAL&'R!G[+>)@ZK[;^W>P[#L T!9FMVEKY,R9$"P#F[TEQA*Y>A(08"E,%";1 MJ#8=3EN3V,/)>! <=C\@]]!-%UT3-UC[!5=UK0]%PNO)!W5J0C77?Y'TJL/? M<,@PDD4J ]984P.-"-Z@@*(#\YZLM^@V]_&[4MK]*;H/9!X'YO#:Z\LI?ER$ MV?+\4G_Y?RXNN=MP):+&R"GX99IPHU!$<-)KR(+B7H_$L&WS8G8[^L9M4#LZ M$H?25%_X>RH6_NFZSTF6[+)"!464NJ4AULJ]0\B*BVR3LMRU65BZ*Z7=8W*8 M'*.I CL *+% /G^)K_'ROV]G]T=^?)B?G_\X7]2&O(EC)DO.$Z#V),M2YTLF M,D(>$M)/DHF-;HAW)+3[P_L U,R/I\(.$'J?F0GS6(QR K0J=,[$]2-%K)%( M22$1>XD?:R_CN#AKJOI[MRT'Z6%O)/VQ'AE-R?]B-0B>GC)(BH'?E8_AK_?S MQ5J%J\MVE76-9?Y^K9*)D!R5K4L9O>*UO%.?@60#.1H1199&89LVA0,)'_? M/B92CZGA/AUDY$5&]/7EH)6@9-(0,YTN3!55='36\T9OV/9SD,U>'HSL('?1 MPX$.\LTL-RK)7AH/VT MA2!+HG C)?"N&RA+J+1H_FI4-WXAV^24_8)DO\/L7TG^6JVDZF]7'=SC] M-+O3QQ1DD!)] I.X 66#AE!T )VLB5;$+%.;?KP#">_7.>V"LL>[TMIKLX> M^IK=[S7F*]:)W3=_U3<35X]^[K!*@:)52FLHH>]/].B986/0MM5B5X!]4PJFU77&2WQ^"*OU//I9FIY/UTJ]PVN15@@?-7"L MDXYJ7.'KY"2T)J-4GKZNT0"U Z@>/:ML#-G&>NP*LZ\W!!"39\LEKI9TCOPT M#9'X7$WQ;H>SI.C76F_!)1*R4E9!"+Y -Q-3NV1VDY[ M/8#TXLN7L/AVX]BH3QBGLT](9H@W7EVCS0%=9!3<$$NJB .E8)DF9>4HI4< MV\3PVU(X[FJD9C!LH9\NWT7<2%/K-79<1^#O%_.OTR5]+/WBQE\XX(G$/E\S M: Z^'W-'R-*-4R%Y03F,Y9)"0HW@BE; #>.<85!2MVG,:'[Y5T7^(YGLI>E< MD/6\^P,7:QTN[V1Z)/Y-KC?Q)3F9K24[#9S,*D:(+@=06!@%R((+TZP18%^B M^\W.=T'7PU>'[;78P7F\!ZN;&XE)MB*DVCBFB:?+6G4(60/]7I 8O*#_]H+7 M#O^?1V1N21Z4X4 M8ZH6&R#+D$'5M;\1DP/FDS:!Q)0;C>1OR%2_2?V1\=X$!?L;1%WLWCZL_7Y+ M-_\>SE\'@E(.T2/6SBU78KW@5.+4 MHME7%XMJY^MG8O42@O[!^;V+WDD,(5A*."';VFF98@+'/*^U")Z$S9K'-G' M5N3U&Z'N@IA[\U@&UTP'I_N&J>N*UUUV?.(Z1$L"X\+5Y0&B3BQ-8*W5P2N- M1C8:\_,T8?U&E0- ;!!M] .N1ZI5$_2YQ'4;")WR)*EL(%AT@$(C(REYV:B_ M[VFZ^@W@!H#6$+H8+ 8[:&CB^FM_1-)&.'^,*V8M8]J0]\W!@@J.["4)"4;R M'+17V<8V#1C;T==O5>40I#7030>^[(JK6\?_H]8DI.)9>P@R4!# @JP=LQ)* MTHES+V6R;0:W[$)EO\64(= WN)XZPN F/GB,*\Z1XDSEP:&N0P=10$R*TG[' MT"@EDXMM>B&VHV\KW)E3Q=V NND(<8^QXQ,+WG*26%:J9CN13$DY8"*57(05 M-K4)X9XA;"N,V5/%V!#:Z""(>YP-K6STB;*<6L2))4#$3.&!#K1"J^=*110@2N% M0S R,)VC3>A/[1)VF\;%L]4FP:F1Y@5]WK=;?WDB/#I#,@%G76T75PRB#:Q. MFM>.:271M,D!!B"^WPO<7=!V;T#:D;7:0?RV#?*S!B^(@VVQRCJR@:C0N> #J^[V!;HWA0?5Z(EC^95XCM OZ:_$< M-\%X7>I'A'\F='C8QUJ8LB7&6ZDP')RU$DSTP;R@NER5R-EY, ML3T?_=Y[M\9W(UV?"-)K9SM1-ETMKWB>:,-U%%:"%KF RMR"<\P#VA)C\-DI MUJ:%8S]Z^[TS;XW< W6W.T+])4)G^&D]3?%@H-8\?OS/:Y"X1A2.GW'GT?+(Z@GA/QF@^=&0_O M(JZ;Z"9,&ZL2J[-%C0;%E06O3(&2#3,4[O/"VK2&#<]+O[?X8\0) ^G\A%&_ M'HDV01$UE\Q0.)02'3NAWG>G6-OI$QF_0%/:M*0=1':_180QL+R[)D\$MN\7 MT_GBORD^NGD!HUBQ3H4,J#%>-M[[X#@49VUVF9.IMEECNR_%6X'5OT2P'JR_ M$\'IJ\]A]HG^PKV'[_\.YQ>7FCX_G_\99@DG);DZNTN"*8Q=+K'T,M?%N;HD MM!Y=HV;S@1G9KJK!7B*L6ZG[1-!>D]>+]5"'_YK'Y5E:O2N"<7N5-"0EZ@Q+ M!2F8.G1$4-)0;UZ,9YH2!YV=;+,XX7#:M\/TBRS5#:C4;F'\T$.[22I%9&X# M).-D#9LHVL^2I*N,E!)S"*;1FM>M:=P.EB^D#'>PDGIOH[GY^N_>"1)N3W&15M8"AKJ6CB*2>F\#EX%R 49X2PY.KA/K>WFGJC_ MM9@OE]^7J=OLM0H%+!,%E*=,,13FP?FBF(E:&M^VK_EANOIMEMD%(X_UF@Z@ MBPY.UWO<;#SU[%-]TOXJ+!;?RN7P=,KVB)MLHX6Z^N&RK!%+MB0U0;^OT6"C M+>H[$#DNYH;$QG.P&TA1'6#PNH)VDXNS+_.+67TU'*/A01$J2%#*>T$B,Q0\ M9(6L9.><;M-'_P11XW92-<384(KH %/WI/1^,2>#67U[?QYF*TJ-Z@J'RWX" M;WCTDD?(FE/XL20YBHNR=169S<5;:1I.M MAN)@W*:F8X+W&"KN$=JWGU]-G$6MN#9@O7*@M*"C(@N[7GZGC0Z,ES89V#.$ MC=NC=$P@'J"0'O%UWZYN%OK)MC9/M)9/= ((J8/!S$ $PTF^6='QD20@\IR9 M]L:Z(YWR W S;H?3N"ZUK>I[A/^_YO/\Y_3\G+A]2VJ>?:K] I=_-'&."R=T M!A%)SDK7027:)6#.1\%,,-8>*2=_@LIQVY6."=>A5-4C#"];4Y1VS$J,4#!9 M4.A,765KP>CBI4HH##_6)=#XW4-'O>_96?P]@F@MH(F4G@4O#7!']J"X,M44 M)"3#N-6!XN%&P],>IF?=Q=_!.(1M>C-B*5@D2@CKCKE4&/@@(VB- MT1KIJJ @."D Y]%DL)I8TN;;HRBW&PS? ME4=$_^:O='Z1I[-/ET7#Y7M'&9G89 M8Q'.9LBEAJ2190C)>_#)^10L626VZ31MS5F_33"[X/2N]^P*#QWDN8_P/]$L M919(J,76E29U2:[7M7E<&XI^DT[TGR:P?H2@<='8%VKFPZMP;R3^@8OIO(YF M7:Q:XO$UI@6&)=:GZA?GM7FH+BU9/^UYOZ: _N[[^7)ZV:FKHS-,4ASMM16@ M:LMXX(E^L$$D&W6.J8U/'H+Z<9MT3A'I[<#13UK_".MT3.[ .D-*,T7,(#B2 M[%$*\+).KI7,NLP8O['2\AAVL1/UX[82G:)=M -'OX'+PSQO5B4\P+4WR*+5 MY T$#Z 24MI<7Y$P;1@70O@DV[1I#D/_N"U*+\) T:_ .5,KGUAX)/?#&AU1#:[EUC.A;HHV MQ'.<,)U%\EP#DXGRTV+KLX^B08JH94@U,#?/8>'!3^[W#FL7I=X:J'60\#HX MH*[I/[M8?9XOIJMO9W]-EY.@7)'$!BBOZ[PC3;[2V$*N4X128E1"-EYC?HN> M<8 S@((?6PFPO[2[Q,SK^1C!:^<*Q**..A9I+ MBCIQ. =H^UD [2'Z#B!TM5G^50WD%M]^QB\1%Y.!):A;5BB0\K6ST7(( M.DA5"EJ,V 0_#Y+3&WCVT?3=8O7!8N\ .[?&L/_7Q6*ZS--4U;)A)TKM0JE3 M)];5?#01G!0>=,K)H1814YNZZ3.$=3(X?T@\#:F*$9&U/NA?4<)1YHO9-*RY MNN(@&DH0700TE.HI6(J:VR@6\5"S_X\9W,H1\"$@/)<&P4K+NC M;Q+/)>?%JCHS<7WA)"T$7 _%-]%GS[2^^PCM$0#<_>1.9K0/ION#)#>VVF]$ M^3]-9_AVA5]J>W,PSL0(Q+8DW!9BP+(Z^;AH8V*(UNBM5/_0IX]S&@R7T@PC MM@["B"C/2D0Q22+9%W!J=KN09$UA=L18C#<*,4$DVUW%1_ZI*"Y%QH&5$/K MH@/?],1L'BZ$1(X",)C:IF[K^#M$$)HQ9J0IC+=IJCEP9M+@T6P;, TD^0XP M]/&)83P\RLPD,5!4SJ!RJ7TWQ@%:A3JP1+ZW3:K\!%'CQ,5M4#24[/>&T5=< MQ'GKWM3,N4DBTGG-!*C@),0H#,7Y.J;:[&CB47LVQJEEMP'0$#+OP <]WOQQ M*:[W. OG]=W,Y7MW))VM-O-M)EI0Y%<[RWU*%!-JG8"L@SBW@@M+3C>6-N'3 M 42/,U?CJ! <7'>#P73(_HA?<'7): T#WN/BU?S+E_EL/2-DGPZ)IS[N\!Z) MK8D=J$OB35C4YIOZ5>LO^3X659&"*: &BJI=?1<>(7@9H=!GF)1BQM*FN^DQ MB@Z>'7[G[5B/?^A3=W-0X2W=CHZJ!+2_]_>M?:VU>/H M[_M?M*/[Y>9LS3O<\;[^;/D&KM/-]7K-,TI/.UBUJ4$\B?76%C,G M0)=UJ7D>RS3W]2(K9V:]ES()3"&VZ:_9EYOV8+/M&$=B77E)ODCF3$!%$>.E']O&LMC ),'Q?S,EU5'B:Y$)$2*)1QJM:& M9L6B=L!,X"4+;Z0K;5[\[V@8%C8=J'3>B71'<'_Z!TZOOM2]0F"#*WQ_4PML M/I2-&_'A9K5VRSM7:-.8P-'!.305+([24R< 49C]ZYX&4(N_'QG4+H M)'*'+8_LPTBUU^(HC-A1;$Z<]UCER8T:#Q]%YK"F ML ?@G /5HW0X"HBN7QW7:2!P?2](6[Y:K1;3>+-:!^7S72?PC_"C_O"KQ:(. M>:U_7$[0Y* \-\1I=893$BP6G9G2CMO"8\JBS1WW^;0/:VG[!W//VAZOO_#3 M[<,]44]D4B[5&I:2T-3WT72^)87$GG1 'E76NDTGDB,)';9>?C1FN!,]CJ!W MZ9-.U\0$YX34AV%NOR']/5 MES!XD4Z:6 M'X(-+*)RS$L=C10E.-OF+OL XH;N9-L]BAX5(W2LH,F])LHL97-^)__6/ M/^/\:@'?OI 34ML6/BC?J1-#*&[*3&IEF1:),]J;EJ'(*=,O3N)J+9MCB;X, M^W<,ZA[WF.]'HR.X][M7=T9.[>K''].,.W/_8?: V=_GLZO?R>O-F_>2[V;O M9GGZ?9IOH'9.Q.G5;-,HAMSAUS^V/6-VLM%>AZ)283)C]7AU(8\W"!9Y4+9D M*PQO4W#9)Y=#M_]NOSU&BYD1[*HV_T)Q [=Q+L]NEMK\#*=X>T/Q'NGWR>\.J\$]_Q%>W"@ MCV.\9]=:(A#N1*Q=1X%I4PSAO-8H%6UTTDB&\J)=Z]U)LUUP^:1/MNXG]M,A ML^E2 ]%Q92S4)X2::>T\B]%J%C4@+UKIJ-I4BIQ']V4XV,=@;[\'T5RO _H$ MR\5JT^^N7J;LS =<;YIZ%AN==RWK(EG6;L&KRM\\38:QT/%- A;':[<3KBS'+> A8 M-#@AU'-V9XGIWZ_FW_^T_<8-0+9_6>-CT\3N;KT!8="-TN9G27!@(_'V9C'_ M=MM>40)(,HNAQLZ6T.]+G9EE652*)U0B>'%0L^2#[,+]E8>Y$ND> V=)=.B& ME:_H)"7^EV__]V^?M^2KDJ4G_EDV4C&=/&?>6@I;(S$6/"I_8*?2Q]\]S#U! M@VW?@>B&UOQ?ICE?XUM8UBN,5Z6RLN4"LG$Q$!+0!QKEEPBKPB5R?9U^;N MJ$MTFI<$Z:!RHX/.A4?+#U,NU.9P.$^V([B^/C(,^_VN7Q0H\%9#9LDHDAC4 MH9S&9F:,YMH(:YQO\T#Z5(J'3=,,$/CVJN+Q0'G?/=:[V>UH.&*3?M5.91.M M,"=T@65?2_+0.>:3)ENN-;<1G9*B3>'E"<2.XI:P,8KVY^6;J/0R4S,?:T"R M6/V 67[[/S?3;_5,ZS=/-I)G4.$I01(\#1EQF8$%01:^ M9%, V@PPNHP,3H(!R53'P11!898!8$JE9+2*4NF#KC+_/X-S)O8ZSN < MH]>A[]GWWB9'0%"U3%_2$Z+4\P&&8J0!8TZZ G KY?!.4J]!V5PCI'U M.#(XCONB38G,Q5!?Q4%A,;G"O/#12W .X;GGKK]"!N(;.WQVF\YY3-N?H_$@)CN?*ZOA+ M%0S 91O;V ^7L.L M9LONKF'>XVJ"65"PF3P3PFNFI7.TOV.JXUZSU29)9]JTD7V.JE'$[(UQ\;B] M83=*&FEGZ1?O"6\_?3-?KI8M;TB?7*B'B]"7&>SYOI-G5T) Q=!(PI*LO8TB M)#*@(?&$'C-<]./V-_!MNB(E_1/S?=G_>;'N(:JTU$ID9E2FL,,ZR0)RQ;A3 MH@1R1QRVZ5/T'%6CL'N=XN;1BYZN=#*"!W9 &TG:^A"DY*X*//%USI"]4.\GEZ= M.Z[AO 7[2#D>S'#/)ZXIV@AI$W/K5JM9>()Q!(905 ID_*#1H^M^VR]\PGIA M,)U=/:F(B?-U>'R@2$UK68?4(PLE%&8@*.\SQM#()AY$WF6ZN">Z5?ZD0_E,WVZ+"1/^K?-?4(LQBLC"N-9U$@K>Q92K",0 MZX1.J:QK- ZU&_HOXTAO#MYN]?PKH/OS"A:KWV"%Z\R=)^E'[2PSV:]O$ M=LGEB$I:D4&/+%AJC?4?HA=OW$_%T"JQ/5.ZE8/95DT[SKV1QU=P^'7N]:;/"BEZ.%B;R*&OMI[ MR/3=Y=Z?VF8L-VE@V+4DFV(O"VWRVX<:9\@YQ0X\H(G661#E)=_MV17&C)-3%#GO M6JI#0^/MUD'] ZIP5C^V+!CGI,^W(: R1) M@79>4)<*&0' ]O8Y7Q=_&^F,4\@DU.+OD#)M/@I*3-(E^P):YT8EA,]0-4KW M^D3]']IT_EAE#'V<[67D[OYT_AI?3Z^OJ_6O=C[7\;3_A;#8IA,F/&@T];0N MPO&:2R Q&NU8T@#D4WKO'H[)WG/RG4W** W9>7@;0$=C0>0_'G+[<3&=+S97 M]^_GJT^8YE>S6K4["=R %THQ6Y\::EGHO$@H6"I&0-3""9..0N#!2P\[7:,] MXMKH8*2'Z=VPD#IE/T^7?&Y=E/+U8/[48!S#:=P&&Q0(F M&68SKV.IT3&(V3%?M+6&IP2R3=*NK_?E#X6^K6&6RDDC#4N\-C<*/K)8+#"+ MCH>4T:%N4W?R-#T74G1Q!%:>,'OGZF'@[H-_@?^>+W8M1FK.UFH5M=>&98PU M9QN@7C1&5@)%W")D;E5W@P >KS\L:KK0Z+PS\0X,CO?P%3^4GWC8IN54$=EK M[5D.=>2-")J%VGK>1Y,E^L*A=-?T="\9P_4D/%>O\ZZ%//3]ZN\W7W'V5TQ? M9O/K^=44E^]FM\,O% IR'[5@+G'.M+04U"H9&:^U(=)*GM1AXV7VKS$<$#K2 MWKQ[40Z-B \SO)7(EGH+:"&L PQ9Y^Z1$07E:[[ :UZ4ER;P@X#PZ*N':U39 M0/_G"6XR #'3$$B<1168N2RM$*XVS].4K+/Z^WH0FNT+"D2P)52M1B+U$V;,U!/V?@Z:H8);1NN=ENPY1UDJEN$!5=]3>!02*Q&3"9<\.5 MD&UF"+U$V<@LUUDX>!%D9RAE!"![X[?1KVHI4@^L;"9 MV:=5;6<=F'(YBNJ_RM#FK-Q'TYR-*AHJC'RMJ6 MH4[SQ2R)'8TY%.-2;%:1LH>F8:OM^G"Z3A/_&(&TZW,C)B9**83B3)8B6+V$ M8Z!E9DH61]LE%TC-RNGV4C6R<^]$S;\$J%/5T+Z*9/L/];<(2_R/?_L_4$L# M!!0 ( -V!5E1\U&3H>@, !,4 > 8V%L>"TR,#(Q,3(S,7AE>#(Q M,7-U8G-I9&DN:'1M[5A;;]LV%'[?KV!5;-V Z&8KOLB.@<9V5V^9&]@*@CT- ME$C;7"A2(&D[[J_?$66O:5VGJ0-LRU(]$)8.S^WCQT/S=%\,WO63WR^':&%R MCBZOSB]&?>2XOG]=[_O^(!F@M\EO%RCR@A E"@O-#),"<]\?CAWD+(PI8M]? MK]?>NNY)-?>3B5^:BGPNI:8>,<3I=M]U7[@N&LALF5-A4*8H-I2@ MI69BCJX)U3?(=;>S^K+8*#9?&%0+:C5T+=4-6^%*;ICAM+>ST_6K]ZYOG713 M23:]+F$KQ,B9PZ)&,\0TPU&6IE'S-&@U@ED+I_564&^=XG;CCQ""]&%ZI:/- MAM,S)V?"7=#2?QS5O.9I83IK1LPB#H/@>\=.[75G4ACPIT"_^EF9V3-FZ*UQ M,6=S$=N4G$IU)\XDERI^&=BG4TK<&J M_IT\IE?GT]%@]'HR&D[1NS3M$D^'/HVDR>3U.OBIZ@U-.=Q-2J0A5+F3! M<:%IO/O1(4P7'&]B)FPP5JF38S4'CJ32&)G')3]65!F68;YU8OU5XBUUVFVO M&31+]AA V9"=XRVQ/$LLWY!]6=3RZF']H#CPPH.R>\UZ[?"PYM%6ZU[4;#S( MK&^!J, N'6!Q9E3=W8*!28$2D-<*VY1" C?64).9WN(5V#_XZ2$@E!%1F@F M%2YK9+P40*5R%FP[ >5I@\8XIW]SOXARX,\1Y C2^B$Y38.(^S\1007C"!'T>K MF7V>5-)W::71U:\GEC9WJ\MQ(WJ\B?WQ*#9_LBA'L?GI+>Q0S#D6Y 26]-F5 MRM&@CRX57%@,11)>=* ME#L-30WL._WLBHXET+G"FG$TI6K%,JG+LQ1_^P_V,[W/'M]?^K^R8 M?-)!*F350HL5Y;#%5W2OI_2A%V';"L$'%9QJR9?FL,JA[LS!!M5VK-IEMG'7 M^PM02P,$% @ W8%65#K$6GQ/ P U@D !X !C86QX+3(P,C$Q,C,Q M>&5X,C,Q:W!M9V-O;BYH=&W-5FUOVS80_KY?P3I8N@&61(FR9,FN@=5.MF)I M9J0>@GT::(JRB4JD0-)QO%^_HV1E[HN'#.B Z -Q%.^.S]T]/'+Z:O';?/7' M\@IM;5VAY>]O;][-T< +@GLR#X+%:H%^6;V_0;&/0[325!IAA9*T"H*KVP$: M;*UM\B#8[_?^GOA*;X+57>!*#=NA6VXK/>SS3H MYM.@W62Z5L5A-BW$ Q+%FX%@*5M'<1WXZ:NQD+PJ[S4.,OQ^TJK-IJ:2%_338=V+GY@MG MEC]:CU9B(_,VI$%GVB\S52F=7^#VF[@5KZ2UJ [YZY6HN4&W?(_N5$WEZZ&! M,GB&:U%VBD;\Q?,,T+6S?85D+R/((PC5EJ.WBNK"A;T0FC.KM'DAX.:0 MO,C\>0,K)>4SWN.V)%'5B$+V162*=TH35UG0^L#TKP$-DGFEEH- MW3+LJ& L-"S7CE+2724PX1$I)?'..EU(I*0M)>39-SK$XR?]$E,1L>]HAB'&&RI++KY:!QF MZ8\(X%\K7:,/WKA=>PJ@-1B=*A#'-[73$#SDQJ*B;=/7?*UW5!]0! A<4QZB MO;!;4#(-,+-/J44?6+YX%O>&10/@?$[J&@[&SYTW^PYWT MR=B]>-JWU^QO4$L#!!0 ( -V!5E1HP7Z3:0@ (HM 7 8V%L>"TR M,#(Q,3(S,7AE>#,Q,2YH=&WM6N]S&C<3_O[^%2J>-[5GX. .B&WL>,;!9,HT MM3T.:=I/'=UI#S36G:Z2#DS_^JZDPV!C-R3]8>(D,\'<:5?:U3YZ=B5T_-W9 M17_TZ^6 3$PFR.7[UV^'?5)K-)L?VOUF\VQT1GX8_?26=()62$:*YIH;+G,J MFLW!>8W4)L84O69S-IL%LW8@U;@YNFK:KCI-(:6&@!E6.SFV;_ 3*#OYW_%W MC08YDTF906Y(HH :8*34/!^3#PST-6DT*JF^+.:*CR>&1*TH(A^DNN93ZML- M-P).%OT<-_WS<=,-==&<2"%5;Z?E_AW9ED9*,R[FO>]' M/ --SF%&KF1&\^_K&L/0T*!XZ@4U_P-ZAVB=>YIYB_>Q&\%S6'@01M;FP]9NJ,;IN9.%Z7;$\P:D&]32F]P=7H^&;8?]T-+PX)Q=OR.75 M\+P_O#Q]2P:_#/KO1\.?!_@:)097C[JV);YGYX/WC4N?GD[^)6<]DEUK).$E"&IW-B)M2\V.D>'&VZ'@K*&))50T!J>NV7BQ7"J M!/0 <[M+\QA82C)\4AQ#G]($7RDB,TQ%1GJY-8$<0ZTU57,KDM%K<%BX[5/C M.X;&X)#"U0@XAA5(N,*: ,5R5$=+&"@RF_!D0G1I/Y;Z,U!0=6(=R+@66#S8 M.F3&S00=U 4DSD#;;X&F289N3E&-D7B^.@W/ X#M+P> 0%*>8X@M6I8AK2/Z M4!R;U4H[SY%($%M8N.+W1)262! V*_&K(^2X$G-28-0M8"V0A5@BL@*#OCJGK!TH-,4XZ/+FA#0A4X>&"X>2S M92U 3,:"ZXD5MV(94J.E1_O,N$Z$U"7J6=)44GB<%$HFP/"U)KL("P:(,Q_[ MP4TRH?D8R"GRT54I4")LTT;8W84]IQIVF7_RC]P6B+G'I^V?6-):@:V'D;5E MXX'2.P.E.- B.Z^"&25LQM^XGNK>!^A^=!^@X<%3 727[FT)0@^"5MO.PAEH MW !@J%PJ^SB.ZC;+)K34FZO8=!<#8J(:R2=062KL 'EIRK5C.Y2"W/5CZ^QYHQ3Q:T#W.=YQ_ZY[:G4 M-O>Z-:E=HG;<*#6@00:YV"H5%-&=E():2D>WG!'+'(X:OB)8+63P6PQ6$%D7 M]8%MS++;#>)X6T"\'W2C=1!O3%5K6-ZBM--B: M.?WX)H?$BVK,ZD-OK>'D=B73K"CWTO,N]CU[B,J*<(8*>R>=&4X M[I+ G1/D=T^(]KQ5$ZIOJPQ+?@[VP%Q698*UUO3:-8OAJI]&V:=R^P MRRSCQ@#\13:()182MIUQM,]ULHLP1O+5EMSQKRVB%VL/?B\YFN_669DG[EQA M[]L.Z]])[Z<"RS(L$SG"S.YH[=XXX8"XJ%+T[4YG!O3:YEQ?IKFLZPI,=["Y M. #Z)+15FQ)_GO G5&&BAINV>Q19%9E*:H@O+!ZK/O$KS'KZS)#<. <.6>J M+/+@49EC.O(L\OG6;8%.,6VG"@FCCC$'QW&(&G<(7<&K[K,>SZ=23,&FOIR. MJ[-T5=$B9(60<\#6V41Z+J1WP(M@^T?J@F - D\21U]A;@A'A)IQ&[BJ-<9U M *J!I@I::.@MOAQA^B@$G?=X[D9T2D=57[$T1F8.W5.;@[!LJ7Z#==#VS=6E M@,/#X*#;MO<"C,+_;#%P=64@<%<&FH:MMW7:0:=U^&AS*P@_JRT*N@>?I_F7 MQ@;A_N.M6V9K.^AV-YO8I@N:#QQ"0Q_>B; +>PT= MLOC/J<[=23E#^G"E 7D#L2KMCV=1Y'XC7?XV7TW%W_?2P_]I'+W'!1_WJ64] MJGVU[F\[<%_L=# EN<^56QIW'-QPB7[E@?Y*W:_2NTW^Z!)QOR:0A7E?RB+X M!OQOP'^N!-^?4(X[R]SM._L3#BD9W$!2VJ-KPUVMU+_Q,&[C_6VO?6 MET73U>L/[ ;N7=PMI+^YW/,_2DYA[2KODDE_I>SN2Y_\"5!+ P04 " #=@594%:K]/WD( !O+@ %P &-A;'@M M,C R,3$R,S%X97@S,3(N:'1M[5IK;]LX%OV^OX+C8#L)X)?\2!PG#9 Z#L;8 M;A(D+KKS:4%)E$U$%C4D90E/R(DZG;F6F<= K4DPW,O*9[^ M=''=&_YZTR=C/8G)S:L>&4J:**ZY M2&AS4E."7T?#L M'Z<_52KD0@39A"6:!))1S4*2*9Z,R.>0J7M2J>12/9'.)1^--6G4&PWR6S^MV4%.?1'.STY#/B4\?%_BT6&SS0X[?KM=;[>\P\.. MU_%I)PR.?:\5LN#XOQZ4K$'M7&NL*K=E,Y@NE:I+;7%N?# MP?45N;XD-[>#J][@YOPCN1Q,13]>7D.C?/FO:CMAR\^GV[M/YU9 ,K\E= MOVT/CCD:]OBVD_FK56T^J M/BB#4.2LQ5X0F249C%*9" M:B(28<+IK,R7TB9C$+1ZSLW)C[+Q10(1$(YAB" M\@3NG9,LT3)CL #AW49Z.):2"=XDA^LC&J!($C%!--+"R6T()'"U4A2+%B(3 M>L\L%A9]*I2%4 9#QC9-P!A&(. 2:0'$$C2')B&39#;FP9BHS/PLV\^89'DG MQH )5S'R!Y.*S+@>PT"5LL J:/I-H9H(8>84S4+BSU>GX6T L/EZ ,A(Q!.X MV*!EZ=(RT =Q5,N5>IZ 2( MY*YX#N+,$ E@L^*_,B#'93PG*;QN &N ',=+ M1.9@4(^&!NA#FQ27C4060P P%,"*'4Y9?0*JQB2*Q4P5&)5LQ)5&1JT)-85. M;VA97H&:*I39T/9MH*VU;Y@Z$%$$<>K==J 4,DL M/.!N[L?,1BT&3/HQ5V,C;L0FH$9#C^8]Y"J(A-1X#U.N\%$#WZ<&.(+13 MK3?-+%PPA3T 7&5#V9=Q5#91-J"9VKZ)"7<^ R;RD5P %9E$!^"E*5>6[2#% M$MN/R9^7/+G*M1*)M@59'D&70"GG/&PJ.3@3NB@1\]">!JC,5SSD5')C '=Q MWK)_8GK*E(F]=DTJ&Z@M-PK%H) &%YM&*06Z@PQY/B@=9EDEEC$<+5Q&L)K( MX,EG1A"LB_8LW)IEVSL-8G]70'Q4;37N2VQK26 93'AJD4B42 M:MB<*J#H)[*[10JQ!>^ZUZ<3/@M6- 1G*I=6^B+3SVNP M362@"VEF23Z4@$Z^BU#W$77^\\TB0!C M4-@CZ5QQ[)*8/2=(UD^(#IQ68ZH6688A/PM[%MJH8.8A>['1FC-Z;F.O2 M-!MU;8)I#S:+ Z"O0EN^*7'G"4_0&0W14+$%FSV+S#PM11/ "]ECV05^A:BO ML@G @3FRQN11Y,FC,LMTY$W$\YW; ITC;$<2A%&&SYGE.*#&'D+G\"J[J,>3 MJ8BGS(2^A([RLW29TR*;I+&8,]3.QL)Q(5T#+\#VI^0%U0T(O(@?78:Y)1P! M-6TW<'FMCW7 9 6JQC15K%L\G"!\I#&==WEB1[2-3O*^?*&UF%AT3TT,0MJ2 M?X:UT';5^;V X^-JI]TT5P.TQ/^P&#B_-5"UMP9J.MRL:S6KK?KQL]7UJO=- M=8UJN_-M+7]7V:IW]'SMCNG:K+;;VTULS3K-.0[04"E-WI>:I:)!OHJ[C?2! M>.O7(LS"WD"'2+\[U=EK*1>@#YL:D$OFR\Q\/<[#?2Y>?Y?"K^N)4._B]C MZ",N^+)-=6-1Z8!^VZOA9!D?]6*_\^AVRN^^PZ91OWE9=$:7Q[:7PL_\#4$L#!!0 ( -V!5E2V4D.! MV@4 #8H 7 8V%L>"TR,#(Q,3(S,7AE>#,R,2YH=&WM6FU3XS80_MY? ML1>F',PD?DL"Y.68R3EA+E.:,$GHW7WJ*+:,->=8KBP3TE_?E6Q#('!'K^T! M)?G@<;S:U3ZKE5:/1MTW_;$[^WPV@% N(C@[?W\Z=*%2,\V/==@H-P[)A)DB<,LEX3"+3'(PJ4 FE3-JFN5PNC67=X.+"G$U,9:IA1IRGU/"E M7SGNJB_XI,0__JG[IE:#/O>R!8TE>((227W(4A9?P$>?IE^@5BM:N3Q9"781 M2G LQX&/7'QAER272R8C>ES:Z9KY_ZZI.^G.N;\Z[OKL$IC_KL(\6F\&]<-Y MX/E^PV\U6ZU&\W!>/Z!^HV&3X/!W&YTTL7FND\I51-]5%BRNA53UWVXXQF$S MD9TE\V78MBWKYXIN>MP->"RQ/X'Z^6MN9L.8I%>R1B)V$;WR(9B(6TQ*![2B?!UP;SN\CIN("X0N>:*MKGGN8:BI>!K7W<%D M-CP9NKW9<#R"\0F<388C=WC6.X7!IX%[/AO^-L#/V&(P@=ZHOR8_&8YZ^(IO MA?Q!Z,\$Z]GY9'K>&\U@-@;[",Z-J>$:,!VX&KM=;UK5YPZA-X5>?WPV&^! MW*!Y[EZ7(6Y9!RK%9A\&,.U-WO=&@VEM_.ET\!EZ[DQ)',MR'CF!_FLDC7N1 M#*O@$A'!)$M37@6/"LF"51623*09075WG5DL5)AZ #"E,B9B3F*:U\55$5]#SI)*H,%513J1NU(OCC*!/-.%"RUT< M\JLJ#&//@#W58G?GR'&LCLL7"8E7^I_=V0<>PPD7"["MVB\0<*&M!2SUT-J* M$@$T]M'1/O7H8DY%[EW=KJK"84.01=$*/+09,0SPDLE0&Q#TCXP)J@I(JKRY M$X4]@AT+L)M[_OXU3.IE FL@FAE<>2&)+VB)U6[5&T!B/X?+8G1S090][#F6 M!$?(QZ^09EYX-Q"WT!$FT-M$T%3[A2HDB@!-81Z@#GY/T,^T"$%,8D]]QCY\ M79NU"]@HBW)0/*%"NY&6&(K@&AOY^R2)FD?[,7.IJ>>2)/.(EM(Y%SX5-70U M(DE*V^5+QV=I$I%5F\6Z1ZW4*6S-N91\H0*[-L[G8@&F]G!DQ^^ MENN=9A_G_NY.\Z@#)W0N,B)6X#AZ;;NI044H_CG*//V?!NB=M>#;F"R%J/)J MX3_WQ-W=:1QV4OURB38)OXV M\?^O"[P;(EM!(YITN"&C =(BI$B275(8!P%#WJD.Q_;.!$.>DB!1V9#O;TX+ M4^_7O\X&&M?,^I[CMV=(QCGNVJ8,:6I$Q):/;_GXEH]O^?B6C[_(JK?EX]OM MVHM,W%M\?'U#LF4FVU1_393\6[E?^E-JY61CFQ!;^->8!%_F[\Z+*P,Y43^Y MYBKW$_4-^3U$?7.F./_N3/D!3?_.B4,^I&KAB&7;:>A+04]SI# +65J<(F!* MY433\S235&18\U#VO M.R<-&<93W.WVAL77\\./A3Y3J +?:'H?\U_7@;UE2%%'(&OW*;H:<$&5'1+( MHF,?G2[Y^'7<]C%(HN#WZL *Y0K$!8V1PD=K>%4X(O0@(^C$YNE"CGJ3W]^9 M.^4ELX3GM^S:>JBPXXUK9S?%6#-GZT:%S+$B9_)AE8 !$ ( ! M &-A;'@M,C R,3$R,S$N:'1M4$L! A0#% @ W8%65,I&0%0*% MK.$ !$ ( !Y_$" &-A;'@M,C R,3$R,S$N>'-D4$L! A0# M% @ W8%65!Y^7:).)P =XL! !4 ( !( 8# &-A;'@M M,C R,3$R,S%?8V%L+GAM;%!+ 0(4 Q0 ( -V!5E2MO.%=RF8 *".! 5 M " :$M P!C86QX+3(P,C$Q,C,Q7V1E9BYX;6Q02P$"% ,4 M " #=@594Z3QT$A*3 #J" $ % @ &>E , 8V%L>"TR M,#(Q,3(S,5]G,2YJ<&=02P$"% ,4 " #=@594,E(H^VX? 0!\%PP %0 M @ 'B)P0 8V%L>"TR,#(Q,3(S,5]L86(N>&UL4$L! A0#% M @ W8%65.(P<'^UK0 _Q(( !4 ( !@T<% &-A;'@M,C R M,3$R,S%?<')E+GAM;%!+ 0(4 Q0 ( -V!5E1\U&3H>@, !,4 > M " 6OU!0!C86QX+3(P,C$Q,C,Q>&5X,C$Q"TR,#(Q,3(S,7AE>#(S,6MP;6=C;VXN:'1M4$L! A0#% @ W8%6 M5&C!?I-I" BBT !< ( !K/P% &-A;'@M,C R,3$R,S%X M97@S,3$N:'1M4$L! A0#% @ W8%65!6J_3]Y" ;RX !< M ( !2@4& &-A;'@M,C R,3$R,S%X97@S,3(N:'1M4$L! A0#% @ MW8%65+920X':!0 -B@ !< ( !^ T& &-A;'@M,C R,3$R B,S%X97@S,C$N:'1M4$L%!@ , P ,P, <4!@ $! end

K ZWP=#X[+")%C"-PQ%_TQ]]IF"_WZ M32+$NH[,30B>HX7H-;_'@YGR1A^JCQ5":-99U?7P7 M-$T[R5S'O1Z9]UT\^$W1(WNA1P[> MU3&H6J6H;A@N.R[6.CSL^/;T(I2"+,E#XTC]- MGOQ372"BIH,+E6>LVVW_G8_YHK7;D_0:O,&"[T3FHL:=MB;<6$++F((&21H)A:MO#E((S6-H:L9:.!EE\.>^]Q=LZE6^&9S\F"8[10Q7,AMZ+> M:3LR;J5W(?,V0;0[87WE4X]JZWUTQ&=79BF,J\T;-DZ-"BR45&=FQ)K.9>O0 M,72@>;0ZH4I%LDXNX?W/>L)4::&-!C[$NLG+\I"WT2@4T8)/EJ!8YB'2BL&K MK*S ;'W13;:;*R">MGOY4&TT:!^UAK)^ [J :>H57H-S&G?NPOZ>-EO<1Z/%\[.6F M1?L:[7TOQ[B)46#AVF8)Q7+:O\1RIDX=F:R8CABB9J;1H.ON((]O5QR@SF[N M\,&Z:."=W _US5^3-515VTX$F4D09+TH0Z#)V,U QHU#)Y4,6IR(-I<@'S=M M'J:+'G>;V70^>#.<5R/JQ3@//PSS(HR6&RGME#$%84!K55LSD&'D'*8>R,R2,2>]A, TO3\^ M3XH#I-_BKF4G0&?1&6T\2,L9J!(1V2?UCI.RJHUQ[JU6:]3%^][2/^3%_=:UHWI MBZ5P*X6W4C&O2.,^2V^48DER*3/;-GWQOL>=? *CLMI%GB(8LGS)N8J&+&B? MP%C:WK@DWZI1,L?AV+^TXG.96+3DKT+0!D&)Q('.C@0EBFR\9TSF+Z'[PN,L M/M_G/3AU\?D^1#I>_*7WD14=!+',DR,OW7K49)N1&^E*+!"+=8D[E7(.Y_5& M]2V"K^_:%T&^%B9\;Y1:8L.$/:WR?A_%F$T+$/,UXIE?E],TSO:TJXT,4B9<2-J W N/2CI M$+Q."CB6$GA=]LT6('>T@]CGR2>O,M]+33=[0S23<0/'\WKQ'\/"2V2&=D(A M0 4>P'/+P,04,2M+_VUSG?+("L\/L0$>KI$OI?"\RYJ^%IX_H/!\+[(2_-[%0SOH[8&UMXU M8W13EHJ9H= ,'&.U-E4PLE5"AB*]LCFJQ$J;:.46,%_Y<["*=NY$+1,;EM^Y M)<4?/]:_8J_9#9V>U'^*P_X+O)'G0&LR*::&UU,HU2WDR<[/!LM?P?S=BAK30T\ MRYH[&X&)PD$A+<5+VA)*2;YP;TQH9"AVPW>&>VZ_K+OE8/>OMKX[>*Y'-KTL M_SFE"1,'IF!43:8F3PNC!G[]M9[W_, MD^%%SQ)OT.=EA>P%G9A#S%=@)1&]SQHAA!!KZWL-,4<- K6,)2(:I_8CPJUG M/%$6'";K%A=QO=U-1NV3M-Q5&D@@OP/!&TG.B$':XU@NEK7Q')]B:L(AY]1I M5'XNJ0DOQF2.DQ=$!W7]N%_J/ZB+KE=%D;QGK8NLTS@5^5>UE1LZ#6A$=%9H M(76;'+4[0'WY08N]6#)IHZT&]V@[H*U=]2[@FL8B[H1WFJ!";\KL1I(#-'%\ MNH2818P9=$IEU2;3(1PA( %U.NLU0C!/0Y)[;^Q.Q9 \%]&V)/Y_,R#1\ MA1]PO,#?IY.\2)?]XYDPR(H6D$5A=7B9!L^] NF%S-H[F93K9(K?\9#CV^(] MZF+20)!]N]W7<&U&WFZ*RXP,5I,+F!)Y?XJ+! Y%!J0E"QV-RR7LK^#K#WF< M"CY D"UBP3@:U:YOX_QKF/Z)M6?3^L9GC2]PD]$DLM&1D_'#LB!\V0*B8BDH M)UAHY!_=@^PQL*.)%AJXVZ]PAO2![PC@#\3BT>1]% K M>O\'W&HK4\D@49@Z9+% 9*76<#&,3@3C]9F%D>]9T1<9.-F'V;U5D?9)C7,J MS5ZOZ[=%5=OZ>G;V.TXW"QV8(J4RM5^)3I9L7!'!%;)Q=?;:6A6M\N?)^9U+ M^DKZDY"C[XNN!Z]JLYR7I>"4?+I5W?=LX'-2$57-@),UMQ<#Q)S)6O?,1N>3 M-++<9\TT0?9D"'MZO?;HI7]>3+QC,?'3YU^YNIC+(JSI,.&DT+^^F(Q7\UJN M+6]@<_:2O!#(+)-3J;R'*$G8UH2"**-D)7=G;4NH3Y#&9Z/Y!M<)![^GSW)> MZC^,5@?+L\7\W60Z_"?F@5$6@Q *>*I2M]:!-\)"<8IYRY/QIE%#NG:+>C+T M/S>"]-@OOK>EW5J0E4J(I#(43+2@H 5X+B602R&R#R)KV69.8^]+^< MU5YURPZS;R;S,+KZ\YK@\-MD_O_A_!6FR=MQ/5L^?]+J']ULAC=0.D<1C8=L M8O66E0.G70%C.'G-+->2DK:5EL=>\I-[)[X,CR5_5;EQ?R]9>P&\F](+B\,/JU9^] M7L3_QC2G[PYG?[XL]/X6',X74QP(9+)6I$#1@5Y=%CD$KR/Y]4&'R"5Y/=T2 MKL]L85]?DR^%55M>L1.%76]$+Z3/#'/)D'2=@Y*1@U/. I,"ZWP=D[AL^VH\ M^>C4D;6XA8H]!%?[O'BE15U&WU;K0U9X3N2A,,4DJ)0M-V-J Q.$S"9I2(R%VMK5U;;!'IS+&4-D M.H@]\@>.@/@KST_.@RUL/UU(=85_=<6[&>(QD,KIH%D!3)G3:KP E[*%C"R: M8(U2NM&]?)_+>#)4/ST)ME#Z=''4U6HVQU&]$%I^>Q ,$S()6I#UM0UWE. = MT\"5-=)'*XMH-+"EYY5\)?8QJ;"%VP<'3-O%$):QN'6\P$?!!4,+TD4%RJ8, M06$&YHT4-J,L.C8A_%&6]^3>@O,CS997X^#8;7_-;JP2*3).*V&&/!!M(D1C M#11T)5J,!GVC-,@GV 7KH.W])"H_ERY8UUND%T7O%R//P9.)!8KG %%;6@LY M&))>0)YEF^XSCVP\QUY,N',\QSX:^5(&&W19T]?Q',/]QW/L199C3#AXB*:_ M%!9S+PLK6H$3CCQ4SA3XY#4(G6KSD!Q%:+-7?CGLW6L\Q]F1=Q\%-R#MMC[] M@5G)>4SU1KO>BI"A[).+8$IDGL7(C6[3&.#QCE+82\L=1BGLHZ(&Q>37Q@HZ MP[7,QH"W]%ZIG +X6)/WR"I1V0G!&L]7_&K-/5@?#7I.W6!^%S1/:^#J7OJY M>PSG0X3;?N!J33E4GI@LLG.@2D (Q%[@2"@X]EX.I>:CIHX.H^,NZ[P>A]V(3Y M_]N[NMZV%D@27<&6?0D09+>P3P)1;+H:,:1&I*<[OS[+24[!AK=CI&^/*PZ)*N*Q2I 388(RS+4FV)9F!?&,N., U4D"NB6 MO_MDU3VD!(_2*NO%Q%J5,:TF1D#0)2J6"[=,.U-[ M;8O";)0E6_!!MVI(TGYR)^B%#\OWP6[C&Q'FE K"W37%6I&T-@O]WFEH7?-. M%T>;I\DLB%QOS$KM&.HUD\XYE#YIB&UNYT>8W"-:$ZU(V7+1#,"H5C'^>/\4 M8Y\IULZGE.@F>!W"'FO!)&(?EBL4V[K.93>UXG MHQPE#V;3*=7&NVN"]?W?ZP7BF]D*%[AUXN39?+P6QJ44YOL&NVH)2U C53T97:U%[2ND^2N5!H/\C. M)MG(S/H),R8/#<>1T'3GTK[4-SD+0S> PJD*O@(&9;8A*9?J.%RW>D??0']CS:; M8GS6;1ZP/9 MC#K3U_.+Q21;FU3!P,B<*TQCU+4KZB?F7\2?&C1XW"X ME_TVHE:QL!A1UJR#Q'S(FJ42)!2O2FKU\.HG3#DZQ*<]CLI/,^7(RQ)(6IHI M5U^LQQB85RG23RBU+U(G[IN0]HFE'/5BPMZ4HSX:>2S)&EWF])QR]("4HUYD M&2-KXR&:?BPL!I0@LN?,%:"Y69]J*]!$WJHJ.0@50SI2U>V386^OE*.3(V\? M!8^:HBC!DZY-K&5Q"@-7M_-2&9ZYDJI-5?*GF\8VV'[T !7MO$=J MF<:VEM"2J(^+K^NN%J\O:FO#VL %9@D'S5WK.-;P"6L/F>16EIKCS@2N - + MK1P/UJ%5&L&EDDWR=V2I=1SUZ*EII#7IYBM5S!+$]G9Y=MOB;1^1"URZQHVD6TE8$%)$N$[!':08SR M@(TZ10P]E1/P9/>)=YT$9Z%)6?REWF#V6X@U[7;*WMWH!\72\$"]DI9J(5 MSJ'*QK/-C7H*"//MI7J^^"YN=J4-!+/_O+UC]$N.U5+FP(/&3/ MP&;%=.; O-*:15$@1%>B]VT[EIQ*@X(!-=U'IBT:%(0;U=.]X^BT=LPI3E@\ MU'1A :QP;8%;%X%O/:/>TW\@G%"]^5Y"WFXO\% )#=T]H'>K R*I%"62&83& MU)JOBOD$R(*SF)+F/*3NZGQ4[20.TG@F5I/$'*HWA)P\M6- M9Y@\9J^3$^$Y]ZRQQ?9PC1RCN.R#KM0ZS.DY]^P!N6>]R#)*^LX#-/U8Y4"+>]\P;V8TZ?5@WX/1JF2?-6I69*FYBY%T M$[Y-;;*^2 _=\>B3"Z2E^PM>_O?-['8*S8?Y^?GK^:*NYXGGY)P)D1B:@$R7 M^AH_R<@$)*0?DHVRS:5S3Z#C[Y1-.;:]"[946XLC]?K%6P M6BVF\6)5/?Q/\_=D9\Q6$SH+43L,K):J8UKKFM"3+ $' G_: M/!M3JRVB+K>7211%10PUCN04&9/)L)AIO^:ZZ&*B=T$TRB*\9XMJ9@!=1=)2 MAJ U.*YE8_=$GK M.K_YK'J1ZW!$T=Y&E03+P'7U"TET462F$T]9Z.RC;91OLP_6L4+C[+1 ZIO.]8RF.Q'(X:P"-HESE!)R;2A=1 " MM\PB%NZ,T: :1>O&(\0](=ZQ^=!'Y"UN4^_?)C=A0L&]!7"P@ J[6_#/$ ?#8(2-X"2?U*KF/6:4K!C@(=!Z*HV:K?1%>I+!KXUAM=8 MVZWITP)FR_/+RY/\[XM+M!N4,AJ,PB'CAG2OD1QNKX)A6<:$ 6D"KDV&7C=\ M/P&;AM+."(^'+Z?_"?["Y2=RT"[@_(#;I-T?._3ZJ"/,[?LBY8RB,T:!J_7B M;72Z&"] *:=U<&:R^[,'Y.C=^.@--UZ!)4LI,D%PF%;%,>(9>?6N-G.,$)TU M]XEWY]<'N+6Y_.:FP\9+G)&25A,=8_&E+H>@:C-LHBEMY^?S/]>/L&2Q MR:$P#-;I<,8)%C1$%L$*JS677+4)XG4 ]]AI,;3\6]RQ_($+0C0[J];0*U@L MOI7+&/]R(J146+N!(M0:N]$Y%C(BDX9S;I4M7+0Q-W9C>NR$&$C:#:XU:)*O MB*G3U4U4+[[,+V:KB8@J0TDH&<:$=K_GNKAP3N42]WH2+RY6G^>+Z>K;93*Y]D71 M7)@.]565,($%6SO/1PFEQ*BE:I,S>3>>L:]M!]#O+N_SX7)NX%G<1G7U\*0# MKJ9WLKN0'>=:=@CMW4N( T0_)C6BYDG:7.I;:SJ/A H,- 9FC0Z%]E!M]5A; MPQ$O9L=D1!^)-V "H2!S9)I>5<=G\>VJ#F+NDG"-ZSJPY_?Z&^>_^_%8KK,TW2C-G14QD/1 M@GDN:[L;6R]59& FY>31R(BM'O+M!_9$.#&D^(>N7_&J/M*?+V936*.\0A1M M N9-%@TMS8HG4!T;Z;O8F&*&$*$Y' M9H2 6J*[ONO3A@5I8\B!FZZ=7+>__!3T=Y"T=H8#A[M8_H!?<7:!512OR&]< M0%HM_YRN/K^Z6*Y(%(OEYB_$;W_'^=D"_O@\31_PC(8\X +Z\$$/O:@>>-I; M%]HJ\JQET.T=T2HHV M?L\#P(Z_QX["O=O])=JJL84Q?5TCIZ?$+D-0$!U7M9TJN0.::>T\(ZM!LZ@! MR4Q0.JHV;7,.PSW6 Y^CL'!$E1X[:KQKSQS-X!!3\_2&H#FJAU3K]> M+.9_7 4U)("DHR>PR->O3_VZU59]C*IX0B6"%YU"_)V6Z,V1'[,>#Y+BX/6% MR>*@^2Q__>OWCQLXJF3I:3XL&ZF83IXS;ZUD& EH\*A\Q[C>[6\_9K4-(:ZA M8[+_F.9\CK_"/2Z'$9X Z9NUGF^6$[A/:1IF:8-&+0 -!/-@E-TZCM.>WV]ZD-=HM.\UO#I M%%7JM,?>&OXQ:_EP>>Y,S!PQ$/^^GA2+U3>8Y?I\]X\JH'&C\OT0- _1'R"0 MK7B]S(GVZR"4ETI;:P*ZH**/M'4[#DK>'Z_OA^5(P7L,W,5L,DL."M/911:X M#^)Q]T/H-J)*3SON'@%!<:N9STG5:GN9#%HR;1-*](8L*^A6<^"G MC+OWHD&GN'L?=8P6;NT"ZN>,N_=25Z>XZT-D/1H10D$5,WE9('RM%RN1^>04 MLT&&(F1!H_AC)<"#XN[#Z[^/B-O$W1WW19L2F8M!U5X0A<7D"AVK/GH)SB'L MJV[T6./NO01_.^[>1VI#]A;;('CU=L*+@B+R.CB<:EL[)"X&QSQ!2S($#7F? MF=E/;Z_>/@6]]91:@_7VYNTD2!>TM9$5Z0A!LH7,6$. 1$H\6UOX=L;S 7I[ M\R3TUE-J(U1CNC\Q?/IV;I*2-/0W+X!VT?B.D]WN_(3HM7U M\:SFO@;>@+92%.3\QX@Y@ND0>-LW]"!QM@]8&3R=G=TY5"T1E&HML>D7^BOO MRD?Z[;) VHAXX[QF\D]5T.2E2&F9MDXR7T(A7S9'5-**#&TJ- TWAX$2:?18VS9\]"BK5Z2"U0(Y5UC2H #8-_Y(CUHR=O M?Z4?.Y8]V-0_KF"Q^J4^CJUA'"^DC=I99K)?WRJ1$RBS8#[0"02./ S5IA+> ML/,X5A3]&$0<>BT\G! [M_,3\2XG8G3_QE/GN9SU[FLY?Y[&4^>YG/7N:SEWE$+W-$,_SJ MMY+N,V-\A[3W[+*G:T3C70E!2 P2 ME.0:[K?*NR XL)S== EG9PN\9/UUUMCWE>9+],1DQ80KGNE4-/.U/E", L 8 MSZ7O](R]?V6[>Y =NO??52-C+>=U?JZ1SCB%3$+-SPTI,\^%8";IDGT!K7.; M\B;[4(UO;@S*CNU]># %#)E]LJY'M@O8]:$P?XDOI^?GF"\/$1KS7?D7PF)C MI$\X'4TT>6!%.%XM=!*+T8XE#6!S\=Z)<-\>.0R4)\*9(^AE\.J &_1_;J-_ M3Z;PXM(@?CM??;@NC3X)W( 72C%;TTBT+(I!0L%2,0*B%DYL=^6[AT6=AWZ* MK&DC]P:-3>ZB^=6Y_^W5Q6+=4Y[K4"OT<#* :_5M%<@ #E@;R+T:::0!BU0]F)\.Y^E#4PL*GAI%5/9!*:Y!Q8]221DI8Q1 !'D^+SY M#O!GHLX#U=*@@\I>F!-'ATFV!FL1SUK.,]!/%CUMBC%[[HVSV": O!?6S\24 M7BH8L.U))W#7\93K U1J.D%%, PY)C+>@V<>;&%:6! _X0ZV=55WR+CO-391H;DL3'MZ&@-3I*? M[WPJ5F',MEL?F+N__]14.X 43R&/E7Y;;QX6:SOKPW3YG\:WYG8=I M;MV/&VN4U[%@+>WM$'VRN:H1:.]'J4*G^_&[ASTXW/'C9[_[7ES0"82JL&AE M35BJM?DP2^:%QAR*<2DVBX7MP#1 <.?'+W]/-103$R4Q4'$F2Q%T$&O.0,O, ME"Q.2Y$+I&;QXIVHQM_K!F+$'2&;843?(,WS%K9-VI-43AII:$.OY06"CV2C M66 6'0\IHT/=)@'[;CQC!67&(D!_(1\[$%.+(OP#_CU??"\N52UXJU4DSI(% M1F=R;=,(-8$CLA*B%B)D;KOU3.Y46>?V^,<*K RAT/E@@AVXCM);^(+OR@^8 M-F9>%U"#%]3:"6?\@EJ'ZFG>2LBC,4 5D;W6GN50"[L+\MU#[=CBH\D2?>%0 MABN[-[+F]U32&D7Q?60[=+#BMPL2PR=,GV?S\_G9%)=O9E?5I14*,$8+YA(G M7TQ:SX*2D?$:O)%6\J2ZU5W?/<:XM7T&TL!\>/$-':-X-\.K&6[06$ +87VI M)&O#%3JA0/F:&D>&9U%>FL [*?/6IQ^]#@\35H.X\RTCX^6WZ\AIBC(K3=ME MLL0EK339I:@L&:=.^9*2MJ59YO(N4$_ &!M:]&WR!K=F^ST,UP5:T_NL/>". M@.T\(8V\<-B)&K4 H4.H5"K1Y86_-P3TLEN)00-)38)O-B=(+< MF&8[ I-5K(D5+ULR_4"EVMF73%6 MT,G*&[WHO@_9T[9 'JZ$-IGH6_BNT&T62!=\X]HB6PA/QB Y0*_WDF8 I8SB MV6SA3%DGF>J^IZ*K3APP2+2&#)C,N>%*R$Y=&!\):?H;*2-RIH\NVA5OV-7O M?G-D1E%\+ &9A?KD#VLY;)$RL\(5#2I!YDUK,^R'=P*FRT%:O;NTPH J:6#% MO$CKJMO+#YAP^K6>QU=1'=12))]8\+6N#FI5.^\$IER.HEKY,K2Q7G8A>F+L M&$3P0R?UW-+:6ER(^ B5SGYQRVP&X4J=B\CGP1E^O-H,GJV3/L[?VBVKF1[UBWFU_7?T58XO_\U_\#4$L#!!0 ( -V!5E3I/'02$I, M .H( 0 4 8V%L>"TR,#(Q,3(S,5]G,2YJ<&?LO0=84]VV+KR0IO1>A:A4 MJ2I-I(E*$Q%0Z24*T@5$6I 2 >D" @("0A2D-Z5%BO0B(+V'FE"4GB"$ "&Y MG8^3DXF#C8F%C9_NMA(R<= X%Y1E*RC-L]+3T;'_S M06P&F$^?HB3O(2>[ )QB)B-G)B.V R (*,D^\L!_--!=HID(Q7UZ3,TM"1 M-1-PBHR<_!0%^6^K2;\&DGX'*)@I6E%,5DY>X:KBM9NW-#2UM'5NWW]@9&QB:F9N M^]C.WL'1R=G3R]O'%^+W//1E6'A$9%1T8M*;Y)34MVGIV3D?<_/R"PJ+*BJK MJFO@7VKK6MO:.SJ[OG7W#(^,CHU/3$XAD*C%I>65'S]7US [OW;WL/NX@\/? MY2(#R,G^^?C3#3 M;#<2/GQN.2,@GAD3,#:L#1$0HQ.!&CU6_GIT6Z%R&/.H_N:8]7^];.^FK![1"!>9_=G MXM5A\?K ^L:9I<_V1]$ MW \3DM5@0@,W$S%=H&CEB5 M=8E +H+]>2G@9X(7@/$2@9\? M2(0"O#$1%(E86V*F*:"-&<;40 ?VZ[Z<#3 MNECC!'F"/$&>($^0)\@3Y GR!/F?@(00@7"\#H93'3?T :?5@?@1AE?/6^<' MC<^EIT"("(GKH7X3V 18BL.H39EU\G9+-\.\O[&"#1OCPAIN[ MV[*II.NB4VYRW051H;=' #UD^V60(J2M@Z.1!R. ETMA)(/$H;A*W"7W.&O' MD.$^'5]GQT*F7X93'7!'SRAI)HI?*Q/<:58IBO[Q"!>/5(+Q6$)406R.%;B: MN?/*"!IGI@S'?91>UP'ZK=S/M'TMC[?RQ<\I+CO!LZ]XX*CYZ#D:-'UGFCL*RN7(?Q;V M0-!4H]CYJ7GU%*4Z\QDNSA:OH]JCME$#ZOL:?OD=\?'\?#CW[/55UQ*(YSU, M>(:=W)(J=Q.&/2]-KB5.[G6QWG\U/1(UANRX2'+\4R,3"M/5Y01:O\[GRKZ<=17W ;4.BAIO/(-V M>+D+9;(F K:9]COK%A-Y(^=#9-22>!C%^I G\>+H]D' MHI&#('#ER.-H5V/$^+/*%MLOM#&D,OKUL;"*I.YP/'@BOW$1V!(M5QD,DM)8 M!$7=@WBV&1NX7!.*2V7X4(@+5_I^DWR&'IN"$;TA[!O);;%B%3D(R^@SGT27 M=T I(.L:3>/*"HM\Y.W7-&%?K,&KYA\Y+UD\\H5=N?6L,.P@3GLQ'5@K*!._ M@YM%KYNC^P:B9(D "$(ROZT&3NND6NY2,JWCQ-8'9U8N6F;OWVU-@KU]'AT$ MP^0@L:5EJ]>$XN/P,GXE:]AUWWRG\<..AE3.3U#CT+-M/]Q*0_9=$'Z09#!6+E -U[0-H]+A$A5$4_F5*^"" MC[1^SG%BNMK<:1SA66?'Y:1YU6#.^W/G=*\V=E0Q*PO9OND?YJ!E 2A>@MX] M3 >P/.+]01<"[HWBU5#'K"V-;.A=56&,3Z&KZH>E>7 &+:_2U=O% QY//]_I MK5W2'KHG8F^_)%9\91;MWMXY)KL7WU%G@Q.Q)HP%,C]Q+_.DWQSN6BG\G#:N M5JV).;76$]RH0RY6Y59$-C-D&5Z-"6VVYOV&R MZ1RTLG>^+U!K/BS)3Q8D?S7L2 2X&LA1DO<6]88;/)!?]0WA(R/&Z?T#QO 4 MQY),@00I,_9NI@I=UC.G$<:W%-OH7OBPF:3AS7&8]P%R.(MR7%WGMAZ&KR\B MPDU9URYW>LTP9TW>0PPF+T_6'9DFP.]<+/J+<]3A^3IJ(F2WB7G5FG<4;_%^ M-4AT[$*=_85KV#"_8\^\<)JC79*YZ#,.#)D.5V2) Y#[* M.D,^!\G(^G-.; 3Y=KK7.]N9V5KC;/!--H?8MU1M%UL4V\CG&NH[Y[F#A'&V MJ,[0A6+I" +KJ!KRO-6-0*G#Q4X% WM:?='*NZ&Z4,DI^SMB5:'GP[?(SO'_ MT'CV*^ VNC\5Y2K>FMX5Y<4GTVD>6S=C@0O)P@<_;%)?7, MV.86\B0T?%,1/=_!$73M*YC=Z;DU;.&KQ1'(M'&TFM?Q8?C-3X)A^%8.!=_+ MQ:K# [P%W.; WFWQ/C>"HN,^OS3.-?U!.=TE]?;@RP 7CTH$%<]GBH*2.Z/3/].7)01.KK%^6&#J$\P7>\!>: MQ>S)+;;)_7?GJLC6WYBDX%@7L5&E>(51O EJU6N;3#BF:-8QO0N;E<]5654/ M_R*_P;':[ORSG].6_89O@1@CNWSYD1:$7!L#"U:6G[OPJ:X.4\)JY4BJ=37; M[A*&!7:D#LY4YYVFP26;$B4#ZCQ#2Q1>!QUCNKI?C,IDFUJ3EW'V,2$WC.BM MK8HRROT2"W^$TDB@O;;\X%JBIL;#6<(0B*9$0F]YH'V>VF(J(D7&0[[)\?-6 M;(*@5><=.Q[ML0B;-<8Y-K*?L@\X3&H.D]]Q^B1U>#MY\/32H;]X)7#9F9D^ M5:=@TK(X^8.$AL\CP&' MRP6R(!%7Y<052Y:\UXHOL GZ(XL[5/G6P)R[H-,XF>9G$&Z):KVSB%4$[)6[ MM*3PT)9$*;I'R#&V.[-"%S5ADK*V?A53KY17_8S:RG: P-+BSIE%L$*_D M@K+4D/"*0?[SS##54IYV]VST87\T@!- M_@A7-D2GHD3:5#@-<"X*KQK4\_ *8YNY@Z5N&Q2OJ<Y+KTU%FE:1<=?MXQMWJ:^T^F_;IP<%!@Y]DQ*MNW'$[;684 M_8.BX"KJ T;KM]NAPCF83.PYC4_<'BY9::S/K-.BT[::/&;7P8N2+[M'@D\I M>Z#T3Q&&Y;%!_/-%N)'KPQM5+_WK/81F/JVB1&(SOK>ZOO[4^UI1D(7!Q8T( M(&&Q&XVJ6GY((D"_EL(CU!6].+Z]W%0W7,W(J N:"BAT6S1[X"P/+X'5&[WT M4T?K7E$.KP>'$@'^:GI=Y'R4G'NT<8TJTX2R_+U%(SB*!)%PI-_QZT57S>3#B9K,>\NBK537]/:'J48'AQR/V@W*G]_2KN[E2KIKH M.U*.R&C./9QF[J&"UI5#!@+/C[R]=4/QUY7!N[["RSV)^M]E-H/X<&,+ ^QZ2(A7W\,9?93I MMMW(!1>=1;^@;VNIM]=^TDFS?M*,LRKANK(H=GU%3AHQ@G1+_;B*>)5^O-Q7 M\R%?OW@ZAIZ%L&5<&7[S[,A;5'"F(=>CM!? PRP&1_*0X[Q&NHY%(L#D K\4 MP!G3F24PIJS&G_01TGMD/,L0?ZUA1<$KZY:_(>O 2M0FAYF%%$U( >_/>/I5 M^'/WL-VO:@_J":.-(?VB4F4ST*[VZ&"K;VISYV"=7^(9"<,@A@#]XQJLM:#I M9E6@VI'U"O9P\MO%LCK?O\C?Y,53=-FQ&H$S0B/3^B6L]& MQ1H[1R^O:UHFL5UEL6ZQ,W&'8U3+04+<0_K=E.DK#_C;GIZ,Z-> V.Z M9!7\.>(5@=-\R@RGT'[M)X:-:=-[Y[7E["RMIL]+>"_6]DG#XR+@2\]FF8P. M3@XCM=[*KS;&VD;RSRH3H9(!:K9VBR[E#/IG-\_&$6[)I\BCIA+/?;^0N(HV MURME>2]X;+N@'\D#:B^E6#ND_#Z"D&ROJ>CR=9#+;&?5[+!6?)C)8OJ.>=_J MP4+AV4LBWQI!06,(60(Y&INSZ,0_T6Z.S2\W6T6 (W9=U@_<[&7-^=L)8?'$LGX7W"LZ!H<(UPV@*8<1[2>RM5 M'^,09HLVQ.BE9+BX/T\/F^9]&<7WD:GA:4L$@F 3)? DQA_B;]Q^EY MR-JVU>CFB,9P-9]\[]W/%4/5TIO>+O6\+B]#_#4COBW (2FORW M#H22*%ZS'4RTPH*#I-'AM6CKM7W=:,2(UA>,!B''A?+[D_0;SE?22DNI^WX= M/,+G+%-=-UC8;%%9"QH@<[TTA."43%]-IT$W76E&)=>LQ*;9T-< MN:?1WRIRQ$L*WS&$AAH'>&/&U2+ G&6R@3ZZ%B J4XC848=Y^/N'*;J100.> M% YD9WI.+SU[<-[F>LO&=6X,;QM!%-W5J4>-4@C'JWDLTDIO^,>2FPQN2$DN M?&6N*E;FO,0;)1"%K;MV339JI_<+Q\6J'1#3+C3:6F&D@1/5.T M/@/Q[#)T MJ6ED_EQ?PY.XZF+GZ6ALEN7Q9%^IC*[#V""ZZ9SOH]KZ325L)LZC<'J-5;C: M[TD*O8W(D4],H'.K4OE=D\F+>[^R-/3QDKR_<0262(8RG9/:XN[6(/Y3B)@9V/8;[F-\'%PZH*@1W*X M>@VT;TLF=Q5O(/>NJT [UKQ69V'*26B'L 1/Z8+XM+%D?-*\*SZ[W>2D'S&N M"AJ1B]^T6/_FS5WFNE YLJN[7K^7.)E<:R:!"BZ[<.G3M$@:S\&3GM*J3]3I M8TTNVU2.62)07_,D%BX9:?%.L:4L'HP[6@#30:8)S"JZ9HE\5M:(BP@EVC172:$O M5^'1*YL"ERRZ+W9^6TXP@W>]\,V[KJPZL0"/O8]*?ED!<3,>VB"(6^$*]T3J MJG?L1K9D8R+)B_SR[I24?*ZH(/]UBEQ*NS<&:X9I+$?#4/$OR]+'6_T#&7ZT M9)U)7@%+[N;(S BH]LV9)O CQEJXB<"-V4_%=$?5L$U)]!81Z(2A8]1+9KN+ MZ,WU*#\2NKYRZ!2\MW?1;+ATG&G?FBAPA>KA@X+S$U+',(*B>4 .JNXS-QQ M_U!LTL7D4#V$@$!Q>+@_Q4B$]H<+I!C1?2.[_-EQ(J:S>R MFHV/:V M=0%5B;0VL9I-^2&$HQZ5MA18^14TZLX(%;QTE>"&<\&V0F,;%@6D M0K%I.&B!7O'T*B)WY8-O/L)J[J.!$^=+9^9I^6Y$-SX3_@%$,V]_Y>&G 4/+ MIE8B$#Z;3C(=N;0KT^)[*]N)] M3''E/(4;@ HZ%\")J0WM^;L-< M3OXG4)O7'4N=I&XFS>L VX)2"R<"K%YF#:[\8,4CW#N>I[98N;3[9O&- M[$IS*;PBQ4"T(U5IN0I,%I;=!5IVS%\>>ZP^YLSL*)Z&D^' M(0)A#7KHM6W+H?QH28&.((DQ:8?:INJTX3F\-K:_\\J'J5=O'T9>:HD;LS2! M8L@7V ?:RQ%25E"#C'8>K0BM4,U4AE+D/+/EZOW<']."@5]JTOBP.53\-E5^ M7108LQ_8$,QC59ZO@Q\)+4DHH::X#^A+C1Q)PND#$AZSI?-3 ;^$*=]E-)0K MI3&5OR7[MML4/,]4+1UIS3(*LHSK5V-RK.L@A!7R*7)+YJ8C?%[ILE3*7/@6 MHB@O<]EJV5=>@8DQ4X[Q!1%@KB("X4T,5?62((.J45+\4X%:,VM0\LZK_A'Y M,)'V;:I1Z.:F!,A%>$E';);29F4AAWPYJ7(!%)PE@2:UF/H'@=1FC@_'\#H> M16T%SL^].V8C1QOML@Q/33=3H[-4L*UNI>!W)46LIU\P+]6&>;[_?B5S#+ MP2!Z%RR4J9'%F=71("\-.1^A@* ?\7N=X.(O@GW^\?:'BF>?^A7.B0'G8&\= M?B)$R;]#[:6IU\&,4 =H!#\WAOW#YPFO6*K^'NQH3^+!O2Z68N%=>^,6KI[$ MJPL3^88: -O?4?YJ:L5OA%([N.8> <,*0U*)@&Z5V)[Y3CDS$>@>"5 F I]E MVIL.K3Z8% V2:; 9_,/$VALS@>S/P3BTC&>QP;-X SD-1C>A\*DRNQ GV76_GG?AM*]U)\'3]5L(+;QJ1N0]I/C5R31L_%J=(W9/386QC M?*&%#NF?\%2D%;@SO3^[[OET5WCZA"5D&#OLDV1;]FV6Z48/]?9LTEJ1*/F* MGLR">XKS:)J28"E'@ABWFZ M=59'GM+Q^NS5' -XR)G<$9W$X&7Q6"<".:^ M]B#^_J++-A=$UW+(F^_ZFOE>]1L%<\OQ"Q<%E4K/!?-SAAM?O9QB'+/-A#-@ M%'&?+.]4 -')@>CUBAV=?#W0/PS1Z;>3[M@>/9GH\V1-M!E("OF0P1O,S)=O%XK^NK_O)W@&ADVI&@F042TLPS%V9O'6.SUY/[(;>Z-GJLS; MS&TRM\%X@+[]-3?M1;IX,=F';J\O,+63#S0R$'H;Q7%0%)C*F2=LY=4X0CI* M^69)?\I$J@F+K/G+J['DW\.6O'T>]@DLOY@SK63G8]P\6LFIYG)N&*LR0_."=5.[8MF=1&.(<+M%O 'LG&8PO*+F3M:*5I#IX*]N36I*]_ MED5%IAQ4>R2.JVP'G6D0EE,Q)T6H*.,,E"VJS]A"Q?C7[>K1LL?1ND[G+:;M M.)DH:Q(,A1X('ISFUK8O;++71[3@[Z,SD'L#[;HJ+KICWC!&W<)X-F>?E,%) MYUA7KL3-'"9%Q^A"AU/:V0P%??Q[W&5%:@@BT"9/X!ZO_FK1IBJ*QG.H\F1T MC!L?)G^M&"AQ\@ >IT_=0]9\FN6P?==Q[E>2F&(S-9N:'4:_).V!,BZ)GSY@R!(S#><-X1;GX[I6VDDU$ G)[]2:%NZ\#MLW7BMK7/%:EW'T@ -HANK?2[:Z(&+4P_; M'$6HYZ,)@'>>7QHI#=2U^E.<\O*.W6'YZU9PJW4TX^98"1_:N]HB-3#4C MPA9AXG'U27#P.RA?4/>UN5J,?L=A;-'J(3Q&#-Q:6.LIJM;$4X:?2C.EVR:CQ,K HU:[E MP/K;LT2 ]CZ!-7ZO8G%#U8<(2!^##S>@C+,#F D_- C96(GN4L?N$@][3Q4Y]P.IDJK2,)W+H9+O-(*4 5 MXQ#I9KQM,2X;Z2XMHITBYW?V\>LB@'R29N\:CW&M>+"=*OR]$P(#67;?IS%?)+<%X*;MO6>+E-L9:A$MN@RJ]YZI&)/< MW@36%Z>TZ,Z U\8HQ#6XYSOR\X]ZGRZ3(+0@C^#UG+G;*[5'=W:J#%G8KGT4 M?5!1K&T:X&N"9K2/PS16>EY4(M?I M[?E.'_9(=]\1,FF+)^8GMCP.&+;'?%Q2JBOK6KX-,KJJ-GH#F6W36 BJ1[Y M-D,_E84AYQEQ$=?'1="CZ7<+D84!TC\@X);QYU(?)%@>JG2,(=*L75Y="!P0 MNS"=EFUCXG!S$3P%[U#C5&:4BL P=J6;1 G!4SK7]:*E:;KXTU,Y^@=69LU[ ME?L\5[:F+OA]"P,F"Z8\=^G9R'[-AQ*!Q]\:I.88,[W5&%=__;062VK?0>!L M6U,.55[6E]A76D"04;WG:"]Y"E;<62KDIC&Z1V(%4'L03@N*/$4$HE,W0>@8 M2+TIQ@0/<3TRF2;,'L7OY3ND8K>;?KGM$-:V%F<=WS.F$?@(7;X(SC \" GE MQJ&D.7'NK>9\*[&Y+4XY4 =+4+7%<9:92,; &]5OYJ:+#TRQ)3#%A!?.W]#; M&P(N'W"@#L)9*Y-6'W)3=&97F&0U'WES3;KWI,X;<2OK[Q6RJ3*/[HOSJO/R M+77JW("9#%T_.Q")5RR9#5!J' Q0*I>.J.X:B:NNE4Q,LZ8S0LMJKUUMT]' M$=8W6=+4(!TO)*:$XCRLCS4 "'_AD3)NXA[:/?8#.(JC1E4.$[994I?59/>A MEX[6@4*'J2J$LH&EG8\Y5%M*(50VC(8O0P6$U'HIMWT*9\/':M*(GNW+3-1R MS[? .:BG:L.K@Q^(QO?ZU[]:/,OT@&SZJP^)&-&C%9#Q^(O0E_S,:&EL*K8+ M2Y7)'C&-CQ<8F+S'K^< \_?DH[@5QHIRR4]E%12^* MBMZ33?W[*\'=55E7?0X=(C=WS[@I*WFC)&WXW.\W5M6^TY5LS?!.>!-%=F/( M0A!"[;"?T.+]E)$;AT3_:&V\@,O-=FID&%S(6*3LK\Y;AS=>U)3V>[_Z>D;3 MWO?+DRI#/;HKTUW.'R5B)3X*#\DPJN%BN& HAW9&OFX[5MR/-C76!G'D)L-Q MLEY?6>85IV+)C_JQO6SK!=:I!D_G_%D';7]BCS/P+,J/BB%9,[A4_7$YE[%1 MZ>F[F*!R)\KO:P71 Q0FNJQ 0O;FQ=@B3BZN4KW["Q$A>_&1*8V*=<./H<&8JLJG>0Z71JJY71Y3 MM[(4,0KMV^P0?\LF(T-/[_P;Z8D=3N*+GAJG5K$:;.^D7W_T5MS=1O"V'FJU M;\?Q4Z)-8G9[K1Q:=B#@]FNU(]N+9N<2L<*?0Q1K/G6EL9G!$=W\)'V\%_=DSZ5 /6_%W3DW0]3:I' M;])U)$J?K8<$?+K&POAS!28[P1-8!6?V8^UFJ4H@ AZ1%/'-$_2H[1=!Y)C. MW&RP,X)AM0IB6U,3U[_E?Y5_5E#'%I[%927P)=A:\!%=#R8^@_:7?"#5"^6F M#EA51*@R*TIT5\6&K_9IXX4O]B]I"T4,Y;R,721?QZ=OI M_)']SFV5"'#(ZMWNYRUX$G GX79]LINR>-'-9F6OA#W"D[O9,'\F3O3(D!43BVD0 IL8$12H6$ %, M]-K/]PSW"1S&I(NI!I$4MGJ20(MLT-:>8;4? ^T@W%UG-;Q-79TH^1LB$);\ M$3H BU1#OQN%XCI Z(JJ^(-?&&H":WH\$> J*XL&EM60=DZ@7S]0C'@1.1#A MLA9>HE2 $(!7)Q&ZE1PBT"E>G'UBV(EA)X:=&'9BV(EA)X;]%S0,%$$_P8$"B)P)3,.'07&K$^_Y/\SS)"UFJ+Y7 8XF8+>,I^QAF*#H7D M;^2A+[_4P_;1.KSE7)FNY^ZZVB_.BS4<;3#S]<1$]W:JBB1UI.>E+19N+#;L MT#I]GJ9MMM3SK.\?_2"/!;G#_K@@FXA8''?ABO+A!& M1[2#&'!WN[1"#3)E#YY(I;2XO:P);I?1.3^Z8I<\6/=V :'9HA4?X%'>@6'M MG)./,!]_G]$*8@I00BKQ\=/?\!I9_E1G05G'@J!FZA.,N)^68G)CS3;4B9<2 M"(P@76Y!^JS+#OX66C\V;[RZ< 4#;0:<$,,G=Q)9+&QZZWC,.^7^KF M'CEOG\RDQ"TR<_>7=01F?;-1'O=U83NB:=I\)3C'$N=K,9'_!4W(]\BWU/%T MU0(65FT'MMU=6AI M.B,+Y37KRIWKLW/Q+M;'IN4EHK@R[Z$XCB@][^ "$'T?>\-& >,[\XT:;"B8*W M*M%KH41>;DA7Z7-9ZA29S[KX?.Y]&*$^ED-_K3*4Z9=0U)7)@X_J8^'^33@7 MQA#0KIDJB @@#6U)C->1?,RQ7(P(A'_"G2<"&DE((D!@YU##^\2?0$^@)] 3 MZ GT!'H"/8'^]=#:@2A0-1%HZ^-L/@S/03)R0WP[#HOBQ;B\7._1MH=]$U3N M%%%B O2O]E]2T7R#%$LTB-MP4E02^ %#''5:BXP%"<_^O-:0H)[K])V_LW_< MZJ=AN+$)$X96;^-J'G&HDR-JBCQR\&F)R1_V8DVSLU>;!_:6%G M88_\19G?HUVZ.2%TO/DQ; 6-1PRT@Z-AC-Y$@-V%57)S8#K@_N/.F?"9PO99 MS_V(F_M/K_^87SPN5J76X,D.L,$%1.;0%*/\F0"^B&V7D0Z;BW6ZC)3^I+.E M[_OU/=L1&/OY5]X?EV^* T;9#<4$GK:%B&,._0@B@'M@2B*V"#5DB>IIZ-#C MWSN^A&F0^"G?>\9_ )+!Y ^A_OJ?40(2DVJ'[GC-,ZIMW,%($U(=C8+FD7?F MF"LP[[*8QJ5*Y.+9(>%\S[?65K.]@WL0-Z]TYG'PTG$T>03;F+U(5(ZXS?_' MP>CWC&(3:@YZY%:XMP%@J>*2FVP3V.>D2A'Q(1&T,7UT=&O*Q5?4\56K=FOS M];@'-UP_2)0\6/J;S_@QYDBZT.\QQ]7W$%_4?4@-O8EI%M?VMK<+B-%2A]8) M$7B,VJRK?WGZY=SCX/QO?F;4"'M$\1<;_4@0V7M<1/Y/JA^=JD+#>(V$[*QG&F9*?PV>FNRK], M5^S4/Q!M.@7=\*PE J/^9K^'ZW'=I$?!N:!_'.>K=ACO(K=6]8^:+_ ?*":C MDU MG:"%<=4D![\C\X [/!T;,NKH7O4WN=55:6#X[GHD7_11C_^,2KE\%_,L3U[ZWZ;R<'$:C4:#EI!"OJ-,X! MJ907T^;C)CCA[>AGC/"[_ISI=#.H?:XW?17JZ!Z-2)RW")!'FU[D^?_=Y9=T/(A;LI$% O8B<\-K0=]Z]3(I M<'IV[N1D%B?L7>7;N58>R:\\3."%W#T"CRU/N3YIDG#6//BHYB/+-PE;>TYN M+8"6;DXO;R<"'/".>5Y-Y0,BL'0F_U*/1;OJQ@O^9@?W0J'#URX585>GQ@O1 MY1U8(B"CW1%P;W*MR2$^U)?_S.4[54*"]&EQOXR']V)F/0V^I'F[GM^\==H&'O;H\5LRYUC6 MJB$_?9G,\BJW0?3V!@85J(223Z6<05S$0;,A7?S#%\ M_='.\-6EQKI'%WHZ0F[)2PL"4L%'-R&I!KC8W#Y/CE@B0'-D@0G/78@Y_:CF MC?.EV:F.IT$C@BNVO%V"*0JW!4S?%#C&89=,;#$Q*,88V7ENG&XS@2))HQHC M7^]4L&;_"UR5LH40]Y>-9-O)3N>8%X1?$G7%&;'PE5QG[\3Y8B$8U4P,KV[( MEBL;7FU(V;80MZB?11L%K1*N:XA>H'4Z=^G Z>PSL-6E!#N;E@N\G(G7]*.L MR3'8:I0T!>Y7F[PU3WQG.E]*;IY^[IKYNW6;P3D)K>.&7]?D(#(EOMZ:%8QQ")63] Q6T<5!W#*/UY[$/B2BGS64GQLG2I3C' M<>Y3YE:$O7%UF/A2B]R>/2R0(_^1JQ^Y6PA**$5^SQ@(/> YT#4Y?JVLBYRG M5D>J43GSR'6F%N/5:G!^Y=;.P[WNRDRWAD/]W1(Z+O2=UZTOGU5\Y=!SO$+& MON<&L^5(>^3J<&HS9$XH6F[7"" [H %^2;^"[1@&41"!R1^>1* 6VE=#%; M^^+HT0/FN%)T'*D7P7DCE8XVW3LYF==23TX1,(I!"2=Z_;$CXE11*\N2< M($^0)\@3Y GR!'F"_ ]#EA8Z&]>IPCP#_95]:GPP595Z%UNS1;L%#\FL24R$ M#H:^28B<_[WQG- &%#<6L(HJ#R4"# 2Q *MJM'N;?D0C$WHY/%XDHPB7H3DH M^3#M=$^%EICFZ;/) "@MBL#>YV68NVE7%N5V=&&1W][G4"7SQZ8#1N;(F<#] M'N?PON?>\+AE^70NW[?]!7@V\GFBRYKCHK:M]J)&G"R9T8.'P#5 1;S7!'L? M)R?H03L0%D0_YL8B%ULN)TDUOH*R*@*NW,:D^#2?3=+"7X&V,!X*0!F) #KU M,Q%8?+ ^AHT5+=9XTE3VX:*GZ^>U*I-D:)L(GHD(9"N@B0 1..,/(LC]\42C M[^I_-?8!V?^CT!Z<..$VK+GI2/CY "$>?>Q_#*$.:5HJQ-,2@0J'$B+PDP@P M3C0-4O\)$6GX W']-UDGLC\CI U_G&GQCUTN^P\3]A40?^.5:;P0NM$U9!:7 M9/#]FETD;XSBHI]A_]BWPT3J@-B+(\DZHAK.G4E)%8IJ"%Y4V<<)$L.D5V;C M^=&!:&8>D-"+_]S:)IA"X!!/@B$MLU!?:1>V6S.5D(RAKKLNERJM:@2_-DR' M?\DX"[/C S94ND42C[."Z/47_'GC62')Z?N=A^/V#5_>A4/8X[9%098+G_F: M^=A,*DWTG!->!88I9,_N0YIFRH\4COYW,K_F[2]':\^2RF/R9^7E+ M+1<'5UY=V9T:=F9-'9$1-CC34%,$7 M^V/3CM29>AJ&.P;Q.%YY4UF5)"9MQ_=M.XOVN11GH7!C?IQLN%R.F>0CQ^@[-B&FR] KII"G MQ;45XM(:QQ]%QE2%+)Q8(&[B4.HU_O.-Z*Q,%'-!ZA?8@ZIH'>$X7;#@:90P M8I-#7S'*D-X>/$OH8]P"6[?M1!?BG%@PH@X4>MSWTC-;.M48'W MAB\*IBM*!KP6B,QPJ3)37A%ZSZW!4A FA=77ADA[E3N.,V?UET%EF*4@Q2YQF"%7'QV-80-8;5N0OH M\G H\OR@+?J5ZK4)X;I1^G>(H"1QICS1]BM^OS:C5QLJALH/%7EW6ALCX5_B MUN8N(CT$[XEZ/1HLY*;>><\H]?]J-N\ BG*/J@8A9%"<>'$PK157@.1#E)ZG M<41R8/X6^> +38 @S/VSMBP)&XXK+-0OL,#+H+5=8!SK@):'K.3OWE%$0G6= MO5L$9R)2R/X31DU@7VTZC>=US3&C3%G^++2\,B/7WOYL7GV0H?GY$NQ&NBE$ M;!@':VT"[\C'?ZG-^J&#A-&OSC$.2GBY"L^Z_L[?&FHVAM:J="L*[@NFCV9' M+[C"_SQ_^P_/YS+&JXH%]2%F]]L9^?0_X"YZ2WIV\! R2G\&J7+Z#!&!5BG; MN'YQ6-.Y+UIJMK^UQ[[L%=,Z3Y//:\V%DT8=@2/-J2.D&I2$RL.4E3#4)IB9 M(.$CJ_KIV0YO/F3(V 66 Y11DN'3Z<4S-3.O-[_0'.9% P<6;2!*/-@%0WL= MO3P1\;@:G1\1=&Z-H!3?/N\"]_?_4I;3<,G\XPVP\NT*9RG>@$?RTXE\<#*K MU X^F8[%+A@C003GWUP75PO-=4JO2?)%?O:WH]^PV;#H9@O+6KAN]+C2R+4B M95K^NNM'1M_L%ZH"#<=O&[S1^\AUG)KZ8%?4=/L\K:LJ__R:,?RU!D.R'_<7 MD_ID^P3N!?% <49!)<("/>R2'#8\/J\K9U7>F)EER+SY]7D5;2,:M61+DCIW MW#;:MNT0WN'^TK=RC5\BSA7VCAIG[G+J]#-5S/GTDLE MW3*?^O M(H!,#R#=?G5H) CG@;])\EZC?^)Z=LIQ]K#31& 0C*(FG'4GA4X[ MWB!TGRK)V[UO:F?$7YT[3^KPUO;,1_TMCP%XW0-EF<%B&$"#"IH1)0%LL"D2X6V[T MVT42N/-;U78Y<<%$((*W70V?J867T7\)_2F-(2=%X@J1T(-K7XVC3PP],?3$ MT!-#3PP],?0_S5!K,&:[A4"#TT4^E?1V!UGA,O["?G$Q*!&)'_&7"AJ[C00] M9EZK>.Q2M^N#G*!T>*'?%,AF;O9IPD7>E=?'DQ,SL&^/=ZD:+!;T7\B!(^06!X&-XIT"48L C"!VQM"&9-R4.?5_>\" M@+_EFV-'9+>@>_[C+F.._7QKS7U:*ZO(*G;)7X0K[^\P( M,PO-X3[E?)I(*AV15>/B92(0%20X"G7)G&YG1+5T;W*E@5_/0 MOT'&98B_(S/D:<7FY&_FO)&R72%U><7.E5J_X;A$52@3>O]W(N+GO3<5E4G+ MG!5Q&TH_0N9":10%)T8QG9\Z"Z(+HN6+"IH!+\#8-[Q!,1^GI?YYJ*K8NWID M \5\DP5+_L\$;"3?'%[EI&$N;G?L?48WPS4D6K3,YE]/=/E?">,?TU-_EL4B MU=H_[F;S)_F+?_-DR7O^N$[F3V;>_55V_N>+>&^C:H!]!%(AG/U)ZRP.9GC< MGV'#Z<^I[!>F)?0@H>O9];W.-ZL]']\(U//2Z'N@U$X5:+ ML2^C\)6Y,7ET5N+*L[:MSY:)T#"_-8WG6JV@L'2'5C5J"\=QF@I+)L&&W\G* MMW&F1PPO?,@G!'? E?,M:0'4^9:0F/:[$XWRXY5R>^U=GC>XMG:"]P8D_+.N MD5EW6#5K(F!-ME!^( 8]100VTM;5#M7:]K9W__K-CIXVL1!D()[(NX4+LPKFB;ZC MRF8E&MFK*34%99OB>PG!CR*3EF=F%I^_8FD^:R6-C1R4!*;L&X(SB;H>S;C:*.61?RBG3YHXI^[ G@J:&>7[69NVQ.Y%D-Y=+;R+5*->) M /I3@_1"FJSDLSDH ]Y@0MG%M\32]$X-B],$\QJCV]#LQHY=PK1A%-WMY18= M7U':= ![_+>:-XXKQ(0,(#V=Y'/4QP-,2IUACOY6O->U>5:1(6I7_)J@LMK, M9-># CMR-0PZBG^4G\%)@XE 6!@22M']P27E%\X7%5Z[:/'5!M5J]RGI[I=X M W^?N&V')(DXQ"MM&Q,I&MW:ZY834(RM988&+A\]@,IL#$6Y.K35F*O"9VW4>RXN &$_*JF-5HJL>?. MXKA?)Q@D7#=:!4$Z>GT5UC32G8;)FT[W*GK6""7>N7EQ:F>B(J:O/J(M!;I?!?C^?^SOQ",-L=KC3Q^>NTD44LQO4XCVN\WO\>P?A MLD($XD@.#J\.Q5@@^;Z#V +,\MJ@B[1A\*KJZF$Z@RXP1C0=&%WG+];P,\%?;.*$#GG_]J(O5/F) MP+(1")V'MR("&A,D?PG@_(E \C^-^+1F8'R/.<$D)TZ.W"88&?ZSQJ 3C2<: M3S2>:#S1>*+QK]?HY[!)[HGV!"B1ZK@8B0/%[J-NLX*;/U7R1QX&4&%X452JZJU6ACE""@\.YXM@% G9 M]3Q'20> OKKU930(22C&4'?(K4%30>>H'R%8+ M#>Y(T"R G<7_9<75(^0"P!>!OUT\5*JWD+,QT2$YGVIWF*'C+^=6LO?\]Y09 M/5P](::<1"[)T/M$0*R %+THH+8/I9I(;)>Z;1Y?5"[:_/]-KOG?(O]I$17; M?$S3S[K?%+@9Q C=*8K'W0^2(@+9Z[_)+A"@0@1Z_GF^SHG*_Z(JEP-.T@O_ M*XE#H<2O"F;YW>.RO3<@^(K] V_2KEW'EVW+SEB;G<5'/$-1^ MFR7@]FCVA*K4^B_P)Z7LP2=VTW160?=ZFTE=T3-HHTO-53>C/JN=\@Y\T_>) M1$2O.N'<<6[U ,@Y\2?H].Z9ZHS7/MVELYW&<\RP!O9/P/XSM5DYVS:U"B_S MY?:ZB?9CM_6.NN56]LN"6Z_5$UZ)TUWN>N)J>#QBO?D>XGL'79;*D9DS:;%: MVD\5B%JR;**4VQ[8IL(G/M1DS"X4QY"!"H[@]%VY6ZN MCP/O&]7:&T*?!5M?]=SI?/_T:B=*%<.]\)!4WZ*7"^\9V?4I^-@O+6VU1HN6 MM/^MKR3X!TS#^-=[YOZAUKG\2;;C[_J.A;^;F*3C#8_?-PB@"_GY;NQO(AI5 M]:2Z6.[HN\X@J8^Z5%],O"$5 6]QG*/J>L\8Y[M0Z,>1$'ZDU^YPEKE-7LL' MT;21OIX?\295>5["OVFD-CO4>?N6+YA5S1E$#Q'^N\0=X0R+B&<16.1@D%\(Y'&C][%+@J2;QV] M?2[IS]@&#FEDQ=UW9+TY8K(9YM-;,(/235,MCZ.N>*%27%>JTB"ZJNXRN[VS MH6H'>OE#F1G]JZV)P>OS(^2F%/TU?H4*NNZ+?+,#W[O67'*RHU%OWF4N;7W? MGR'U'@G_Q_LC_S$+LO>GZ9*_Y>T6?G.?CZ[C6*]C/-#+V'(/]AWKF_EZ7G5V M,^F!7V<^T!F/6)=H(KC?ZG ()&K8KG1U]=?"\_%/T&Z%&);%9BRBI (239TH M_&K24K*R]ZR3Q.LN+ULFG2N"T7TLVE::.H;5GWZ_AE0>AJELJ4?=VY2D&9]\IO^$W\RM',V>?L_ST7 MWIHV2F#R(A:L+NY)0N_#AS;7NTG.8%IO"Y* M> UV*@9H%8H:6=>*ORLB HM]A&]ET5XB1E:.]5]C7EE6J^2C1#K*:?&2GSGY MSXT)U"2D>ADGX/=9H76AB3(S"PPK#>H-[IC[V.A9ZI=/,IH;F9*676U^)GA< M(0*?VF!'^X-HZSHB$-%4T1GV?IX(N$%JUL \N!3-7X*UHV</D/?^>Z%PS(P\28(<8OO?[I>\ZB9;>310Q_ZM*7W"Q)TF:&RN@',G&(EK&:XE;11$!]1@IOE9MB7>Q^-3,"R;]H M*5]^]!BO,C)9FK/VO-X+7&&V27+ITS=@/76K"Q@Y51KW+46'Z _ZJ/2C :_L M1E\B$/X>H_JU*UR5?=UD;=X'M?C\_>'FJWC\\WB?:&*Z:)C8_Y1Z M=&( C,XGR$*2"#>;V.[?,5Z3?3M):JX!$N!^&.>&^\>U>Q*-@IB@IO+;BD*Y M#TA&-H?"QN.+'RUB)L""\P?4\'+ID*2#JJ;O>ZZVJ/V0 +4O8%RY3MA$BY@*I_M+F*/XVX5S_�WO[R,"[S*TUDVJH%-@9%Y\=1,2=.05 MBMN6LDM20_.U0&]O54$C&CG1V/F- 895'[JO/'/]LN[?Z=*E@R-T=+? *Z#- M9^M-__8.^]HYKLMKW1("@J8%2:TJ+2% 2DJY38 M:")$4.D0E5ZCU""!*$@O$5 05"("(EV0WB*$(KV#U) @O264$"#EB_ON<^_Y M]KN_?=]S[W?&/>>.]P_&8,#*7',]:Y;?+\^:B_8/2Z '0;7 [< M*+]D>#7!T- +"J<>&U+^X(@'AQ4AKMFYF[BZ_=B8#_@\=Z+&,P454% W!/>3+W-FEG5_^ #MZBK"^V\P+A2^/K"QL;#(") M?./T?'B>5"):F9F8BXYOW_A/?)_ .@N+10M0CY 4":94*4$&0)CBB!70CLXQ MFX0G!$)-RBNJ:M.N/*ZJ&"@X%X^]XFB6:OY\+&-'OUH;*1E-#&RT1N@2_9[/ MU,9!A!:0_+5:!(-[D&FK\45C;$ZMG['DE)F]_K*R:4N__=$CK2"/OFN@$W!- MO&R]&%SM^],I'%4+89 ME#ZEE<3?2.>E=! S""K?"#(JH/"\=$H(Y.J E?8PV#EYQ;@IS=>7+U[&XX&V M__G[=N]-^^_?99]K&UBC\U/YZXDC,3\7]W:BZEE_PAVQ>^Y+$;,U0SQ3+6YG M[^W,F]25M@/?S;&?LD+U(8%C$V8+5]W+QG>3[X[K"!71Y@^S@CH%,%J W]W' MS"@IP&;82^=LN$ZCGXD\O'%ZT3]E*,PKF9 M8]9J&(HN796Y'>I_:U$QRX3^%[[\,1*SS$*)\508$^;[_^T0/$?'.OT>D_\> M ;4P 'N2Z-_'X&OKF517^5D!SU^#_QK\U^#_7P[V#5*FA.-QX;XG;.#1#\+O M!)M(BQ"[UW2LOWPL;M%^-^3N/>S<&S@_E6;TXV0CBOYK&V MI^FPL?[8+M!XOZN1+3V[WHMR%O'07_XYC<2+4I@0YM;F[ZX]_,DXZN<,^DEP M+ .P!?E;VQ[_0 :@W67;0EKA]^F2EZ@9)(V[YW=!E@T4N9&*^F/\^K?C%7]J MJ,L5CW//'?2,Y>D#+-=$K/_9HD%_?#BFZ5T$ZW,XFD>>/?_^SF%P2JXBXB:Q M +.'XW8B(3'(XW1W"RFO (F;[TU6")@_M<#%SY2&:7TD9D8# +J>B1\[]+S>3D,+L& M.E0Q)#,W+J0AP,Q_;NPS *^''&!C$'PF** Y*9OV8Q;V*^Q+U[X)0C:<[@"[ MM"<>RXST8SZ?&@@V@UD["B)2P5.?]OOD_BAF$/F/\!!OC]+BXX;3I:/WP"3"Q3I@G(Z:+J&.H@@B(),GJ'?<6$ OCU%;J[&;Z^H M;GY(_C,*6\&HRA^V& #2(K&G254$+0V^U; M4O=\G-DI4&5&[HL!IQ;YJ%6LW=!R>:ZFY3-PV_NRS=OW$YY8C>P&A4]@_J3+ M/!E#KHJ2CDXUCDEC0C3/U%3KOG&H?) F+_J<]1+TFW#5EG; M)W2JKBK[^R8SS4F;$HH,9%KW40J'3J*)"8=(3M8R]Y)*1';PZKSYN-M\NH=F MV5SJ(/1DT!EXDH9.:STGR2_RXCFUC/X"]^R2%\"/!_B^M[(]9^+U9W716*0@ M0F>:)JNA>HO"6N"<)$_[Z3[LI9^/FMW,C4P@$.D M $/LH,89 T<'""U9A$5EW*E%$5Y*,%5)?LE&OK98:\&WU&@Q(8:5*H4/C UX M$)=#2M;_%M7?@<_&YNF;F;H]N3X3/7A+Y(5V]'/--^T, %8?ODR/2([ K.