0001200375-21-000038.txt : 20210806 0001200375-21-000038.hdr.sgml : 20210806 20210806162827 ACCESSION NUMBER: 0001200375-21-000038 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 83 CONFORMED PERIOD OF REPORT: 20210630 FILED AS OF DATE: 20210806 DATE AS OF CHANGE: 20210806 FILER: COMPANY DATA: COMPANY CONFORMED NAME: CODEXIS, INC. CENTRAL INDEX KEY: 0001200375 STANDARD INDUSTRIAL CLASSIFICATION: INDUSTRIAL ORGANIC CHEMICALS [2860] IRS NUMBER: 710872999 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-34705 FILM NUMBER: 211153298 BUSINESS ADDRESS: STREET 1: 200 PENOBSCOT DRIVE CITY: REDWOOD CITY STATE: CA ZIP: 94063 BUSINESS PHONE: 650-421-8100 MAIL ADDRESS: STREET 1: 200 PENOBSCOT DRIVE CITY: REDWOOD CITY STATE: CA ZIP: 94063 FORMER COMPANY: FORMER CONFORMED NAME: CODEXIS INC DATE OF NAME CHANGE: 20021022 10-Q 1 cdxs-20210630.htm 10-Q cdxs-20210630
0001200375false2021Q212/3161161161100012003752021-01-012021-06-30xbrli:shares00012003752021-08-02iso4217:USD00012003752021-06-3000012003752020-12-31iso4217:USDxbrli:shares0001200375cdxs:ProductSalesMember2021-04-012021-06-300001200375cdxs:ProductSalesMember2020-04-012020-06-300001200375cdxs:ProductSalesMember2021-01-012021-06-300001200375cdxs:ProductSalesMember2020-01-012020-06-300001200375cdxs:ResearchandDevelopmentRevenueMember2021-04-012021-06-300001200375cdxs:ResearchandDevelopmentRevenueMember2020-04-012020-06-300001200375cdxs:ResearchandDevelopmentRevenueMember2021-01-012021-06-300001200375cdxs:ResearchandDevelopmentRevenueMember2020-01-012020-06-3000012003752021-04-012021-06-3000012003752020-04-012020-06-3000012003752020-01-012020-06-300001200375us-gaap:CommonStockMember2021-03-310001200375us-gaap:AdditionalPaidInCapitalMember2021-03-310001200375us-gaap:RetainedEarningsMember2021-03-3100012003752021-03-310001200375us-gaap:CommonStockMember2021-04-012021-06-300001200375us-gaap:AdditionalPaidInCapitalMember2021-04-012021-06-300001200375us-gaap:RetainedEarningsMember2021-04-012021-06-300001200375us-gaap:CommonStockMember2021-06-300001200375us-gaap:AdditionalPaidInCapitalMember2021-06-300001200375us-gaap:RetainedEarningsMember2021-06-300001200375us-gaap:CommonStockMember2020-03-310001200375us-gaap:AdditionalPaidInCapitalMember2020-03-310001200375us-gaap:RetainedEarningsMember2020-03-3100012003752020-03-310001200375us-gaap:CommonStockMember2020-04-012020-06-300001200375us-gaap:AdditionalPaidInCapitalMember2020-04-012020-06-300001200375us-gaap:RetainedEarningsMember2020-04-012020-06-300001200375us-gaap:CommonStockMember2020-06-300001200375us-gaap:AdditionalPaidInCapitalMember2020-06-300001200375us-gaap:RetainedEarningsMember2020-06-3000012003752020-06-300001200375us-gaap:CommonStockMember2020-12-310001200375us-gaap:AdditionalPaidInCapitalMember2020-12-310001200375us-gaap:RetainedEarningsMember2020-12-310001200375us-gaap:CommonStockMember2021-01-012021-06-300001200375us-gaap:AdditionalPaidInCapitalMember2021-01-012021-06-300001200375us-gaap:RetainedEarningsMember2021-01-012021-06-300001200375us-gaap:CommonStockMember2019-12-310001200375us-gaap:AdditionalPaidInCapitalMember2019-12-310001200375us-gaap:RetainedEarningsMember2019-12-3100012003752019-12-310001200375us-gaap:CommonStockMember2020-01-012020-06-300001200375us-gaap:AdditionalPaidInCapitalMember2020-01-012020-06-300001200375us-gaap:RetainedEarningsMember2020-01-012020-06-300001200375cdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2020-06-300001200375cdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2020-06-012020-06-300001200375cdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2021-04-300001200375cdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2021-04-012021-04-300001200375cdxs:NestecLtd.NestleHealthSciencesMembercdxs:CDX6114Member2019-01-012019-03-310001200375cdxs:TakedaPharmaceuticalCoLtdMember2020-03-012020-03-310001200375cdxs:ProductSalesMembercdxs:CoreSegmentMember2021-04-012021-06-300001200375cdxs:ProductSalesMembercdxs:BiotherapeuticSegmentMember2021-04-012021-06-300001200375cdxs:ProductSalesMembercdxs:CoreSegmentMember2020-04-012020-06-300001200375cdxs:ProductSalesMembercdxs:BiotherapeuticSegmentMember2020-04-012020-06-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:CoreSegmentMember2021-04-012021-06-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:BiotherapeuticSegmentMember2021-04-012021-06-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:CoreSegmentMember2020-04-012020-06-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:BiotherapeuticSegmentMember2020-04-012020-06-300001200375cdxs:CoreSegmentMember2021-04-012021-06-300001200375cdxs:BiotherapeuticSegmentMember2021-04-012021-06-300001200375cdxs:CoreSegmentMember2020-04-012020-06-300001200375cdxs:BiotherapeuticSegmentMember2020-04-012020-06-300001200375srt:AmericasMembercdxs:CoreSegmentMember2021-04-012021-06-300001200375srt:AmericasMembercdxs:BiotherapeuticSegmentMember2021-04-012021-06-300001200375srt:AmericasMember2021-04-012021-06-300001200375srt:AmericasMembercdxs:CoreSegmentMember2020-04-012020-06-300001200375srt:AmericasMembercdxs:BiotherapeuticSegmentMember2020-04-012020-06-300001200375srt:AmericasMember2020-04-012020-06-300001200375us-gaap:EMEAMembercdxs:CoreSegmentMember2021-04-012021-06-300001200375us-gaap:EMEAMembercdxs:BiotherapeuticSegmentMember2021-04-012021-06-300001200375us-gaap:EMEAMember2021-04-012021-06-300001200375us-gaap:EMEAMembercdxs:CoreSegmentMember2020-04-012020-06-300001200375us-gaap:EMEAMembercdxs:BiotherapeuticSegmentMember2020-04-012020-06-300001200375us-gaap:EMEAMember2020-04-012020-06-300001200375cdxs:APACMembercdxs:CoreSegmentMember2021-04-012021-06-300001200375cdxs:APACMembercdxs:BiotherapeuticSegmentMember2021-04-012021-06-300001200375cdxs:APACMember2021-04-012021-06-300001200375cdxs:APACMembercdxs:CoreSegmentMember2020-04-012020-06-300001200375cdxs:APACMembercdxs:BiotherapeuticSegmentMember2020-04-012020-06-300001200375cdxs:APACMember2020-04-012020-06-300001200375cdxs:ProductSalesMembercdxs:CoreSegmentMember2021-01-012021-06-300001200375cdxs:ProductSalesMembercdxs:BiotherapeuticSegmentMember2021-01-012021-06-300001200375cdxs:ProductSalesMembercdxs:CoreSegmentMember2020-01-012020-06-300001200375cdxs:ProductSalesMembercdxs:BiotherapeuticSegmentMember2020-01-012020-06-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:CoreSegmentMember2021-01-012021-06-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:BiotherapeuticSegmentMember2021-01-012021-06-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:CoreSegmentMember2020-01-012020-06-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:BiotherapeuticSegmentMember2020-01-012020-06-300001200375cdxs:CoreSegmentMember2021-01-012021-06-300001200375cdxs:BiotherapeuticSegmentMember2021-01-012021-06-300001200375cdxs:CoreSegmentMember2020-01-012020-06-300001200375cdxs:BiotherapeuticSegmentMember2020-01-012020-06-300001200375srt:AmericasMembercdxs:CoreSegmentMember2021-01-012021-06-300001200375srt:AmericasMembercdxs:BiotherapeuticSegmentMember2021-01-012021-06-300001200375srt:AmericasMember2021-01-012021-06-300001200375srt:AmericasMembercdxs:CoreSegmentMember2020-01-012020-06-300001200375srt:AmericasMembercdxs:BiotherapeuticSegmentMember2020-01-012020-06-300001200375srt:AmericasMember2020-01-012020-06-300001200375us-gaap:EMEAMembercdxs:CoreSegmentMember2021-01-012021-06-300001200375us-gaap:EMEAMembercdxs:BiotherapeuticSegmentMember2021-01-012021-06-300001200375us-gaap:EMEAMember2021-01-012021-06-300001200375us-gaap:EMEAMembercdxs:CoreSegmentMember2020-01-012020-06-300001200375us-gaap:EMEAMembercdxs:BiotherapeuticSegmentMember2020-01-012020-06-300001200375us-gaap:EMEAMember2020-01-012020-06-300001200375cdxs:APACMembercdxs:CoreSegmentMember2021-01-012021-06-300001200375cdxs:APACMembercdxs:BiotherapeuticSegmentMember2021-01-012021-06-300001200375cdxs:APACMember2021-01-012021-06-300001200375cdxs:APACMembercdxs:CoreSegmentMember2020-01-012020-06-300001200375cdxs:APACMembercdxs:BiotherapeuticSegmentMember2020-01-012020-06-300001200375cdxs:APACMember2020-01-012020-06-300001200375cdxs:ProductSalesMember2021-07-012021-06-300001200375cdxs:ProductSalesMember2022-01-012021-06-300001200375cdxs:ProductSalesMember2023-01-012021-06-300001200375cdxs:ProductSalesMember2024-01-012021-06-300001200375cdxs:ProductSalesMember2021-06-300001200375cdxs:ResearchandDevelopmentRevenueMember2021-07-012021-06-300001200375cdxs:ResearchandDevelopmentRevenueMember2022-01-012021-06-300001200375cdxs:ResearchandDevelopmentRevenueMember2023-01-012021-06-300001200375cdxs:ResearchandDevelopmentRevenueMember2024-01-012021-06-300001200375cdxs:ResearchandDevelopmentRevenueMember2021-06-3000012003752021-07-012021-06-3000012003752022-01-012021-06-3000012003752023-01-012021-06-3000012003752024-01-012021-06-300001200375us-gaap:StockCompensationPlanMember2021-04-012021-06-300001200375us-gaap:StockCompensationPlanMember2020-04-012020-06-300001200375us-gaap:StockCompensationPlanMember2021-01-012021-06-300001200375us-gaap:StockCompensationPlanMember2020-01-012020-06-300001200375us-gaap:FairValueInputsLevel3Member2021-06-300001200375cdxs:SecurityOwnedNotReadilyMarketableMAIMember2020-04-012020-06-300001200375cdxs:SecurityOwnedNotReadilyMarketableMAIMember2020-01-012020-06-300001200375cdxs:SecurityOwnedNotReadilyMarketableMAIMember2021-04-012021-06-300001200375cdxs:SecurityOwnedNotReadilyMarketableMAIMember2021-01-012021-06-300001200375cdxs:SecurityOwnedNotReadilyMarketableMAIMember2021-06-300001200375cdxs:SecurityOwnedNotReadilyMarketableMAIMember2020-12-310001200375us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMember2021-06-300001200375us-gaap:MoneyMarketFundsMember2021-06-300001200375us-gaap:FairValueInputsLevel1Member2021-06-300001200375us-gaap:FairValueInputsLevel1Memberus-gaap:MoneyMarketFundsMember2020-12-310001200375us-gaap:MoneyMarketFundsMember2020-12-310001200375us-gaap:FairValueInputsLevel3Member2020-12-310001200375us-gaap:FairValueInputsLevel1Member2020-12-310001200375us-gaap:ConvertibleDebtMember2021-04-012021-06-300001200375us-gaap:ConvertibleDebtMember2021-01-012021-06-300001200375us-gaap:ConvertibleDebtMember2020-04-012020-06-300001200375us-gaap:ConvertibleDebtMember2020-01-012020-06-300001200375us-gaap:CashMember2021-06-300001200375us-gaap:CashMember2020-12-310001200375cdxs:LaboratoryEquipmentMember2021-06-300001200375cdxs:LaboratoryEquipmentMember2020-12-310001200375us-gaap:LeaseholdImprovementsMember2021-06-300001200375us-gaap:LeaseholdImprovementsMember2020-12-310001200375us-gaap:ComputerEquipmentMember2021-06-300001200375us-gaap:ComputerEquipmentMember2020-12-310001200375cdxs:OfficeEquipmentAndFurnitureMember2021-06-300001200375cdxs:OfficeEquipmentAndFurnitureMember2020-12-310001200375us-gaap:ConstructionInProgressMember2021-06-300001200375us-gaap:ConstructionInProgressMember2020-12-310001200375cdxs:A2019PlanMember2019-04-220001200375cdxs:A2019PlanMember2019-06-30xbrli:pure0001200375cdxs:IncentiveStockOptionsMember2021-01-012021-06-300001200375srt:MinimumMembercdxs:NonStatutoryStockOptionsMember2021-01-012021-06-300001200375us-gaap:EmployeeStockOptionMember2021-01-012021-06-300001200375us-gaap:EmployeeStockOptionMembersrt:MaximumMember2021-01-012021-06-300001200375us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2021-01-012021-06-300001200375us-gaap:ShareBasedCompensationAwardTrancheTwoMemberus-gaap:EmployeeStockOptionMember2021-01-012021-06-300001200375us-gaap:RestrictedStockUnitsRSUMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2021-01-012021-06-300001200375us-gaap:RestrictedStockUnitsRSUMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2021-01-012021-06-30cdxs:installment0001200375us-gaap:PerformanceSharesMember2021-06-300001200375us-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2021-01-012021-06-300001200375us-gaap:ShareBasedCompensationAwardTrancheTwoMemberus-gaap:PerformanceSharesMember2021-01-012021-06-300001200375us-gaap:PerformanceSharesMember2021-01-012021-06-300001200375cdxs:A2021PSUMemberus-gaap:PerformanceSharesMember2021-06-300001200375us-gaap:PerformanceSharesMembercdxs:A2020PBOMember2021-06-300001200375us-gaap:PerformanceSharesMembercdxs:A2020PSUAndPBOPlanMember2021-03-310001200375us-gaap:PerformanceSharesMembercdxs:A2020PSUAndPBOPlanMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2021-01-012021-03-310001200375srt:ScenarioForecastMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMemberus-gaap:PerformanceSharesMembercdxs:A2020PSUAndPBOPlanMember2022-01-012022-03-310001200375us-gaap:PerformanceSharesMembercdxs:A2019PSUandPBOPlanMember2020-03-310001200375us-gaap:PerformanceSharesMembercdxs:A2019PSUandPBOPlanMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2020-01-012020-03-310001200375us-gaap:ShareBasedCompensationAwardTrancheTwoMemberus-gaap:PerformanceSharesMembercdxs:A2019PSUandPBOPlanMember2021-01-012021-03-310001200375us-gaap:ResearchAndDevelopmentExpenseMember2021-04-012021-06-300001200375us-gaap:ResearchAndDevelopmentExpenseMember2020-04-012020-06-300001200375us-gaap:ResearchAndDevelopmentExpenseMember2021-01-012021-06-300001200375us-gaap:ResearchAndDevelopmentExpenseMember2020-01-012020-06-300001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2021-04-012021-06-300001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2020-04-012020-06-300001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2021-01-012021-06-300001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2020-01-012020-06-300001200375us-gaap:EmployeeStockOptionMember2021-04-012021-06-300001200375us-gaap:EmployeeStockOptionMember2020-04-012020-06-300001200375us-gaap:EmployeeStockOptionMember2020-01-012020-06-300001200375cdxs:RSAsandRSUsMember2021-04-012021-06-300001200375cdxs:RSAsandRSUsMember2020-04-012020-06-300001200375cdxs:RSAsandRSUsMember2021-01-012021-06-300001200375cdxs:RSAsandRSUsMember2020-01-012020-06-300001200375cdxs:PerformanceStockUnitsMember2021-04-012021-06-300001200375cdxs:PerformanceStockUnitsMember2020-04-012020-06-300001200375cdxs:PerformanceStockUnitsMember2021-01-012021-06-300001200375cdxs:PerformanceStockUnitsMember2020-01-012020-06-300001200375cdxs:PerformanceBasedOptionsPBOsMember2021-04-012021-06-300001200375cdxs:PerformanceBasedOptionsPBOsMember2020-04-012020-06-300001200375cdxs:PerformanceBasedOptionsPBOsMember2021-01-012021-06-300001200375cdxs:PerformanceBasedOptionsPBOsMember2020-01-012020-06-300001200375us-gaap:EmployeeStockOptionMember2021-06-300001200375cdxs:RSAsandRSUsMember2021-06-300001200375cdxs:PerformanceStockUnitsMember2021-06-300001200375cdxs:PerformanceBasedOptionsPBOsMember2021-06-300001200375cdxs:PiperSandlerCoMember2021-05-012021-05-310001200375cdxs:PiperSandlerCoMembersrt:MaximumMember2021-05-310001200375cdxs:PiperSandlerCoMembersrt:MaximumMember2021-05-012021-05-310001200375cdxs:PiperSandlerCoMember2021-04-012021-06-300001200375cdxs:PiperSandlerCoMember2021-01-012021-06-300001200375cdxs:PiperSandlerCoMember2021-06-30utr:sqft0001200375cdxs:A200220PenobscotMember2021-06-300001200375cdxs:A400PenoscotMember2021-06-300001200375cdxs:A501ChesapeakeMember2021-06-300001200375cdxs:A101SaginawMember2020-01-310001200375cdxs:SubleaseMember2020-01-310001200375cdxs:SubleaseMember2020-04-30cdxs:numberOfRenewalOption0001200375us-gaap:DemandDepositsMember2020-12-310001200375us-gaap:DemandDepositsMember2021-06-300001200375cdxs:SanCarlosCalifiorniaMember2021-06-3000012003752017-04-3000012003752017-02-012017-02-2800012003752017-02-2800012003752017-04-012017-04-300001200375cdxs:SanCarlosMember2021-03-310001200375us-gaap:LeaseholdsAndLeaseholdImprovementsMembercdxs:SanCarlosMember2021-03-310001200375us-gaap:AssetUnderConstructionMembercdxs:SanCarlosMember2021-03-310001200375cdxs:SanCarlosMember2021-01-012021-03-310001200375us-gaap:AssetUnderConstructionMembercdxs:SanCarlosMember2021-01-012021-03-31cdxs:reportingUnit0001200375cdxs:SanCarlosMember2021-06-300001200375us-gaap:SupplyCommitmentMembercdxs:April2016Member2021-06-300001200375us-gaap:SupplyCommitmentMembercdxs:September2019Member2021-06-300001200375us-gaap:SupplyCommitmentMember2021-06-300001200375cdxs:TermLoanMember2017-06-300001200375us-gaap:RevolvingCreditFacilityMember2017-06-3000012003752017-06-302017-06-300001200375cdxs:TermLoanMember2017-06-302017-06-300001200375us-gaap:RevolvingCreditFacilityMember2017-06-302017-06-300001200375us-gaap:IndemnificationGuaranteeMember2021-06-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMember2021-04-012021-06-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMember2021-01-012021-06-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMember2020-04-012020-06-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMember2020-01-012020-06-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2021-04-012021-06-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2021-01-012021-06-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2020-04-012020-06-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2020-01-012020-06-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMemberus-gaap:SeriesAPreferredStockMember2020-06-012021-06-300001200375cdxs:MolecularAssembliesIncMember2021-06-300001200375cdxs:MolecularAssembliesIncMember2020-12-310001200375srt:DirectorMembercdxs:TransactionsWithAstraZenecaPLCMember2020-04-012020-06-300001200375srt:DirectorMembercdxs:TransactionsWithAstraZenecaPLCMember2020-01-012020-06-300001200375srt:DirectorMembercdxs:TransactionsWithAstraZenecaPLCMember2020-12-310001200375srt:DirectorMembercdxs:TransactionsWithAstraZenecaPLCMember2021-06-30cdxs:segment0001200375cdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2021-04-012021-06-300001200375cdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2020-04-012020-06-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMember2021-04-012021-06-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMember2020-04-012020-06-300001200375cdxs:CoreSegmentMemberus-gaap:OperatingSegmentsMember2021-04-012021-06-300001200375us-gaap:OperatingSegmentsMembercdxs:BiotherapeuticSegmentMember2021-04-012021-06-300001200375us-gaap:OperatingSegmentsMember2021-04-012021-06-300001200375cdxs:CoreSegmentMemberus-gaap:OperatingSegmentsMember2020-04-012020-06-300001200375us-gaap:OperatingSegmentsMembercdxs:BiotherapeuticSegmentMember2020-04-012020-06-300001200375us-gaap:OperatingSegmentsMember2020-04-012020-06-300001200375us-gaap:CorporateNonSegmentMember2021-04-012021-06-300001200375us-gaap:CorporateNonSegmentMember2020-04-012020-06-300001200375cdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2021-01-012021-06-300001200375cdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2020-01-012020-06-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMember2021-01-012021-06-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMember2020-01-012020-06-300001200375cdxs:CoreSegmentMemberus-gaap:OperatingSegmentsMember2021-01-012021-06-300001200375us-gaap:OperatingSegmentsMembercdxs:BiotherapeuticSegmentMember2021-01-012021-06-300001200375us-gaap:OperatingSegmentsMember2021-01-012021-06-300001200375cdxs:CoreSegmentMemberus-gaap:OperatingSegmentsMember2020-01-012020-06-300001200375us-gaap:OperatingSegmentsMembercdxs:BiotherapeuticSegmentMember2020-01-012020-06-300001200375us-gaap:OperatingSegmentsMember2020-01-012020-06-300001200375us-gaap:CorporateNonSegmentMember2021-01-012021-06-300001200375us-gaap:CorporateNonSegmentMember2020-01-012020-06-300001200375cdxs:CustomerAMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2021-04-012021-06-300001200375cdxs:CustomerAMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-06-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerBMemberus-gaap:CustomerConcentrationRiskMember2021-04-012021-06-300001200375cdxs:CustomerCMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2021-04-012021-06-300001200375cdxs:CustomerCMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-06-300001200375cdxs:CustomerDMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2020-04-012020-06-300001200375cdxs:CustomerDMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-06-300001200375cdxs:CustomerDMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-06-300001200375cdxs:CustomerEMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2020-04-012020-06-300001200375cdxs:CustomerEMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-06-300001200375cdxs:CustomerEMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-06-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerFMemberus-gaap:CustomerConcentrationRiskMember2020-04-012020-06-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerFMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-06-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerGMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-06-300001200375cdxs:CustomerAMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-06-300001200375cdxs:CustomerHMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-06-300001200375us-gaap:AccountsReceivableMembercdxs:CustomerBMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-06-300001200375cdxs:CustomerDMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-06-300001200375cdxs:CustomerDMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-12-310001200375cdxs:CustomerEMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-06-300001200375cdxs:CustomerGMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-12-310001200375cdxs:CustomerFMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-12-310001200375country:US2021-06-300001200375country:US2020-12-310001200375cdxs:PerformanceEnzymesMemberus-gaap:OperatingSegmentsMember2021-06-300001200375cdxs:PerformanceEnzymesMemberus-gaap:OperatingSegmentsMember2020-12-310001200375us-gaap:OperatingSegmentsMembercdxs:NovelBiotherapeuticsMember2021-06-300001200375us-gaap:OperatingSegmentsMembercdxs:NovelBiotherapeuticsMember2020-12-310001200375us-gaap:OperatingSegmentsMember2021-06-300001200375us-gaap:OperatingSegmentsMember2020-12-310001200375us-gaap:FinancialAssetNotPastDueMember2021-06-300001200375us-gaap:FinancingReceivables30To59DaysPastDueMember2021-06-300001200375us-gaap:FinancingReceivables60To89DaysPastDueMember2021-06-300001200375us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember2021-06-300001200375us-gaap:FinancialAssetNotPastDueMember2020-12-310001200375us-gaap:FinancingReceivables30To59DaysPastDueMember2020-12-310001200375us-gaap:FinancingReceivables60To89DaysPastDueMember2020-12-310001200375us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember2020-12-31

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
FORM 10-Q
(Mark One)
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended June 30, 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-34705
___________________________
Codexis, Inc.
(Exact name of registrant as specified in its charter)
_____________________________________________
Delaware 71-0872999
(State or other jurisdiction of incorporation or organization) (I.R.S. Employer Identification No.)
200 Penobscot Drive, Redwood City, California
 94063
(Address of principal executive offices) (Zip Code)

Registrant's telephone number, including area code: (650) 421-8100

Securities registered pursuant to Section 12(b) of the Act:
Title of Each ClassTradingName of Each Exchange on Which Registered
Symbol(s)
Common Stock, par value $0.0001 per shareCDXSThe Nasdaq Global Select Market
Indicate by check mark whether the registrant: (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the Registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.    Yes     No  
Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    Yes      No  
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See 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 transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    Yes      No  
As of August 2, 2021, there were 64,640,734 shares of the registrant’s Common Stock, par value $0.0001 per share, outstanding.
1





Codexis, Inc.
Quarterly Report on Form 10-Q
For the Quarter Ended June 30, 2021


TABLE OF CONTENTS

2



PART I. FINANCIAL INFORMATION
Item 1. Financial Statements
Codexis, Inc.
Condensed Consolidated Balance Sheets
(Unaudited)
(In Thousands, Except Per Share Amounts)
June 30, 2021December 31, 2020
Assets
Current assets:
Cash and cash equivalents$129,506 $149,117 
Restricted cash, current585 638 
Investment in non-marketable debt security1,289 1,000 
Financial assets:
Accounts receivable19,488 13,894 
Contract assets4,528 4,526 
Unbilled receivables12,417 10,942 
   Total financial assets36,433 29,362 
        Less: allowances(74)(74)
        Total financial assets, net36,359 29,288 
Inventories1,078 964 
Prepaid expenses and other current assets3,578 3,416 
Total current assets172,395 184,423 
Restricted cash1,519 1,062 
Investment in non-marketable equity securities3,430 1,450 
Right-of-use assets - Operating leases, net20,124 21,382 
Right-of-use assets - Finance leases, net68 119 
Property and equipment, net11,232 9,675 
Goodwill3,241 3,241 
Other non-current assets301 294 
Total assets$212,310 $221,646 
Liabilities and Stockholders' Equity
Current liabilities:
Accounts payable$3,164 $2,970 
Accrued compensation6,859 7,288 
Other accrued liabilities9,082 10,272 
Current portion of lease obligations - Operating leases2,672 2,627 
Deferred revenue2,313 1,824 
Total current liabilities24,090 24,981 
Deferred revenue, net of current portion3,166 2,967 
Long-term lease obligations - Operating leases20,992 22,324 
Other long-term liabilities1,289 1,271 
Total liabilities49,537 51,543 
Commitments and Contingencies (Note 10)
Stockholders' equity:
Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding
  
Common stock, $0.0001 par value per share; 100,000 shares authorized;
64,623 shares and 64,283 shares issued and outstanding at June 30, 2021 and December 31, 2020, respectively
6 6 
Additional paid-in capital542,519 536,516 
Accumulated deficit(379,752)(366,419)
Total stockholders' equity162,773 170,103 
Total liabilities and stockholders' equity$212,310 $221,646 
See accompanying notes to the unaudited condensed consolidated financial statements.
3



Codexis, Inc.
Condensed Consolidated Statements of Operations
(Unaudited)
(In Thousands, Except Per Share Amounts)
 Three Months Ended June 30,Six Months Ended June 30,
 2021202020212020
Revenues:
Product revenue$14,717 $4,504 $24,943 $9,604 
Research and development revenue10,736 10,463 18,542 20,033 
Total revenues25,453 14,967 43,485 29,637 
Costs and operating expenses:
Cost of product revenue4,318 1,699 8,536 4,240 
Research and development12,826 10,853 24,397 21,820 
Selling, general and administrative12,795 8,522 24,193 17,512 
Total costs and operating expenses29,939 21,074 57,126 43,572 
Loss from operations(4,486)(6,107)(13,641)(13,935)
Interest income206 57 382 323 
Other income (expense), net23 13 (63)(72)
Loss before income taxes(4,257)(6,037)(13,322)(13,684)
Provision for income taxes8 307 11 312 
Net loss$(4,265)$(6,344)$(13,333)$(13,996)
Net loss per share, basic and diluted$(0.07)$(0.11)$(0.21)$(0.24)
Weighted average common stock shares used in computing net loss per share, basic and diluted64,434 59,000 64,363 58,944 
See accompanying notes to the unaudited condensed consolidated financial statements
4



Codexis, Inc.
Condensed Consolidated Statements of Stockholders' Equity
(Unaudited)
(In Thousands)
Common StockAdditional
paid-in
Capital
Accumulated DeficitTotal Stockholders' Equity
Three months ended June 30, 2021SharesAmount
Balance as of April 1, 202164,488 $6 $539,220 $(375,487)$163,739 
Exercise of stock options95 — 455 — 455 
Release of stock awards42 — — — — 
Employee stock-based compensation— — 2,779 — 2,779 
Non-employee stock-based compensation— — 65 — 65 
Taxes paid related to net share settlement of equity awards(2)— — — — 
Net loss— — — (4,265)(4,265)
Balance as of June 30, 202164,623 $6 $542,519 $(379,752)$162,773 
Common StockAdditional
paid-in
Capital
Accumulated DeficitTotal Stockholders' Equity
Three months ended June 30, 2020SharesAmount
Balance as of April 1, 202059,017 $6 $449,121 $(350,061)$99,066 
Exercise of stock options27 — 158 — 158 
Release of stock awards81 — — — — 
Employee stock-based compensation— — 1,935 — 1,935 
Non-employee stock-based compensation— — 4 — 4 
Taxes paid related to net share settlement of equity awards— — (33)— (33)
Net loss— — — (6,344)(6,344)
Balance as of June 30, 202059,125 $6 $451,185 $(356,405)$94,786 
See accompanying notes to the unaudited condensed consolidated financial statements
5



Codexis, Inc.
Condensed Consolidated Statements of Stockholders' Equity
(Unaudited)
(In Thousands)
Common StockAdditional
paid-in
Capital
Accumulated DeficitTotal Stockholders' Equity
Six months ended June 30, 2021SharesAmount
Balance as of January 1, 202164,283 6 536,516 (366,419)170,103 
Exercise of stock options213 — 1,678 — 1,678 
Release of stock awards181 — — — — 
Employee stock-based compensation— — 5,405 — 5,405 
Non-employee stock-based compensation— — 126 — 126 
Taxes paid related to net share settlement of equity awards(54)— (1,206)— (1,206)
Net loss— — — (13,333)(13,333)
Balance as of June 30. 202164,623 $6 $542,519 $(379,752)$162,773 


Common StockAdditional
paid-in
Capital
Accumulated DeficitTotal Stockholders' Equity
Six months ended June 30, 2020SharesAmount
Balance as of January 1, 202058,877 $6 $447,920 $(342,409)$105,517 
Exercise of stock options32 — 197 — 197 
Release of stock awards300 — — — 
Employee stock-based compensation— — 4,104 — 4,104 
Non-employee stock-based compensation— — 4 — 4 
Taxes paid related to net share settlement of equity awards(84)— (1,040)— (1,040)
Net loss— — — (13,996)(13,996)
Balance as of June 30, 202059,125 $6 $451,185 $(356,405)$94,786 

See accompanying notes to the unaudited condensed consolidated financial statements
6



Codexis, Inc.
Condensed Consolidated Statements of Cash Flows
(Unaudited, in Thousands)
Six Months Ended June 30,
 20212020
Operating activities:
Net loss$(13,333)$(13,996)
Adjustments to reconcile net loss to net cash used in operating activities:
Depreciation1,375 900 
Amortization expense - right-of-use assets - operating and finance leases1,309 1,336 
Stock-based compensation5,531 4,108 
Equity securities earned from research and development activities(477) 
Other non-cash items(318) 
Changes in operating assets and liabilities:
Financial assets, net(7,521)(6,258)
Inventories(113)(315)
Prepaid expenses and other assets(170)(824)
Accounts payable436 (19)
Accrued compensation and other accrued liabilities(404)1,839 
Other long-term liabilities(1,314)(1,270)
Deferred revenue264 3,001 
Net cash used in operating activities(14,735)(11,498)
Investing activities:
Purchase of property and equipment(4,344)(1,490)
Proceeds from sale of property and equipment29  
Investment in equity securities(630)(1,000)
Net cash used in investing activities(4,945)(2,490)
Financing activities:
Proceeds from exercises of stock options1,679 197 
Payments of lease obligations - Finance leases (60)
Taxes paid related to net share settlement of equity awards(1,206)(1,040)
Net cash provided by (used in) financing activities473 (903)
Net decrease in cash, cash equivalents and restricted cash(19,207)(14,891)
Cash, cash equivalents and restricted cash at the beginning of the period150,817 92,221 
Cash, cash equivalents and restricted cash at the end of the period$131,610 $77,330 
Supplemental disclosure of cash flow information:
Interest paid$3 $4 
Income taxes paid$ $5 
Supplemental non-cash investing and financing activities:
Capital expenditures incurred but not yet paid$338 $90 
Assets received for research and development revenue earned$1,350 $ 

7



The following table provides a reconciliation of cash, cash equivalents and restricted cash reported within the unaudited condensed consolidated balance sheets as of June 30, 2021 and 2020 to the total of the same such amounts shown above in the unaudited condensed consolidated statements of cash flows:

 June 30,
 20212020
Cash and cash equivalents$129,506 $75,649 
Restricted cash, current and non-current 2,104 1,681 
Total cash, cash equivalents and restricted cash$131,610 $77,330 
See accompanying notes to the unaudited condensed consolidated financial statements
8



Codexis Inc.

Notes to Condensed Consolidated Financial Statements
(Unaudited)
Note 1. Description of Business
In these notes to the unaudited condensed consolidated financial statements, the “Company,” “we,” “us,” and “our” refers to Codexis, Inc. and its subsidiaries on a consolidated basis.
We discover, develop and sell enzymes and other proteins that deliver value to our clients in a growing set of industries. We view proteins as a vast, largely untapped source of value-creating products, and we are using our proven technologies, which we have been continuously improving since our inception in 2002, to commercialize an increasing number of novel enzymes, both as proprietary Codexis products and in partnership with our customers.
We are a pioneer in harnessing computational technologies to drive biology advancements. Since 2002, we have made substantial investments in the development of our CodeEvolver® protein engineering technology platform, the primary source of our competitive advantage. Our technology platform is powered by proprietary, artificial intelligence-based, computational algorithms that rapidly mine the structural and performance attributes of our large and continuously growing library of protein variants. These computational outputs enable increasingly reliable predictions for next generation protein variants to be engineered, enabling time- and cost-efficient delivery of the targeted performance enhancements. In addition to its computational prowess, our CodeEvolver® protein engineering technology platform integrates additional modular competencies, including robotic high-throughput screening and genomic sequencing, organic chemistry and bioprocess development which are all coordinated to rapidly innovate novel, fit-for-purpose products.
The core historical application of the technology has been in developing commercially viable biocatalytic manufacturing processes for more sustainable production of complex chemicals. This begins by conceptually designing the most cost-effective and practical process for a targeted product. We then develop optimized biocatalysts to enable the designed process, using our CodeEvolver® platform. Engineered biocatalyst candidates, numbering many thousands for each project, are then rapidly screened and validated using high throughput methods under process-relevant operating conditions. This approach results in an optimized biocatalyst that enables cost-efficient processes that are relatively simple to run in conventional manufacturing equipment. This also allows for efficient technical transfer of our processes to our manufacturing partners.
The successful embodiment of our CodeEvolver® protein engineering technology platform in commercial manufacturing processes requires well-integrated expertise in a number of technical disciplines. In addition to those competencies directly integrated in our CodeEvolver® protein engineering platform, such as molecular biology, enzymology, microbiology, cellular engineering, metabolic engineering, bioinformatics, biochemistry and high throughput analytical chemistry, our process development projects also involve integrated expertise in organic chemistry, chemical process development, chemical engineering, bioprocess development and fermentation engineering. Our integrated, multi-disciplinary approach to product and process development is a critical success factor for the Company.
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the manufacture of small molecule pharmaceuticals, which remains a primary business focus. Our customers, which include many large, global pharmaceutical companies, use our technology, products and services in their process development and in manufacturing. Additionally, we have licensed our proprietary CodeEvolver® protein engineering technology platform to global pharmaceutical companies enabling them to use this technology, in house, to engineer enzymes for their own businesses. Most recently, in May 2019, we entered into a Platform Technology Transfer and License Agreement (the “Novartis CodeEvolver® Agreement”) with Novartis. The Novartis CodeEvolver® Agreement (our third such agreement with large pharma companies) allows Novartis to use our proprietary CodeEvolver® protein engineering platform technology in the field of human healthcare.
As evidence of our strategy to extend our technology beyond pharmaceutical manufacturing, we have also used the technology to develop biocatalysts and enzyme products for use in a broader set of industrial markets, including several large verticals, such as food, feed, consumer care and fine chemicals. In addition, we are using our technology to develop enzymes for various life science related applications, such as next generation sequencing (“NGS”) and polymerase chain reaction (“PCR/qPCR”) for in vitro molecular diagnostic and genomic research applications. In December 2019, we entered into a license agreement to provide Roche Sequencing Solutions, Inc. with our first enzyme for this target market: the Company’s EvoT4™ DNA ligase. In June 2020, we entered into a co-marketing and enzyme supply collaboration agreement with Alphazyme LLC for the production and co-marketing of enzymes for life science applications including, initially, high-fidelity DNA polymerase, T7 RNA polymerase and reverse transcriptase enzymes.
9



We have been using the CodeEvolver® protein engineering technology platform to develop early stage, novel biotherapeutic product candidates, both in partnership with customers and for our own proprietary Codexis drug candidates. Our first program was for the potential treatment of phenylketonuria ("PKU") in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In October 2017, we entered into a Global Development, Option and License Agreement (the “Nestlé License Agreement”) with Societé des Produits Nestlé S.A., formerly known as Nestec Ltd. (“Nestlé Health Science”) to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of PKU. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive license to develop and commercialize CDX-6114. Also in October 2017, we entered into a strategic collaboration agreement with Nestlé Health Science (“Nestlé SCA”) pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver® platform technology to develop other novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. In January 2020, we entered into a development agreement with Nestlé Health Science to advance a new lead candidate discovered under the Nestlé SCA, CDX-7108, into preclinical development and early clinical studies as a potential treatment for a gastrointestinal disorder. In parallel, the Nestlé SCA was extended through December 2021 to support the discovery of therapeutic candidates for additional disorders. In March 2020, we entered into a Strategic Collaboration and License Agreement (“Takeda Agreement”) with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Company Limited (“Takeda”), for the research and development of novel gene therapies for certain disease indications, including the treatment of lysosomal storage disorders and a blood factor deficiency.
In June 2020, we entered into a Master Collaboration and Research Agreement (the “MAI Agreement”) with Molecular Assemblies, Inc ("MAI") pursuant to which we are leveraging our CodeEvolver® platform technology to improve the DNA polymerase enzymes that are critical for enzymatic DNA synthesis. Concurrently with the MAI Agreement, we entered into a Stock Purchase Agreement with MAI pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million and, in connection with the transaction, John Nicols, our President and Chief Executive Officer, joined MAI’s board of directors. In April 2021, we purchased an additional 1,000,000 shares of MAI's Series A preferred stock for $0.6 million.
See Note 12 "Segment, Geographical and Other Revenue Information" for additional information.
Below are brief descriptions of our business segments:
Performance Enzymes
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the manufacture of small molecule pharmaceuticals and, to date, this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food, feed, consumer care, and fine chemicals. We also use our technology in the life sciences markets to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications, as well DNA/RNA synthesis and health monitoring applications.
Novel Biotherapeutics
We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver® protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity.
Our first lead program was for the potential treatment of PKU in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In October 2017, we announced a global development, option and license agreement with Nestlé Health Science to advance CDX-6114, our own novel orally administrable enzyme therapeutic candidate for the potential treatment of PKU. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU. As a result of the option exercise, we earned a milestone and recognized $3.0 million in revenues in the first quarter of 2019. Upon exercising its option, Nestlé Health Science assumed all responsibilities for future clinical development and commercialization of CDX-6114.
In October 2017, we entered into the Nestlé SCA pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver® platform technology to develop other novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. The Nestlé SCA was extended through December 2021. In January 2020,
10



we and Nestlé Health Science entered into a development agreement pursuant to which we and Nestlé Health Science are collaborating to advance into preclinical and early clinical studies a lead candidate targeting a gastrointestinal disorder, CDX-7108, discovered through the Nestlé SCA. During 2021, we, together with Nestlé Health Science, continued to advance CDX-7108 towards initiation of a Phase 1 clinical trial which we anticipate will begin in the fourth quarter of 2021. Additionally, the parties are progressing three programs under the Nestlé SCA targeting different gastrointestinal disorders.
In March 2020, we entered into the Takeda Agreement pursuant to which we are collaborating to research and develop protein sequences for use in gene therapy products for certain disease indications in accordance with the respective program plans for Fabry Disease, Pompe Disease, and an undisclosed blood factor deficiency. In March 2020, we received a one-time, non-refundable cash payment of $8.5 million. Of these programs, the Fabry disease program is the most advanced, with multiple sequences, including CDX-6311, having been provided to Takeda. In May 2021, Takeda elected to exercise their option to expand the collaboration into a fourth program for an undisclosed rare genetic disorder.
Business Update Regarding COVID-19
We are subject to risks and uncertainties as a result of the current COVID-19 pandemic. The COVID-19 pandemic has presented a substantial public health and economic challenge around the world and is affecting our employees, communities and business operations, as well as the U.S. economy and other economies worldwide. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition will depend on future developments that are highly uncertain and may not be accurately predicted, including the duration and severity of the pandemic and the extent and severity of the impact on our customers, new information that may emerge concerning COVID-19, the actions taken to contain it or treat its impact and the economic impact on local, regional, national and international markets.
To date, we and our collaboration partners have been able to continue to supply our enzymes to our customers worldwide. However, we are dependent on our manufacturing and logistics partners and consequently, disruptions in operations of our partners and customers may affect our ability to supply enzymes to our customers. Furthermore, our ability to provide future research and development ("R&D") services will continue to be impacted as a result of governmental orders and any disruptions in operations of our customers with whom we collaborate. We believe that these disruptions have had a minimal impact on revenue for the three and six months ended June 30, 2021. The extent to which the pandemic may impact our business operations and operating results will continue to remain highly dependent on future developments, which are uncertain and cannot be predicted with confidence.
In the U.S., the impact of COVID-19, including governmental orders ("Orders") governing the operation of businesses during the pandemic, caused the temporary closure of our Redwood City, California facilities and has disrupted our R&D operations. R&D operations for several projects were temporarily suspended from mid-March 2020 through the end of April 2020 in accordance with these Orders. In May 2020, we initiated limited R&D operations and have ramped up operations such that we are currently utilizing the majority of our normal R&D capacity while following county, state and federal COVID-19 guidance for the protection of our employees. Additionally, we resumed manufacturing at our Redwood City pilot plant in May 2020.
Our future results of operations and liquidity could be adversely impacted by delays in payments of outstanding receivable amounts beyond normal payment terms, supply chain disruptions and uncertain demand, and the impact of any initiatives or programs that we may undertake to address financial and operations challenges faced by our customers. The near and long term impact of COVID-19 to our financial condition, liquidity, or results of operations in the future remains uncertain. Although some of the Orders that were enacted to control the spread of COVID-19 were scaled back and the vaccine rollout has expanded, surges in the spread of COVID-19 due to the emergence of new more contagious variants or the ineffectiveness of the vaccines against such strains, may result in the reimplementation of certain Orders, which could adversely impact our business. For additional information on the various risks posed by the COVID-19 pandemic, please read Item 1A. Risk Factors included in our Annual Report on Form 10-K, for the fiscal year ended December 31, 2020, filed on March 1, 2021.
Note 2. Basis of Presentation and Summary of Significant Accounting Policies
Basis of Presentation and Principles of Consolidation
The accompanying Unaudited Condensed Consolidated Financial Statements have been prepared in accordance with generally accepted accounting principles in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information but does not include all the information and notes required by GAAP for complete financial statements. These interim Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2020. The condensed consolidated balance sheet at
11


December 31, 2020 has been derived from the audited consolidated financial statements at that date, but does not include all disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the Unaudited Condensed Consolidated Financial Statements for the three and six months ended June 30, 2021 and 2020, are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2020 Annual Report on Form 10-K and are updated below as necessary. There have been no significant changes in our significant accounting policies or critical accounting estimates since December 31, 2020.
Certain prior year amounts have been reclassified in the Unaudited Condensed Statements of Cash Flows to conform to the 2021 presentation, however these reclassifications had no effect on the reported results of of operations.
The Unaudited Condensed Consolidated Financial Statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of June 30, 2021, results of our operations for the three and six months ended June 30, 2021 and 2020, changes in stockholders' equity for the three and six months ended June 30, 2021 and 2020, and cash flows for the six months ended June 30, 2021 and 2020. The interim results are not necessarily indicative of the results for any future interim period or for the entire year.
The Unaudited Condensed Consolidated Financial Statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, inventories, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the consolidated financial statements. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain, and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.
Financial Statement Exclusion
The net loss in the Unaudited Condensed Consolidated Statements of Operations for the three and six months ended June 30, 2021 and 2020, is not different from the Unaudited Condensed Consolidated Statements of Comprehensive Loss for the same periods. Accordingly, the Unaudited Condensed Consolidated Financial Statements exclude the Unaudited Condensed Consolidated Statements of Comprehensive Loss for the three and six months ended June 30, 2021 and 2020.
Accounting Pronouncements
Recently adopted accounting pronouncements
In December 2019, the Financial Accounting Standards Board ("FASB") issued ASU No. 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes which is intended to simplify various aspects related to accounting for income taxes. We adopted the standard on January 1, 2021, on a modified retrospective basis. The adoption of this standard had no impact on our Unaudited Condensed Consolidated Financial Statements.
In October 2020, the FASB issued ASU No. 2020-10, Codification Improvements. ASU 2020-10 provides amendments to a wide variety of topics in the FASB’s Accounting Standards Codification, which applies to all reporting entities within the scope of the affected accounting guidance. We adopted the standard on January 1, 2021 on a retrospective basis. The adoption of this standard had no impact on our Unaudited Condensed Consolidated Financial Statements.
Recently issued accounting pronouncements not yet adopted
From time to time, new accounting pronouncements are issued by the FASB or other standards setting bodies that are adopted by us as of the specified effective date. Unless otherwise discussed, we believe that the recently issued standards that are not yet effective will not have a material impact on our Unaudited Condensed Consolidated Financial Statements upon adoption.
12


In May 2021, FASB issued ASU No. 2021-04, Earnings Per Share (Topic 260), Debt—Modifications and Extinguishments (Subtopic 470-50), Compensation—Stock Compensation (Topic 718), and Derivatives and Hedging—Contracts in Entity’s Own Equity (Subtopic 815-40), Issuer’s Accounting for Certain Modifications or Exchanges of Freestanding Equity-Classified Written Call Options, a consensus of the Emerging Issues Task Force. The standard establishes a principles-based framework in accounting for modifications of freestanding equity-classified written call options on the basis of the economic substance of the underlying transaction. The standard also requires incremental financial statement disclosures. The standard affects entities that present earnings per share in accordance with the guidance in Topic 260, Earnings Per Share. The standard is effective for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years with early adoption is permitted by applying the standard as of the beginning of the fiscal year that includes that interim period. The standard may be adopted prospectively for modifications or exchanges occurring on or after the effective date. We will evaluate modifications of equity-classified written call options to determine applicability of the standard on occurrence; however, we believe that the adoption of ASU 2021-04 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures.
In August 2020, FASB issued ASU No. 2020-06 Debt—Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging— Contracts in Entity’s Own Equity (Subtopic 815-40) No. 2020-06 August 2020 Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity, to reduce the complexity and to simplify the accounting for convertible debt instruments and convertible preferred stock, and the derivatives scope exception for contracts in an entity's own equity. In addition, the guidance on calculating diluted earnings per share has been simplified and made more internally consistent. The standard is effective for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years with early adoption permitted for fiscal years beginning December 15, 2020. The standard may be adopted on a modified retrospective or fully retrospective method of transition and on adoption, entities may irrevocably elect the fair value option in accordance with Subtopic 825-10, Financial Instruments—Overall, for any financial instrument that is a convertible security. We believe that the adoption of ASU 2020-06 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures.
In March 2020, the FASB issued ASU No. 2020-04, Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting. The standard provides optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions in which the reference LIBOR or another reference rate are expected to be discontinued as a result of the Reference Rate Reform. The standard is effective for all entities and can be adopted no later than December 1, 2022, with early adoption permitted. The standard may be adopted on a prospective basis. We will evaluate transactions or contract modifications occurring as a result of reference rate reform and determine whether to elect optional expedients for contract modification; however, we believe that the adoption of ASU 2020-04 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures.
There have been no other recent accounting pronouncements or changes in accounting pronouncements during the three and six months ended June 30, 2021, as compared to the recent accounting pronouncements described in herein, that are of significance or potential significance to us.
13


Note 3. Revenue Recognition
Disaggregation of Revenue
The following table provides information about disaggregated revenue from contracts with customers into the nature of the products and services, and geographic regions, and includes a reconciliation of the disaggregated revenue with reportable segments. The geographic regions that are tracked are the Americas (United States, Canada, and Latin America), EMEA (Europe, Middle East, and Africa), and APAC (Australia, New Zealand, Southeast Asia, and China).
Segment information is as follows (in thousands):
Three months ended June 30, 2021Three months ended June 30, 2020
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
       Product Revenue$14,717 $ $14,717 $4,504 $ $4,504 
Research and development revenue6,868 3,868 10,736 3,002 7,461 10,463 
Total revenues$21,585 $3,868 $25,453 $7,506 $7,461 $14,967 
Primary geographical markets:
Americas
3,703 2,141 $5,844 $1,173 $5,733 $6,906 
EMEA
4,442 1,727 6,169 1,586 1,728 3,314 
APAC
13,440  13,440 4,747  4,747 
Total revenues$21,585 $3,868 $25,453 $7,506 $7,461 $14,967 
Six months ended June 30, 2021Six months ended June 30, 2020
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
       Product Revenue$24,943 $ $24,943 $9,604 $ $9,604 
Research and development revenue10,872 7,670 18,542 8,775 11,258 20,033 
Total revenues$35,815 $7,670 $43,485 $18,379 $11,258 $29,637 
Primary geographical markets:
Americas
$6,574 $4,199 $10,773 $4,171 $7,960 $12,131 
EMEA
8,979 3,471 12,450 5,987 3,298 9,285 
APAC
20,262  20,262 8,221  8,221 
Total revenues$35,815 $7,670 $43,485 $18,379 $11,258 $29,637 
Contract Balances
The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):
June 30, 2021December 31, 2020
Contract assets$4,528 $4,526 
Unbilled receivables$12,417 $10,942 
Contract costs$86 $90 
Contract liabilities: deferred revenue$5,479 $4,791 

We had no asset impairment charges related to financial assets in the three and six months ended June 30, 2021 and 2020.
14


Contract assets remained unchanged as of June 30, 2021 and December 31, 2020. The increase in unbilled receivables was primarily due to the timing of billings. The increase in deferred revenue was primarily due to cash advances received in excess of revenue recognized.
We recognized the following revenues (in thousands):
Three months ended June 30,Six months ended June 30,
Revenue recognized in the period for:2021202020212020
Amounts included in contract liabilities at the beginning of the period:
     Performance obligations satisfied$1,239 $4,272 $1,391 $57 
Changes in the period:
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods4,306 1,357 4,336 637 
Performance obligations satisfied from new activities in the period - contract revenue19,908 9,338 37,758 28,943 
Total revenues$25,453 $14,967 $43,485 $29,637 
Performance Obligations
The following table includes estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of June 30, 2021.
The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts as of June 30, 2021 (in thousands):
Remainder of 2021202220232024 and ThereafterTotal
Product revenue$ $67 $67 $1,843 $1,977 
Research and development revenue1,568 1,388 546  3,502 
Total revenues$1,568 $1,455 $613 $1,843 $5,479 

Note 4. Net Loss per Share
Basic net loss per share is computed by dividing the net loss by the weighted-average number of shares of common stock outstanding, less restricted stock awards (“RSAs”) subject to forfeiture. Diluted net loss per share is computed by dividing net loss by the weighted-average number of shares of common stock shares outstanding, less RSAs subject to forfeiture, plus all additional common shares that would have been outstanding, assuming dilutive potential common stock shares had been issued for other dilutive securities.
Anti-Dilutive Securities
In periods of net loss, the weighted average number of shares outstanding, prior to the application of the treasury stock method, excludes potentially dilutive securities from the computation of diluted net loss per common share because including such shares would have an anti-dilutive effect.
15


The following shares were not considered in the computation of diluted net loss per share because their effect was anti-dilutive (in thousands):
 Three months ended June 30,Six months ended June 30,
 2021202020212020
Shares issuable under the Equity Incentive Plan5,3665,2895,3665,289

Note 5. Investments in Non-Marketable Securities
Non-Marketable Debt Securities
We classify non-marketable debt securities, which are accounted for as available-for-sale, within Level 3 in the fair value hierarchy because we estimate the fair value based on a qualitative analysis using the most recent observable transaction price and other significant unobservable inputs including volatility, rights, and obligations of the securities we hold.
We determine gains or losses on the sale or extinguishment of non-marketable debt securities using a specific identification method. Unrealized gains and losses from bifurcated embedded derivatives, which represent share-settled redemption features, are recorded as other expense, net, in the unaudited condensed consolidated statements of operations. Unrealized gains and losses on non-marketable debt securities are recorded as a component of other comprehensive loss until realized. Realized gains or losses are recorded as a component of other income (expense), net.
In the three and six months ended June 30, 2021, we recognized $0.2 million and $0.3 million, respectively, in interest income from amortization of debt discount and interest earned on our investment in non-marketable debt security, and $57.5 thousand in other income and $10.5 thousand in other expense, respectively, in other income (expense), net, on the change in the fair value of an embedded bifurcated derivative. We recognized no unrealized or realized gains or losses during the three and six months ended June 30, 2021. We recognized no interest income, other expenses, and unrealized or realized gains or losses during the three and six months ended June 30, 2020.
The following table presents balances of the adjusted cost and carrying value and fair value of non-marketable debt security by contractual maturity (in thousands):
 June 30, 2021
Adjusted Cost and Carrying ValueFair Value
Non-marketable debt security due in 1 year or less$1,289 $1,289 
December 31, 2020
Adjusted Cost and Carrying ValueFair Value
Non-marketable debt security due in 1 year or less$1,000 $1,000 
Non-Marketable Equity Securities
Non-marketable equity securities are investments in privately held companies without readily determinable market value. We measure investments in non-marketable equity securities without a readily determinable fair value using a measurement alternative that measures these securities at the cost method minus impairment, if any, plus or minus changes resulting from observable price changes on a non-recurring basis. The fair value of non-marketable equity securities that have been remeasured due to impairment are classified within Level 3. We adjust the carrying value of non-marketable equity securities which have been remeasured during the period and recognize resulting gains or losses as a component of other income (expense), net. We recognized no unrealized or realized gain or losses during the three and six months ended June 30, 2021 and 2020.
The following table presents balances of the carrying value of non-marketable equity securities (in thousands):
 June 30, 2021December 31, 2020
Non-marketable equity securities$3,430 $1,450 

16


Note 6. Fair Value Measurements
The following tables present the financial instruments that were measured at fair value on a recurring basis within the fair value hierarchy (in thousands):
 June 30, 2021
 Level 1Level 2Level 3Total
Money market funds $111,083 $— $— $111,083 
Non-marketable debt security— — 1,289 1,289 
     Total$111,083 $— $1,289 $112,372 
 December 31, 2020
 Level 1Level 2Level 3Total
Money market funds $127,567 $— $— $127,567 
Non-marketable debt security— — 1,000 1,000 
     Total$127,567 $— $1,000 $128,567 
The fair value of non-marketable securities remeasured due to impairment would be classified within Level 3. During the three and six months ended June 30, 2021 and 2020, we did not recognize any significant credit losses nor other-than-temporary impairment losses on non-marketable securities. The carrying value of our non-marketable securities approximated fair value.
Note 7. Balance Sheets Details
Cash Equivalents
Cash equivalents as of June 30, 2021 and December 31, 2020, consisted of the following (in thousands):
 June 30, 2021December 31, 2020
 Adjusted CostEstimated Fair ValueAdjusted CostEstimated Fair Value
Money market funds (1)
$111,083 $111,083 $127,567 $127,567 
(1) Money market funds are classified in cash and cash equivalents on our consolidated balance sheets. Average Contractual Maturities (in days) is not applicable.
As of June 30, 2021, the total cash and cash equivalents balance of $129.5 million was comprised of money market funds of $111.1 million and cash of $18.4 million held with major financial institutions. As of December 31, 2020, the total cash and cash equivalents balance of $149.1 million was comprised of money market funds of $127.6 million and cash of $21.5 million held with major financial institutions.
Inventories
Inventories consisted of the following (in thousands):
June 30, 2021December 31, 2020
Raw materials$49 $77 
Work-in-process98 82 
Finished goods931 805 
    Inventories$1,078 $964 
Inventories includes reserves of $1.5 million as of June 30, 2021 and December 31, 2020.
Property and Equipment, net
Property and equipment, net consisted of the following (in thousands):
17


June 30, 2021December 31, 2020
Laboratory equipment$28,623 $25,468 
Leasehold improvements10,785 10,785 
Computer equipment and software3,283 3,192 
Office equipment and furniture1,246 1,246 
Construction in progress1,736 2,357 
Property and equipment45,673 43,048 
       Less: accumulated depreciation and amortization(34,441)(33,373)
     Property and equipment, net$11,232 $9,675 
Depreciation expense included in the Unaudited Condensed Consolidated Statements of Operations was follows (in thousands):
Three months ended June 30,Six months ended June 30,
2021202020212020
Depreciation Expense$716 $462 $1,375 $900 
Goodwill
Goodwill had a carrying value of $3.2 million as of June 30, 2021 and December 31, 2020.
Other Accrued Liabilities
Other accrued liabilities consisted of the following (in thousands):
June 30, 2021December 31, 2020
Accrued purchases $5,107 $7,170 
Accrued professional and outside service fees3,899 2,589 
Other76 513 
     Total$9,082 $10,272 
Note 8. Stock-based Compensation
Equity Incentive Plans
In 2019, our board of directors (the "Board") and stockholders approved the 2019 Incentive Award Plan (the "2019 Plan"). The 2019 Plan superseded and replaced in its entirety our 2010 Equity Incentive Plan (the “2010 Plan”) which was effective in March 2010, and no further awards will be granted under the 2010 Plan; however, the terms and conditions of the 2010 Plan will continue to govern any outstanding awards thereunder.
The 2019 Plan provides for the grant of stock options, including incentive stock options and non-qualified stock options, stock appreciation rights, restricted stock awards ("RSAs"), restricted stock units ("RSUs"), performance-contingent restricted stock units ("PSUs"), performance based options ("PBOs"), other stock or cash based awards and dividend equivalents to eligible employees and consultants of the Company or any parent or subsidiary, as well as members of the Board.
The number of shares of our common stock available for issuance under the 2019 Plan is equal to the sum of (i) 7,897,144 shares, and (ii) any shares subject to awards granted under the 2010 Plan that were outstanding as of April 22, 2019 and thereafter terminate, expire, lapse or are forfeited; provided that no more than 14,000,000 shares may be issued upon the exercise of incentive stock options (“ISOs”). In June 2019, 8.1 million shares authorized for issuance under the 2019 Plan were registered under the Securities Act of 1933, as amended (the “Securities Act”).
The 2010 Plan provided for the grant of incentive stock options, non-statutory stock options, RSUs, RSAs, PSUs, PBOs, stock appreciation rights, and stock purchase rights to our employees, non-employee directors and consultants.
18


Stock Options
The option exercise price for incentive stock options must be at least 100% of the fair value of our common stock on the date of grant and the option exercise price for non-statutory stock options is at least 85% of the fair value of our common stock on the date of grant, as determined by the Board. If, at the time of a grant, the optionee directly or by attribution owns stock possessing more than 10% of the total combined voting power of all of our outstanding capital stock, the exercise price for these options must be at least 110% of the fair value of the underlying common stock. Stock options granted to employees generally have a maximum term of ten years and vest over four years from the date of grant, of which 25% vest at the end of one year, and 75% vest monthly over the remaining three years. We may grant options with different vesting terms from time to time. Unless an employee's termination of service is due to disability or death, upon termination of service, any unexercised vested options will be forfeited at the end of three months or the expiration of the option, whichever is earlier.
Restricted Stock Units ("RSUs")
We also grant employees RSUs, which generally vest over either a three year period with 33% of the shares subject to the RSUs vesting on each yearly anniversary of the vesting commencement date or over a four year period with 25% of the shares subject to the RSU vesting on each yearly anniversary of the vesting commencement date, in each case contingent upon such employee’s continued service on such vesting date. RSUs are generally subject to forfeiture if employment terminates prior to the release of vesting restrictions. We may grant RSUs with different vesting terms from time to time.
Performance-contingent Restricted Stock Units ("PSUs") and Performance Based Options ("PBOs")
The compensation committee of the Board approved, solely in respect of non-executive employees, delegated to our Chief Executive Officer the authority to approve grants of PSUs. The compensation committee of the Board also approved grants of PBOs and PSUs to our executives. The PSUs and PBOs vest based upon both the successful achievement of certain corporate operating milestones in specified timelines and continued employment through the applicable vesting date. When the performance goals are deemed to be probable of achievement for these types of awards, recognition of stock-based compensation expense commences. Once the number of shares eligible to vest is determined, those shares vest in two equal installments with 50% vesting upon achievement and the remaining 50% vesting on the first anniversary of achievement, in each case, subject to the recipient’s continued service through the applicable vesting date. If the performance goals are achieved at the threshold level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to half the number of PSUs granted and one-quarter the number of shares underlying the PBOs granted. If the performance goals are achieved at the target level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to the number of PSUs granted and half of the shares underlying the PBOs granted. If the performance goals are achieved at the superior level, the number of shares eligible to vest in respect of the PSUs would be equal to two times the number of PSUs granted and equal to the number of PBOs granted. The number of shares issuable upon achievement of the performance goals at the levels between the threshold and target levels for the PSUs and PBOs or between the target level and superior levels for the PSUs would be determined using linear interpolation. Achievement below the threshold level would result in no shares being eligible to vest in respect of the PSUs and PBOs.
In the first quarter of 2021, we awarded PSUs ("2021 PSUs") and PBOs ("2021 PBOs"), each of which commence vesting based upon the achievement of various weighted performance goals, including corporate revenue, performance enzyme segment gross margin, major new biotherapeutics publicity events, strategic performance enzyme and biotherapeutics deliverables, safety, and technology and strategic plan development. As of June 30, 2021, we estimated that the 2021 PSUs and 2021 PBOs performance goals would be achieved at 136% and 68% of the target level, respectively, and recognized expenses accordingly.
In 2020, we awarded PSUs ("2020 PSUs") and PBOs ("2020 PBOs"), each of which commenced vesting based upon the achievement of various weighted performance goals, including corporate revenue, performance enzyme segment gross margin, major new biotherapeutics publicity events, strategic performance enzyme and biotherapeutics deliverables, and strategic plan development. In the first quarter of 2021, we determined that the 2020 PSUs and 2020 PBOs performance goals had been achieved at 88% of the target level, and recognized expenses accordingly. Accordingly, 50% of the shares underlying the 2020 PSUs and PBOs vested in the first quarter of 2021 and 50% of the shares underlying the 2020 PSUs and PBOs will vest in the first quarter of 2022, in each case, subject to the recipient’s continued service on each vesting date.
In 2019, we awarded PSUs ("2019 PSUs") and PBOs ("2019 PBOs"), each of which commenced vesting based upon the achievement of various weighted performance goals, including sustained revenue and performance enzyme growth, strategic advancement of biotherapeutics, cash balance and strategic plan development. In the first quarter of 2020, we determined that the 2019 PSUs and 2019 PBOs performance goals had been achieved at 84% of the target level, and recognized expenses accordingly. Accordingly, 50% of the shares underlying the 2019 PSUs and PBOs vested in the first quarter of 2020 and 50%
19


of the shares underlying the 2019 PSUs and PBOs vested in the first quarter of 2021, in each case, subject to the recipient’s continued service on each vesting date.
Stock-Based Compensation Expense
Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2021202020212020
Research and development $597 $471 $1,074 $894 
Selling, general and administrative2,247 1,468 4,457 3,214 
   Total$2,844 $1,939 $5,531 $4,108 

The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2021202020212020
Stock options$682 $575 $1,347 $1,116 
RSUs and RSAs690 610 1,232 1,210 
PSUs573 296 1,043 627 
PBOs899 458 1,909 1,155 
   Total$2,844 $1,939 $5,531 $4,108 
As of June 30, 2021, unrecognized stock-based compensation expense, net of expected forfeitures, was $4.8 million related to unvested stock options, $4.7 million related to unvested RSUs and RSAs, $1.9 million related to unvested PSUs, and $3.3 million related to unvested PBOs based on current estimates of the level of achievement. Stock-based compensation expense for these awards will be recognized through the year of 2025.
Note 9. Capital Stock
Exercise of Options
For the six months ended June 30, 2021 and June 30, 2020, we issued 212,631 and 32,749 shares, respectively, upon option exercises at a weighted-average exercise price of $8.03 and $6.03 per share, respectively, with net cash proceeds of $1.7 million and $0.2 million, respectively.
Equity Distribution Agreement
We filed a Registration Statement on Form S-3 with the SEC, under which we may sell common stock, preferred stock, debt securities, warrants, purchase contracts, and units from time to time in one or more offerings. The registration statement became effective on May 7, 2021. In May 2021, we entered into an Equity Distribution Agreement ("EDA") with Piper Sandler & Co ("PSC"), under which PSC, as our exclusive agent, at our discretion and at such times that we may determine from time to time, may sell over a three-year period from the execution of the EDA up to a maximum of $50.0 million of shares of our common stock. Under the terms of the EDA, PSC may sell the shares at market prices by any method that is deemed to be an “at the market offering” as defined in Rule 415 under the Securities Act of 1933, as amended.
We are not required to sell any shares at any time during the term of the EDA. The EDA will terminate upon the earlier of: (i) the issuance and sale of all shares through PSC on the terms and conditions of the EDA, or (ii) the termination of the EDA in accordance with its terms. Either party may terminate the EDA at any time upon written notification to the other party in accordance with the EDA, and upon such notification, the offering will terminate. Under no circumstances shall any shares be sold pursuant to the EDA after the date which is three years after the registration statement is first declared effective by the SEC. We agreed to pay PSC a commission of 3% of the gross sales price of any shares sold pursuant to the EDA. With the exception of certain expenses, we will pay PSC up to 8% of the gross sales price of the shares sold pursuant to the EDA for a combined amount of commission and reimbursement of PSC's expenses and fees.
20


During the three and six months ended June 30, 2021, no shares of our common stock were issued pursuant to the EDA. As of June 30, 2021, $50.0 million of shares remained available under the EDA.
Note 10. Commitments and Contingencies
Operating Leases
Our headquarters are located in Redwood City, California, where we occupy approximately 77,300 square feet of office and laboratory space in multiple buildings within the same business park of Metropolitan Life Insurance Company ("MetLife"). Our lease agreement with MetLife ("RWC Lease") includes approximately 28,200 square feet of space located at 200 and 220 Penobscot Drive, Redwood City, California (the “200/220 Penobscot Space”) and approximately 37,900 square feet of space located at 400 Penobscot Drive, Redwood City, California (the “400 Penobscot Space”) (the 200/220 Penobscot Space and the 400 Penobscot Space are collectively referred to as the “Penobscot Space”), and approximately 11,200 square feet of space located at 501 Chesapeake Drive, Redwood City, California (the “501 Chesapeake Space”).
Until the end of January 2020, we also leased approximately 29,900 square feet of space located at 101 Saginaw Drive, Redwood City, California (the “Saginaw Space”). During January 2020, we subleased approximately 26,500 square feet of the Saginaw Space to Minerva Surgical, Inc. The lease and sublease for the Saginaw Space both expired at the end of January 2020. During the period from February 1, 2020 through April 30, 2020, we subleased approximately 3,400 square feet at 101 Saginaw Drive from Minerva Surgical, Inc. The sublease expired at the end of April 2020.
We entered into the initial lease with MetLife for our facilities in Redwood City in 2004 and the RWC Lease has been amended multiple times since then to adjust the leased space and terms of the Lease. In February 2019, we entered into an Eighth Amendment to the Lease (the “Eighth Amendment”) with MetLife with respect to the Penobscot Space and the 501 Chesapeake Space to extend the term of the Lease for additional periods. Pursuant to the Eighth Amendment, the term of the lease of the Penobscot Space has been extended through May 2027. The lease term for the 501 Chesapeake Space has been extended to May 2029. We have one (1) option to extend the term of the lease for the Penobscot Space for five (5) years, and one (1) separate option to extend the term of the lease for the 501 Chesapeake Space for five (5) years.
We are required to restore certain areas of the Redwood City facilities that we are renting to their original form. We are expensing the asset retirement obligation over the terms of the respective leases. We review the estimated obligation each reporting period and make adjustments if our estimates change. We recorded asset retirement obligations of $0.2 million as of June 30, 2021 and December 31, 2020, which are included in other long-term liabilities in the unaudited condensed consolidated balance sheets. Accretion expense related to our asset retirement obligations was nominal in the three and six months ended June 30, 2021 and 2020.
Pursuant to the terms of the RWC Lease, we exercised our right to deliver a letter of credit in lieu of a security deposit. The letter of credit is collateralized by deposit balances held by the bank in the amount of $1.1 million as of June 30, 2021 and December 31, 2020, and are recorded as non-current restricted cash on the unaudited condensed consolidated balance sheets.
We entered into a short-term office lease in San Carlos, California during the second quarter of 2021 and this lease will expire in April 2022. Our remaining future commitment pursuant to this lease is $0.1 million as of June 30, 2021.
Finance Leases
In December 2016, we entered into a three-year financing lease agreement with a third party supplier for the purchase of laboratory equipment that was partially financed through a finance lease of $0.4 million. The lease became effective upon delivery of the equipment in February 2017, and the term of the three-year lease was from February 2017 and expired in February 2020. This financing agreement was accounted for as a finance lease due to bargain purchase options at the end of the lease. In April 2017, we entered into a three-year financing lease agreement with a third-party supplier for the purchase of information technology equipment for $0.3 million. The effective term of the three-year lease was from May 2017 and expired in April 2020.
21


Lease and other information
Lease costs, amounts included in measurement of lease obligations and other information related to non-cancellable operating leases and finance leases were as follows (in thousands):
Three months ended June 30,Six months ended June 30,
 2021202020212020
Finance lease costs:
Amortization of right-of-use assets$27$45$53$99 
Interest on lease obligations11 
Finance lease costs274653100
Operating lease cost1,033 1,032 2,065 2,100 
Short-term lease costs (1)
10 16 10 47 
Sublease income   (55)
Total lease cost (2)
$1,070 $1,094 $2,128 $2,192 
(1) Short-term lease costs on leases with terms of over one month and less than one year.
(2) The Company had no variable lease costs.

Other information:Operating Leases
Weighted-average remaining lease term (in years)6.2 years
Weighted-average discount rate6.6 %
Six months ended June 30,
Cash paid:20212020
Operating cash flows from operating leases$2,093 $774 
Financing cash flows from finance leases$ $60 
As of June 30, 2021, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases are as follows (in thousands):
Years ending December 31,Operating Leases
2021 (remaining 6 months)$2,104 
20224,285 
20234,589 
20244,726 
20254,868 
Thereafter8,626 
Total minimum lease payments29,198 
Less: imputed interest5,534 
Lease obligations$23,664 
Future Lease Commitment
In the first quarter of 2021, we entered into a lease agreement with ARE-San Francisco No. 63, LLC (“ARE”) to lease a portion of a facility comprising approximately 36,593 rentable square feet in San Carlos, California to serve as additional office and research and development laboratory space (the “San Carlos Space”). We expect to commence occupancy of the San Carlos Space in November 2021 once tenant improvements are substantially completed by ARE in accordance with the construction plan. The budget provides a net tenant improvement allowance of $6.3 million and an additional allowance of up to $2.7 million, which we expect to use. ARE will have an enforceable right to payment by us in the form of equal monthly additional rent payments at a certain interest rate through the lease term for the additional allowance. The terms include an initial annualized base rent of $2.5 million, subject to scheduled 3% annual rent increases, an annualized additional allowance
22


payment of $0.4 million, plus certain operating expenses. The lease has a 10-year term from the lease commencement date with one option to extend the term for an additional period of 5 years. We have provided ARE with a $0.5 million security deposit in the form of a letter of credit. We have the right to sublease the facility, subject to landlord consent. We determined that the lease commencement date is in November 2021 at which point we will record a right of use asset and a corresponding lease liability.
An estimated maturity analysis of the annual undiscounted cash flows of the lease is as follows (in thousands):
Years ending December 31,Operating Lease
2021 (remaining 6 months)$ 
20222,463 
20232,988 
20243,066 
20253,145 
2026 and thereafter20,061 
Total minimum lease payments$31,723 
Other Commitments
We enter into supply and service arrangements in the normal course of business. Supply arrangements are primarily for fixed-price manufacture and supply. Service agreements are primarily for the development of manufacturing processes and certain studies. Commitments under service agreements are subject to cancellation at our discretion which may require payment of certain cancellation fees. The timing of completion of service arrangements is subject to variability in estimates of the time required to complete the work.
The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):
Other Commitment Agreement TypeAgreement DateFuture Minimum Payment
Manufacture and supply agreement with expected future payment date of December 2022April 2016$162 
Development and manufacturing services agreementsSeptember 20191,852 
Total other commitments$2,014 
Credit Facility
In June 30, 2017, we entered into a credit facility (the “Credit Facility”) with Western Alliance Bank consisting of term loans (“Term Debt”) up to $10.0 million, and advances (“Advances”) under a revolving line of credit ("Revolving Line of Credit") up to $5.0 million with an accounts receivable borrowing base of 80% of eligible accounts receivable. As of June 30, 2021 and December 31, 2020, we have not drawn from the Credit Facility. We may draw on the Term Debt and the Revolving Line of Credit at any time prior to October 1, 2021 and October 1, 2024, respectively. On October 1, 2024 loans drawn under the Term Debt mature and the Revolving Line of Credit terminate. Loans made under the Term Debt bear interest through maturity equal to the greater of (i) 3.75% or (ii) the sum of (A) Index Rate (prime rate published in the Money Rates section of the Western Edition of The Wall Street Journal plus (B) 0.50%. Advances made under the Revolving Line of Credit bear interest at a variable annual rate equal to the equal to the greater of (i) 4.25% or (ii) the sum of (A) the prime rate plus (B) 1.00%.
Our obligations under the Credit Facility are secured by a lien on substantially all of our personal property other than our intellectual property. The Credit Facility includes a number of customary covenants and restrictive financial covenants including meeting minimum product revenue levels and maintaining certain minimum cash levels with the lender. The Credit Facility's financial covenants restrict the ability of the Company to transfer collateral, incur additional indebtedness, engage in mergers or acquisitions, pay dividends or make other distributions, make investments, create liens, sell assets, or sell certain assets held at foreign subsidiaries. A failure to comply with these covenants could permit the lender to exercise remedies against us and the collateral securing the Credit Facility, including foreclosure of our properties securing the Credit Facilities and our cash. As of June 30, 2021, we were in compliance with the covenants for the Credit Facility.
23


The Credit Facility allows for interest-only payments on the Term Debt through November 1, 2022. Monthly payments of principal and interest on the Term Debt are required following the applicable amortization date. We may elect to prepay in full the Term Debt and Advances under the Revolving Line of Credit at any time.
Legal Proceedings
We are not currently a party to any material pending litigation or other material legal proceedings.
Indemnifications
We are required to recognize a liability for the fair value of any obligations we assume upon the issuance of a guarantee. We have certain agreements with licensors, licensees and collaborators that contain indemnification provisions. In such provisions, we typically agree to indemnify the licensor, licensee and collaborator against certain types of third party claims. The maximum amount of the indemnifications is not limited. We accrue for known indemnification issues when a loss is probable and can be reasonably estimated. There were no accruals for expenses related to indemnification issues for any periods presented.
Note 11. Related Party Transactions
Molecular Assemblies, Inc.
In June 2020, we entered into a Stock Purchase Agreement with MAI pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million. In connection with the transaction, John Nicols, our President and Chief Executive Officer, also joined MAI’s board of directors. Concurrently with our initial equity investment, we entered into the MAI Agreement with MAI, pursuant to which we are performing services utilizing our CodeEvolver® protein engineering platform technology to improve DNA polymerase enzymes in exchange for compensation in the form of additional shares of MAI's Series A preferred stock. In April 2021, we purchased an additional 1,000,000 shares of MAI's Series A preferred stock for $0.6 million.
We recognized $0.3 million and $0.5 million in research and development revenue from transactions with MAI in the three and six months ended June 30, 2021, respectively, and we recognized no revenue from research and development service transactions with MAI in the three and six months ended June 30, 2020. We received 714,171 and 1,428,342 shares of MAI's Series A preferred stock from research and development services we provided to MAI in the three and six months ended June 30, 2021, respectively, and no shares of MAI's Series A preferred stock from research and development services in the three and six months ended June 30, 2020. As of June 30, 2021, we have 5,443,734 shares of MAI's Series A preferred stock since executing the Stock Purchase Agreement with MAI. The carrying value of our investment in MAI Series A preferred stock was $3.4 million and $1.5 million at June 30, 2021 and December 31, 2020, respectively. We had $0.4 million and nil in deferred revenue as of June 30, 2021 and December 31, 2020, respectively, and nil and $0.5 million in contract asset due from MAI for services rendered as of June 30, 2021 and December 31, 2020, respectively. Payment for the services rendered was received in the form of additional MAI Series A preferred stock.
AstraZeneca PLC
Pam P. Cheng, who served as a member of our board of directors until June 2020, joined AstraZeneca PLC as Executive Vice President, Operations and Information Technology in June 2015. We sold biocatalyst products to AstraZeneca PLC and its controlled purchasing agents and contract manufacturers. We recognized $20 thousand and $0.1 million of revenue from transactions with AstraZeneca and its controlled purchasing agents and contract manufacturers for the three and six months ended June 30, 2020, respectively, and through the date of Ms. Cheng’s departure from our board of directors. As of June 30, 2021 and December 31, 2020, we had no receivables from AstraZeneca PLC and its controlled purchasing agents and contract manufacturers from related party transactions, respectively.
Note 12. Segment, Geographical and Other Revenue Information
Segment Information
We manage our business as two business segments: Performance Enzymes and Novel Biotherapeutics. Our chief operating decision maker ("CODM") is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company.
24


We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "Corporate costs." All items not included in income (loss) from operations are excluded from the business segments.
We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment.
Performance Enzymes
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the pharmaceuticals market, and to date this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food and food ingredients, animal feed, flavors, fragrances, and agricultural chemicals. We also use our technology to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications.
Novel Biotherapeutics
We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver® protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity. Most notable is our lead program for the potential treatment of PKU in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient.
We have also developed a pipeline of other biotherapeutic drug candidates, which are in preclinical development, and in which we expect to continue to make additional investments with the aim of advancing additional product candidates targeting other therapeutic areas. In March 2020, we entered into the Takeda Agreement with Takeda under which we will research and develop protein sequences for use in gene therapy products for certain diseases.
Factors considered in determining the two reportable segments of the Company include the nature of business activities, the management structure directly accountable to our CODM for operating and administrative activities, availability of discrete financial information and information presented to the Board of Directors. Our CODM regularly reviews our segments and the approach provided by management for performance evaluation and resource allocation.
Operating expenses that directly support the segment activity are allocated based on segment headcount, revenue contribution or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments. This provides the CODM with more meaningful segment profitability reporting to support operating decisions and allocate resources.
25


The following table provides financial information by our reportable business segments along with a reconciliation to consolidated income (loss) before income taxes (in thousands):
Three months ended June 30, 2021Three months ended June 30, 2020
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$14,717 $ $14,717 $4,504 $ $4,504 
Research and development revenue6,868 3,868 10,736 3,002 7,461 10,463 
Total revenues21,585 3,868 25,453 7,506 7,461 14,967 
Costs and operating expenses:
Cost of product revenue4,318  4,318 1,699  1,699 
Research and development(1)
5,057 7,194 12,251 4,997 5,490 10,487 
Selling, general and administrative(1)
3,170 620 3,790 2,375 621 2,996 
Total segment costs and operating expenses12,545 7,814 20,359 9,071 6,111 15,182 
Income (loss) from operations$9,040 $(3,946)5,094 $(1,565)$1,350 (215)
Corporate costs (2)
(8,610)(5,316)
Unallocated depreciation and amortization(741)(506)
Loss before income taxes$(4,257)$(6,037)
Six months ended June 30, 2021Six months ended June 30, 2020
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$24,943 $ $24,943 $9,604 $ $9,604 
Research and development revenue10,872 7,670 18,542 8,775 11,258 20,033 
Total revenues35,815 7,670 43,485 18,379 11,258 29,637 
Costs and operating expenses:
Cost of product revenue8,536  8,536 4,240  4,240 
Research and development(1)
11,502 11,799 23,301 10,693 10,415 21,108 
Selling, general and administrative(1)
5,988 1,221 7,209 4,720 1,213 5,933 
Total segment costs and operating expenses26,026 13,020 39,046 19,653 11,628 31,281 
Income (loss) from operations$9,789 $(5,350)4,439 $(1,274)$(370)(1,644)
Corporate costs (2)
(16,335)(11,042)
Unallocated depreciation and amortization(1,426)(998)
Loss before income taxes$(13,322)$(13,684)
(1) Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling, general and administrative expenses, interest income, and other income (expense), net.
26


The following table provides stock-based compensation expense included in income (loss) from operations (in thousands):
Three months ended June 30,
20212020
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$1,115 $257 $1,472 $2,844 $741 $252 $946 $1,939 
Six months ended June 30,
20212020
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$2,109 $495 $2,927 $5,531 $1,496 $494 $2,118 $4,108 
Significant Customers
Customers that each accounted for 10% or more of our total revenues were as follows:
Percentage of Total Revenues for the
Three months ended June 30,Six months ended June 30,
2021202020212020
Customer A15%*10%*
Customer B12%***
Customer C12%*13%*
Customer D*16%17%20%
Customer E*38%10%27%
Customer F*12%*11%
Customer G***13%
* Percentage was less than 10%
Customers that each accounted for 10% or more of accounts receivable balances as of the periods presented as follows:
Percentage of Accounts Receivables as of
June 30, 2021December 31, 2020
Customer A20%*
Customer H15%*
Customer B15%*
Customer D14%32%
Customer E10%*
Customer G*25%
Customer F*13%
* Percentage was less than 10%




27


Geographical Information
Geographic revenues are identified by the location of the customer and consist of the following (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
2021202020212020
Revenues
Americas$5,844 $6,906 $10,773 $12,131 
EMEA6,169 3,314 12,450 9,285 
APAC13,440 4,747 20,262 8,221 
Total revenues$25,453 $14,967 $43,485 $29,637 
Identifiable long-lived assets by location was as follows (in thousands):
June 30, 2021December 31, 2020
United States$31,424 $31,176 
Identifiable goodwill by reporting unit was as follows (in thousands):
As of June 30, 2021 and December 31, 2020
Performance EnzymesNovel BiotherapeuticsTotal
Goodwill$2,463 $778 $3,241 
Note 13. Allowance for Credit Losses
The following table summarizes the financial assets allowance for credit losses (in thousands):
June 30, 2021December 31, 2020
Allowance for credit losses$74 74 
The following tables summarize accounts receivable by aging category (in thousands):
June 30, 2021
Current31-60 Days61-90 Days91 Days and overTotal balance
Accounts receivable$17,414 $83 $1,602 $389 $19,488 
December 31, 2020
Current31-60 Days61-90 Days91 Days and overTotal balance
Accounts receivable$13,398 $489 $7 $ $13,894 

28


ITEM 2.MANAGEMENT'S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS
The following management's discussion and analysis of our financial condition and results of operations should be read in conjunction with the unaudited condensed consolidated financial statements and the related notes thereto included elsewhere in this Quarterly Report on Form 10-Q and the audited consolidated financial statements and notes thereto and management's discussion and analysis of financial condition and results of operations for the year ended December 31, 2020 included in our Annual Report on Form 10-K for the year ended December 31, 2020, as filed with the SEC on March 1, 2021 (the “Annual Report”). This Quarterly Report on Form 10-Q contains forward-looking statements within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended (the "Exchange Act"). These statements include, but are not limited to, expectations regarding our strategy, business plans, financial performance and developments relating to our industry. These statements are often identified by the use of words such as “may,” “will,” “expect,” “believe,” “anticipate,” “intend,” “could,” “should,” “estimate,” or “continue,” and similar expressions or variations. Such forward-looking statements are subject to risks, uncertainties and other factors that could cause actual results and the timing of certain events to differ materially from future results expressed or implied by such forward-looking statements. Factors that could cause or contribute to such differences include, but are not limited to, those discussed in Part II, Item 1A: “Risk Factors” of this Quarterly Report on Form 10-Q and Part I, Item 1A: “Risk Factors” of our Annual Report, as incorporated herein and referenced in Part II, Item 1A: “Risk Factors" of this Quarterly Report on Form 10-Q and elsewhere in this report. The forward-looking statements in this Quarterly Report on Form 10-Q represent our views as of the date of this Quarterly Report on Form 10-Q. We anticipate that subsequent events and developments will cause our views to change. However, while we may elect to update these forward-looking statements at some point in the future, we have no current intention of doing so except to the extent required by applicable law. You should, therefore, not rely on these forward-looking statements as representing our views as of any date subsequent to the date of this Quarterly Report on Form 10-Q.
Business Overview
We discover, develop and sell enzymes and other proteins that deliver value to our clients in a growing set of industries. We view proteins as a vast, largely untapped source of value-creating products, and we are using our proven technologies, which we have been continuously improving since our inception in 2002, to commercialize an increasing number of novel enzymes, both as proprietary Codexis products and in partnership with our customers.
We are a pioneer in harnessing computational technologies to drive biology advancements. Since 2002, we have made substantial investments in the development of our CodeEvolver® protein engineering technology platform, the primary source of our competitive advantage. Our technology platform is powered by proprietary, artificial intelligence-based, computational algorithms that rapidly mine the structural and performance attributes of our large and continuously growing library of protein variants. These computational outputs enable increasingly reliable predictions for next generation protein variants to be engineered, enabling time- and cost-efficient delivery of the targeted performance enhancements. In addition to its computational prowess, our CodeEvolver® protein engineering technology platform integrates additional modular competencies, including robotic high-throughput screening and genomic sequencing, organic chemistry and bioprocess development which are all coordinated to rapidly innovate novel, fit-for-purpose products.
The core historical application of the technology has been in developing commercially viable biocatalytic manufacturing processes for more sustainable production of complex chemicals. This begins by conceptually designing the most cost-effective and practical process for a targeted product. We then develop optimized biocatalysts to enable the designed process, using our CodeEvolver® platform. Engineered biocatalyst candidates, numbering many thousands for each project, are then rapidly screened and validated using high throughput methods under process-relevant operating conditions. This approach results in an optimized biocatalyst that enables cost-efficient processes that are relatively simple to run in conventional manufacturing equipment. This also allows for efficient technical transfer of our processes to our manufacturing partners.
The successful embodiment of our CodeEvolver® protein engineering technology platform in commercial manufacturing processes requires well-integrated expertise in a number of technical disciplines. In addition to those competencies directly integrated in our CodeEvolver® protein engineering platform, such as molecular biology, enzymology, microbiology, cellular engineering, metabolic engineering, bioinformatics, biochemistry and high throughput analytical chemistry, our process development projects also involve integrated expertise in organic chemistry, chemical process development, chemical engineering, bioprocess development and fermentation engineering. Our integrated, multi-disciplinary approach to product and process development is a critical success factor for the Company.
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the manufacture of small molecule pharmaceuticals, which remains a primary business focus. Our customers, which include many large, global
29


pharmaceutical companies, use our technology, products and services in their process development and in manufacturing. Additionally, we have licensed our proprietary CodeEvolver® protein engineering technology platform to global pharmaceutical companies enabling them to use this technology, in house, to engineer enzymes for their own businesses. Most recently, in May 2019, we entered into the Novartis CodeEvolver® Agreement with Novartis. The Novartis CodeEvolver® Agreement (our third such agreement with large pharma companies) allows Novartis to use our proprietary CodeEvolver® protein engineering platform technology in the field of human healthcare.
As evidence of our strategy to extend our technology beyond pharmaceutical manufacturing, we have also used the technology to develop biocatalysts and enzyme products for use in a broader set of industrial markets, including several large verticals, such as food, feed, consumer care and fine chemicals. In addition, we are using our technology to develop enzymes for various life science related applications, such as next generation sequencing (“NGS”) and polymerase chain reaction (“PCR/qPCR”) for in vitro molecular diagnostic and genomic research applications. In December 2019, we entered into a license agreement to provide Roche Sequencing Solutions, Inc. with our first enzyme for this target market: the Company’s EvoT4™ DNA ligase. In June 2020, we entered into a co-marketing and enzyme supply collaboration agreement with Alphazyme LLC for the production and co-marketing of enzymes for life science applications including, initially, high-fidelity DNA polymerase, T7 RNA polymerase and reverse transcriptase enzymes.
We have been using the CodeEvolver® protein engineering technology platform to develop early stage, novel biotherapeutic product candidates, both in partnership with customers and for our own proprietary Codexis drug candidates. Our first program was for the potential treatment of phenylketonuria ("PKU") in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In October 2017, we entered into the Nestlé License Agreement with Nestlé Health Science to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of PKU. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive license to develop and commercialize CDX-6114. Also in October 2017, we entered into the Nestlé SCA pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver® platform technology to develop other novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. In January 2020, we entered into a development agreement with Nestlé Health Science to advance a new lead candidate discovered under the Nestlé SCA, CDX-7108, into preclinical development and early clinical studies as a potential treatment for a gastrointestinal disorder. In parallel, the Nestlé SCA was extended through December 2021 to support the discovery of therapeutic candidates for additional disorders. In March 2020, we entered into Takeda Agreement with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda, for the research and development of novel gene therapies for certain disease indications, including the treatment of lysosomal storage disorders and a blood factor deficiency.
In June 2020, we entered into the MAI Agreement with Molecular Assemblies, Inc. ("MAI") pursuant to which we are leveraging our CodeEvolver® platform technology to improve the DNA polymerase enzymes that are critical for enzymatic DNA synthesis. Concurrently with the MAI Agreement, we entered into a Stock Purchase Agreement with MAI pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million and, in connection with the transaction, John Nicols, our President and Chief Executive Officer, also joined MAI’s board of directors. In April 2021, we purchased an additional 1,000,000 shares of MAI's Series A preferred stock for $0.6 million. We anticipate completing an enzyme engineering project with MAI in the second half of 2021 that may enable MAI to begin commercialization efforts thereafter.
Business Segments
We manage our business as two business segments: Performance Enzymes and Novel Biotherapeutics. See Note 12, “Segment, Geographical and Other Revenue Information” in the Notes to Unaudited Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.
Performance Enzymes
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the manufacture of small molecule pharmaceuticals and, to date, this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food, feed, consumer care, and fine chemicals. We also use our technology in the life sciences markets to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications, as well DNA/RNA synthesis and health monitoring applications.
30


Novel Biotherapeutics
We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver® protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity. Our first lead program was for the potential treatment of PKU in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In October 2017, we announced a global development, option and license agreement with Nestlé Health Science to advance CDX-6114, our own novel orally administrable enzyme therapeutic candidate for the potential treatment of PKU. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU. As a result of the option exercise, we earned a milestone and recognized $3.0 million in revenues in the first quarter of 2019. Upon exercising its option, Nestlé Health Science assumed all responsibilities for future clinical development and commercialization of CDX-6114. During 2020, Nestlé Health Science completed a safety, tolerability and PK/PD study of CDX-6114 in PKU patients that demonstrated CDX-6114 was well tolerated and safe at all doses tested. In addition, an increase in blood levels of cinnamic acid, a biomarker of enzyme activity, was observed which is consistent with the intended mode of action for CDX-6114.
In October 2017, we separately entered into the Nestlé SCA with Nestlé Health Science pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver® platform technology to develop other novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. The Nestlé SCA was extended through December 2021. In January 2020, we and Nestlé Health Science entered into a development agreement pursuant to which we and Nestlé Health Science are collaborating to advance into preclinical and early clinical studies a lead candidate targeting a gastrointestinal disorder, CDX-7108, discovered through the Nestlé SCA. During 2021, we, together with Nestlé Health Science, continued to advance CDX-7108 towards initiation of a Phase 1 clinical trial which we anticipate will begin in the fourth quarter of 2021. Additionally, the parties are progressing three programs under the Nestlé SCA targeting different gastrointestinal disorders.
In March 2020, we entered into the Takeda Agreement pursuant to which we are collaborating to research and develop protein sequences for use in gene therapy products for certain disease indications in accordance with the respective program plans for Fabry Disease, Pompe Disease, and an undisclosed blood factor deficiency. In March 2020, we received a one-time, non-refundable cash payment of $8.5 million. Of these programs, the Fabry disease program is the most advanced, with multiple sequences, including CDX-6311, having been provided to Takeda. In May 2021, Takeda elected to exercise their option to initiate an additional program for a certain undisclosed rare genetic disorder, as a result we are eligible to receive an option exercise fee.
For further description of our business segments, see Note 12, "Segment, Geographical and Other Revenue Information" in the Notes to Unaudited Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.
Business Update Regarding COVID-19
We are subject to risks and uncertainties as a result of the current COVID-19 pandemic. The COVID-19 pandemic has presented a substantial public health and economic challenge around the world and is affecting our employees, communities and business operations, as well as the U.S. economy and other economies worldwide. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition will depend on future developments that are highly uncertain and may not be accurately predicted, including the duration and severity of the pandemic, the prevalence of more contagious and or virulent variants, and the extent and severity of the impact on our customers, new information that may emerge concerning COVID-19, the actions taken to contain it or treat its impact and the economic impact on local, regional, national and international markets.
To date, we and our collaboration partners have been able to continue to supply our enzymes to our customers worldwide. However, we are dependent on our manufacturing and logistics partners and consequently, disruptions in operations of our partners and customers may affect our ability to supply enzymes to our customers. Furthermore, our ability to provide future research and development (“R&D”) services will continue to be impacted as a result of governmental orders and any disruptions in operations of our customers with whom we collaborate. We believe that these disruptions have had a minimal impact on revenue for the three and six months ended June 30, 2021. The extent to which the pandemic may impact our business operations and operating results will continue to remain highly dependent on future developments, which are uncertain and cannot be predicted with confidence.
31


In the United States, the impact of COVID-19, including governmental orders (“Orders”) governing the operation of businesses during the pandemic, caused the temporary closure of our Redwood City, California facilities and has disrupted our R&D operations. R&D operations for several projects were temporarily suspended from mid-March 2020 through the end of April 2020 in accordance with these Orders. In May 2020, we re-initiated limited R&D operations and have ramped up operations such that we are currently utilizing the majority of our normal R&D capacity while following county, state and federal COVID-19 guidance for the protection of our employees. Additionally, we resumed manufacturing at our Redwood City pilot plant in May 2020.
Our future results of operations and liquidity could be adversely impacted by delays in payments of outstanding receivable amounts beyond normal payment terms, supply chain disruptions and uncertain demand, and the impact of any initiatives or programs that we may undertake to address financial and operations challenges faced by our customers. The near-and-long term impact of COVID-19 to our financial condition, liquidity, or results of operations in the future remains uncertain. Although some of the Orders that were enacted to control the spread of COVID-19 have begun to be scaled back and the vaccine rollout has expanded, surges in the spread of COVID-19 due to the emergence of new more contagious or virulent variants or the ineffectiveness of the vaccines against such strains, may result in the reimplementation of certain Orders, which could adversely impact our business. For additional information on the various risks posed by the COVID-19 pandemic, please read Item 1A. Risk Factors included in our Annual Report on Form 10-K, for the fiscal year ended December 31, 2020, filed on March 1, 2021.
Results of Operations Overview
Revenues were $25.5 million in the second quarter of 2021, a 70% increase from $15.0 million in the second quarter of 2020.
Product revenue, which consists primarily of sales of biocatalysts, pharmaceutical intermediates, and Codex® biocatalyst panels and kits, was $14.7 million in the second quarter of 2021, an increase of 227% from $4.5 million in the second quarter of 2020. The increase in product revenue was primarily due to an increase in customer demand for branded pharmaceutical products. We expect the demand for our products for the rest of the year to be higher than the comparative periods in the prior year mainly due to overall higher demand for enzymes used in the manufacture of branded pharmaceutical products and a large purchase order for $13.9 million of a proprietary high enzyme product that we received in June 2021 from a pharmaceutical customer that will be recognized as revenue in subsequent periods.
Research and development revenues, which include license, technology access and exclusivity fees, research service fees, milestone payments, royalties, and optimization and screening fees, totaled $10.7 million in the second quarter of 2021, a 3% increase compared with $10.5 million in the second quarter of 2020. The increase in research and development revenue was primarily due to higher license fees from other existing collaboration agreement, but partially offset by higher license fees from Takeda under the Takeda Agreement being recognized in the same period in the prior year.
Our products’ profitability is affected by many factors including the margin of profit on the products we sell. Our profit margins are affected by many factors including the costs of internal and third-party fixed and variable costs, including materials and supplies, labor, facilities and other overhead costs. Profit margin data is used as a management performance measure to provide additional information regarding our results of operations on a consolidated basis. Product gross margins increased to 71% in the second quarter of 2021, compared to 62% in the second quarter of 2020, due to improved product mix resulting from an increase in customer demand for branded products.
Research and development expenses were $12.8 million in the second quarter of 2021, an increase of 18% from $10.9 million in the second quarter of 2020. The increase was primarily due to increases in expenses associated with a higher headcount, an increase in outside services costs, higher depreciation expense and higher lab supplies costs, partially offset by a reduction in outside services related to Chemistry, Manufacturing and Controls ("CMC") and regulatory expenses and a decrease in allocable expenses. We expect research and development expenses for the rest of the year to be higher than the comparative periods in the prior year mainly due to increase in headcount and as we continue our efforts on advancing our internal and collaborative programs.
Selling, general and administrative expenses were $12.8 million in the second quarter of 2021, an increase of 50%, compared to $8.5 million in the second quarter of 2020. The increase was primarily due to increases in expenses associated with a higher headcount, legal expenses, and stock-based compensation partially offset by lower travel and allocable expenses. We expect selling, general and administrative expenses for the rest of the year to be higher than the comparative periods in prior year mainly due to increase in headcount and higher operating costs as we invest more in our business.
We recognized $8 thousand in income tax expense in the second quarter of 2021 due to the accrual of interest and penalties on historical uncertain tax positions. We recognized a $0.3 million provision for income taxes for the second quarter of 2020
32


due to income tax withholding imposed by foreign taxing authorities on income earned in certain countries outside of the United States and remitted to the United States.
Net loss was $4.3 million, or a net loss of $0.07 per basic and diluted share in the second quarter of 2021 compared to a net loss of $6.3 million, or a net loss of $0.11 per basic and diluted share for the second quarter of 2020. The decrease in net loss is primarily related to increase in product revenues and margins, which were partially offset by increases in operating expenses.
Cash and cash equivalents decreased to $129.5 million of June 30, 2021 compared to $149.1 million as of December 31, 2020. In addition, net cash used in operating activities was $14.7 million in the six months ended June 30, 2021 compared to $11.5 million in the six months ended June 30, 2020. We believe that based on our current level of operations, our existing cash and cash equivalents will provide adequate funds for ongoing operations, planned capital expenditures and working capital requirements for at least the next 12 months.
In June 2017, we entered into a loan and security agreement with Western Alliance Bank that allows us to borrow up to $10.0 million under a term loan, and up to $5.0 million under a revolving credit facility with 80% of certain eligible accounts receivable as a borrowing base (the "Credit Facility"). Obligations under the Credit Facility are secured by a lien on substantially all of our personal property other than our intellectual property. In September 2020, we entered into an Eighth Amendment to the Credit Facility whereby we may draw on the term debt and the Revolving Line of Credit at any time prior to October 1, 2021 and October 1, 2024, respectively. Draws on the term debt are subject to customary conditions for funding including, among others, that no event of default exists. As of June 30, 2021, no amounts were borrowed under the Credit Facility and we were in compliance with the covenants for the Credit Facility. See Note 10, "Commitments and Contingencies" in the Notes to Unaudited Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.
Below is an overview of our results of operations by business segments:
Performance Enzymes
Revenues increased by $14.1 million, or 188%, to $21.6 million in the second quarter of 2021, compared to $7.5 million in the second quarter of 2020 primarily due to higher product revenue. The increase in product revenue of $10.2 million, or 227%, to $14.7 million in the second quarter of 2021, compared to $4.5 million in the second quarter of 2020 was primarily due to higher customer demand for enzymes for the manufacture of branded pharmaceuticals products. We expect the demand for our products for the rest of the year to be higher than the comparative periods in the prior year mainly due to overall higher demand for enzymes used in the manufacture of branded pharmaceutical products and a large purchase order for $13.9 million of a proprietary high enzyme product that we received in June 2021 from a pharmaceutical customer that will be recognized as revenue in subsequent periods.
The increase in research and development revenue of $3.9 million, or 129%, to $6.9 million in the second quarter of 2021, compared to $3.0 million in second quarter of 2020 was primarily due to higher license fees from existing collaboration agreements but were partially offset by lower revenues from the Novartis CodeEvolver® Agreement as we approach completion of the technology transfer to Novartis.
Product gross margins were 71% in the second quarter of 2021, compared to 62% in the second quarter of 2020. The increase in product gross margins was primarily due to improved product mix due to higher demand for enzymes for the manufacture of branded pharmaceutical products.
Research and development expense increased nominally by $60.0 thousand, or 1%, to $5.1 million for the second quarter of 2021, compared to the second quarter of 2020. The increase was primarily due to an increase in costs associated with higher headcount, higher outside services expenses, and higher lab supplies, partially offset by lower allocable expenses.
Selling, general and administrative expense increased by $0.8 million, or 33%, to $3.2 million for the second quarter of 2021, compared to the second quarter of 2020. The increase was primarily due to an increase in costs associated with higher headcount and allocable expenses, partially offset by lower outside services expenses.
We expect both research and development expenses and selling, general and administrative expenses for the rest of the year to be higher than the comparative periods in the prior year mainly due to increase in headcount and as we invest more in our business.
Novel Biotherapeutics
Research and development revenues decreased by $3.6 million, to $3.9 million in the second quarter of 2021, compared to $7.5 million in the second quarter of 2020. The decrease in research and development revenue was primarily due to higher license and research and development fees from Takeda under the Takeda Agreement recognized in the prior year.
33


Research and development expense increased by $1.7 million, or 31%, to $7.2 million for the second quarter of 2021, compared to $5.5 million in the second quarter of 2020. The increase was primarily due to higher costs associated with higher headcount and allocable expenses. We expect research and development expenses for the rest of the year to be higher than the comparative periods in prior year mainly due to increase in headcount and as we continue our efforts on advancing our internal and collaborative programs.
Selling, general and administrative expense remain unchanged at $0.6 million for the second quarter of 2021 and 2020. The increase in costs associated with headcount and higher allocable expenses were partially offset by lower outside services expenses.
Merck Sitagliptin Catalyst Supply Agreement
In February 2012, we entered into a five-year Sitagliptin Catalyst Supply Agreement (“Sitagliptin Catalyst Supply Agreement”) with Merck whereby Merck may obtain commercial scale enzyme for use in the manufacture of Januvia®, its product based on the active ingredient sitagliptin. In December 2015, Merck exercised its option under the terms of the Sitagliptin Catalyst Supply Agreement to extend the agreement for an additional five years through February 2022.
Effective as of January 2016, we and Merck amended the Sitagliptin Catalyst Supply Agreement to prospectively provide for variable pricing based on the cumulative volume of sitagliptin catalyst purchased by Merck and to allow Merck to purchase a percentage of its requirements for sitagliptin catalyst from a specified third-party supplier. Merck received a distinct, functional license to manufacture a portion of its demand beginning January 1, 2018, which we recognized as research and development revenue.
We have determined that the variable pricing, which provides a discount based on the cumulative volume of Sitagliptin catalyst purchased by Merck, provides Merck material rights and we are recognizing product revenues using the alternative method. Under the alternative approach, we estimate the total expected consideration and allocate it proportionately with the expected sales.
The Sitagliptin Catalyst Supply Agreement requires Merck to pay an annual fee for the rights to the sitagliptin technology each year for the term of the Sitagliptin Catalyst Supply Agreement. Amounts of annual license fees are based on contractually agreed prices and are on a declining scale over the term of the contract.
Pursuant to the terms of the Sitagliptin Catalyst Supply Agreement, Merck may purchase supply from us for a fee based on contractually stated prices. We recognized revenue of $2.2 million and $5.5 million for the three and six months ended June 30, 2021, respectively, compared to $2.0 million and $3.8 million for the three and six months ended June 30, 2020, respectively, in product revenue under this agreement. Revenues recognized by us under the Sitagliptin Catalyst Supply Agreement comprised 9% and 13% for the three and six months ended June 30, 2021, respectively, compared to 13% for the three and six months ended June 30, 2020 of our total revenues.
The Sitagliptin Catalyst Supply Agreement will expire in February 2022. We are in process of negotiating an extension at this time.
As of June 30, 2021, we recorded revenue of $5.2 million from Sitagliptin products that were recognized over time based on the progress of the manufacturing process. These products will be shipped within the six month period following the end of the quarter. The contract asset balances were partially offset by contract liabilities as they are under the same contract.
Global Development, Option and License Agreement and Strategic Collaboration Agreement
In October 2017, we entered into the Nestlé License Agreement with Nestlé Health Science and, solely for the purpose of the integration and the dispute resolution clauses of the Nestlé License Agreement, Nestlé Health Science S.A., to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of PKU.
In January 2019, we received notice from the FDA that it had completed its review of our IND for CDX-6114 and concluded that we may proceed with the proposed Phase 1b multiple ascending dose study in healthy volunteers in the United States. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU. Upon exercising its option, Nestlé Health Science made an option payment and assumed all responsibilities for future clinical development and commercialization of CDX-6114. We are also eligible to receive payments from Nestlé Health Science under the Nestlé License Agreement that include (i) development and approval milestones of up to $85.0 million, (ii) sales-based milestones of up to $250.0 million in the aggregate, which aggregate amount is achievable if net sales exceed $1.0 billion in a
34


single year, and (iii) tiered royalties, at percentages ranging from the mid-single digits to low double-digits, of net sales of product.
In October 2017, we entered into the Nestlé SCA pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver® protein engineering technology platform to develop novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas.
In January 2020, we entered into a development agreement with Nestlé Health Science pursuant to which we and Nestlé Health Science are collaborating to advance a lead candidate, CDX-7108, targeting a gastrointestinal disorder discovered through our Nestlé SCA into preclinical and early clinical studies.
Under the Nestlé SCA and the development agreement, we recognized research and development fees of $1.7 million and $3.5 million for the three and six months ended June 30, 2021, respectively, compared to $1.7 million and $3.3 million for the three and six months ended June 30, 2020, respectively.
Platform Technology Transfer and License Agreement
In May 2019, we entered into the Novartis CodeEvolver® Agreement with Novartis. The Agreement allows Novartis to use our proprietary CodeEvolver® protein engineering platform technology in the field of human healthcare. Under the Novartis CodeEvolver® Agreement, we are transferring our proprietary CodeEvolver® protein engineering platform technology to Novartis over approximately 27 months, starting with the date on which we commenced the technology transfer (the “Technology Transfer Period”). As a part of this technology transfer, the Company provided to Novartis our proprietary enzymes, proprietary protein engineering protocols and methods, and proprietary software algorithms. In addition, teams of the Company and Novartis scientists participated in technology training sessions and collaborative research projects at our laboratories in Redwood City, California and at a designated Novartis laboratory in Basel, Switzerland. Upon completion of technology transfer, Novartis will have the CodeEvolver® protein engineering platform technology installed at its designated laboratory.
Pursuant to the agreement, we received an upfront payment of $5.0 million shortly after the effective date of the Novartis CodeEvolver® Agreement. In the second quarter of 2020 we completed the second technology milestone transfer under the agreement and became eligible to receive a milestone payment of $4.0 million, which we subsequently received in July 2020. We have also received $3.4 million in March 2021 for partial completion of the third technology milestone. In addition to this payment, we are eligible for an additional payment of $1.6 million for completion of the third technology milestone transfer, which would bring total cash payment for this milestone to $5.0 million as specified in the Novartis CodeEvolver® Agreement. In consideration for the continued disclosure and license of improvements to the technology and materials during a multi-year period that begins on the conclusion of the Technology Transfer Period (“Improvements Term”), Novartis will pay Codexis annual payments which amount to an additional $8.0 million in aggregate. The Company also has the potential to receive quantity-dependent, usage payments for each API that is manufactured by Novartis using one or more enzymes that have been developed or are in development using the CodeEvolver® protein engineering platform technology during the period that begins on the conclusion of the Technology Transfer Period and ends on the expiration date of the last to expire licensed patent. These product-related usage payments, if any, will be paid by Novartis to the Company for each quarter that Novartis manufactures API using a CodeEvolver®-developed enzyme. The usage payments will be based on the total volume of API produced using the CodeEvolver®-developed enzyme. These usage payments can begin in the clinical stage and will extend throughout the commercial life of each API. Revenue for the combined initial license and technology transfer performance obligation, which is expected to occur over 27 months, is being recognized using a single measure of progress that depicts our performance in transferring control of the services, which is based on the ratio of level of effort incurred to date compared to the total estimated level of effort required to complete the performance obligation relating to the combined initial license and technology transfer. Revenue allocated to future improvements will be recognized during the Improvement Term. We recognized $0.3 million and $1.1 million in research and development revenue for the three and six months ended June 30, 2021, respectively, compared to $0.9 million and $3.7 million for the three and six months ended June 30, 2020, respectively.
Strategic Collaboration and License Agreement
In March 2020, we entered into the Takeda Agreement with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Co. Ltd. (“Takeda”), under which we are collaborating to research and develop protein sequences for use in gene therapy products for certain diseases. On execution of the Takeda Agreement, we received an upfront non-refundable cash payment of $8.5 million. Revenue relating to the functional licenses provided to Takeda was recognized at a point in time when the control of the license transferred to the customer. In May 2021, Takeda elected to exercise their option to initiate an additional program for a certain undisclosed rare genetic disorder; as a result we are eligible to receive an option exercise fee.
35


Other potential payments from Takeda include (i) reimbursement of research and development fees and preclinical development milestones for the three initial programs of $15.4 million, in aggregate (ii) clinical development and commercialization-based milestones, per target gene, of up to $100.0 million, and (iii) tiered royalties based on net sales of applicable products at percentages ranging from the middle-single digits to low single-digits. We recognized research and development revenue related to the Takeda Agreement of $2.1 million and $4.2 million for the three and six months ended June 30, 2021, respectively, compared to $5.7 million and $8.0 million for the three and six months ended June 30, 2020, respectively.
Results of Operations
The following table shows the amounts from our unaudited condensed consolidated statements of operations for the periods presented (in thousands, except percentages):
 Three months ended June 30,ChangeSix months ended June 30,Change
 20212020$%20212020$%
Revenues:
Product revenue$14,717 $4,504 $10,213 227%$24,943 $9,604 $15,339 160%
Research and development revenue10,736 10,463 273 3%18,542 20,033 (1,491)(7)%
Total revenues25,453 14,967 10,486 70%43,485 29,637 13,848 47%
Costs and operating expenses:
Cost of product revenue4,318 1,699 2,619 154%8,536 4,240 4,296 101%
Research and development12,826 10,853 1,973 18%24,397 21,820 2,577 12%
Selling, general and administrative12,795 8,522 4,273 50%24,193 17,512 6,681 38%
Total costs and operating expenses29,939 21,074 8,865 42%57,126 43,572 13,554 31%
Loss from operations(4,486)(6,107)1,621 27%(13,641)(13,935)294 2%
Interest income206 57 149 261%382 323 59 18%
Other income (expense), net23 13 10 (77)%(63)(72)13%
Loss before income taxes(4,257)(6,037)1,780 29%(13,322)(13,684)362 3%
Provision for income taxes307 (299)(97)%11 312 (301)(96)%
Net loss$(4,265)$(6,344)$2,079 33%$(13,333)$(13,996)$663 5%
Revenues
Our revenues comprise of product revenue and research and development revenue as follows:
Product revenue consist of sales of biocatalysts, pharmaceutical intermediates, and Codex® biocatalyst panels and kits.
Research and development revenue includes license, technology access and exclusivity fees, research services fees, milestone payments, royalties, optimization and screening fees.
Revenues are as follows (in thousands, except percentages):
Three months ended June 30,ChangeSix months ended June 30,Change
20212020$%20212020$%
Product revenue$14,717 $4,504 $10,213 227%$24,943 $9,604 $15,339 160%
Research and development revenue10,736 10,463 273 3%18,542 20,033 (1,491)(7)%
Total revenues$25,453 $14,967 $10,486 70%$43,485 $29,637 $13,848 47%
Revenues typically fluctuate on a quarterly basis due to the variability in our customers' manufacturing schedules and the timing of our customers' clinical trials. In addition, we have limited internal capacity to manufacture enzymes. As a result, we are dependent upon the performance and capacity of third-party manufacturers for the commercial scale manufacturing of the enzymes used in our pharmaceutical and fine chemicals business.
We accept purchase orders for deliveries covering periods from one day up to approximately 14 months from the date on which the order is placed. However, a majority of the purchase orders can be revised or cancelled by the customer without
36


penalty. Considering these industry practices and our experience, we do not believe the total of customer purchase orders outstanding (backlog) provides meaningful information that can be relied on to predict actual sales for future periods.
Total revenues increased by $10.5 million and $13.8 million in the three and six months ended June 30, 2021, respectively, compared to the same periods in 2020, primarily due to higher product revenue but partially offset by lower research and development revenue for the six month period.
Product revenue, increased by $10.2 million and $15.3 million in the three and six months ended June 30, 2021, respectively, compared to the same periods in 2020, primarily due to an increase in customer demand for branded pharmaceutical products. We expect the demand for our products for the rest of the year to be higher than the comparative periods in the prior year mainly due to overall higher demand for enzymes used in the manufacture of branded pharmaceutical products and a large purchase order for $13.9 million of a proprietary high enzyme product that we received in June 2021 from a pharmaceutical customer that will be recognized as revenue in subsequent periods.
Research and development revenue increased by $0.3 million to $10.7 million in the three months ended June 30, 2021 compared to three months ended June 30, 2020, primarily due to higher license fees from existing collaboration agreements. Research and development revenue decreased by $1.5 million to $18.5 million in the six months ended June 30, 2021 compared to the six months ended June 30, 2020, primarily due to higher license and research and development fees from Takeda under the Takeda Agreement recognized in the prior year period, partially offset by higher license fees from other existing collaboration agreements.
Cost and Operating Expenses
Our cost and operating expenses comprise cost of product revenue, research and development expense, and selling, general and administrative expense. The following table shows the amounts of our cost of product revenue, research and development expense, and selling, general and administrative expense from our unaudited condensed consolidated statements of operations for the periods presented (in thousands, except percentages):
Three months ended June 30,ChangeSix months ended June 30,Change
20212020$%20212020$%
Cost of product revenue$4,318 $1,699 $2,619 154%$8,536 $4,240 $4,296 101%
Research and development12,826 10,853 1,973 18%24,397 21,820 2,577 12%
Selling, general and administrative12,795 8,522 4,273 50%24,193 17,512 6,681 38%
Total costs and operating expenses$29,939 $21,074 $8,865 42%$57,126 $43,572 $13,554 31%
Cost of Product Revenue and Product Gross Margin
Our product revenues are derived entirely from our Performance Enzymes segment. Revenues from the Novel Biotherapeutics segment are from collaborative research and development activities and not from product revenue.
The following table shows the amounts of our product revenue, cost of product revenue, product gross profit and product gross margin from our unaudited condensed consolidated statements of operations for the periods presented (in thousands, except percentages):
Three months ended June 30,ChangeSix months ended June 30,Change
20212020$%20212020$%
Product revenue$14,717$4,504$10,213 227%$24,943$9,604$15,339 160%
Cost of product revenue (1)
4,3181,6992,619 154%8,5364,2404,296 101%
Product gross profit$10,399$2,805$7,594 271%$16,407$5,364$11,043 206%
Product gross margin (%) (2)
71 %62 %66 %56 %
(1) Cost of product revenue comprises both internal and third-party fixed and variable costs, including materials and supplies, labor, facilities and other overhead costs associated with our product revenue.
(2) Product gross margin is used as a performance measure to provide additional information regarding our results of operations on a consolidated basis.
37


Cost of product revenue increased by $2.6 million in the three months ended June 30, 2021, compared to the three months ended June 30, 2020 and increased by $4.3 million in the six months ended June 30, 2021, compared to the six months ended June 30, 2020. The increase was primarily due to a higher volume of product sales and variations in product mix. The product gross margin increased to 71% and 66% in the three and six months ended June 30, 2021, respectively, compared to 62% and 56% in the three and six months ended June 30, 2020, respectively, primarily due to the sale of higher margin branded products.
Research and Development Expenses
Research and development expenses consist of costs incurred for internal projects as well as collaborative research and development activities. These costs primarily consist of (i) employee-related costs, which include salaries and other personnel-related expenses (including stock-based compensation), (ii) various allocable expenses, which include occupancy-related costs, supplies, depreciation of facilities and laboratory equipment, and (iii) external costs. Research and development expenses are expensed when incurred.
Research and development expenses increased by $2.0 million, or 18%, during the three months ended June 30, 2021, and by $2.6 million, or 12%, in the six months ended June 30, 2021, compared to the same periods in 2020. The increase in research and development expenses was primarily due to an increase in costs associated with higher headcount, higher lab supplies, depreciation and other outside services, partially offset by a decrease in costs associated with outside services relating to CMC and regulatory expenses. We expect research and development expenses for the rest of the year to be higher than the comparative periods in the prior year mainly due to increase in headcount and as we continue our efforts on advancing our internal and collaborative programs.
Selling, General and Administrative Expenses
Selling, general and administrative expenses consist of employee-related costs, which include salaries and other personnel-related expenses (including stock-based compensation), hiring and training costs, consulting and outside services expenses (including audit and legal counsel related costs), marketing costs, building lease costs, and depreciation expenses and amortization expense.
Selling, general and administrative expenses increased by $4.3 million, or 50%, in the three months ended June 30, 2021, and by $6.7 million, or 38%, in the six months ended June 30, 2021 compared to the same periods in 2020. The increase was primarily due to an increase in costs associated with a higher headcount, an increase in legal fees, and higher share-based compensation costs, partially offset by lower travel and allocable expenses. We expect selling, general and administrative expenses for the rest of the year to be higher than the comparative periods in the prior year mainly due to increase in headcount and higher operating costs as we invest more in our business in order to pursue on future growth opportunities.
Interest Income and Other Income (Expense), net (in thousands, except percentages):
Three months ended June 30,ChangeSix months ended June 30,Change
20212020$%20212020$%
Interest income$206 $57 $149 261%$382 $323 $59 18%
Other income (expense), net23 13 10 (77)%(63)(72)13%
Total other income$229 $70 $159 227%$319 $251 $68 27%
Interest Income
Interest income increased by $149.0 thousand and $59.0 thousand in the three and six months ended June 30, 2021, respectively, compared to the same periods in 2020, primarily due to earned interest income and amortization of debt discount on a non-marketable debt security, partially offset by a reduction in interest income from lower average interest rates on declining average cash balances.
Other Income (Expense), net
Other income (expense), net, increased by $10.0 thousand and $9.0 thousand in the three and six months ended June 30, 2021, respectively, compared to the same periods in 2020, primarily due to interest expense charges recognized on the amortization of an embedded bifurcated derivative of a share-settled redemption feature on non-marketable securities, partially offset by prior year write-down of $0.4 million of our investment in CO2 Solutions and fluctuations in foreign currency.
38


Provision for Income Taxes (in thousands, except percentages):
Three months ended June 30,ChangeSix months ended June 30,Change
20212020$%20212020$%
Provision for income taxes$$307 $(299)(97)%$11 $312 $(301)96 %
The provision for income taxes for the three and six months ended June 30, 2021 were primarily due to the accrual of interest and penalties on historic uncertain tax positions. We recognized a provision for income taxes for the three and six months ended June 30, 2020 for income tax withholding imposed by foreign taxing authorities on income earned in certain countries outside of the United States and remitted to the United States.
Net Loss
Net loss for the three months ended June 30, 2021 was $4.3 million, or a net loss per basic and diluted share of $0.07. This compared to a net loss of $6.3 million, or a net loss per basic and diluted share of $0.11 for the three months ended June 30, 2020. Net loss for the six months ended June 30, 2021 was $13.3 million, or a net loss per basic and diluted share of $0.21. This compared to a net loss of $14.0 million, or a net loss per basic and diluted share of $0.24 for the six months ended June 30, 2020. The decrease in net loss for both the three and six months ended June 30, 2021 was primarily related to increase in product revenue with higher margins, partially offset by higher operating expenses and lower research and development revenues.
Results of Operations by Segment (in thousands, except percentages):
Revenues by segment
Three months ended June 30,Change
20212020Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Revenues:
Product revenue$14,717 $— $14,717 $4,504 $— $4,504 $10,213 227 %$— — %
Research and development revenue6,868 3,868 10,736 3,002 7,461 10,463 3,866 129 %(3,593)(48)%
Total revenues$21,585 $3,868 $25,453 $7,506 $7,461 $14,967 $14,079 188 %$(3,593)(48)%
Six months ended June 30,Change
20212020Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Revenues:
Product revenue$24,943 $— $24,943 $9,604 $— $9,604 $15,339 160 %$— — %
Research and development revenue10,872 7,670 18,542 8,775 11,258 20,033 2,097 24 %(3,588)(32)%
Total revenues$35,815 $7,670 $43,485 $18,379 $11,258 $29,637 $17,436 95 %$(3,588)(32)%
Revenues from the Performance Enzymes segment increased by $14.1 million, or 188%, for the three months ended June 30, 2021, and by $17.4 million, or 95%, for the six months ended June 30, 2021 compared to the same periods in 2020 primarily due to higher product and research and development revenue. The increase in product revenue of $10.2 million, or 227%, in the three months ended June 30, 2021, and of $15.3 million, or 160%, in the six months ended June 30, 2021, compared to the same periods in 2020, was primarily due to higher customer demand for enzymes for the manufacture of branded pharmaceuticals products. The increase in research and development revenue of $3.9 million, or 129%, to $6.9 million in three months ended June 30, 2021, compared to $3.0 million in the three months ended June 30, 2020 was primarily due to an annual collaboration fee and research and development revenue from Porton under the Porton Agreement. The increase in research and development revenue of $2.1 million, or 24%, to $10.9 million in the six months ended June 30, 2021, compared
39


to $8.8 million in the six months ended June 30, 2020 was primarily due to higher license fees from existing collaboration agreements but partially offset by lower revenues from Novartis under the Novartis CodeEvolver® Agreement.
Revenues from the Novel Biotherapeutics segment decreased by $3.6 million, or 48%, for the three months ended June 30, 2021 and by $3.6 million, or 32%, for the six months ended June 30, 2020 compared to the same periods in 2020 primarily due to higher license and research and development fees from Takeda under the Takeda Agreement recognized in the prior year and decrease in research and development revenue from Nestlé Health Science.
Costs and operating expenses by segment
Three months ended June 30,Change
20212020Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Cost of product revenue$4,318 $— $4,318 $1,699 $— $1,699 $2,619 154 %$— — %
Research and development (1)
5,057 7,194 12,251 4,997 5,490 10,487 60 %1,704 31 %
Selling, general and administrative (1)
3,170 620 3,790 2,375 621 2,996 795 33 %(1)— %
Total segment costs and operating expenses$12,545 $7,814 20,359 $9,071 $6,111 15,182 $3,474 38 %$1,703 28 %
Corporate costs (2)
8,839 5,386 
Unallocated depreciation and amortization741 506 
Total costs and operating expenses$29,939 $21,074 

Six months ended June 30,Change
20212020Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Cost of product revenue$8,536 $— $8,536 $4,240 $— $4,240 $4,296 101 %$— — %
Research and development (1)
11,502 11,799 23,301 10,693 10,415 21,108 809 %1,384 13 %
Selling, general and administrative (1)
5,988 1,221 7,209 4,720 1,213 5,933 1,268 27 %%
Total segment costs and operating expenses$26,026 $13,020 39,046 $19,653 $11,628 31,281 $6,373 32 %$1,392 12 %
Corporate costs (2)
16,654 11,293 
Unallocated depreciation and amortization1,426 998 
Total costs and operating expenses$57,126 $43,572 
(1) Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling, general and administrative expenses.
For a discussion of product cost of revenue, see "Results of Operations".
Research and development expense in the Performance Enzymes segment increased nominally by $60.0 thousand, or 1%, in the three months ended June 30, 2021 and by $0.8 million, or 8% in the six months ended June 30, 2021, as compared to the same periods in 2020. The increase was primarily due to an increase in costs associated with outside services, lab supplies and higher headcount, partially offset by lower allocable expenses.
Selling, general and administrative expense in the Performance Enzymes segment increased by $0.8 million, or 33%, in the three months ended June 30, 2021, and by $1.3 million, or 27%, in the six months ended June 30, 2021, as compared to the
40


same periods in 2020. The increase was primarily due to an increase in costs associated with higher headcount and higher allocable expenses, partially offset by lower outside services expenses.
Research and development expense in the Novel Biotherapeutics segment increased by $1.7 million, or 31%, and by $1.4 million, or 13%, in the six months ended June 30, 2021 compared to the same periods in 2020. The increase was primarily due to higher costs associated with higher headcount and allocable expenses.
Selling, general and administrative expense in the Novel Biotherapeutics segment remained unchanged for the three and six months ended June 30, 2021, compared to the three and six months ended June 30, 2020.
Liquidity and Capital Resources
Liquidity is the measurement of our ability to meet working capital needs and to fund capital expenditures. We have historically funded our operations primarily through cash generated from operations, stock option exercises and public and private offerings of our common stock. We also have the ability to borrow up to $15.0 million under our Credit Facility. We actively manage our cash usage and investment of liquid cash to ensure the maintenance of sufficient funds to meet our working capital needs. Our cash and cash equivalents are held in U.S. banks.
The following summarizes our cash and cash equivalents balance and working capital as of June 30, 2021 and December 31, 2020 (in thousands):
June 30, 2021December 31, 2020
Cash and cash equivalents$129,506 $149,117 
Working capital$148,305 $159,442 
In addition to our existing cash and cash equivalents, we are eligible to earn milestone and other contingent payments for the achievement of defined collaboration objectives and certain royalty payments under our collaboration agreements. Our ability to earn these milestone and contingent payments and the timing of achieving these milestones is primarily dependent upon the outcome of our collaborators’ research and development activities and is uncertain at this time. In 2016, we completed the final phase in the transfer of CodeEvolver® technology to Merck under the Merck CodeEvolver® Agreement. Following the completion of the technology transfer to Merck, we are now eligible to receive payments of up to $15.0 million for each commercial API that is manufactured by Merck using one or more novel enzymes developed by Merck using the CodeEvolver® technology. In addition, depending upon GSK's successful application of the licensed technology, we have the potential to receive additional contingent payments that range from $5.75 million to $38.5 million per project.
In May 2019, we entered into the Novartis CodeEvolver® Agreement with Novartis. The Novartis CodeEvolver® Agreement allows Novartis to use Codexis’ proprietary CodeEvolver® protein engineering platform technology in the field of human healthcare. Pursuant to the agreement, we received an upfront payment of $5.0 million shortly after the effective date of the Novartis CodeEvolver® Agreement. In the second quarter of 2020, we completed the second technology milestone transfer under the agreement and became eligible to receive a milestone payment of $4.0 million, which we subsequently received in July 2020. In the first quarter of 2021, we also received $3.4 million for partial completion of the third technology milestone. Additionally, we will receive an additional $1.6 million upon satisfactory completion of the third technology transfer milestone which occurred in July 2021. In consideration for the continued disclosure and license of improvements to our technology and materials during a multi-year period that begins on the conclusion of the Technology Transfer Period (“Improvements Term”), Novartis will pay Codexis annual payments which amount to an additional $8 million in aggregate.
In October 2017, we entered into the Nestlé License Agreement with Nestlé Health Science. Pursuant to the Nestlé License Agreement, Nestlé Health Science paid us an upfront cash payment and milestone payments after dosing the first subjects in a first-in-human Phase 1a dose-escalation trial with CDX-6114 and achievement of a formulation relating to CDX-6114. In January 2019, we received notice from the FDA that it had completed its review of our IND for CDX-6114 and concluded that we may proceed with the proposed Phase 1b multiple ascending dose study in healthy volunteers in the United States. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU. Upon exercising its option, Nestlé Health Science made an option payment and assumed all responsibilities for future clinical development and commercialization of CDX-6114, with the exception of the completion of an extension study which was substantially completed in the fourth quarter of 2019. Other potential payments from Nestlé Health Science to us under the Nestlé License Agreement include (i) development and approval milestones of up to $85.0 million, (ii) sales-based milestones of up to $250.0 million in the aggregate, which aggregate amount is achievable if net sales exceed $1.0 billion in a single year, and (iii) tiered royalties, at percentages ranging from the mid-single digits to low double-digits, of net sales of Product.
41


We are actively collaborating with new and existing customers in the pharmaceutical and food industries. We believe that we can utilize our current products and services, and develop new products and services, to increase our revenues and gross margins in future periods.
We have historically experienced negative cash flows from operations as we continue to invest in key technology development projects and improvements to our CodeEvolver® protein engineering technology platform and expand our business development and collaboration with new customers. Our cash flows from operations will continue to be affected principally by sales from licensing our technology to major pharmaceutical companies, product sales and product gross margins, and collaborative research and development services provided to customers, as well as our headcount costs, primarily in research and development. Our primary source of cash flows from operating activities is cash receipts from our customers for purchases of products, collaborative research and development services, and licensing our technology to major pharmaceutical companies. Our largest uses of cash from operating activities are for employee-related expenditures, rent payments, inventory purchases to support our product sales and non-payroll research and development costs.
Equity Distribution Agreement
In May 2021, we entered into an Equity Distribution Agreement ("EDA") with Piper Sandler & Co ("PSC"), under which PSC, as our exclusive agent, at our discretion and at such times that we may determine from time to time, may sell over a three-year period from the execution of the agreement up to a maximum of $50 million of shares of our common stock. During the six months ended June 30, 2021, no shares were issued of our common stock pursuant to the EDA. As of June 30, 2021, $50.0 million of shares remained available under the EDA. Sales of our common stock under this arrangement could be subject to business, economic or competitive uncertainties and contingencies, many of which may be beyond our control, and which could cause actual results from the sale of our common stock to differ materially from expectations. For information, see Note 9, "Capital Stock" in the Notes to Unaudited Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.
Stock Offering
In December 2020, we completed an underwritten public offering of approximately 4,928,572 shares of our common stock, par value $0.0001 per share, at a public offering price of $17.50 per share. The net proceeds to us were approximately $80.8 million after deducting offering costs and the underwriting discounts and commissions and other offering expenses of $5.5 million.
Credit Facility
In June 30, 2017, we entered into the Credit Facility with Western Alliance Bank which consists of term debt for loans that allow us to borrow up to $10.0 million, and under a revolving facility that allows us to borrow up to $5.0 million with a certain eligible accounts receivable borrowing base of 80% of eligible accounts receivable. In September 2020, we entered into an Eighth Amendment to the Credit Facility whereby we may draw on the Term Debt and the Revolving Line of Credit at any time prior to October 1, 2021 and October 1, 2024, respectively, subject to customary conditions for funding including, among others, that no event of default exists. Draws on the Credit Facility are secured by a lien on substantially all of our personal property other than our intellectual property. On October 1, 2024 loans drawn under the Term Debt mature and the Revolving Line of Credit terminate. No amounts were drawn under the credit facility as of June 30, 2021 and December 31, 2020. At June 30, 2021, we were in compliance with the covenants for the Credit Facility. The Credit Facility requires us to maintain compliance with certain financial covenants including attainment of certain lender-approved projections or maintenance of certain minimum cash levels. Restrictive covenants in the Credit Facility restrict the payment of dividends or other distributions. For additional information about our contractual obligations, see Note 10, "Commitments and Contingencies" in the Notes to Unaudited Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.
As of June 30, 2021, we had cash and cash equivalents of $129.5 million and $15.0 million available to borrow under our Credit Facility. Our liquidity is dependent upon our cash and cash equivalents, cash flows provided by operating activities and the continued availability of borrowings under our Credit Facility.
We believe that, based on our current level of operations, our existing cash and cash equivalents will provide adequate funds for ongoing operations, planned capital expenditures and working capital requirements for at least the next 12 months.
However, we may need additional capital if our current plans and assumptions change. In addition, we may choose to seek other sources of capital even if we believe we have generated sufficient cash flows to support our operating needs. Our need for additional capital will depend on many factors, including the financial success of our business, the spending required to develop and commercialize new and existing products, the effect of any acquisitions of other businesses, technologies or facilities that
42


we may make or develop in the future, our spending on new market opportunities, and the potential costs for the filing, prosecution, enforcement and defense of patent claims, if necessary. If our capital resources are insufficient to meet our capital requirements, and we are unable to enter into or maintain collaborations with partners that are able or willing to fund our development efforts or commercialize any products that we develop or enable, we will have to raise additional funds to continue the development of our technology and products and complete the commercialization of products, if any, resulting from our technologies. If future financings involve the issuance of equity securities, our existing stockholders would suffer dilution. If we raise debt financing or enter into credit facilities, we may be subject to restrictive covenants that limit our ability to conduct our business. We may not be able to raise sufficient additional funds on terms that are favorable to us, if at all. If we fail to raise sufficient funds and fail to generate sufficient revenues to achieve planned gross margins and to control operating costs, our ability to fund our operations, take advantage of strategic opportunities, develop products or technologies, or otherwise respond to competitive pressures could be significantly limited. If this happens, we may be forced to delay or terminate research or development programs or the commercialization of products resulting from our technologies, curtail or cease operations or obtain funds through collaborative and licensing arrangements that may require us to relinquish commercial rights, or grant licenses on terms that are not favorable to us. If adequate funds are not available, we will not be able to successfully execute our business plan or continue our business.
Cash Flows
The following is a summary of cash flows for six months ended June 30, 2021 and 2020 (in thousands):
 Six months ended June 30,
20212020
Net cash used in operating activities$(14,735)$(11,498)
Net cash used in investing activities(4,945)(2,490)
Net cash provided by (used in) financing activities473 (903)
Net decrease in cash, cash equivalents and restricted cash$(19,207)$(14,891)
Cash Flows from Operating Activities
Cash used in operating activities was $14.7 million for the six months ended June 30, 2021, which resulted from a net loss of $13.3 million for the six months ended June 30, 2021 adjusted for non-cash charges for depreciation of $1.4 million, ROU lease asset amortization expense of $1.3 million, stock-based compensation of $5.5 million, partially offset by equity securities earned from research and development activities of $0.5 million. Additional cash used by changes in operating assets and liabilities was $8.8 million. Changes in operating assets and liabilities included a decrease of $1.3 million in other long-term liabilities, a decrease of $0.4 million in accrued compensation and other accrued liabilities and an increase of $7.5 million in financial assets, partially offset by an increase of $0.3 million in deferred revenue and increase of $0.4 million in accounts payable.
Cash used in operating activities was $11.5 million for the six months ended June 30, 2020, which resulted from a net loss of $14.0 million for the six months ended June 30, 2020 adjusted for non-cash charges for depreciation of $0.9 million, ROU lease asset amortization expense of $1.3 million and stock-based compensation of $4.1 million. Additional cash used by changes in operating assets and liabilities was $3.8 million. Changes in operating assets and liabilities included a $2.3 million decrease in unbilled receivables and a $5.0 million decrease in accounts receivables, partially offset by an increase of $3.0 million in deferred revenue and $1.9 million in accrued compensation and other accrued liabilities.
Cash Flows from Investing Activities
Cash used in investing activities was $4.9 million and $2.5 million for the six months ended June 30, 2021 and 2020, respectively. Cash used in investing activities for the six months ended June 30, 2021 was primarily attributable to $4.3 million for purchases of property and equipment and $0.6 million for the purchase of 1,000,000 shares of MAI's Series A preferred stock.
Cash used in investing activities for the six months ended June 30, 2020 was primarily attributable to the purchase of 1,587,050 shares of MAI's Series A preferred stock for $1.0 million and $1.5 million for purchases of property and equipment.
Cash Flows from Financing Activities
Cash provided by financing activities was $0.5 million for the six months ended June 30, 2021 primarily attributable to $1.7 million of proceeds from exercises of stock options, partially offset by $1.2 million for taxes paid related to net share settlement of equity awards.
43


Cash used in financing activities was $0.9 million for the six months ended June 30, 2020 and primarily attributable to taxes paid related to net share settlement of equity awards.
Material Cash Requirements
The following table summarizes material cash requirements related to minimum future payments under non-cancellable operating leases, exclusive of common area maintenance charges and real estate taxes, as of June 30, 2021 (in thousands):
Payments due by period
TotalLess than 1 year1 to 3 years4 to 5 yearsMore than 5 years
Operating lease (1)
$29,198 $4,156 $9,179 $9,738 $6,125 
Operating lease (2)
31,723 1,000 5,977 7,912 16,834 
Total$60,921 $5,156 $15,156 $17,650 $22,959 
(1) In the first quarter of 2019, we have entered into an Eighth Amendment to the Lease with MetLife, extending the lease terms from May 2027 to May 2029 of our Redwood City, California facilities.
(2) In the first quarter of 2021, we entered into a ten-year lease with 2021 RE-San Francisco No. 63, LLC, for our San Carlos facilities.
For additional information see Note 10, “Commitments and Contingencies” in the Notes to Unaudited Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.
Other Material Cash Requirements
We have other material cash requirements related to supply and service arrangements entered in the normal course of business. For additional information about other material cash requirements, see Note 10, "Commitments and Contingencies" in the Notes to Unaudited Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q. Future minimum payments reflect amounts those obligations are expected to have on our liquidity and cash flows in future period and include obligations subject to risk of cancellation by us (in thousands):
Other Material Cash Requirements by Agreement TypeAgreement DateFuture Minimum Payment
Manufacture and supply agreement with expected future payment date of December 2022April 2016$162 
Development and manufacturing services agreementsSeptember 20191,852 
Total other commitments$2,014 
We are contingently committed to an aggregate $2.7 million of potential future research and development milestone payments to third parties for patents, licensing and development programs achieved in clinical application and the regulatory approval process. Payments generally are due and payable only upon achievement of certain developmental and regulatory milestones for which the specific timing cannot be predicted. Certain agreements also provide for sales-based milestones aggregating to $0.6 million that we are contingently obligated to pay to upon achievement of certain sales levels in addition to royalties.
We do not utilize special-purpose financing vehicles or have undisclosed off-balance sheet arrangements.
Critical Accounting Policies and Estimates
The preparation financial statements in conformity with generally accepted accounting principles requires management to make judgments, estimates and assumptions in the preparation of our consolidated financial statements and accompanying notes. Actual results could differ from those estimates. There have been no material changes to our critical accounting policies or estimates during the three and six months ended June 30, 2021 from those discussed in our Annual Report on Form 10-K for the year ended December 31, 2020, filed with the SEC on March 1, 2021.
44


ITEM 3.QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK

Market Risk Management
Our cash flows and earnings are subject to fluctuations due to changes in foreign currency exchange rates, interest rates and other factors. These market risk exposures are disclosed in Part II, Item 7A of our Annual Report on Form 10-K for the year ended December 31, 2020, filed with the SEC on March 1, 2021.
Interest Rate Sensitivity
Our unrestricted cash and cash equivalents total $129.5 million at June 30, 2021. We primarily invest these amounts in money market funds which are held for working capital purposes. We do not enter into investments for trading or speculative purposes. As of June 30, 2021, the effect of a hypothetical 10% decrease in market interest rates would have an immaterial impact on a potential loss in future interest income and cash flows.
In June 2017, we entered into a Credit Facility with Western Alliance Bank consisting of term loans up to $10.0 million, and advances under a revolving line of credit up to $5.0 million. Term loans made under the Term Debt bear interest at variable rate through maturity at the greater of (i) 3.75% or (ii) the sum of (A) Index Rate (prime rate published in the Money Rates section of the Western Edition of The Wall Street Journal plus (B) 0.50%. Advances made under the Revolving Line of Credit bear interest at a variable annual rate equal to the greater of (i) 4.25% or (ii) the sum of (A) the prime rate plus (B) 1.00%. Increases in these variable interest rates will increase our future interest expense and decrease our results of operations and cash flows. No amounts were drawn under the Credit Facility as of June 30, 2021. Our exposure to interest rates risk relates to our 2017 Credit Facility with variable interest rates, where an increase in interest rates may result in higher borrowing costs. Since we have no outstanding borrowings under our 2017 Credit Facility as of June 30, 2021, the effect of a hypothetical 10% change in interest rates would not have any impact on our interest expense.
Foreign Currency Risk
Our results of operations and cash flows are subject to fluctuations due to changes in foreign currency exchange rates. Although substantially all of our sales are denominated in United States dollars, future fluctuations in the value of the USD may affect the price competitiveness of our products outside the United States. The impact of changes in foreign currency exchange rates on our operations and cash flows may be difficult or impossible to quantify.
Investment in Non-Marketable Debt and Equity Securities
We own investments in a non-marketable available-for-sale debt security and non-marketable equity securities without readily determinable fair values. To analyze the fair value measurement of these debt securities, we perform a qualitative analysis using significant unobservable inputs. Significant changes to the unobservable inputs may result in a significantly higher or lower fair value estimate.
We may value these equity securities based on significant recent arms-length equity transactions with sophisticated non-strategic unrelated investors, providing the terms of these security transactions are substantially similar to the security transactions terms between the investors and us. The impact of the difference in transaction terms on the market value of the portfolio company may be difficult or impossible to quantify.
45


ITEM 4.CONTROLS AND PROCEDURES

Evaluation of Disclosure Controls and Procedures
We maintain disclosure controls and procedures and internal controls that are designed to provide reasonable assurance that information required to be disclosed in our Exchange Act reports is recorded, processed, summarized, and reported within the time periods specified in the SEC's rules and forms and that such information is accumulated and communicated to our management, including our principal executive officer and our principal financial and accounting officer, as appropriate, to allow timely decisions regarding required disclosure.
Our management, including our principal executive officer and our principal financial and accounting officer, evaluated the effectiveness of our disclosure controls and procedures as defined by Rules 13a-15(e) and 15d-15(e) of the Exchange Act. Based on this review, our principal executive officer and our principal financial and accounting officer concluded that these disclosure controls and procedures were effective as of June 30, 2021 at the reasonable assurance level.
Changes in Internal Control over Financial Reporting
There were no changes in our internal control over financial reporting identified in connection with the evaluation required by paragraph (d) of Exchange Act Rules 13a-15 or 15d-15 that occurred during our last fiscal quarter that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting. There were no significant changes to our internal control over financial reporting due to the adoption of new standards.
Inherent Limitations on Effectiveness of Controls
In designing and evaluating the disclosure controls and procedures, management recognizes that any controls and procedures, even if determined effective and no matter how well designed and operated, can provide only reasonable assurance of achieving the desired control objectives to prevent or detect misstatements. In addition, the design of disclosure controls and procedures must reflect the fact that there are resource constraints and that management is required to apply judgment in evaluating the benefits of possible controls and procedures relative to their costs. 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.

46


PART II. OTHER INFORMATION
ITEM 1.
LEGAL PROCEEDINGS

We are not currently a party to any material pending litigation or other material legal proceedings.
ITEM 1A.RISK FACTORS
We have included in Part I, Item 1A of our Annual Report on Form 10-K for the year ended December 31, 2020, a description of certain risks and uncertainties that could affect our business, future performance or financial condition (the “Risk Factors"). During the three months ended June 30, 2021, there were no material changes from the disclosure provided in the Form 10-K for the year ended December 31, 2020 with respect to the Risk Factors. Investors should consider the Risk Factors prior to making an investment decision with respect to our stock.

ITEM 2.UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS

None.
ITEM 3.
DEFAULTS UPON SENIOR SECURITIES

None.
ITEM 4.MINE SAFETY DISCLOSURES

Not applicable.
ITEM 5.OTHER INFORMATION

Not applicable.

47


ITEM 6.EXHIBITS
3.1
3.2
3.3
4.1Reference is made to Exhibits 3.1 through 3.3.
10.1
31.1
31.2
32.1
101 
The following materials from the Company's Quarterly Report on Form 10-Q for the quarter ended June 30, 2021, formatted in Inline Extensible Business Reporting Language ("iXBRL") includes: (i) Unaudited Condensed Consolidated Balance Sheets at June 30, 2021 and December 31, 2020 (ii) Unaudited Condensed Consolidated Statements of Operations for the Three and Six Months Ended June 30, 2021 and 2020, (iii) Unaudited Condensed Consolidated Statements of Stockholders' Equity for the Three and Six Months Ended June 30, 2021 and 2020, (iv) Unaudited Condensed Consolidated Statements of Cash Flows for the Six Months Ended June 30, 2021 and 2020 and (v) Notes to Unaudited Condensed Consolidated Financial Statements.
101.SCHInline XBRL Taxonomy Extension Schema Document
101.CALInline XBRL Taxonomy Extension Calculation Linkbase Document
101.DEFInline XBRL Taxonomy Extension Definition Linkbase Document
101.LABInline XBRL Taxonomy Extension Label Linkbase Document
101.PREInline XBRL Taxonomy Extension Presentation Linkbase Document
104
The cover page from the Company’s Quarterly Report on Form 10-Q for the quarter ended June 30, 2021, formatted in Inline XBRL and contained in Exhibit 101.
*Portions of the exhibit, marked by brackets, have been omitted because the omitted information is (i) not material and (ii) would be competitively harmful if publicly disclosed.

48


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.
Codexis, Inc.
Date:August 6, 2021By:/s/ John J. Nicols
John J. Nicols
President and Chief Executive Officer
(principal executive officer)
Date:August 6, 2021By:/s/ Ross Taylor
Ross Taylor
Senior Vice President and Chief Financial Officer
(principal financial and accounting officer)

49
EX-31.1 2 cdxs_20210630xex311sp.htm EX-31.1 Document

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

Date: August 6, 2021
/s/ John J. Nicols
John J. Nicols
President and Chief Executive Officer
(principal executive officer)


EX-31.2 3 cdxs_20210630xex312sp.htm EX-31.2 Document

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

Date: August 6, 2021
/s/ Ross Taylor
Ross Taylor
Senior Vice President and Chief Financial Officer
(principal financial and accounting officer)


EX-32.1 4 cdxs_20210630xex321sp.htm EX-32.1 Document

Exhibit 32.1
CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Quarterly Report of Codexis, Inc. (the “Company”) on Form 10-Q for the fiscal quarter ended June 30, 2021, as filed with the Securities and Exchange Commission (the “Report”), John J. Nicols, President and Chief Executive Officer of the Company and Ross Taylor, Senior Vice President and Chief Financial Officer of the Company, respectively, do each hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:
The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
The information in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.



Date: August 6, 2021
/s/ John J. Nicols
John J. Nicols
President and Chief Executive Officer
(principal executive officer)
/s/ Ross Taylor
Ross Taylor
Senior Vice President and Chief Financial Officer
(principal financial and accounting officer)


EX-101.SCH 5 cdxs-20210630.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0001001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 1001002 - Statement - Condensed Consolidated Balance Sheets (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1002003 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1003004 - Statement - Condensed Consolidated Statements of Operations (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1004005 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) link:presentationLink link:calculationLink link:definitionLink 1005006 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) link:presentationLink link:calculationLink link:definitionLink 2101101 - Disclosure - Description of Business link:presentationLink link:calculationLink link:definitionLink 2402401 - Disclosure - Description of Business (Details) link:presentationLink link:calculationLink link:definitionLink 2103102 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 2204201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 2105103 - Disclosure - Revenue Recognition link:presentationLink link:calculationLink link:definitionLink 2306301 - Disclosure - Revenue Recognition (Tables) link:presentationLink link:calculationLink link:definitionLink 2407402 - Disclosure - Revenue Recognition - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 2408403 - Disclosure - Revenue Recognition - Contracts with Customer (Details) link:presentationLink link:calculationLink link:definitionLink 2409404 - Disclosure - Revenue Recognition - Textual (Details) link:presentationLink link:calculationLink link:definitionLink 2410405 - Disclosure - Revenue Recognition - Revenue Recognized During Period (Details) link:presentationLink link:calculationLink link:definitionLink 2411406 - Disclosure - Revenue Recognition - Performance Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 2411406 - Disclosure - Revenue Recognition - Performance Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 2112104 - Disclosure - Net Loss per Share link:presentationLink link:calculationLink link:definitionLink 2313302 - Disclosure - Net Loss per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 2414407 - Disclosure - Net Loss per Share (Details) link:presentationLink link:calculationLink link:definitionLink 2115105 - Disclosure - Investments in Non-Marketable Securities link:presentationLink link:calculationLink link:definitionLink 2316303 - Disclosure - Investments in Non-Marketable Securities (Tables) link:presentationLink link:calculationLink link:definitionLink 2417408 - Disclosure - Investments in Non-Marketable Securities - Textual (Details) link:presentationLink link:calculationLink link:definitionLink 2418409 - Disclosure - Investments in Non-Marketable Securities - Carrying Value and Fair Value of Securities (Details) link:presentationLink link:calculationLink link:definitionLink 2119106 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 2320304 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 2421410 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 2122107 - Disclosure - Balance Sheets Details link:presentationLink link:calculationLink link:definitionLink 2323305 - Disclosure - Balance Sheets Details (Tables) link:presentationLink link:calculationLink link:definitionLink 2424411 - Disclosure - Balance Sheets Details - Cash and Cash Equivalents (Details) link:presentationLink link:calculationLink link:definitionLink 2425412 - Disclosure - Balance Sheets Details - Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 2426413 - Disclosure - Balance Sheets Details - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 2427414 - Disclosure - Balance Sheets Details - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 2428415 - Disclosure - Balance Sheets Details - Other Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 2129108 - Disclosure - Stock-based Compensation link:presentationLink link:calculationLink link:definitionLink 2330306 - Disclosure - Stock-based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 2431416 - Disclosure - Stock-based Compensation - Equity Incentive Plans (Details) link:presentationLink link:calculationLink link:definitionLink 2432417 - Disclosure - Stock-based Compensation - Stock Options (Details) link:presentationLink link:calculationLink link:definitionLink 2433418 - Disclosure - Stock-based Compensation - Restricted Stock Units (Details) link:presentationLink link:calculationLink link:definitionLink 2434419 - Disclosure - Stock-based Compensation - PSUs and PBOs (Details) link:presentationLink link:calculationLink link:definitionLink 2435420 - Disclosure - Stock-based Compensation - Stock-based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 2136109 - Disclosure - Capital Stock link:presentationLink link:calculationLink link:definitionLink 2437421 - Disclosure - Capital Stock (Details) link:presentationLink link:calculationLink link:definitionLink 2138110 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 2339307 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 2440422 - Disclosure - Commitments and Contingencies - Textual (Details) link:presentationLink link:calculationLink link:definitionLink 2441423 - Disclosure - Commitments and Contingencies - Lease Cost (Details) link:presentationLink link:calculationLink link:definitionLink 2442424 - Disclosure - Commitments and Contingencies - Other Lease Information (Details) link:presentationLink link:calculationLink link:definitionLink 2443425 - Disclosure - Commitments and Contingencies - Cash Paid for Lease Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 2444426 - Disclosure - Commitments and Contingencies - Maturity Analysis of Operating Lease (Details) link:presentationLink link:calculationLink link:definitionLink 2444426 - Disclosure - Commitments and Contingencies - Maturity Analysis of Operating Lease (Details) link:presentationLink link:calculationLink link:definitionLink 2445427 - Disclosure - Commitments and Contingencies - Estimated Maturity Analysis (Details) link:presentationLink link:calculationLink link:definitionLink 2446428 - Disclosure - Commitments and Contingencies - Other Commitments (Details) link:presentationLink link:calculationLink link:definitionLink 2147111 - Disclosure - Related Party Transactions link:presentationLink link:calculationLink link:definitionLink 2448429 - Disclosure - Related Party Transactions - Molecular Assemblies, Inc. (Details) link:presentationLink link:calculationLink link:definitionLink 2449430 - Disclosure - Related Party Transactions - AstraZeneca PLC (Details) link:presentationLink link:calculationLink link:definitionLink 2150112 - Disclosure - Segment, Geographical and Other Revenue Information link:presentationLink link:calculationLink link:definitionLink 2351308 - Disclosure - Segment, Geographical and Other Revenue Information (Tables) link:presentationLink link:calculationLink link:definitionLink 2452431 - Disclosure - Segment, Geographical and Other Revenue Information - Textual (Details) link:presentationLink link:calculationLink link:definitionLink 2453432 - Disclosure - Segment, Geographical and Other Revenue Information - Segment Reporting (Details) link:presentationLink link:calculationLink link:definitionLink 2454433 - Disclosure - Segment, Geographical and Other Revenue Information - Concentration Risk (Details) link:presentationLink link:calculationLink link:definitionLink 2455434 - Disclosure - Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 2456435 - Disclosure - Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 2457436 - Disclosure - Segment, Geographical and Other Revenue Information - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 2158113 - Disclosure - Allowance for Credit Losses link:presentationLink link:calculationLink link:definitionLink 2359309 - Disclosure - Allowance for Credit Losses (Tables) link:presentationLink link:calculationLink link:definitionLink 2460437 - Disclosure - Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) link:presentationLink link:calculationLink link:definitionLink 2461438 - Disclosure - Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 cdxs-20210630_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 7 cdxs-20210630_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 8 cdxs-20210630_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Summary of financial instruments measured at fair value on a recurring basis Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] Supplemental disclosure of cash flow information: Supplemental Cash Flow Information [Abstract] Customer [Domain] Customer [Domain] Work-in-process Inventory, Work in Process, Gross Restricted Cash and Cash Equivalents [Axis] Restricted Cash and Cash Equivalents [Axis] Convertible Debt Convertible Debt [Member] Leasehold improvements Leasehold Improvements [Member] Fair Value, Measurements, Fair Value Hierarchy [Domain] Fair Value Hierarchy and NAV [Domain] Net loss Net income (loss) Net loss Net Income (Loss) Attributable to Parent Customer E Customer E [Member] Customer E Entity Emerging Growth Entity Emerging Growth Company Right-of-use assets - Operating leases, net Operating Lease, Right-of-Use Asset Preferred stock, shares outstanding (shares) Preferred Stock, Shares Outstanding Accrued compensation Employee-related Liabilities, Current Income Statement Location [Axis] Income Statement Location [Axis] Statistical Measurement [Domain] Statistical Measurement [Domain] Entity Address, Address Line One Entity Address, Address Line One Impairment charges related to contract assets Contract with Customer, Asset, Credit Loss Expense (Reversal) Schedule of Commitments and Contingencies [Table] Schedule of Commitments and Contingencies [Table] Schedule of commitments and contingencies. Percentage of eligible accounts receivable Percentage Of Eligible Accounts Receivable Percentage Of Eligible Accounts Receivable Tenant improvement allowance Leasehold Improvements, Gross Segment Information Segment Reporting, Policy [Policy Text Block] EMEA EMEA [Member] Proceeds from sale of property and equipment Proceeds from Sale of Property, Plant, and Equipment Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] Contract with Customer Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Entity Filer Category Entity Filer Category Weighted-average remaining lease term (in years) Operating Lease, Weighted Average Remaining Lease Term Less: allowances Allowance for credit losses Financing Receivable, Allowance for Credit Loss, Current Office equipment and furniture Office Equipment and Furniture [Member] Office Equipment and Furniture [Member] Change in fair value of embedded bifurcated derivative recognized in other income Embedded Derivative, Gain on Embedded Derivative Other non-current assets Other Assets, Noncurrent 2020 PSU and PBO 2020 PSU and PBO Plan [Member] 2020 PSU and PBO Plan Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Investment, Name [Axis] Investment, Name [Axis] Segments [Axis] Segments [Axis] Number of shares available for grant Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Net decrease in cash, cash equivalents and restricted cash Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Employee stock-based compensation APIC, Share-based Payment Arrangement, Increase for Cost Recognition Non-marketable equity securities Security Owned Not Readily Marketable MAI [Member] Security Owned Not Readily Marketable MAI Details of Non-marketable Debt Securities Debt Securities, Available-for-sale [Table Text Block] Document Fiscal Year Focus Document Fiscal Year Focus San Carlos San Carlos [Member] San Carlos Investments in Non-Marketable Securities Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block] Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Variable lease cost Variable Lease, Cost Weighted-average discount rate Operating Lease, Weighted Average Discount Rate, Percent Schedule of Inventory Components Schedule of Inventory, Current [Table Text Block] Total shares excluded as anti-dilutive (shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Performance obligations satisfied Contract with Customer, Liability, Revenue Recognized Research and development Research and Development Expense [Member] Accounts receivable from related parties Accounts Receivable, Related Parties Title of Individual [Domain] Title of Individual [Domain] RSUs and RSAs RSAs and RSUs [Member] RSAs and RSUs [Member] 91 Days and over Financial Asset, Equal to or Greater than 90 Days Past Due [Member] Award Type [Domain] Award Type [Domain] Credit Facility [Domain] Credit Facility [Domain] Assets Assets [Abstract] Related Party Transactions [Abstract] Revenue, Initial Application Period Cumulative Effect Transition [Table] Revenue, Initial Application Period Cumulative Effect Transition [Table] Other long-term liabilities Increase (Decrease) in Other Noncurrent Liabilities Concentration risk, percentage Concentration Risk, Percentage Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding Preferred Stock, Value, Issued Entity Address, City or Town Entity Address, City or Town Accumulated Deficit Retained Earnings [Member] Prepaid expenses and other assets Increase (Decrease) in Prepaid Expense and Other Assets Lease term Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract Area of real estate property (in square feet) Area of Real Estate Property Financial Asset, Aging [Domain] Financial Asset, Aging [Domain] Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Non-refundable cash payment Proceeds from Collaborators Project [Domain] Project [Domain] Capital expenditures incurred but not yet paid Capital Expenditures Incurred but Not yet Paid Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Award vesting rights (percent) Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage Taxes paid related to net share settlement of equity awards (shares) Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Payments of lease obligations - Finance leases Financing cash flows from finance leases Finance Lease, Principal Payments Entity Interactive Data Current Entity Interactive Data Current Number of operating segments Number of Operating Segments Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Net income (loss) per share, basic (usd per share) Earnings Per Share, Basic 31-60 Days Financial Asset, 30 to 59 Days Past Due [Member] 2024 Lessee, Operating Lease, Liability, to be Paid, Year Three Revenue Recognition Revenue from Contract with Customer [Text Block] Sublease income Sublease Income Revenue, Initial Application Period Cumulative Effect Transition [Line Items] Revenue, Initial Application Period Cumulative Effect Transition [Line Items] Document Type Document Type Disaggregation of Revenue Disaggregation of Revenue [Table Text Block] Raw materials Inventory, Raw Materials, Gross Performance obligations satisfied from new activities in the period - contract revenue Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition Schedule of Long-Lived Assets by Geographical Area Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block] PSC Piper Sandler & Co [Member] Piper Sandler & Co Number of installments Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments Performance Enzymes Performance Enzymes [Member] Performance Enzymes [Member] Balance Sheet Details [Abstract] Balance Sheet Details [Abstract] Balance Sheet Details [Abstract] Entity Current Reporting Status Entity Current Reporting Status Novel Biotherapeutics Biotherapeutic Segment [Member] Biotherapeutic Segment [Member] Taxes paid related to net share settlement of equity awards Share-based Payment Arrangement, Decrease for Tax Withholding Obligation Operating cash flows from operating leases Operating Lease, Payments Number of shares authorized Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price Restricted cash, current and non-current Restricted Cash and Cash Equivalents Geographic Areas, Long-Lived Assets [Abstract] Geographic Areas, Long-Lived Assets [Abstract] Plan Name [Axis] Plan Name [Axis] Right-of-use assets - Finance leases, net Finance Lease, Right-of-Use Asset, after Accumulated Amortization Total Assets, Fair Value Disclosure Level 1 Fair Value, Inputs, Level 1 [Member] Investing activities: Net Cash Provided by (Used in) Investing Activities [Abstract] Other non-cash items Other Operating Activities, Cash Flow Statement Document Transition Report Document Transition Report Summary of Accounts Receivable by Aging Financing Receivable, Past Due [Table Text Block] Operating Leases Lessee, Operating Lease, Liability, Payment, Due [Abstract] Analysis of Allowance for Credit Losses Financing Receivable, Allowance for Credit Loss [Table Text Block] Novel Biotherapeutics Novel Biotherapeutics [Member] Novel Biotherapeutics [Member] Total liabilities and stockholders' equity Liabilities and Equity Incentive Stock Options Incentive Stock Options [Member] Incentive Stock Options [Member] Accrued professional and outside service fees Accrued Professional Fees Investments, Debt and Equity Securities [Abstract] Sublease Sublease [Member] Sublease Americas Americas [Member] Tranche One Share-based Payment Arrangement, Tranche One [Member] Deferred revenue Contract with Customer, Liability, Current Scenario [Axis] Scenario [Axis] Weighted average exercise price of stock options exercised (usd per share) Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Restricted cash, current Restricted Cash Additional paid-in capital Additional Paid in Capital Concentration Risk [Line Items] Concentration Risk [Line Items] Liabilities and Stockholders' Equity Liabilities and Equity [Abstract] Accounts payable Increase (Decrease) in Accounts Payable Finance lease costs Finance Lease, Cost Finance Lease, Cost Net Loss per Share Earnings Per Share [Text Block] Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] Exercise of stock options Stock Issued During Period, Value, Stock Options Exercised Minimum Minimum [Member] Agreement Date [Axis] Agreement Date [Axis] Agreement Date [Axis] 2023 Lessee, Operating Lease, Liability, to be Paid, Year Two Sale period Sale Of Stock, Period Sale Of Stock, Period September 2019 September 2019 [Member] September 2019 [Member] 501 Chesapeake 501 Chesapeake [Member] 501 Chesapeake Loss before income taxes Income (loss) before income taxes Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest Selling, general and administrative Selling, General and Administrative Expense Preferred stock, shares authorized (shares) Preferred Stock, Shares Authorized Trading Symbol Trading Symbol Current liabilities: Liabilities, Current [Abstract] Restricted cash Restricted Cash and Cash Equivalents, Noncurrent Beginning balance (shares) Ending balance (shares) Shares, Outstanding Balance Sheets Details Balance Sheets Details [Text Block] Balance sheets details. Stock-based Compensation Share-based Payment Arrangement [Text Block] Supply Commitment Supply Commitment [Member] Level 3 Fair Value, Inputs, Level 3 [Member] Allowance for Credit Losses Credit Loss, Financial Instrument [Text Block] Annual rent increases (as a percent) Lessee, Operating Lease, Lease Not yet Commenced, Discount Rate Accounting Policies [Abstract] Accounting Policies [Abstract] Shares issued (in shares) Stock Issued During Period, Shares, New Issues Number of reportable segments Number of Reportable Segments Interest income from amortization of discount Investment Income, Amortization of Discount Lease obligations Operating Lease, Liability Common stock, $0.0001 par value per share; 100,000 shares authorized; 64,623 shares and 64,283 shares issued and outstanding at June 30, 2021 and December 31, 2020, respectively Common Stock, Value, Issued Other expenses Investment Income, Amortization of Premium Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Schedule of Inventory Components Inventory, Net [Abstract] Customer Concentration Risk Customer Concentration Risk [Member] Basis of Presentation and Principles of Consolidation Basis of Accounting, Policy [Policy Text Block] Current Financial Asset, Not Past Due [Member] Performance Shares Performance Shares [Member] Commitments and Contingencies (Note 10) Commitments and Contingencies Supply Commitment Arrangement [Domain] Supply Commitment Arrangement [Domain] Amortization of right-of-use assets Finance Lease, Right-of-Use Asset, Amortization Term Loan Term Loan [Member] Term Loan [Member] 2021 (remaining 6 months) Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Performance Enzymes Core Segment [Member] Core Segment [Member] Receivables [Abstract] Other Commitments [Table] Other Commitments [Table] Antidilutive Securities, Name [Domain] Antidilutive Securities, Name [Domain] Document Period End Date Document Period End Date Total costs and operating expenses Total costs and operating expenses Costs and Expenses Class of Stock [Axis] Class of Stock [Axis] Entity Registrant Name Entity Registrant Name Thereafter 2026 and thereafter Lessee, Operating Lease, Liability, to be Paid, After Year Four Lessee, Operating Lease, Liability, to be Paid, After Year Four PBOs Performance Based Options (PBOs) [Member] Performance Based Options (PBOs) [Member] Less: imputed interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table] Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table] Transactions with AstraZeneca PLC Transactions With AstraZeneca PLC [Member] Transactions With AstraZeneca PLC Unbilled receivables Unbilled Receivables, Current Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Revenue from related parties Revenue from Related Parties Selling, general and administrative Selling, General and Administrative Expenses [Member] Other accrued liabilities Total Accrued Liabilities, Current Total revenues Revenue from Contract with Customer, Excluding Assessed Tax Agreement Date [Domain] Agreement Date [Domain] [Domain] for Agreement Date [Axis] Stock Options Stock options Share-based Payment Arrangement, Option [Member] Consolidation Items [Domain] Consolidation Items [Domain] Equity [Abstract] Equity [Abstract] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Costs and operating expenses: Operating Costs and Expenses [Abstract] Common Stock Common Stock [Member] Interest income Investment Income, Interest Segment, Geographical and Other Revenue Information Segment Reporting Disclosure [Text Block] Loss from operations Income (loss) from operations Operating Income (Loss) Schedule of Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Financial Asset, Aging [Axis] Financial Asset, Aging [Axis] Current portion of lease obligations - 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] Stock-based compensation Share-based Payment Arrangement, Noncash Expense Payments to acquire other investments Payments to acquire other investments Payments to Acquire Other Investments Additional paid-in Capital Additional Paid-in Capital [Member] Cash and cash equivalents Adjusted Cost Cash and Cash Equivalents, at Carrying Value Depreciation Depreciation Unallocated depreciation and amortization Depreciation MCRA Master Collaboration & Research Agreement [Member] Master Collaboration & Research Agreement 2019 PSU and PBO 2019 PSU and PBO Plan [Member] 2019 PSU and PBO Plan [Member] Cash reconciliation: Cash and Cash Equivalents [Abstract] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Product and Service Benchmark Revenue, Product and Service Benchmark [Member] Income taxes paid Income Taxes Paid Contract assets Contract with Customer, Asset, before Allowance for Credit Loss, Current Other income (expense), net Other Nonoperating Income (Expense) Financial assets, net Increase (Decrease) in Finance Receivables Purchase of property and equipment Payments to Acquire Property, Plant, and Equipment Maximum Maximum [Member] Share-based Payment Arrangement [Abstract] Share-based Payment Arrangement [Abstract] Loss Contingency, Nature [Domain] Loss Contingency, Nature [Domain] Total liabilities Liabilities Legal Entity [Axis] Legal Entity [Axis] Schedule of Other Accrued Liabilities Schedule of Accrued Liabilities [Table Text Block] Award Type [Axis] Award Type [Axis] Financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Operating Lease Maturity Lessee, Operating Lease, Liability, Maturity [Table Text Block] Consolidation Items [Axis] Consolidation Items [Axis] Total stockholders' equity Beginning balance Ending balance Stockholders' Equity Attributable to Parent Common stock, shares, issued (shares) Common Stock, Shares, Issued Preferred stock, shares issued (shares) Preferred Stock, Shares Issued Financing Receivable, Allowance for Credit Loss [Table] Financing Receivable, Allowance for Credit Loss [Table] Stockholders' equity: Stockholders' Equity Attributable to Parent [Abstract] Accrued compensation and other accrued liabilities Increase (Decrease) in Employee Related Liabilities and Other Accrued Liabilities Increase (Decrease) in Employee Related Liabilities and Other Accrued Liabilities 2019 Plan 2019 Plan [Member] 2019 Plan [Member] Long-term lease obligations - Operating leases Operating Lease, Liability, Noncurrent 61-90 Days Financial Asset, 60 to 89 Days Past Due [Member] Loss Contingency Nature [Axis] Loss Contingency Nature [Axis] City Area Code City Area Code Accumulated deficit Retained Earnings (Accumulated Deficit) Operating segments Operating Segments Operating Segments [Member] Shares Issuable Under the Equity Incentive Plan [Member] Share-based Payment Arrangement [Member] Asset retirement obligations Asset Retirement Obligation Expiration period Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period RSUs Restricted Stock Units (RSUs) [Member] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Schedule of Revenues by Geographical Area Reconciliation of Revenue from Segments to Consolidated [Table Text Block] Unrealized or realized gains or losses Non Marketable Debt Securities Without Readily Determinable Fair Value Annual Amount Non Marketable Debt Securities Without Readily Determinable Fair Value Annual Amount Tranche Two Share-based Payment Arrangement, Tranche Two [Member] Income Statement [Abstract] Income Statement [Abstract] Amendment Flag Amendment Flag Concentration Risk [Table] Concentration Risk [Table] Commitments and Contingencies [Line Items] Commitments and Contingencies [Line Items] Commitments and contingencies. Equity securities earned from research and development activities Other Noncash Income Proceeds from exercises of stock options Proceeds from exercises of stock options Proceeds from Stock Options Exercised Related Party Transaction [Axis] Related Party Transaction [Axis] Provision for income taxes Income Tax Expense (Benefit) Equity Components [Axis] Equity Components [Axis] Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Schedule of Supply and Service Commitments Supply Commitment [Table Text Block] Antidilutive Securities [Axis] Antidilutive Securities [Axis] San Carlos, Califiornia San Carlos, Califiornia [Member] San Carlos, Califiornia Total current assets Assets, Current Accounts Receivable Accounts Receivable [Member] Concentration Risk Type [Domain] Concentration Risk Type [Domain] Future lease commitment Total minimum lease payments Lessee, Operating Lease, Liability, to be Paid Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Financial assets: Financing Receivable, before Allowance for Credit Loss [Abstract] Carrying Value of Non-marketable Equity Securities Equity Securities without Readily Determinable Fair Value [Table Text Block] Inventories Inventories Inventory, Net Schedule of Segment Reporting Schedule of Segment Reporting Information, by Segment [Table Text Block] Entity File Number Entity File Number 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] Security Owned Not Readily Marketable [Axis] Security Owned Not Readily Marketable [Axis] Security deposit Security Deposit Compensation not yet recognized, stock options 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] Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Schedule of Cash and Cash Equivalents Schedule of Cash and Cash Equivalents [Table Text Block] Entity Small Business Entity Small Business Investment in non-marketable equity securities Equity Securities without Readily Determinable Fair Value, Amount Preferred stock, par value (usd per share) Preferred Stock, Par or Stated Value Per Share Compensation not yet recognized, share-based awards other than options Share-based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount Equity Component [Domain] Equity Component [Domain] Financing Receivable, Allowance for Credit Loss [Line Items] Financing Receivable, Allowance for Credit Loss [Line Items] Short-term lease cost Short-term Lease, Cost 2022 Lessee, Operating Lease, Liability, to be Paid, Year One Commissions as percentage of gross sales price Sale Of Stock, Commissions, Percentage Of Gross Sales Price Sale Of Stock, Commissions, Percentage Of Gross Sales Price Value of shares for issuance Sale Of Stock, Value Of Shares For Issuance Sale Of Stock, Value Of Shares For Issuance Number of shares received in exchange for services Shares Received In Exchange For Services Rendered Shares Received In Exchange For Services Rendered Non-Statutory Stock Options Non-Statutory Stock Options [Member] Non-Statutory Stock Options [Member] Statement [Line Items] Statement [Line Items] Deferred revenue Increase (Decrease) in Contract with Customer, Liability Performance obligation Revenue, Remaining Performance Obligation, Amount Investment in non-marketable debt security Non-marketable debt security Debt Securities, Available-for-sale Counterparty Name [Domain] Counterparty Name [Domain] 2025 Lessee, Operating Lease, Liability, to be Paid, Year Four Fair Value Measurements Fair Value Measurement and Measurement Inputs, Recurring and Nonrecurring [Text Block] Entity Address, State or Province Entity Address, State or Province 2020 PBO 2020 PBO [Member] 2020 PBO Performance awards, threshold level, number of shares, multiplier Share-based Compensation Arrangement by Share-based Payment Award, Performance Awards, Threshold Level, Number of Shares, Multiplier Share-based Compensation Arrangement by Share-based Payment Award, Performance Awards, Threshold Level, Number of Shares, Multiplier Purchase price of common stock Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent Geographic Distribution [Domain] Geographic Distribution [Domain] Schedule of Intangible Assets and Goodwill Schedule of Intangible Assets and Goodwill [Table Text Block] Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] Subsidiary, Sale of Stock [Line Items] Subsidiary, Sale of Stock [Line Items] Deferred revenue, net of current portion Contract with Customer, Liability, Noncurrent Corporate, non-segment Corporate, Non-Segment [Member] Segment Reporting [Abstract] Segment Reporting [Abstract] Entity [Domain] Entity [Domain] Term of contract Lessee, Finance Lease, Term of Contract Adjusted Cost and Carrying Value Debt Securities, Available-for-sale, Amortized Cost Total financial assets, net Accounts and Financing Receivable, after Allowance for Credit Loss, Current Customer [Axis] Customer [Axis] Number of shares received in exchange for services Noncash or Part Noncash Acquisition, Noncash Financial or Equity Instrument Consideration, Shares Issued Interest on lease obligations Finance Lease, Interest Expense Commissions and reimbursements of expenses as percentage of gross sales price Sale Of Stock, Commissions And Reimbursements, Percentage Of Gross Sales Price Sale Of Stock, Commissions And Reimbursements, Percentage Of Gross Sales Price 101 Saginaw 101 Saginaw [Member] 101 Saginaw April 2016 April 2016 [Member] April 2016 [Member] Use of Estimates Use of Estimates, Policy [Policy Text Block] Entity Shell Company Entity Shell Company Local Phone Number Local Phone Number Forecast Forecast [Member] Schedule of Stock-based Compensation Expense Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Vesting [Axis] Vesting [Axis] Change in fair value of embedded bifurcated derivative recognized in other expense Embedded Derivative, Loss on Embedded Derivative Total assets Assets Investment, Name [Domain] Investment, Name [Domain] Director Director [Member] Plan Name [Domain] Plan Name [Domain] Common stock, shares authorized (shares) Common Stock, Shares Authorized Non-current restricted cash Restricted Cash and Investments, Noncurrent 200-220 Penobscot 200-220 Penobscot [Member] 200-220 Penobscot Interest paid Interest Paid, Excluding Capitalized Interest, Operating Activities Geographical [Domain] Geographical [Domain] Takeda Takeda Pharmaceutical Co. Ltd. [Member] Takeda Pharmaceutical Co. Ltd. Title of Individual [Axis] Title of Individual [Axis] Research and development Research and Development Expense Product and Service [Domain] Product and Service [Domain] Nestle Health Sciences Nestec Ltd. (Nestle Health Sciences) [Member] Nestec Ltd. (Nestle Health Sciences) [Member] Stated interest rate Debt Instrument, Interest Rate, Stated Percentage Estimated performance goal achievement rate Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate Product revenue Product Sales [Member] Product Sales [Member] Renewal term Lessee, Operating Lease, Renewal Term Loss contingency accrual Loss Contingency, Accrual, Current Total revenues Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized 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] 400 Penobscot 400 Penoscot [Member] 400 Penoscot Cash Cash [Member] Basis of Presentation and Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Expected timing of satisfaction, period Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Net cash used in operating activities Net Cash Provided by (Used in) Operating Activities Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Table] Fair Value, Recurring and Nonrecurring [Table] Lease Cost Lease, Cost [Table Text Block] Entity Tax Identification Number Entity Tax Identification Number Cash and Cash Equivalents [Line Items] Cash and Cash Equivalents [Line Items] Geographical [Axis] Geographical [Axis] Geographical [Axis] Asset under Construction Asset under Construction [Member] Balance Sheets Details [Abstract] Balance Sheets Details [Abstract] -- None. No documentation exists for this element. -- Weighted average common stock shares used in computing net income (loss) per share, basic (shares) Weighted Average Number of Shares Outstanding, Basic Net income (loss) per share, diluted (usd per share) Earnings Per Share, Diluted Segments [Domain] Segments [Domain] Expiration period of options upon employee's termination of service Share-Based Compensation Arrangement By Share-Based Payment Award, Expiration Period Upon Termination Of Service Share-Based Compensation Arrangement By Share-Based Payment Award, Expiration Period Upon Termination Of Service Amortization expense - right-of-use assets - operating and finance leases Operating Lease, Right-of-Use Asset, Amortization Expense Vesting [Domain] Vesting [Domain] Leaseholds and Leasehold Improvements Leaseholds and Leasehold Improvements [Member] Project [Axis] Project [Axis] Other Other Accrued Liabilities Lease, Cost [Abstract] Lease, Cost [Abstract] Contract liabilities: deferred revenue Deferred revenue Contract with Customer, Liability Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Cumulative catch-up adjustment to revenue, change in measure of progress Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Measure of Progress Non-employee stock-based compensation APIC, Share-based Payment Arrangement, Other, Increase for Cost Recognition Related Party Transaction [Line Items] Related Party Transaction [Line Items] Award vesting period Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period Research and development revenue Research and Development Revenue [Member] Research and Development Revenue [Member] CDX-6114 CDX-6114 [Member] CDX-6114 [Member] Molecular Assemblies, Inc. Molecular Assemblies, Inc. [Member] Molecular Assemblies, Inc. Schedule of Stock-based Compensation Expense by Security Types Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block] Accounts payable Accounts Payable, Current Concentration Risk Type [Axis] Concentration Risk Type [Axis] Summary of Financial Instruments Measured at Fair Value on a Recurring Basis Fair Value, Assets Measured on Recurring Basis [Table Text Block] Purchase price of common stock above minimum threshold Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent Inventories Increase (Decrease) in Inventories Marketable Securities [Table] Marketable Securities [Table] Common stock, shares outstanding (shares) Common Stock, Shares, Outstanding Cost of product revenue Cost of Goods and Services Sold Revenues: Revenues [Abstract] Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Performance Obligation, Expected Timing of Satisfaction Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block] Renewal term Lessee, Operating Lease, Lease Not yet Commenced, Renewal Term Total lease cost Lease, Cost Schedule of Property and Equipment, Net Property, Plant and Equipment [Table Text Block] Income Statement Location [Domain] Income Statement Location [Domain] Customer H Customer H [Member] Customer H Property and equipment, net Property and equipment, net Property, Plant and Equipment, Net Future Minimum Payment Supply Commitment, Remaining Minimum Amount Committed Other long-term liabilities Other Liabilities, Noncurrent Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Customer B Customer B [Member] Customer B [Member] Earnings Per Share [Abstract] Earnings Per Share [Abstract] Property and equipment Property, Plant and Equipment, Gross Customer G Customer G [Member] Customer G Related Party Transaction [Domain] Related Party Transaction [Domain] Document Quarterly Report Document Quarterly Report Finished goods Inventory, Finished Goods, Gross Percent of voting interests Percent of Voting Interests Threshold to trigger higher exercise price Percent of Voting Interests Threshold to trigger higher exercise price Investment in non-marketable equity securities Investment at cost basis Investments and Other Noncurrent Assets Other Commitments [Line Items] Other Commitments [Line Items] Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Schedule of Related Party Transactions, by Related Party [Table] Schedule of Related Party Transactions, by Related Party [Table] Document Fiscal Period Focus Document Fiscal Period Focus Series A Preferred Stock Series A Preferred Stock [Member] Customer A Customer A [Member] Customer A [Member] Indemnification Agreement Indemnification Agreement [Member] Accounts receivable Accounts Receivable, before Allowance for Credit Loss, Current Counterparty Name [Axis] Counterparty Name [Axis] Inventory reserves Inventory Valuation Reserves Construction in progress Construction in Progress [Member] Release of stock awards (shares) Stock Issued During Period, Shares, Other Cash, cash equivalents and restricted cash at the beginning of the period Cash, cash equivalents and restricted cash at the end of the period Total cash, cash equivalents and restricted cash Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents Research and development revenue from transactions with MAI Nonmonetary Transaction, Gross Operating Revenue Recognized United States UNITED STATES Common stock, par value (usd per share) Common Stock, Par or Stated Value Per Share Number of shares purchased Investment Owned, Balance, Shares Schedule of Customers that Contributed 10% or More of Total Accounts Receivable Schedules of Concentration of Risk, by Risk Factor [Table Text Block] Current assets: Assets, Current [Abstract] Maximum number of shares to be issued upon exercise of stock options Common Stock, Capital Shares Reserved for Future Issuance Number of options to extend Lessee, Operating Lease, Option To Extend, Number Lessee, Operating Lease, Option To Extend, Number Entity Central Index Key Entity Central Index Key Security Exchange Name Security Exchange Name Other-than-temporary impairment losses Debt Securities, Available-for-sale, Unrealized Loss Money market funds Estimated Fair Value Cash and Cash Equivalents, Fair Value Disclosure Exercise of stock options (shares) Stock options exercised (shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Weighted average common stock shares used in computing net income (loss) per share, diluted (shares) Weighted Average Number of Shares Outstanding, Diluted Current Fiscal Year End Date Current Fiscal Year End Date Demand Deposits Demand Deposits [Member] Basis spread on variable rate (percent) Debt Instrument, Basis Spread on Variable Rate Capital Stock Stockholders' Equity Note Disclosure [Text Block] Credit losses Debt Securities, Available-for-sale, Allowance for Credit Loss, Writeoff Security Owned Not Readily Marketable, Name [Domain] Security Owned Not Readily Marketable, Name [Domain] Shares Not Included in Computation of Diluted Net Loss Per Share Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block] Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] PSUs Performance Stock Units [Member] Performance Stock Units [Member] Name of Property [Axis] Name of Property [Axis] Credit Facility [Axis] Credit Facility [Axis] Accrued purchases Purchase Obligation 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] Customer F Customer F [Member] Customer F Less: accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Marketable Securities [Line Items] Marketable Securities [Line Items] Operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] Total current liabilities Liabilities, Current Class of Stock [Domain] Class of Stock [Domain] Taxes paid related to net share settlement of equity awards Payment, Tax Withholding, Share-based Payment Arrangement Supply Commitment [Axis] Supply Commitment [Axis] Capital lease obligations incurred Lease Obligation Incurred Borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Money Market Funds Money Market Funds [Member] Segment Reporting Information [Line Items] Segment Reporting Information [Line Items] Entity Address, Postal Zip Code Entity Address, Postal Zip Code Total financial assets Financing Receivable, before Allowance for Credit Loss Title of 12(b) Security Title of 12(b) Security Long-lived assets Long-Lived Assets Statement [Table] Statement [Table] Collaborative Arrangement and Arrangement Other than Collaborative [Table] Collaborative Arrangement and Arrangement Other than Collaborative [Table] Accounting Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] 2021 PSU 2021 PSU [Member] 2021 PSU Customer C Customer C [Member] Customer C [Member] Statistical Measurement [Axis] Statistical Measurement [Axis] Laboratory equipment Laboratory Equipment [Member] Laboratory Equipment [Member] Cover page. Cover [Abstract] Assets received for research and development revenue earned Assets Received For Research And Development Revenue Earned Assets Received For Research And Development Revenue Earned Goodwill Goodwill Goodwill Annualized rent Payments for Rent Name of Property [Domain] Name of Property [Domain] Scenario [Domain] Scenario [Domain] Description of Business Nature of Operations [Text Block] Adjustments to reconcile net loss to net cash used in operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Fair Value Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One APAC APAC [Member] Regions of Australia, New Zealand, Southeast Asia and China Customer D Customer D [Member] Customer D [Member] Operating lease cost Operating Lease, Cost Computer equipment and software Computer Equipment [Member] Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] Geographic Distribution [Axis] Geographic Distribution [Axis] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Related Party Transactions Related Party Transactions Disclosure [Text Block] Contract costs Capitalized Contract Cost, Net, Current Collaborative Arrangement and Arrangement Other than Collaborative [Line Items] Collaborative Arrangement and Arrangement Other than Collaborative [Line Items] EX-101.PRE 9 cdxs-20210630_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 10 cdxs-20210630_htm.xml IDEA: XBRL DOCUMENT 0001200375 2021-01-01 2021-06-30 0001200375 2021-08-02 0001200375 2021-06-30 0001200375 2020-12-31 0001200375 cdxs:ProductSalesMember 2021-04-01 2021-06-30 0001200375 cdxs:ProductSalesMember 2020-04-01 2020-06-30 0001200375 cdxs:ProductSalesMember 2021-01-01 2021-06-30 0001200375 cdxs:ProductSalesMember 2020-01-01 2020-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2021-04-01 2021-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2020-04-01 2020-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2021-01-01 2021-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2020-01-01 2020-06-30 0001200375 2021-04-01 2021-06-30 0001200375 2020-04-01 2020-06-30 0001200375 2020-01-01 2020-06-30 0001200375 us-gaap:CommonStockMember 2021-03-31 0001200375 us-gaap:AdditionalPaidInCapitalMember 2021-03-31 0001200375 us-gaap:RetainedEarningsMember 2021-03-31 0001200375 2021-03-31 0001200375 us-gaap:CommonStockMember 2021-04-01 2021-06-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2021-04-01 2021-06-30 0001200375 us-gaap:RetainedEarningsMember 2021-04-01 2021-06-30 0001200375 us-gaap:CommonStockMember 2021-06-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2021-06-30 0001200375 us-gaap:RetainedEarningsMember 2021-06-30 0001200375 us-gaap:CommonStockMember 2020-03-31 0001200375 us-gaap:AdditionalPaidInCapitalMember 2020-03-31 0001200375 us-gaap:RetainedEarningsMember 2020-03-31 0001200375 2020-03-31 0001200375 us-gaap:CommonStockMember 2020-04-01 2020-06-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2020-04-01 2020-06-30 0001200375 us-gaap:RetainedEarningsMember 2020-04-01 2020-06-30 0001200375 us-gaap:CommonStockMember 2020-06-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2020-06-30 0001200375 us-gaap:RetainedEarningsMember 2020-06-30 0001200375 2020-06-30 0001200375 us-gaap:CommonStockMember 2020-12-31 0001200375 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001200375 us-gaap:RetainedEarningsMember 2020-12-31 0001200375 us-gaap:CommonStockMember 2021-01-01 2021-06-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-06-30 0001200375 us-gaap:RetainedEarningsMember 2021-01-01 2021-06-30 0001200375 us-gaap:CommonStockMember 2019-12-31 0001200375 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001200375 us-gaap:RetainedEarningsMember 2019-12-31 0001200375 2019-12-31 0001200375 us-gaap:CommonStockMember 2020-01-01 2020-06-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-06-30 0001200375 us-gaap:RetainedEarningsMember 2020-01-01 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesAPreferredStockMember 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesAPreferredStockMember 2020-06-01 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesAPreferredStockMember 2021-04-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesAPreferredStockMember 2021-04-01 2021-04-30 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember cdxs:CDX6114Member 2019-01-01 2019-03-31 0001200375 cdxs:TakedaPharmaceuticalCoLtdMember 2020-03-01 2020-03-31 0001200375 cdxs:ProductSalesMember cdxs:CoreSegmentMember 2021-04-01 2021-06-30 0001200375 cdxs:ProductSalesMember cdxs:BiotherapeuticSegmentMember 2021-04-01 2021-06-30 0001200375 cdxs:ProductSalesMember cdxs:CoreSegmentMember 2020-04-01 2020-06-30 0001200375 cdxs:ProductSalesMember cdxs:BiotherapeuticSegmentMember 2020-04-01 2020-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:CoreSegmentMember 2021-04-01 2021-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:BiotherapeuticSegmentMember 2021-04-01 2021-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:CoreSegmentMember 2020-04-01 2020-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:BiotherapeuticSegmentMember 2020-04-01 2020-06-30 0001200375 cdxs:CoreSegmentMember 2021-04-01 2021-06-30 0001200375 cdxs:BiotherapeuticSegmentMember 2021-04-01 2021-06-30 0001200375 cdxs:CoreSegmentMember 2020-04-01 2020-06-30 0001200375 cdxs:BiotherapeuticSegmentMember 2020-04-01 2020-06-30 0001200375 srt:AmericasMember cdxs:CoreSegmentMember 2021-04-01 2021-06-30 0001200375 srt:AmericasMember cdxs:BiotherapeuticSegmentMember 2021-04-01 2021-06-30 0001200375 srt:AmericasMember 2021-04-01 2021-06-30 0001200375 srt:AmericasMember cdxs:CoreSegmentMember 2020-04-01 2020-06-30 0001200375 srt:AmericasMember cdxs:BiotherapeuticSegmentMember 2020-04-01 2020-06-30 0001200375 srt:AmericasMember 2020-04-01 2020-06-30 0001200375 us-gaap:EMEAMember cdxs:CoreSegmentMember 2021-04-01 2021-06-30 0001200375 us-gaap:EMEAMember cdxs:BiotherapeuticSegmentMember 2021-04-01 2021-06-30 0001200375 us-gaap:EMEAMember 2021-04-01 2021-06-30 0001200375 us-gaap:EMEAMember cdxs:CoreSegmentMember 2020-04-01 2020-06-30 0001200375 us-gaap:EMEAMember cdxs:BiotherapeuticSegmentMember 2020-04-01 2020-06-30 0001200375 us-gaap:EMEAMember 2020-04-01 2020-06-30 0001200375 cdxs:APACMember cdxs:CoreSegmentMember 2021-04-01 2021-06-30 0001200375 cdxs:APACMember cdxs:BiotherapeuticSegmentMember 2021-04-01 2021-06-30 0001200375 cdxs:APACMember 2021-04-01 2021-06-30 0001200375 cdxs:APACMember cdxs:CoreSegmentMember 2020-04-01 2020-06-30 0001200375 cdxs:APACMember cdxs:BiotherapeuticSegmentMember 2020-04-01 2020-06-30 0001200375 cdxs:APACMember 2020-04-01 2020-06-30 0001200375 cdxs:ProductSalesMember cdxs:CoreSegmentMember 2021-01-01 2021-06-30 0001200375 cdxs:ProductSalesMember cdxs:BiotherapeuticSegmentMember 2021-01-01 2021-06-30 0001200375 cdxs:ProductSalesMember cdxs:CoreSegmentMember 2020-01-01 2020-06-30 0001200375 cdxs:ProductSalesMember cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:CoreSegmentMember 2021-01-01 2021-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:BiotherapeuticSegmentMember 2021-01-01 2021-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:CoreSegmentMember 2020-01-01 2020-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-06-30 0001200375 cdxs:CoreSegmentMember 2021-01-01 2021-06-30 0001200375 cdxs:BiotherapeuticSegmentMember 2021-01-01 2021-06-30 0001200375 cdxs:CoreSegmentMember 2020-01-01 2020-06-30 0001200375 cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-06-30 0001200375 srt:AmericasMember cdxs:CoreSegmentMember 2021-01-01 2021-06-30 0001200375 srt:AmericasMember cdxs:BiotherapeuticSegmentMember 2021-01-01 2021-06-30 0001200375 srt:AmericasMember 2021-01-01 2021-06-30 0001200375 srt:AmericasMember cdxs:CoreSegmentMember 2020-01-01 2020-06-30 0001200375 srt:AmericasMember cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-06-30 0001200375 srt:AmericasMember 2020-01-01 2020-06-30 0001200375 us-gaap:EMEAMember cdxs:CoreSegmentMember 2021-01-01 2021-06-30 0001200375 us-gaap:EMEAMember cdxs:BiotherapeuticSegmentMember 2021-01-01 2021-06-30 0001200375 us-gaap:EMEAMember 2021-01-01 2021-06-30 0001200375 us-gaap:EMEAMember cdxs:CoreSegmentMember 2020-01-01 2020-06-30 0001200375 us-gaap:EMEAMember cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-06-30 0001200375 us-gaap:EMEAMember 2020-01-01 2020-06-30 0001200375 cdxs:APACMember cdxs:CoreSegmentMember 2021-01-01 2021-06-30 0001200375 cdxs:APACMember cdxs:BiotherapeuticSegmentMember 2021-01-01 2021-06-30 0001200375 cdxs:APACMember 2021-01-01 2021-06-30 0001200375 cdxs:APACMember cdxs:CoreSegmentMember 2020-01-01 2020-06-30 0001200375 cdxs:APACMember cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-06-30 0001200375 cdxs:APACMember 2020-01-01 2020-06-30 0001200375 cdxs:ProductSalesMember 2021-07-01 2021-06-30 0001200375 cdxs:ProductSalesMember 2022-01-01 2021-06-30 0001200375 cdxs:ProductSalesMember 2023-01-01 2021-06-30 0001200375 cdxs:ProductSalesMember 2024-01-01 2021-06-30 0001200375 cdxs:ProductSalesMember 2021-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2021-07-01 2021-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2022-01-01 2021-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2023-01-01 2021-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2024-01-01 2021-06-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2021-06-30 0001200375 2021-07-01 2021-06-30 0001200375 2022-01-01 2021-06-30 0001200375 2023-01-01 2021-06-30 0001200375 2024-01-01 2021-06-30 0001200375 us-gaap:StockCompensationPlanMember 2021-04-01 2021-06-30 0001200375 us-gaap:StockCompensationPlanMember 2020-04-01 2020-06-30 0001200375 us-gaap:StockCompensationPlanMember 2021-01-01 2021-06-30 0001200375 us-gaap:StockCompensationPlanMember 2020-01-01 2020-06-30 0001200375 us-gaap:FairValueInputsLevel3Member 2021-06-30 0001200375 cdxs:SecurityOwnedNotReadilyMarketableMAIMember 2020-04-01 2020-06-30 0001200375 cdxs:SecurityOwnedNotReadilyMarketableMAIMember 2020-01-01 2020-06-30 0001200375 cdxs:SecurityOwnedNotReadilyMarketableMAIMember 2021-04-01 2021-06-30 0001200375 cdxs:SecurityOwnedNotReadilyMarketableMAIMember 2021-01-01 2021-06-30 0001200375 cdxs:SecurityOwnedNotReadilyMarketableMAIMember 2021-06-30 0001200375 cdxs:SecurityOwnedNotReadilyMarketableMAIMember 2020-12-31 0001200375 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2021-06-30 0001200375 us-gaap:MoneyMarketFundsMember 2021-06-30 0001200375 us-gaap:FairValueInputsLevel1Member 2021-06-30 0001200375 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2020-12-31 0001200375 us-gaap:MoneyMarketFundsMember 2020-12-31 0001200375 us-gaap:FairValueInputsLevel3Member 2020-12-31 0001200375 us-gaap:FairValueInputsLevel1Member 2020-12-31 0001200375 us-gaap:ConvertibleDebtMember 2021-04-01 2021-06-30 0001200375 us-gaap:ConvertibleDebtMember 2021-01-01 2021-06-30 0001200375 us-gaap:ConvertibleDebtMember 2020-04-01 2020-06-30 0001200375 us-gaap:ConvertibleDebtMember 2020-01-01 2020-06-30 0001200375 us-gaap:CashMember 2021-06-30 0001200375 us-gaap:CashMember 2020-12-31 0001200375 cdxs:LaboratoryEquipmentMember 2021-06-30 0001200375 cdxs:LaboratoryEquipmentMember 2020-12-31 0001200375 us-gaap:LeaseholdImprovementsMember 2021-06-30 0001200375 us-gaap:LeaseholdImprovementsMember 2020-12-31 0001200375 us-gaap:ComputerEquipmentMember 2021-06-30 0001200375 us-gaap:ComputerEquipmentMember 2020-12-31 0001200375 cdxs:OfficeEquipmentAndFurnitureMember 2021-06-30 0001200375 cdxs:OfficeEquipmentAndFurnitureMember 2020-12-31 0001200375 us-gaap:ConstructionInProgressMember 2021-06-30 0001200375 us-gaap:ConstructionInProgressMember 2020-12-31 0001200375 cdxs:A2019PlanMember 2019-04-22 0001200375 cdxs:A2019PlanMember 2019-06-30 0001200375 cdxs:IncentiveStockOptionsMember 2021-01-01 2021-06-30 0001200375 srt:MinimumMember cdxs:NonStatutoryStockOptionsMember 2021-01-01 2021-06-30 0001200375 us-gaap:EmployeeStockOptionMember 2021-01-01 2021-06-30 0001200375 srt:MaximumMember us-gaap:EmployeeStockOptionMember 2021-01-01 2021-06-30 0001200375 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2021-01-01 2021-06-30 0001200375 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2021-01-01 2021-06-30 0001200375 us-gaap:RestrictedStockUnitsRSUMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2021-01-01 2021-06-30 0001200375 us-gaap:RestrictedStockUnitsRSUMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2021-01-01 2021-06-30 0001200375 us-gaap:PerformanceSharesMember 2021-06-30 0001200375 us-gaap:PerformanceSharesMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2021-01-01 2021-06-30 0001200375 us-gaap:PerformanceSharesMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2021-01-01 2021-06-30 0001200375 us-gaap:PerformanceSharesMember 2021-01-01 2021-06-30 0001200375 us-gaap:PerformanceSharesMember cdxs:A2021PSUMember 2021-06-30 0001200375 us-gaap:PerformanceSharesMember cdxs:A2020PBOMember 2021-06-30 0001200375 us-gaap:PerformanceSharesMember cdxs:A2020PSUAndPBOPlanMember 2021-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2020PSUAndPBOPlanMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2021-01-01 2021-03-31 0001200375 srt:ScenarioForecastMember us-gaap:PerformanceSharesMember cdxs:A2020PSUAndPBOPlanMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2022-01-01 2022-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2019PSUandPBOPlanMember 2020-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2019PSUandPBOPlanMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2020-01-01 2020-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2019PSUandPBOPlanMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2021-01-01 2021-03-31 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2021-04-01 2021-06-30 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2020-04-01 2020-06-30 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2021-01-01 2021-06-30 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2020-01-01 2020-06-30 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-04-01 2021-06-30 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2020-04-01 2020-06-30 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-01-01 2021-06-30 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2020-01-01 2020-06-30 0001200375 us-gaap:EmployeeStockOptionMember 2021-04-01 2021-06-30 0001200375 us-gaap:EmployeeStockOptionMember 2020-04-01 2020-06-30 0001200375 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-06-30 0001200375 cdxs:RSAsandRSUsMember 2021-04-01 2021-06-30 0001200375 cdxs:RSAsandRSUsMember 2020-04-01 2020-06-30 0001200375 cdxs:RSAsandRSUsMember 2021-01-01 2021-06-30 0001200375 cdxs:RSAsandRSUsMember 2020-01-01 2020-06-30 0001200375 cdxs:PerformanceStockUnitsMember 2021-04-01 2021-06-30 0001200375 cdxs:PerformanceStockUnitsMember 2020-04-01 2020-06-30 0001200375 cdxs:PerformanceStockUnitsMember 2021-01-01 2021-06-30 0001200375 cdxs:PerformanceStockUnitsMember 2020-01-01 2020-06-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2021-04-01 2021-06-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2020-04-01 2020-06-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2021-01-01 2021-06-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2020-01-01 2020-06-30 0001200375 us-gaap:EmployeeStockOptionMember 2021-06-30 0001200375 cdxs:RSAsandRSUsMember 2021-06-30 0001200375 cdxs:PerformanceStockUnitsMember 2021-06-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2021-06-30 0001200375 cdxs:PiperSandlerCoMember 2021-05-01 2021-05-31 0001200375 srt:MaximumMember cdxs:PiperSandlerCoMember 2021-05-31 0001200375 srt:MaximumMember cdxs:PiperSandlerCoMember 2021-05-01 2021-05-31 0001200375 cdxs:PiperSandlerCoMember 2021-04-01 2021-06-30 0001200375 cdxs:PiperSandlerCoMember 2021-01-01 2021-06-30 0001200375 cdxs:PiperSandlerCoMember 2021-06-30 0001200375 cdxs:A200220PenobscotMember 2021-06-30 0001200375 cdxs:A400PenoscotMember 2021-06-30 0001200375 cdxs:A501ChesapeakeMember 2021-06-30 0001200375 cdxs:A101SaginawMember 2020-01-31 0001200375 cdxs:SubleaseMember 2020-01-31 0001200375 cdxs:SubleaseMember 2020-04-30 0001200375 us-gaap:DemandDepositsMember 2020-12-31 0001200375 us-gaap:DemandDepositsMember 2021-06-30 0001200375 cdxs:SanCarlosCalifiorniaMember 2021-06-30 0001200375 2017-04-30 0001200375 2017-02-01 2017-02-28 0001200375 2017-02-28 0001200375 2017-04-01 2017-04-30 0001200375 cdxs:SanCarlosMember 2021-03-31 0001200375 cdxs:SanCarlosMember us-gaap:LeaseholdsAndLeaseholdImprovementsMember 2021-03-31 0001200375 cdxs:SanCarlosMember us-gaap:AssetUnderConstructionMember 2021-03-31 0001200375 cdxs:SanCarlosMember 2021-01-01 2021-03-31 0001200375 cdxs:SanCarlosMember us-gaap:AssetUnderConstructionMember 2021-01-01 2021-03-31 0001200375 cdxs:SanCarlosMember 2021-06-30 0001200375 us-gaap:SupplyCommitmentMember cdxs:April2016Member 2021-06-30 0001200375 us-gaap:SupplyCommitmentMember cdxs:September2019Member 2021-06-30 0001200375 us-gaap:SupplyCommitmentMember 2021-06-30 0001200375 cdxs:TermLoanMember 2017-06-30 0001200375 us-gaap:RevolvingCreditFacilityMember 2017-06-30 0001200375 2017-06-30 2017-06-30 0001200375 cdxs:TermLoanMember 2017-06-30 2017-06-30 0001200375 us-gaap:RevolvingCreditFacilityMember 2017-06-30 2017-06-30 0001200375 us-gaap:IndemnificationGuaranteeMember 2021-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember 2021-04-01 2021-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember 2021-01-01 2021-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember 2020-04-01 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember 2020-01-01 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember us-gaap:SeriesAPreferredStockMember 2021-04-01 2021-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember us-gaap:SeriesAPreferredStockMember 2021-01-01 2021-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember us-gaap:SeriesAPreferredStockMember 2020-04-01 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember us-gaap:SeriesAPreferredStockMember 2020-01-01 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember us-gaap:SeriesAPreferredStockMember 2020-06-01 2021-06-30 0001200375 cdxs:MolecularAssembliesIncMember 2021-06-30 0001200375 cdxs:MolecularAssembliesIncMember 2020-12-31 0001200375 srt:DirectorMember cdxs:TransactionsWithAstraZenecaPLCMember 2020-04-01 2020-06-30 0001200375 srt:DirectorMember cdxs:TransactionsWithAstraZenecaPLCMember 2020-01-01 2020-06-30 0001200375 srt:DirectorMember cdxs:TransactionsWithAstraZenecaPLCMember 2020-12-31 0001200375 srt:DirectorMember cdxs:TransactionsWithAstraZenecaPLCMember 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember 2021-04-01 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember 2020-04-01 2020-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2021-04-01 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2020-04-01 2020-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:CoreSegmentMember 2021-04-01 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:BiotherapeuticSegmentMember 2021-04-01 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember 2021-04-01 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:CoreSegmentMember 2020-04-01 2020-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:BiotherapeuticSegmentMember 2020-04-01 2020-06-30 0001200375 us-gaap:OperatingSegmentsMember 2020-04-01 2020-06-30 0001200375 us-gaap:CorporateNonSegmentMember 2021-04-01 2021-06-30 0001200375 us-gaap:CorporateNonSegmentMember 2020-04-01 2020-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember 2021-01-01 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember 2020-01-01 2020-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2021-01-01 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2020-01-01 2020-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:CoreSegmentMember 2021-01-01 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:BiotherapeuticSegmentMember 2021-01-01 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember 2021-01-01 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:CoreSegmentMember 2020-01-01 2020-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-06-30 0001200375 us-gaap:OperatingSegmentsMember 2020-01-01 2020-06-30 0001200375 us-gaap:CorporateNonSegmentMember 2021-01-01 2021-06-30 0001200375 us-gaap:CorporateNonSegmentMember 2020-01-01 2020-06-30 0001200375 cdxs:CustomerAMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2021-04-01 2021-06-30 0001200375 cdxs:CustomerAMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-06-30 0001200375 cdxs:CustomerBMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2021-04-01 2021-06-30 0001200375 cdxs:CustomerCMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2021-04-01 2021-06-30 0001200375 cdxs:CustomerCMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-06-30 0001200375 cdxs:CustomerDMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-04-01 2020-06-30 0001200375 cdxs:CustomerDMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-06-30 0001200375 cdxs:CustomerDMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-06-30 0001200375 cdxs:CustomerEMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-04-01 2020-06-30 0001200375 cdxs:CustomerEMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-06-30 0001200375 cdxs:CustomerEMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-06-30 0001200375 cdxs:CustomerFMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-04-01 2020-06-30 0001200375 cdxs:CustomerFMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-06-30 0001200375 cdxs:CustomerGMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-06-30 0001200375 cdxs:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-06-30 0001200375 cdxs:CustomerHMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-06-30 0001200375 cdxs:CustomerBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-06-30 0001200375 cdxs:CustomerDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-06-30 0001200375 cdxs:CustomerDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-12-31 0001200375 cdxs:CustomerEMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-06-30 0001200375 cdxs:CustomerGMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-12-31 0001200375 cdxs:CustomerFMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-12-31 0001200375 country:US 2021-06-30 0001200375 country:US 2020-12-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:PerformanceEnzymesMember 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:PerformanceEnzymesMember 2020-12-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:NovelBiotherapeuticsMember 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:NovelBiotherapeuticsMember 2020-12-31 0001200375 us-gaap:OperatingSegmentsMember 2021-06-30 0001200375 us-gaap:OperatingSegmentsMember 2020-12-31 0001200375 us-gaap:FinancialAssetNotPastDueMember 2021-06-30 0001200375 us-gaap:FinancingReceivables30To59DaysPastDueMember 2021-06-30 0001200375 us-gaap:FinancingReceivables60To89DaysPastDueMember 2021-06-30 0001200375 us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember 2021-06-30 0001200375 us-gaap:FinancialAssetNotPastDueMember 2020-12-31 0001200375 us-gaap:FinancingReceivables30To59DaysPastDueMember 2020-12-31 0001200375 us-gaap:FinancingReceivables60To89DaysPastDueMember 2020-12-31 0001200375 us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember 2020-12-31 shares iso4217:USD iso4217:USD shares pure cdxs:installment utr:sqft cdxs:numberOfRenewalOption cdxs:reportingUnit cdxs:segment 0001200375 false 2021 Q2 --12-31 P6M P1Y P1Y P6M P1Y P1Y P6M P1Y P1Y 10-Q true 2021-06-30 false 001-34705 Codexis, Inc. DE 71-0872999 200 Penobscot Drive Redwood City CA 94063 650 421-8100 Common Stock, par value $0.0001 per share CDXS NASDAQ Yes Yes Large Accelerated Filer false false false 64640734 129506000 149117000 585000 638000 1289000 1000000 19488000 13894000 4528000 4526000 12417000 10942000 36433000 29362000 74000 74000 36359000 29288000 1078000 964000 3578000 3416000 172395000 184423000 1519000 1062000 3430000 1450000 20124000 21382000 68000 119000 11232000 9675000 3241000 3241000 301000 294000 212310000 221646000 3164000 2970000 6859000 7288000 9082000 10272000 2672000 2627000 2313000 1824000 24090000 24981000 3166000 2967000 20992000 22324000 1289000 1271000 49537000 51543000 0.0001 0.0001 5000000 5000000 0 0 0 0 0 0 0.0001 0.0001 100000000 100000000 64623000 64623000 64283000 64283000 6000 6000 542519000 536516000 -379752000 -366419000 162773000 170103000 212310000 221646000 14717000 4504000 24943000 9604000 10736000 10463000 18542000 20033000 25453000 14967000 43485000 29637000 4318000 1699000 8536000 4240000 12826000 10853000 24397000 21820000 12795000 8522000 24193000 17512000 29939000 21074000 57126000 43572000 -4486000 -6107000 -13641000 -13935000 206000 57000 382000 323000 23000 13000 -63000 -72000 -4257000 -6037000 -13322000 -13684000 8000 307000 11000 312000 -4265000 -6344000 -13333000 -13996000 -0.07 -0.07 -0.11 -0.11 -0.21 -0.21 -0.24 -0.24 64434000 64434000 59000000 59000000 64363000 64363000 58944000 58944000 64488000 6000 539220000 -375487000 163739000 95000 455000 455000 42000 2779000 2779000 65000 65000 2000 -4265000 -4265000 64623000 6000 542519000 -379752000 162773000 59017000 6000 449121000 -350061000 99066000 27000 158000 158000 81000 1935000 1935000 4000 4000 33000 33000 -6344000 -6344000 59125000 6000 451185000 -356405000 94786000 64283000 6000 536516000 -366419000 170103000 213000 1678000 1678000 181000 5405000 5405000 126000 126000 54000 1206000 1206000 -13333000 -13333000 64623000 6000 542519000 -379752000 162773000 58877000 6000 447920000 -342409000 105517000 32000 197000 197000 300000 4104000 4104000 4000 4000 84000 1040000 1040000 -13996000 -13996000 59125000 6000 451185000 -356405000 94786000 -13333000 -13996000 1375000 900000 1309000 1336000 5531000 4108000 477000 0 -318000 0 7521000 6258000 113000 315000 170000 824000 436000 -19000 404000 -1839000 -1314000 -1270000 264000 3001000 -14735000 -11498000 4344000 1490000 29000 0 630000 1000000 -4945000 -2490000 1679000 197000 0 60000 1206000 1040000 473000 -903000 -19207000 -14891000 150817000 92221000 131610000 77330000 3000 4000 0 5000 338000 90000 1350000 0 129506000 75649000 2104000 1681000 131610000 77330000 Description of Business<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In these notes to the unaudited condensed consolidated financial statements, the “Company,” “we,” “us,” and “our” refers to Codexis, Inc. and its subsidiaries on a consolidated basis.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We discover, develop and sell enzymes and other proteins that deliver value to our clients in a growing set of industries. We view proteins as a vast, largely untapped source of value-creating products, and we are using our proven technologies, which we have been continuously improving since our inception in 2002, to commercialize an increasing number of novel enzymes, both as proprietary Codexis products and in partnership with our customers.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are a pioneer in harnessing computational technologies to drive biology advancements. Since 2002, we have made substantial investments in the development of our CodeEvolver</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">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform, the primary source of our competitive advantage. Our technology platform is powered by proprietary, artificial intelligence-based, computational algorithms that rapidly mine the structural and performance attributes of our large and continuously growing library of protein variants. These computational outputs enable increasingly reliable predictions for next generation protein variants to be engineered, enabling time- and cost-efficient delivery of the targeted performance enhancements. In addition to its computational prowess, our CodeEvolver</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">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform integrates additional modular competencies, including robotic high-throughput screening and genomic sequencing, organic chemistry and bioprocess development which are all coordinated to rapidly innovate novel, fit-for-purpose products.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The core historical application of the technology has been in developing commercially viable biocatalytic manufacturing processes for more sustainable production of complex chemicals. This begins by conceptually designing the most cost-effective and practical process for a targeted product. We then develop optimized biocatalysts to enable the designed process, using our CodeEvolver</span><span style="background-color:#ffffff;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">®</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> platform. Engineered biocatalyst candidates, numbering many thousands for each project, are then rapidly screened and validated using high throughput methods under process-relevant operating conditions. This approach results in an optimized biocatalyst that enables cost-efficient processes that are relatively simple to run in conventional manufacturing equipment. This also allows for efficient technical transfer of our processes to our manufacturing partners.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The successful embodiment of our CodeEvolver</span><span style="background-color:#ffffff;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">®</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform in commercial manufacturing processes requires well-integrated expertise in a number of technical disciplines. In addition to those competencies directly integrated in our CodeEvolver</span><span style="background-color:#ffffff;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">®</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform, such as molecular biology, enzymology, microbiology, cellular engineering, metabolic engineering, bioinformatics, biochemistry and high throughput analytical chemistry, our process development projects also involve integrated expertise in organic chemistry, chemical process development, chemical engineering, bioprocess development and fermentation engineering. Our integrated, multi-disciplinary approach to product and process development is a critical success factor for the Company.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We initially commercialized our CodeEvolver</span><span style="background-color:#ffffff;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">®</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform and products in the manufacture of small molecule pharmaceuticals, which remains a primary business focus. Our customers, which include many large, global pharmaceutical companies, use our technology, products and services in their process development and in manufacturing. Additionally, we have licensed our proprietary CodeEvolver</span><span style="background-color:#ffffff;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">®</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform to global pharmaceutical companies enabling them to use this technology, in house, to engineer enzymes for their own businesses. Most recently, in May 2019, we entered into a Platform Technology Transfer and License Agreement (the “Novartis CodeEvolver</span><span style="background-color:#ffffff;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">® </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Agreement”) with Novartis. The Novartis CodeEvolver</span><span style="background-color:#ffffff;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">®</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Agreement (our third such agreement with large pharma companies) allows Novartis to use our proprietary CodeEvolver</span><span style="background-color:#ffffff;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">®</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology in the field of human healthcare.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As evidence of our strategy to extend our technology beyond pharmaceutical manufacturing, we have also used the technology to develop biocatalysts and enzyme products for use in a broader set of industrial markets, including several large verticals, such as food, feed, consumer care and fine chemicals. In addition, we are using our technology to develop enzymes for various life science related applications, such as next generation sequencing (“NGS”) and polymerase chain reaction (“PCR/qPCR”) for in vitro molecular diagnostic and genomic research applications. In December 2019, we entered into a license agreement to provide Roche Sequencing Solutions, Inc. with our first enzyme for this target market: the Company’s EvoT4™ DNA ligase. In June 2020, we entered into a co-marketing and enzyme supply collaboration agreement with Alphazyme LLC for the production and co-marketing of enzymes for life science applications including, initially, high-fidelity DNA polymerase, T7 RNA polymerase and reverse transcriptase enzymes. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have been using the CodeEvolver</span><span style="background-color:#ffffff;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">®</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform to develop early stage, novel biotherapeutic product candidates, both in partnership with customers and for our own proprietary Codexis drug candidates. Our first program was for the potential treatment of phenylketonuria ("PKU") in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In October 2017, we entered into a Global Development, Option and License Agreement (the “Nestlé License Agreement”) with Societé des Produits Nestlé S.A., formerly known as Nestec Ltd. (“Nestlé Health Science”) to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of PKU. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive license to develop and commercialize CDX-6114. Also in October 2017, we entered into a strategic collaboration agreement with Nestlé Health Science (“Nestlé SCA”) pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver</span><span style="background-color:#ffffff;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">®</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> platform technology to develop other novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. In January 2020, we entered into a development agreement with Nestlé Health Science to advance a new lead candidate discovered under the Nestlé SCA, CDX-7108, into preclinical development and early clinical studies as a potential treatment for a gastrointestinal disorder. In parallel, the Nestlé SCA was extended through December 2021 to support the discovery of therapeutic candidates for additional disorders. In March 2020, we entered into a Strategic Collaboration and License Agreement (“Takeda Agreement”) with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Company Limited (“Takeda”), for the research and development of novel gene therapies for certain disease indications, including the treatment of lysosomal storage disorders and a blood factor deficiency.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2020, we entered into a Master Collaboration and Research Agreement (the “MAI Agreement”) with Molecular Assemblies, Inc ("MAI") pursuant to which we are leveraging our CodeEvolver</span><span style="background-color:#ffffff;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">®</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> platform technology to improve the DNA polymerase enzymes that are critical for enzymatic DNA synthesis. Concurrently with the MAI Agreement, we entered into a Stock Purchase Agreement with MAI pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million and, in connection with the transaction, John Nicols, our President and Chief Executive Officer, joined MAI’s board of directors. In April 2021, we purchased an additional 1,000,000 shares of MAI's Series A preferred stock for $0.6 million.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">See Note 12 "Segment, Geographical and Other Revenue Information" for additional information.</span></div><div style="margin-bottom:9pt;margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Below are brief descriptions of our business segments:</span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance Enzymes</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We initially commercialized our CodeEvolver</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">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform and products in the manufacture of small molecule pharmaceuticals and, to date, this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food, feed, consumer care, and fine chemicals. We also use our technology in the life sciences markets to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications, as well DNA/RNA synthesis and health monitoring applications.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Novel Biotherapeutics</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver</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">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our first lead program was for the potential treatment of PKU in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In October 2017, we announced a global development, option and license agreement with Nestlé Health Science to advance CDX-6114, our own novel orally administrable enzyme therapeutic candidate for the potential treatment of PKU. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU. As a result of the option exercise, we earned a milestone and recognized $3.0 million in revenues in the first quarter of 2019. Upon exercising its option, Nestlé Health Science assumed all responsibilities for future clinical development and commercialization of CDX-6114.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In October 2017, we entered into the Nestlé SCA pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver</span><span style="background-color:#ffffff;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">®</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> platform technology to develop other novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. The Nestlé SCA was extended through December 2021. In January 2020, </span></div><div style="margin-top:9pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">we and Nestlé Health Science entered into a development agreement pursuant to which we and Nestlé Health Science are collaborating to advance into preclinical and early clinical studies a lead candidate targeting a gastrointestinal disorder, CDX-7108, discovered through the Nestlé SCA. During 2021, we, together with Nestlé Health Science, continued to advance CDX-7108 towards initiation of a Phase 1 clinical trial which we anticipate will begin in the fourth quarter of 2021. Additionally, the parties are progressing three programs under the Nestlé SCA targeting different gastrointestinal disorders.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2020, we entered into the Takeda Agreement pursuant to which we are collaborating to research and develop protein sequences for use in gene therapy products for certain disease indications in accordance with the respective program plans for Fabry Disease, Pompe Disease, and an undisclosed blood factor deficiency. In March 2020, we received a one-time, non-refundable cash payment of $8.5 million. Of these programs, the Fabry disease program is the most advanced, with multiple sequences, including CDX-6311, having been provided to Takeda. In May 2021, Takeda elected to exercise their option to expand the collaboration into a fourth program for an undisclosed rare genetic disorder.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business Update Regarding COVID-19</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are subject to risks and uncertainties as a result of the current COVID-19 pandemic. The COVID-19 pandemic has presented a substantial public health and economic challenge around the world and is affecting our employees, communities and business operations, as well as the U.S. economy and other economies worldwide. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition will depend on future developments that are highly uncertain and may not be accurately predicted, including the duration and severity of the pandemic and the extent and severity of the impact on our customers, new information that may emerge concerning COVID-19, the actions taken to contain it or treat its impact and the economic impact on local, regional, national and international markets.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To date, we and our collaboration partners have been able to continue to supply our enzymes to our customers worldwide. However, we are dependent on our manufacturing and logistics partners and consequently, disruptions in operations of our partners and customers may affect our ability to supply enzymes to our customers. Furthermore, our ability to provide future research and development ("R&amp;D") services will continue to be impacted as a result of governmental orders and any disruptions in operations of our customers with whom we collaborate. We believe that these disruptions have had a minimal impact on revenue for the three and six months ended June 30, 2021. The extent to which the pandemic may impact our business operations and operating results will continue to remain highly dependent on future developments, which are uncertain and cannot be predicted with confidence.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the U.S., the impact of COVID-19, including governmental orders ("Orders") governing the operation of businesses during the pandemic, caused the temporary closure of our Redwood City, California facilities and has disrupted our R&amp;D operations. R&amp;D operations for several projects were temporarily suspended from mid-March 2020 through the end of April 2020 in accordance with these Orders. In May 2020, we initiated limited R&amp;D operations and have ramped up operations such that we are currently utilizing the majority of our normal R&amp;D capacity while following county, state and federal COVID-19 guidance for the protection of our employees. Additionally, we resumed manufacturing at our Redwood City pilot plant in May 2020.</span></div>Our future results of operations and liquidity could be adversely impacted by delays in payments of outstanding receivable amounts beyond normal payment terms, supply chain disruptions and uncertain demand, and the impact of any initiatives or programs that we may undertake to address financial and operations challenges faced by our customers. The near and long term impact of COVID-19 to our financial condition, liquidity, or results of operations in the future remains uncertain. Although some of the Orders that were enacted to control the spread of COVID-19 were scaled back and the vaccine rollout has expanded, surges in the spread of COVID-19 due to the emergence of new more contagious variants or the ineffectiveness of the vaccines against such strains, may result in the reimplementation of certain Orders, which could adversely impact our business. For additional information on the various risks posed by the COVID-19 pandemic, please read Item 1A. Risk Factors included in our Annual Report on Form 10-K, for the fiscal year ended December 31, 2020, filed on March 1, 2021. 1587050 1000000.0 1000000 600000 3000000.0 8500000 Basis of Presentation and Summary of Significant Accounting Policies<div style="margin-top:12pt;text-indent:18pt"><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 Principles of Consolidation</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying Unaudited Condensed Consolidated Financial Statements have been prepared in accordance with generally accepted accounting principles in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information but does not include all the information and notes required by GAAP for complete financial statements. These interim Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2020. The condensed consolidated balance sheet at </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%">December 31, 2020 has been derived from the audited consolidated financial statements at that date, but does not include all disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the Unaudited Condensed Consolidated Financial Statements for the three and six months ended June 30, 2021 and 2020, are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2020 Annual Report on Form 10-K and are updated below as necessary. There have been no significant changes in our significant accounting policies or critical accounting estimates since December 31, 2020.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain prior year amounts have been reclassified in the Unaudited Condensed Statements of Cash Flows to conform to the 2021 presentation, however these reclassifications had no effect on the reported results of of operations.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Unaudited Condensed Consolidated Financial Statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of June 30, 2021, results of our operations for the three and six months ended June 30, 2021 and 2020, changes in stockholders' equity for the three and six months ended June 30, 2021 and 2020, and cash flows for the six months ended June 30, 2021 and 2020. The interim results are not necessarily indicative of the results for any future interim period or for the entire year.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Unaudited Condensed Consolidated Financial Statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation. </span></div><div style="margin-top:12pt;text-indent:18pt"><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:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, inventories, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the consolidated financial statements. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain, and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Financial Statement Exclusion</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The net loss in the Unaudited Condensed Consolidated Statements of Operations for the three and six months ended June 30, 2021 and 2020, is not different from the Unaudited Condensed Consolidated Statements of Comprehensive Loss for the same periods. Accordingly, the Unaudited Condensed Consolidated Financial Statements exclude the Unaudited Condensed Consolidated Statements of Comprehensive Loss for the three and six months ended June 30, 2021 and 2020.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting Pronouncements</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2019, the Financial Accounting Standards Board ("FASB") issued ASU No. 2019-12,</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%"> (Topic 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%"> Simplifying the Accounting for Income Taxes </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">which is intended to simplify various aspects related to accounting for income taxes. We adopted the standard on January 1, 2021, on a modified retrospective basis. The adoption of this standard had no impact on our Unaudited Condensed Consolidated Financial Statements.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In October 2020, the FASB issued ASU No. 2020-10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Codification Improvement</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">s. ASU 2020-10 provides amendments to a wide variety of topics in the FASB’s Accounting Standards Codification, which applies to all reporting entities within the scope of the affected accounting guidance. We adopted the standard on January 1, 2021 on a retrospective basis. The adoption of this standard had no impact on our Unaudited Condensed Consolidated Financial Statements.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recently issued accounting pronouncements not yet adopted </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, new accounting pronouncements are issued by the FASB or other standards setting bodies that are adopted by us as of the specified effective date. Unless otherwise discussed, we believe that the recently issued standards that are not yet effective will not have a material impact on our Unaudited Condensed Consolidated Financial Statements upon adoption.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In May 2021, FASB issued ASU No. 2021-04, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Earnings Per Share (Topic 260), Debt—Modifications and Extinguishments (Subtopic 470-50), Compensation—Stock Compensation (Topic 718), and Derivatives and Hedging—Contracts in Entity’s Own Equity (Subtopic 815-40), Issuer’s Accounting for Certain Modifications or Exchanges of Freestanding Equity-Classified Written Call Options, a consensus of the Emerging Issues Task Force</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The standard establishes a principles-based framework in accounting for modifications of freestanding equity-classified written call options on the basis of the economic substance of the underlying transaction. The standard also requires incremental financial statement disclosures. The standard affects entities that present earnings per share in accordance with the guidance in Topic 260, Earnings Per Share. The standard is effective for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years with early adoption is permitted by applying the standard as of the beginning of the fiscal year that includes that interim period. The standard may be adopted prospectively for modifications or exchanges occurring on or after the effective date. We will evaluate modifications of equity-classified written call options to determine applicability of the standard on occurrence; however, we believe that the adoption of ASU 2021-04 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2020, FASB issued ASU No. 2020-06</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Debt—Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging— Contracts in Entity’s Own Equity (Subtopic 815-40) No. 2020-06 August 2020 Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, to reduce the complexity and to simplify the accounting for convertible debt instruments and convertible preferred stock, and the derivatives scope exception for contracts in an entity's own equity. In addition, the guidance on calculating diluted earnings per share has been simplified and made more internally consistent. The standard is effective for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years with early adoption permitted for fiscal years beginning December 15, 2020. The standard may be adopted on a modified retrospective or fully retrospective method of transition and on adoption, entities may irrevocably elect the fair value option in accordance with Subtopic 825-10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments—Overall,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> for any financial instrument that is a convertible security. We believe that the adoption of ASU 2020-06 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2020, the FASB issued ASU No. 2020-04, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The standard provides optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions in which the reference LIBOR or another reference rate are expected to be discontinued as a result of the Reference Rate Reform. The standard is effective for all entities and can be adopted no later than December 1, 2022, with early adoption permitted. The standard may be adopted on a prospective basis. We will evaluate transactions or contract modifications occurring as a result of reference rate reform and determine whether to elect optional expedients for contract modification; however, we believe that the adoption of ASU 2020-04 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no other recent accounting pronouncements or changes in accounting pronouncements during the three and six months ended June 30, 2021, as compared to the recent accounting pronouncements described in herein, that are of significance or potential significance to us.</span></div> <div style="margin-top:12pt;text-indent:18pt"><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 Principles of Consolidation</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying Unaudited Condensed Consolidated Financial Statements have been prepared in accordance with generally accepted accounting principles in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information but does not include all the information and notes required by GAAP for complete financial statements. These interim Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2020. The condensed consolidated balance sheet at </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%">December 31, 2020 has been derived from the audited consolidated financial statements at that date, but does not include all disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the Unaudited Condensed Consolidated Financial Statements for the three and six months ended June 30, 2021 and 2020, are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2020 Annual Report on Form 10-K and are updated below as necessary. There have been no significant changes in our significant accounting policies or critical accounting estimates since December 31, 2020.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain prior year amounts have been reclassified in the Unaudited Condensed Statements of Cash Flows to conform to the 2021 presentation, however these reclassifications had no effect on the reported results of of operations.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Unaudited Condensed Consolidated Financial Statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of June 30, 2021, results of our operations for the three and six months ended June 30, 2021 and 2020, changes in stockholders' equity for the three and six months ended June 30, 2021 and 2020, and cash flows for the six months ended June 30, 2021 and 2020. The interim results are not necessarily indicative of the results for any future interim period or for the entire year.</span></div>The Unaudited Condensed Consolidated Financial Statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation. <div style="margin-top:12pt;text-indent:18pt"><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:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, inventories, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the consolidated financial statements. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain, and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.</span></div> <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting Pronouncements</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2019, the Financial Accounting Standards Board ("FASB") issued ASU No. 2019-12,</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%"> (Topic 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%"> Simplifying the Accounting for Income Taxes </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">which is intended to simplify various aspects related to accounting for income taxes. We adopted the standard on January 1, 2021, on a modified retrospective basis. The adoption of this standard had no impact on our Unaudited Condensed Consolidated Financial Statements.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In October 2020, the FASB issued ASU No. 2020-10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Codification Improvement</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">s. ASU 2020-10 provides amendments to a wide variety of topics in the FASB’s Accounting Standards Codification, which applies to all reporting entities within the scope of the affected accounting guidance. We adopted the standard on January 1, 2021 on a retrospective basis. The adoption of this standard had no impact on our Unaudited Condensed Consolidated Financial Statements.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recently issued accounting pronouncements not yet adopted </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, new accounting pronouncements are issued by the FASB or other standards setting bodies that are adopted by us as of the specified effective date. Unless otherwise discussed, we believe that the recently issued standards that are not yet effective will not have a material impact on our Unaudited Condensed Consolidated Financial Statements upon adoption.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In May 2021, FASB issued ASU No. 2021-04, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Earnings Per Share (Topic 260), Debt—Modifications and Extinguishments (Subtopic 470-50), Compensation—Stock Compensation (Topic 718), and Derivatives and Hedging—Contracts in Entity’s Own Equity (Subtopic 815-40), Issuer’s Accounting for Certain Modifications or Exchanges of Freestanding Equity-Classified Written Call Options, a consensus of the Emerging Issues Task Force</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The standard establishes a principles-based framework in accounting for modifications of freestanding equity-classified written call options on the basis of the economic substance of the underlying transaction. The standard also requires incremental financial statement disclosures. The standard affects entities that present earnings per share in accordance with the guidance in Topic 260, Earnings Per Share. The standard is effective for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years with early adoption is permitted by applying the standard as of the beginning of the fiscal year that includes that interim period. The standard may be adopted prospectively for modifications or exchanges occurring on or after the effective date. We will evaluate modifications of equity-classified written call options to determine applicability of the standard on occurrence; however, we believe that the adoption of ASU 2021-04 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2020, FASB issued ASU No. 2020-06</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Debt—Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging— Contracts in Entity’s Own Equity (Subtopic 815-40) No. 2020-06 August 2020 Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, to reduce the complexity and to simplify the accounting for convertible debt instruments and convertible preferred stock, and the derivatives scope exception for contracts in an entity's own equity. In addition, the guidance on calculating diluted earnings per share has been simplified and made more internally consistent. The standard is effective for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years with early adoption permitted for fiscal years beginning December 15, 2020. The standard may be adopted on a modified retrospective or fully retrospective method of transition and on adoption, entities may irrevocably elect the fair value option in accordance with Subtopic 825-10, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments—Overall,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> for any financial instrument that is a convertible security. We believe that the adoption of ASU 2020-06 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2020, the FASB issued ASU No. 2020-04, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The standard provides optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions in which the reference LIBOR or another reference rate are expected to be discontinued as a result of the Reference Rate Reform. The standard is effective for all entities and can be adopted no later than December 1, 2022, with early adoption permitted. The standard may be adopted on a prospective basis. We will evaluate transactions or contract modifications occurring as a result of reference rate reform and determine whether to elect optional expedients for contract modification; however, we believe that the adoption of ASU 2020-04 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no other recent accounting pronouncements or changes in accounting pronouncements during the three and six months ended June 30, 2021, as compared to the recent accounting pronouncements described in herein, that are of significance or potential significance to us.</span></div> Revenue Recognition<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Disaggregation of Revenue</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides information about disaggregated revenue from contracts with customers into the nature of the products and services, and geographic regions, and includes a reconciliation of the disaggregated revenue with reportable segments. The geographic regions that are tracked are the Americas (United States, Canada, and Latin America), EMEA (Europe, Middle East, and Africa), and APAC (Australia, New Zealand, Southeast Asia, and China).</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Segment information is as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:27.116%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.018%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended June 30, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended June 30, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</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%">Novel Biotherapeutics</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%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</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%">Novel Biotherapeutics</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%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Major products and service:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">       Product Revenue</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,717 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,717 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,504 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,504 </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:10pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,868 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,868 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,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:10pt;font-weight:400;line-height:100%">3,002 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,461 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,463 </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:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,585 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,868 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,453 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,506 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,461 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,967 </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 style="height:11pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Primary geographical markets:</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"/><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;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,703 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,141 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,844 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,173 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,906 </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"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">EMEA</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,442 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,727 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,169 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,586 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,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:10pt;font-weight:400;line-height:100%">3,314 </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"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">APAC</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,440 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,440 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,747 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,747 </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:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,585 </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;border-top:1pt solid #000000;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,868 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,453 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,506 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,461 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,967 </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 style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt"><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:27.116%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.018%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six months ended June 30, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six months ended June 30, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</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%">Novel Biotherapeutics</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%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</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%">Novel Biotherapeutics</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%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Major products and service:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">       Product Revenue</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,604 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,604 </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:10pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,872 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,670 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,542 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,775 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,258 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,033 </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:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,815 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,670 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,485 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,379 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,258 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,637 </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:15pt"><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;border-top:3pt double #000000;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;border-top:3pt double #000000;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;border-top:3pt double #000000;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;border-top:3pt double #000000;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:10pt;font-weight:400;line-height:100%">Primary geographical markets:</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"/><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;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></div></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,574 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,199 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,773 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,171 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,960 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,131 </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"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">EMEA</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,979 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,450 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,298 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,285 </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"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">APAC</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,262 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,262 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,221 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,221 </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:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,815 </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;border-top:1pt solid #000000;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,670 </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;border-top:1pt solid #000000;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,485 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,379 </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;border-top:1pt solid #000000;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,258 </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;border-top:1pt solid #000000;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,637 </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 style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></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%">Contract Balances</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands): </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 30, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 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:10pt;font-weight:400;line-height:100%">Contract assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,528 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,526 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unbilled receivables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,417 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,942 </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:10pt;font-weight:400;line-height:100%">Contract costs</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90 </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:10pt;font-weight:400;line-height:100%">Contract liabilities: deferred revenue</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,791 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We had no asset impairment charges related to financial assets in the three and six months ended June 30, 2021 and 2020.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Contract assets remained unchanged as of June 30, 2021 and December 31, 2020. The increase in unbilled receivables was primarily due to the timing of billings.</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The increase in deferred revenue was primarily due to cash advances received in excess of revenue recognized. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized the following revenues (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.245%"><tr><td style="width:1.0%"/><td style="width:33.275%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.822%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.544%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.822%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.395%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.822%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.395%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.825%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" 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:10pt;font-weight:700;line-height:100%">Three months ended June 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" 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:10pt;font-weight:700;line-height:100%">Six months ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized in the period for:</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;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><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="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%">Amounts included in contract liabilities at the beginning of the period:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">     Performance obligations satisfied</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,239 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,272 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57 </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:10pt;font-weight:400;line-height:100%">Changes in the period:</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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 14.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,306 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,357 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,336 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">637 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 14.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance obligations satisfied from new activities in the period - contract revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,908 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,338 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,758 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,943 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,453 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,967 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,485 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,637 </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 style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance Obligations</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table includes estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of June 30, 2021.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts as of June 30, 2021 (in thousands): </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:17.905%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:14.549%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Remainder of 2021</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%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2024 and Thereafter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,843 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,977 </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="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%">Research and development revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,568 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,388 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">546 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,502 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,568 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,455 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">613 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,843 </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="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,479 </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 style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> <div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Segment information is as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:27.116%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.018%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended June 30, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended June 30, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</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%">Novel Biotherapeutics</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%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</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%">Novel Biotherapeutics</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%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Major products and service:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">       Product Revenue</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,717 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,717 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,504 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,504 </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:10pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,868 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,868 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,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:10pt;font-weight:400;line-height:100%">3,002 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,461 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,463 </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:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,585 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,868 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,453 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,506 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,461 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,967 </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 style="height:11pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Primary geographical markets:</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"/><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;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,703 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,141 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,844 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,173 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,906 </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"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">EMEA</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,442 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,727 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,169 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,586 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,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:10pt;font-weight:400;line-height:100%">3,314 </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"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">APAC</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,440 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,440 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,747 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,747 </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:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,585 </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;border-top:1pt solid #000000;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,868 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,453 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,506 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,461 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,967 </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 style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt"><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:27.116%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.018%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six months ended June 30, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six months ended June 30, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</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%">Novel Biotherapeutics</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%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</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%">Novel Biotherapeutics</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%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Major products and service:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">       Product Revenue</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,604 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,604 </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:10pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,872 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,670 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,542 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,775 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,258 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,033 </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:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,815 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,670 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,485 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,379 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,258 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,637 </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:15pt"><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;border-top:3pt double #000000;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;border-top:3pt double #000000;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;border-top:3pt double #000000;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;border-top:3pt double #000000;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:10pt;font-weight:400;line-height:100%">Primary geographical markets:</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"/><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;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></div></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,574 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,199 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,773 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,171 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,960 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,131 </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"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">EMEA</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,979 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,450 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,298 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,285 </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"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">APAC</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,262 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,262 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,221 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,221 </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:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,815 </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;border-top:1pt solid #000000;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,670 </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;border-top:1pt solid #000000;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,485 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,379 </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;border-top:1pt solid #000000;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,258 </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;border-top:1pt solid #000000;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,637 </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 style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> 14717000 14717000 0 0 14717000 4504000 4504000 0 0 4504000 6868000 6868000 3868000 3868000 10736000 3002000 3002000 7461000 7461000 10463000 21585000 3868000 25453000 7506000 7461000 14967000 3703000 2141000 5844000 1173000 5733000 6906000 4442000 1727000 6169000 1586000 1728000 3314000 13440000 0 13440000 4747000 0 4747000 21585000 3868000 25453000 25453000 7506000 7461000 14967000 14967000 24943000 0 24943000 9604000 0 9604000 10872000 7670000 18542000 8775000 11258000 20033000 35815000 7670000 43485000 18379000 11258000 29637000 6574000 4199000 10773000 4171000 7960000 12131000 8979000 3471000 12450000 5987000 3298000 9285000 20262000 0 20262000 8221000 0 8221000 35815000 7670000 43485000 18379000 11258000 29637000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands): </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">June 30, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 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:10pt;font-weight:400;line-height:100%">Contract assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,528 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,526 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unbilled receivables</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,417 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,942 </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:10pt;font-weight:400;line-height:100%">Contract costs</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">90 </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:10pt;font-weight:400;line-height:100%">Contract liabilities: deferred revenue</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,791 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized the following revenues (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.245%"><tr><td style="width:1.0%"/><td style="width:33.275%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.822%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.544%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.822%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.395%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.822%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.395%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.825%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" 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:10pt;font-weight:700;line-height:100%">Three months ended June 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" 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:10pt;font-weight:700;line-height:100%">Six months ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue recognized in the period for:</span></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;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><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="background-color:#ffffff;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:10pt;font-weight:400;line-height:100%">Amounts included in contract liabilities at the beginning of the period:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">     Performance obligations satisfied</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,239 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,272 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57 </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:10pt;font-weight:400;line-height:100%">Changes in the period:</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"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 14.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,306 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,357 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,336 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">637 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 14.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance obligations satisfied from new activities in the period - contract revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,908 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,338 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,758 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,943 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,453 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,967 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,485 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,637 </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 style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> 4528000 4526000 12417000 10942000 86000 90000 5479000 4791000 0 0 0 0 1239000 4272000 1391000 57000 4306000 1357000 4336000 637000 19908000 9338000 37758000 28943000 25453000 14967000 43485000 29637000 <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table includes estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of June 30, 2021.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts as of June 30, 2021 (in thousands): </span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:17.905%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:14.549%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Remainder of 2021</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%">2022</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2024 and Thereafter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">67 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,843 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,977 </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="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%">Research and development revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,568 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,388 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">546 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,502 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,568 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,455 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">613 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,843 </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="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,479 </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 style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> 0 67000 67000 1843000 1977000 1568000 1388000 546000 0 3502000 1568000 1455000 613000 1843000 5479000 N<span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">et Loss per S</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">hare</span><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic net loss per share is computed by dividing the net loss by the weighted-average number of shares of common stock outstanding, less restricted stock awards (“RSAs”) subject to forfeiture. Diluted net loss per share is computed by dividing net loss by the weighted-average number of shares of common stock shares outstanding, less RSAs subject to forfeiture, plus all additional common shares that would have been outstanding, assuming dilutive potential common stock shares had been issued for other dilutive securities.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Anti-Dilutive Securities</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In periods of net loss, the weighted average number of shares outstanding, prior to the application of the treasury stock method, excludes potentially dilutive securities from the computation of diluted net loss per common share because including such shares would have an anti-dilutive effect.</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following shares were not considered in the computation of diluted net loss per share because their effect was anti-dilutive (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:35.011%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.250%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.255%"/><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="9" 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:10pt;font-weight:700;line-height:100%">Three months ended June 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" 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:10pt;font-weight:700;line-height:100%">Six months ended June 30,</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:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</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: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="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">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:10pt;font-weight:400;line-height:100%">Shares issuable under the Equity Incentive Plan</span></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,366</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,289</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,366</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,289</span></td></tr></table> <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following shares were not considered in the computation of diluted net loss per share because their effect was anti-dilutive (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:35.011%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.250%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.255%"/><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="9" 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:10pt;font-weight:700;line-height:100%">Three months ended June 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" 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:10pt;font-weight:700;line-height:100%">Six months ended June 30,</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:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</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: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="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">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:10pt;font-weight:400;line-height:100%">Shares issuable under the Equity Incentive Plan</span></td><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,366</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,289</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,366</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,289</span></td></tr></table> 5366000 5289000 5366000 5289000 Investments in Non-Marketable Securities<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Non-Marketable Debt Securities</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We classify non-marketable debt securities, which are accounted for as available-for-sale, within Level 3 in the fair value hierarchy because we estimate the fair value based on a qualitative analysis using the most recent observable transaction price and other significant unobservable inputs including volatility, rights, and obligations of the securities we hold. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We determine gains or losses on the sale or extinguishment of non-marketable debt securities using a specific identification method. Unrealized gains and losses from bifurcated embedded derivatives, which represent share-settled redemption features, are recorded as other expense, net, in the unaudited condensed consolidated statements of operations. Unrealized gains and losses on non-marketable debt securities are recorded as a component of other comprehensive loss until realized. Realized gains or losses are recorded as a component of other income (expense), net. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the three and six months ended June 30, 2021, we recognized $0.2 million and $0.3 million, respectively, in interest income from amortization of debt discount and interest earned on our investment in non-marketable debt security, and $57.5 thousand in other income and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$10.5 thousand in other expense</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, respectively, in other income (expense), net, on the change in the fair value of an embedded bifurcated derivative. We recognized no unrealized or realized gains or losses during the three and six months ended June 30, 2021. We recognized no interest income, other expenses, and unrealized or realized gains or losses during the three and six months ended June 30, 2020.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents balances of the adjusted cost and carrying value and fair value of non-marketable debt security by contractual maturity (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td 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:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" 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:8pt;font-weight:700;line-height:100%">June 30, 2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjusted Cost and Carrying Value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-marketable debt security due in 1 year or less</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,289 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,289 </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 style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" 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:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjusted Cost and Carrying Value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-marketable debt security due in 1 year or less</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,000 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,000 </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 style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Non-Marketable Equity Securities</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-marketable equity securities are investments in privately held companies without readily determinable market value. We measure investments in non-marketable equity securities without a readily determinable fair value using a measurement alternative that measures these securities at the cost method minus impairment, if any, plus or minus changes resulting from observable price changes on a non-recurring basis. The fair value of non-marketable equity securities that have been remeasured due to impairment are classified within Level 3. We adjust the carrying value of non-marketable equity securities which have been remeasured during the period and recognize resulting gains or losses as a component of other income (expense), net. We recognized no unrealized or realized gain or losses during the three and six months ended June 30, 2021 and 2020.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The following table presents balances of the carrying value of non-marketable equity securities (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.297%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><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="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%">June 30, 2021</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%">December 31, 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:10pt;font-weight:400;line-height:100%">Non-marketable equity securities</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,430 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,450 </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> 200000 300000 57500 10500 0 0 0 0 0 0 0 0 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents balances of the adjusted cost and carrying value and fair value of non-marketable debt security by contractual maturity (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td 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:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" 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:8pt;font-weight:700;line-height:100%">June 30, 2021</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjusted Cost and Carrying Value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-marketable debt security due in 1 year or less</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,289 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,289 </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 style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" 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:8pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Adjusted Cost and Carrying Value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-marketable debt security due in 1 year or less</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,000 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,000 </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 style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table> 1289000 1289000 1289000 1289000 1000000 1000000 0 0 0 0 The following table presents balances of the carrying value of non-marketable equity securities (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:66.297%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><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="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%">June 30, 2021</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%">December 31, 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:10pt;font-weight:400;line-height:100%">Non-marketable equity securities</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,430 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,450 </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> 3430000 1450000 Fair Value Measurements<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present the financial instruments that were measured at fair value on a recurring basis within the fair value hierarchy (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><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="21" 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%">June 30, 2021</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: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:9pt;font-weight:700;line-height:100%">Level 1</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%">Level 2</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%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,083 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,083 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-marketable debt security</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,289 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,289 </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:10pt;font-weight:400;line-height:100%">     Total</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,083 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,289 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">112,372 </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 style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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="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:middle"><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="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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,567 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,567 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-marketable debt security</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">     Total</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,567 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,000 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,567 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of non-marketable securities remeasured due to impairment would be classified within Level 3. During the three and six months ended June 30, 2021 and 2020, we did not recognize any significant credit losses nor other-than-temporary impairment losses on non-marketable securities. The carrying value of our non-marketable securities approximated fair value.</span></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present the financial instruments that were measured at fair value on a recurring basis within the fair value hierarchy (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><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="21" 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%">June 30, 2021</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: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:9pt;font-weight:700;line-height:100%">Level 1</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%">Level 2</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%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,083 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,083 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-marketable debt security</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,289 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,289 </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:10pt;font-weight:400;line-height:100%">     Total</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,083 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,289 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">112,372 </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 style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:middle"><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="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><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="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:middle"><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="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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,567 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,567 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-marketable debt security</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">     Total</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,567 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,000 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><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:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">128,567 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> 111083000 111083000 1289000 1289000 1289000 1289000 111083000 1289000 112372000 127567000 127567000 1000000 1000000 127567000 1000000 128567000 0 0 0 0 0 0 0 0 Balance Sheets Details<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash Equivalents</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents as of June 30, 2021 and December 31, 2020, 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:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" 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:8pt;font-weight:700;line-height:100%">December 31, 2020</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: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%">Adjusted Cost</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%">Estimated Fair Value</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%">Adjusted Cost</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%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,083 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,083 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,567 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,567 </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 style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:5pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-style:italic;font-weight:700;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Money market funds are classified in cash and cash equivalents on our consolidated balance sheets. Average Contractual Maturities (in days) is not applicable.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> As of June 30, 2021, the total cash and cash equivalents balance of $129.5 million was comprised of money market funds of $111.1 million and cash of $18.4 million held with major financial institutions. As of December 31, 2020, the total cash and cash equivalents balance of $149.1 million was comprised of money market funds of $127.6 million and cash of $21.5 million held with major financial institutions. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Inventories</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 2021</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:8.5pt;font-weight:700;line-height:100%">December 31, 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:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77 </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="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%">Work-in-process</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">931 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">805 </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:10pt;font-weight:400;line-height:100%">    Inventories</span></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,078 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">964 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-bottom:9pt;margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories includes reserves of $1.5 million as of June 30, 2021 and December 31, 2020.</span></div><div style="margin-bottom:9pt;margin-top:12pt;text-indent:18pt"><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, net</span></div><div style="margin-top:9pt;text-indent:18pt"><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:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 2021</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:8.5pt;font-weight:700;line-height:100%">December 31, 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:10pt;font-weight:400;line-height:100%">Laboratory equipment</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,623 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,468 </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:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,785 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,785 </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:10pt;font-weight:400;line-height:100%">Computer equipment and software</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,283 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,192 </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:10pt;font-weight:400;line-height:100%">Office equipment and furniture</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,246 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,246 </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:10pt;font-weight:400;line-height:100%">Construction in progress</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,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:10pt;font-weight:400;line-height:100%">2,357 </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:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45,673 </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:10pt;font-weight:400;line-height:100%">43,048 </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 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">       Less: accumulated depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(34,441)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,373)</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:10pt;font-weight:400;line-height:100%">     Property and equipment, net</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,232 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,675 </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 style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense included in the Unaudited Condensed Consolidated Statements of Operations was follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.572%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" 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:8.5pt;font-weight:700;line-height:100%">Three months ended June 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" 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:8.5pt;font-weight:700;line-height:100%">Six months ended June 30,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">2020</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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;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:10pt;font-weight:400;line-height:100%">Depreciation Expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">716 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">462 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,375 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">900 </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 style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><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:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill had a carrying value of $3.2 million as of June 30, 2021 and December 31, 2020.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Accrued Liabilities</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other accrued liabilities consisted of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 2021</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:8.5pt;font-weight:700;line-height:100%">December 31, 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:10pt;font-weight:400;line-height:100%">Accrued purchases </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,107 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,170 </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:10pt;font-weight:400;line-height:100%">Accrued professional and outside service fees</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,589 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">513 </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:10pt;font-weight:400;line-height:100%">     Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,082 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,272 </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 style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents as of June 30, 2021 and December 31, 2020, 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:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" 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:8pt;font-weight:700;line-height:100%">December 31, 2020</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: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%">Adjusted Cost</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%">Estimated Fair Value</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%">Adjusted Cost</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%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,083 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">111,083 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,567 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,567 </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 style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:5pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-style:italic;font-weight:700;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Money market funds are classified in cash and cash equivalents on our consolidated balance sheets. Average Contractual Maturities (in days) is not applicable.</span></div> 111083000 111083000 127567000 127567000 129500000 111100000 18400000 149100000 127600000 21500000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 2021</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:8.5pt;font-weight:700;line-height:100%">December 31, 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:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77 </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="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%">Work-in-process</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">82 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">931 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">805 </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:10pt;font-weight:400;line-height:100%">    Inventories</span></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,078 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">964 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table> 49000 77000 98000 82000 931000 805000 1078000 964000 1500000 1500000 Property and equipment, net consisted of the following (in thousands):<div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 2021</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:8.5pt;font-weight:700;line-height:100%">December 31, 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:10pt;font-weight:400;line-height:100%">Laboratory equipment</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,623 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,468 </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:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,785 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,785 </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:10pt;font-weight:400;line-height:100%">Computer equipment and software</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,283 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,192 </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:10pt;font-weight:400;line-height:100%">Office equipment and furniture</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,246 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,246 </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:10pt;font-weight:400;line-height:100%">Construction in progress</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,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:10pt;font-weight:400;line-height:100%">2,357 </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:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45,673 </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:10pt;font-weight:400;line-height:100%">43,048 </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 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">       Less: accumulated depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(34,441)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,373)</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:10pt;font-weight:400;line-height:100%">     Property and equipment, net</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,232 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,675 </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 style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation expense included in the Unaudited Condensed Consolidated Statements of Operations was follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.572%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" 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:8.5pt;font-weight:700;line-height:100%">Three months ended June 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" 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:8.5pt;font-weight:700;line-height:100%">Six months ended June 30,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">2020</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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;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:10pt;font-weight:400;line-height:100%">Depreciation Expense</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">716 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">462 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,375 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">900 </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 style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 28623000 25468000 10785000 10785000 3283000 3192000 1246000 1246000 1736000 2357000 45673000 43048000 34441000 33373000 11232000 9675000 716000 462000 1375000 900000 3200000 3200000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other accrued liabilities consisted of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 2021</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:8.5pt;font-weight:700;line-height:100%">December 31, 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:10pt;font-weight:400;line-height:100%">Accrued purchases </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,107 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,170 </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:10pt;font-weight:400;line-height:100%">Accrued professional and outside service fees</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,589 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">513 </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:10pt;font-weight:400;line-height:100%">     Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,082 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,272 </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 style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table> 5107000 7170000 3899000 2589000 76000 513000 9082000 10272000 Stock-based Compensation<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Equity Incentive Plans</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2019, our board of directors (the "Board") and stockholders approved the 2019 Incentive Award Plan (the "2019 Plan"). The 2019 Plan superseded and replaced in its entirety our 2010 Equity Incentive Plan (the “2010 Plan”) which was effective in March 2010, and no further awards will be granted under the 2010 Plan; however, the terms and conditions of the 2010 Plan will continue to govern any outstanding awards thereunder.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The 2019 Plan provides for the grant of stock options, including incentive stock options and non-qualified stock options, stock appreciation rights, restricted stock awards ("RSAs"), restricted stock units ("RSUs"), performance-contingent restricted stock units ("PSUs"), performance based options ("PBOs"), other stock or cash based awards and dividend equivalents to eligible employees and consultants of the Company or any parent or subsidiary, as well as members of the Board.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The number of shares of our common stock available for issuance under the 2019 Plan is equal to the sum of (i) 7,897,144 shares, and (ii) any shares subject to awards granted under the 2010 Plan that were outstanding as of April 22, 2019 and thereafter terminate, expire, lapse or are forfeited; provided that no more than 14,000,000 shares may be issued upon the exercise of incentive stock options (“ISOs”). In June 2019, 8.1 million shares authorized for issuance under the 2019 Plan were registered under the Securities Act of 1933, as amended (the “Securities Act”).</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The 2010 Plan provided for the grant of incentive stock options, non-statutory stock options, RSUs, RSAs, PSUs, PBOs, stock appreciation rights, and stock purchase rights to our employees, non-employee directors and consultants.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Options</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The option exercise price for incentive stock options must be at least 100% of the fair value of our common stock on the date of grant and the option exercise price for non-statutory stock options is at least 85% of the fair value of our common stock on the date of grant, as determined by the Board. If, at the time of a grant, the optionee directly or by attribution owns stock possessing more than 10% of the total combined voting power of all of our outstanding capital stock, the exercise price for these options must be at least 110% of the fair value of the underlying common stock. Stock options granted to employees generally have a maximum term of ten years and vest over four years from the date of grant, of which 25% vest at the end of one year, and 75% vest monthly over the remaining three years. We may grant options with different vesting terms from time to time. Unless an employee's termination of service is due to disability or death, upon termination of service, any unexercised vested options will be forfeited at the end of three months or the expiration of the option, whichever is earlier.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units ("RSUs")</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also grant employees RSUs, which generally vest over either a three year period with 33% of the shares subject to the RSUs vesting on each yearly anniversary of the vesting commencement date or over a four year period with 25% of the shares subject to the RSU vesting on each yearly anniversary of the vesting commencement date, in each case contingent upon such employee’s continued service on such vesting date. RSUs are generally subject to forfeiture if employment terminates prior to the release of vesting restrictions. We may grant RSUs with different vesting terms from time to time.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance-contingent Restricted Stock Units ("PSUs") and Performance Based Options ("PBOs")</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The compensation committee of the Board approved, solely in respect of non-executive employees, delegated to our Chief Executive Officer the authority to approve grants of PSUs. The compensation committee of the Board also approved grants of PBOs and PSUs to our executives. The PSUs and PBOs vest based upon both the successful achievement of certain corporate operating milestones in specified timelines and continued employment through the applicable vesting date. When the performance goals are deemed to be probable of achievement for these types of awards, recognition of stock-based compensation expense commences. Once the number of shares eligible to vest is determined, those shares vest in two equal installments with 50% vesting upon achievement and the remaining 50% vesting on the first anniversary of achievement, in each case, subject to the recipient’s continued service through the applicable vesting date. If the performance goals are achieved at the threshold level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to half the number of PSUs granted and one-quarter the number of shares underlying the PBOs granted. If the performance goals are achieved at the target level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to the number of PSUs granted and half of the shares underlying the PBOs granted. If the performance goals are achieved at the superior level, the number of shares eligible to vest in respect of the PSUs would be equal to two times the number of PSUs granted and equal to the number of PBOs granted. The number of shares issuable upon achievement of the performance goals at the levels between the threshold and target levels for the PSUs and PBOs or between the target level and superior levels for the PSUs would be determined using linear interpolation. Achievement below the threshold level would result in no shares being eligible to vest in respect of the PSUs and PBOs. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the first quarter of 2021, we awarded PSUs ("2021 PSUs") and PBOs ("2021 PBOs"), each of which commence vesting based upon the achievement of various weighted performance goals, including corporate revenue, performance enzyme segment gross margin, major new biotherapeutics publicity events, strategic performance enzyme and biotherapeutics deliverables, safety, and technology and strategic plan development. As of June 30, 2021, we estimated that the</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 2021 PSUs and 2021 PBOs performance goals would be achieved at 136% and 68% of the target level, respectively, and recognized expenses accordingly. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2020, we awarded PSUs ("2020 PSUs") and PBOs ("2020 PBOs"), each of which commenced vesting based upon the achievement of various weighted performance goals, including corporate revenue, performance enzyme segment gross margin, major new biotherapeutics publicity events, strategic performance enzyme and biotherapeutics deliverables, and strategic plan development. In the first quarter of 2021, we determined that the 2020 PSUs and 2020 PBOs performance goals had been achieved at 88% of the target level, and recognized expenses accordingly. Accordingly, 50% of the shares underlying the 2020 PSUs and PBOs vested in the first quarter of 2021 and 50% of the shares underlying the 2020 PSUs and PBOs will vest in the first quarter of 2022, in each case, subject to the recipient’s continued service on each vesting date.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2019, we awarded PSUs ("2019 PSUs") and PBOs ("2019 PBOs"), each of which commenced vesting based upon the achievement of various weighted performance goals, including sustained revenue and performance enzyme growth, strategic advancement of biotherapeutics, cash balance and strategic plan development. In the first quarter of 2020, we determined that the 2019 PSUs and 2019 PBOs performance goals had been achieved at 84% of the target level, and recognized expenses accordingly. Accordingly, 50% of the shares underlying the 2019 PSUs and PBOs vested in the first quarter of 2020 and 50% </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%">of the shares underlying the 2019 PSUs and PBOs vested in the first quarter of 2021, in each case, subject to the recipient’s continued service on each vesting date.</span></div><div style="margin-bottom:9pt;margin-top:12pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation Expense </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align: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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended June 30,</span></td><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:10pt;font-weight:700;line-height:100%">Six Months Ended June 30,</span></td><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: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:10pt;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:10pt;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:10pt;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:10pt;font-weight:700;line-height:100%">2020</span></td><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:10pt;font-weight:400;line-height:100%">Research and development </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">597 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,074 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">894 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,247 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,468 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,457 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,214 </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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">   Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,844 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,939 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,531 </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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,108 </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"/></tr></table></div><div style="text-indent:18pt"><span><br/></span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.695%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><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:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended June 30,</span></td><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:10pt;font-weight:700;line-height:100%">Six Months Ended June 30,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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:10pt;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:10pt;font-weight:700;line-height:100%">2020</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:10pt;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:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock options</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">682 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">575 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,347 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,116 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">RSUs and RSAs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">690 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">610 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,232 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,210 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">PSUs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">573 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">296 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,043 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">627 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">PBOs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,909 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,155 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">   Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,844 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,939 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,531 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,108 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:9pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2021</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, unrecognized stock-based compensation expense, net of expected forfeitures, was $4.8 million related to unvested stock options, $4.7 million related to unvested RSUs and RSAs, $1.9 million re</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">lated to unvested PSUs, and </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$3.3 million related</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> to unvested PBOs based on current estimates of the level of achievement. Stock-based compensation </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">ex</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">pense for these awards will be recognized through the year o</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">f 2025.</span></div> 7897144 14000000 8100000 1 0.85 0.10 1.10 P10Y P4Y 0.25 0.75 P3M P3Y 0.33 P4Y 0.25 2 0.50 0.50 0 1.36 0.68 0.88 0.50 0.50 0.84 0.50 0.50 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align: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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended June 30,</span></td><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:10pt;font-weight:700;line-height:100%">Six Months Ended June 30,</span></td><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: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:10pt;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:10pt;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:10pt;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:10pt;font-weight:700;line-height:100%">2020</span></td><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:10pt;font-weight:400;line-height:100%">Research and development </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">597 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">471 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,074 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">894 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,247 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,468 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,457 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,214 </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"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">   Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,844 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,939 </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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,531 </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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,108 </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"/></tr></table> 597000 471000 1074000 894000 2247000 1468000 4457000 3214000 2844000 1939000 5531000 4108000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.695%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><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:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended June 30,</span></td><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:10pt;font-weight:700;line-height:100%">Six Months Ended June 30,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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:10pt;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:10pt;font-weight:700;line-height:100%">2020</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:10pt;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:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock options</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">682 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">575 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,347 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,116 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">RSUs and RSAs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">690 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">610 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,232 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,210 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">PSUs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">573 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">296 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,043 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">627 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">PBOs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">458 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,909 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,155 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">   Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,844 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,939 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,531 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,108 </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> 682000 575000 1347000 1116000 690000 610000 1232000 1210000 573000 296000 1043000 627000 899000 458000 1909000 1155000 2844000 1939000 5531000 4108000 4800000 4700000 1900000 3300000 Capital Stock<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Exercise of Options</span></div><div style="margin-bottom:5pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the six months ended June 30, 2021 and June 30, 2020, we issued 212,631 and 32,749 shares, respectively, upon option exercises at a weighted-average exercise price of $8.03 and $6.03 per share, respectively, with net cash proceeds of $1.7 million and $0.2 million, respectively.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Equity Distribution Agreement</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> We filed a Registration Statement on Form S-3 with the SEC, under which we may sell common stock, preferred stock, debt securities, warrants, purchase contracts, and units from time to time in one or more offerings. The registration statement became effective on May 7, 2021. In May 2021, we entered into an Equity Distribution Agreement ("EDA") with Piper Sandler &amp; Co ("PSC"), under which PSC, as our exclusive agent, at our discretion and at such times that we may determine from time to time, may sell over a three-year period from the execution of the EDA up to a maximum of $50.0 million of shares of our common stock. Under the terms of the EDA, PSC may sell the shares at market prices by any method that is deemed to be an “at the market offering” as defined in Rule 415 under the Securities Act of 1933, as amended.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are not required to sell any shares at any time during the term of the EDA. The EDA will terminate upon the earlier of: (i) the issuance and sale of all shares through PSC on the terms and conditions of the EDA, or (ii) the termination of the EDA in accordance with its terms. Either party may terminate the EDA at any time upon written notification to the other party in accordance with the EDA, and upon such notification, the offering will terminate. Under no circumstances shall any shares be sold pursuant to the EDA after the date which is three years after the registration statement is first declared effective by the SEC. We agreed to pay PSC a commission of 3% of the gross sales price of any shares sold pursuant to the EDA. With the exception of certain expenses, we will pay PSC up to 8% of the gross sales price of the shares sold pursuant to the EDA for a combined amount of commission and reimbursement of PSC's expenses and fees. </span></div>During the three and six months ended June 30, 2021, no shares of our common stock were issued pursuant to the EDA. As of June 30, 2021, $50.0 million of shares remained available under the EDA. 212631 32749 8.03 6.03 1700000 200000 P3Y 50000000.0 0.03 0.08 0 0 50000000.0 Commitments and Contingencies<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Operating Leases</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our headquarters are located in Redwood City, California, where we occupy approximately 77,300 square feet of office and laboratory space in multiple buildings within the same business park of Metropolitan Life Insurance Company ("MetLife"). Our lease agreement with MetLife ("RWC Lease") includes approximately 28,200 square feet of space located at 200 and 220 Penobscot Drive, Redwood City, California (the “200/220 Penobscot Space”) and approximately 37,900 square feet of space located at 400 Penobscot Drive, Redwood City, California (the “400 Penobscot Space”) (the 200/220 Penobscot Space and the 400 Penobscot Space are collectively referred to as the “Penobscot Space”), and approximately 11,200 square feet of space located at 501 Chesapeake Drive, Redwood City, California (the “501 Chesapeake Space”). </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Until the end of January 2020, we also leased approximately 29,900 square feet of space located at 101 Saginaw Drive, Redwood City, California (the “Saginaw Space”). During January 2020, we subleased approximately 26,500 square feet of the Saginaw Space to Minerva Surgical, Inc. The lease and sublease for the Saginaw Space both expired at the end of January 2020. During the period from February 1, 2020 through April 30, 2020, we subleased approximately 3,400 square feet at 101 Saginaw Drive from Minerva Surgical, Inc. The sublease expired at the end of April 2020.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We entered into the initial lease with MetLife for our facilities in Redwood City in 2004 and the RWC Lease has been amended multiple times since then to adjust the leased space and terms of the Lease. In February 2019, we entered into an Eighth Amendment to the Lease (the “Eighth Amendment”) with MetLife with respect to the Penobscot Space and the 501 Chesapeake Space to extend the term of the Lease for additional periods. Pursuant to the Eighth Amendment, the term of the lease of the Penobscot Space has been extended through May 2027. The lease term for the 501 Chesapeake Space has been extended to May 2029. We have one (1) option to extend the term of the lease for the Penobscot Space for five (5) years, and one (1) separate option to extend the term of the lease for the 501 Chesapeake Space for five (5) years.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are required to restore certain areas of the Redwood City facilities that we are renting to their original form. We are expensing the asset retirement obligation over the terms of the respective leases. We review the estimated obligation each reporting period and make adjustments if our estimates change. We recorded asset retirement obligations of $0.2 million as of June 30, 2021 and December 31, 2020, which are included in other long-term liabilities in the unaudited condensed consolidated balance sheets. Accretion expense related to our asset retirement obligations was nominal in the three and six months ended June 30, 2021 and 2020.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the terms of the RWC Lease, we exercised our right to deliver a letter of credit in lieu of a security deposit. The letter of credit is collateralized by deposit balances held by the bank in the amount of $1.1 million as of June 30, 2021 and December 31, 2020, and are recorded as non-current restricted cash on the unaudited condensed consolidated balance sheets.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We entered into a short-term office lease in San Carlos, California during the second quarter of 2021 and this lease will expire in April 2022. Our remaining future commitment pursuant to this lease is $0.1 million as of June 30, 2021.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Finance Leases</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2016, we entered into a three-year financing lease agreement with a third party supplier for the purchase of laboratory equipment that was partially financed through a finance lease of $0.4 million. The lease became effective upon delivery of the equipment in February 2017, and the term of the three-year lease was from February 2017 and expired in February 2020. This financing agreement was accounted for as a finance lease due to bargain purchase options at the end of the lease. In April 2017, we entered into a three-year financing lease agreement with a third-party supplier for the purchase of information technology equipment for $0.3 million. The effective term of the three-year lease was from May 2017 and expired in April 2020.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Lease and other information</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease costs, amounts included in measurement of lease obligations and other information related to non-cancellable operating leases and finance leases were as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" 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:10pt;font-weight:700;line-height:100%">Three months ended June 30,</span></td><td colspan="3" style="background-color:#ffffff;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:10pt;font-weight:700;line-height:100%">Six months ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:10pt;font-weight:400;line-height:100%">Finance lease costs:</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"/><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 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of right-of-use assets</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:10pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 7pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27</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:10pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 7pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45</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:10pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 7pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99 </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 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest on lease obligations</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </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 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease costs</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:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27</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:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</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:10pt;font-weight:400;line-height:100%">1,033 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,032 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,065 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47 </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:10pt;font-weight:400;line-height:100%">Sublease income</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:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(55)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease cost</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"> (2)</span></div></td><td colspan="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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,070 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,094 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,128 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,192 </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 style="height:5pt"><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;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:8pt;padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(1</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">) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Short-term lease costs on leases with terms of over one month and less than one year. </span></div><div style="padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> The Company had no variable lease costs.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="margin-bottom:12pt;padding-left:4.5pt;text-indent:-4.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:82.671%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></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-style:italic;font-weight:400;line-height:100%">Other information:</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%">Operating Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term (in years)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.2 years</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:10pt;font-weight:400;line-height:100%">Weighted-average discount 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:10pt;font-weight:400;line-height:100%">6.6 </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:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.443%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><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="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:10pt;font-weight:700;line-height:100%">Six months ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Cash paid:</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:10pt;font-weight:400;line-height:100%">Operating cash flows from operating leases</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,093 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">774 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing cash flows from finance leases</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60 </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;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2021, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases are as follows (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:82.671%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years 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:10pt;font-weight:700;line-height:100%">Operating Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021 (remaining 6 months)</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,104 </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 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</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:10pt;font-weight:400;line-height:100%">4,285 </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:10pt;font-weight:400;line-height:100%">2023</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:10pt;font-weight:400;line-height:100%">4,589 </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:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,726 </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:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,868 </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:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,626 </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:10pt;font-weight:400;line-height:100%">Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,198 </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:10pt;font-weight:400;line-height:100%">Less: imputed interest</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:10pt;font-weight:400;line-height:100%">5,534 </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:10pt;font-weight:400;line-height:100%">Lease obligations</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,664 </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 style="height:3pt"><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;border-top:3pt double #000000;padding:0 1pt"/></tr></table><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-top:12pt;padding-left:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Future Lease Commitment</span></div><div style="margin-top:9pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the first quarter of 2021, we entered into a lease agreement with ARE-San Francisco No. 63, LLC (“ARE”) to lease a portion of a facility comprising approximately 36,593 rentable square feet in San Carlos, California to serve as additional office and research and development laboratory space (the “San Carlos Space”). We expect to commence occupancy of the San Carlos Space in November 2021 once tenant improvements are substantially completed by ARE in accordance with the construction plan. The budget provides a net tenant improvement allowance of $6.3 million and an additional allowance of up to $2.7 million, which we expect to use. ARE will have an enforceable right to payment by us in the form of equal monthly additional rent payments at a certain interest rate through the lease term for the additional allowance. The terms include an initial annualized base rent of $2.5 million, subject to scheduled 3% annual rent increases, an annualized additional allowance </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%">payment of $0.4 million, plus certain operating expenses. The lease has a 10-year term from the lease commencement date with one option to extend the term for an additional period of 5 years. We have provided ARE with a $0.5 million security deposit in the form of a letter of credit. We have the right to sublease the facility, subject to landlord consent. We determined that the lease commencement date is in November 2021 at which point we will record a right of use asset and a corresponding lease liability.</span></div><div style="margin-top:9pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An estimated maturity analysis of the annual undiscounted cash flows of the lease is as follows (in thousands):</span></div><div style="margin-bottom:9pt;margin-top:9pt"><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:82.671%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years 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:10pt;font-weight:700;line-height:100%">Operating Lease</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021 (remaining 6 months)</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:10pt;font-weight:400;line-height:100%">2022</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:10pt;font-weight:400;line-height:100%">2,463 </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:10pt;font-weight:400;line-height:100%">2023</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:10pt;font-weight:400;line-height:100%">2,988 </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:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,066 </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:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,145 </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:10pt;font-weight:400;line-height:100%">2026 and thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,061 </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:10pt;font-weight:400;line-height:100%">Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,723 </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 style="height:3pt"><td colspan="3" style="background-color:#ffffff;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></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Commitments</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We enter into supply and service arrangements in the normal course of business. Supply arrangements are primarily for fixed-price manufacture and supply. Service agreements are primarily for the development of manufacturing processes and certain studies. Commitments under service agreements are subject to cancellation at our discretion which may require payment of certain cancellation fees. The timing of completion of service arrangements is subject to variability in estimates of the time required to complete the work.</span></div><div style="margin-top:9pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.297%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><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%">Other Commitment Agreement Type</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%">Agreement Date</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%">Future Minimum Payment</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Manufacture and supply agreement with expected future payment date of December 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2016</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">162 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Development and manufacturing services agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 2019</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:10pt;font-weight:400;line-height:100%">1,852 </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:10pt;font-weight:400;line-height:100%">Total other commitments</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 style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,014 </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 style="height:6pt"><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="border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Credit Facility</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 30, 2017, we entered into a credit facility (the “Credit Facility”) with Western Alliance Bank consisting of term loans (“Term Debt”) up to $10.0 million, and advances (“Advances”) under a revolving line of credit ("Revolving Line of Credit") up to $5.0 million with an accounts receivable borrowing base of 80% of eligible accounts receivable. As of June 30, 2021 and December 31, 2020, we have not drawn from the Credit Facility. We may draw on the Term Debt and the Revolving Line of Credit at any time prior to October 1, 2021 and October 1, 2024, respectively. On October 1, 2024 loans drawn under the Term Debt mature and the Revolving Line of Credit terminate. Loans made under the Term Debt bear interest through maturity equal to the greater of (i) 3.75% or (ii) the sum of (A) Index Rate (prime rate published in the Money Rates section of the Western Edition of The Wall Street Journal plus (B) 0.50%. Advances made under the Revolving Line of Credit bear interest at a variable annual rate equal to the equal to the greater of (i) 4.25% or (ii) the sum of (A) the prime rate plus (B) 1.00%.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our obligations under the Credit Facility are secured by a lien on substantially all of our personal property other than our intellectual property. The Credit Facility includes a number of customary covenants and restrictive financial covenants including meeting minimum product revenue levels and maintaining certain minimum cash levels with the lender. The Credit Facility's financial covenants restrict the ability of the Company to transfer collateral, incur additional indebtedness, engage in mergers or acquisitions, pay dividends or make other distributions, make investments, create liens, sell assets, or sell certain assets held at foreign subsidiaries. A failure to comply with these covenants could permit the lender to exercise remedies against us and the collateral securing the Credit Facility, including foreclosure of our properties securing the Credit Facilities and our cash. As of June 30, 2021, we were in compliance with the covenants for the Credit Facility.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Facility allows for interest-only payments on the Term Debt through November 1, 2022. Monthly payments of principal and interest on the Term Debt are required following the applicable amortization date. We may elect to prepay in full the Term Debt and Advances under the Revolving Line of Credit at any time. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Proceedings</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are not currently a party to any material pending litigation or other material legal proceedings.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Indemnifications</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are required to recognize a liability for the fair value of any obligations we assume upon the issuance of a guarantee. We have certain agreements with licensors, licensees and collaborators that contain indemnification provisions. In such provisions, we typically agree to indemnify the licensor, licensee and collaborator against certain types of third party claims. The maximum amount of the indemnifications is not limited. We accrue for known indemnification issues when a loss is probable and can be reasonably estimated. There were no accruals for expenses related to indemnification issues for any periods presented.</span></div> 77300 28200 37900 11200 29900 26500 3400 1 P5Y 1 P5Y 200000 200000 1100000 1100000 100000 P3Y 400000 P3Y P3Y 300000 P3Y <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease costs, amounts included in measurement of lease obligations and other information related to non-cancellable operating leases and finance leases were as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" 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:10pt;font-weight:700;line-height:100%">Three months ended June 30,</span></td><td colspan="3" style="background-color:#ffffff;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:10pt;font-weight:700;line-height:100%">Six months ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:10pt;font-weight:400;line-height:100%">Finance lease costs:</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"/><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 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of right-of-use assets</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:10pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 7pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27</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:10pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 7pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">45</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:10pt;font-weight:400;line-height:100%">$</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 7pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99 </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 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest on lease obligations</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </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 25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease costs</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:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27</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:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">46</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt 0 7pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 7pt 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</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:10pt;font-weight:400;line-height:100%">1,033 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,032 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,065 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,100 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47 </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:10pt;font-weight:400;line-height:100%">Sublease income</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:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(55)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease cost</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"> (2)</span></div></td><td colspan="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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,070 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,094 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,128 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,192 </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 style="height:5pt"><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;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:8pt;padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(1</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">) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%">Short-term lease costs on leases with terms of over one month and less than one year. </span></div><div style="padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> The Company had no variable lease costs.</span></div><div style="padding-left:18pt"><span><br/></span></div><div style="margin-bottom:12pt;padding-left:4.5pt;text-indent:-4.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:82.671%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></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-style:italic;font-weight:400;line-height:100%">Other information:</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%">Operating Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term (in years)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.2 years</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:10pt;font-weight:400;line-height:100%">Weighted-average discount 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:10pt;font-weight:400;line-height:100%">6.6 </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:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.443%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><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="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:10pt;font-weight:700;line-height:100%">Six months ended June 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:100%">Cash paid:</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:10pt;font-weight:400;line-height:100%">Operating cash flows from operating leases</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,093 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">774 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing cash flows from finance leases</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 27000 45000 53000 99000 0 1000 0 1000 27000 46000 53000 100000 1033000 1032000 2065000 2100000 10000 16000 10000 47000 0 0 0 55000 1070000 1094000 2128000 2192000 0 0 0 0 P6Y2M12D 0.066 2093000 774000 0 60000 <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of June 30, 2021, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases are as follows (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:82.671%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years 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:10pt;font-weight:700;line-height:100%">Operating Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021 (remaining 6 months)</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,104 </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 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</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:10pt;font-weight:400;line-height:100%">4,285 </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:10pt;font-weight:400;line-height:100%">2023</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:10pt;font-weight:400;line-height:100%">4,589 </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:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,726 </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:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,868 </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:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,626 </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:10pt;font-weight:400;line-height:100%">Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,198 </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:10pt;font-weight:400;line-height:100%">Less: imputed interest</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:10pt;font-weight:400;line-height:100%">5,534 </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:10pt;font-weight:400;line-height:100%">Lease obligations</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,664 </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 style="height:3pt"><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;border-top:3pt double #000000;padding:0 1pt"/></tr></table><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></div><div style="margin-top:9pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An estimated maturity analysis of the annual undiscounted cash flows of the lease is as follows (in thousands):</span></div><div style="margin-bottom:9pt;margin-top:9pt"><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:82.671%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years 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:10pt;font-weight:700;line-height:100%">Operating Lease</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021 (remaining 6 months)</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></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:10pt;font-weight:400;line-height:100%">2022</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:10pt;font-weight:400;line-height:100%">2,463 </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:10pt;font-weight:400;line-height:100%">2023</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:10pt;font-weight:400;line-height:100%">2,988 </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:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,066 </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:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,145 </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:10pt;font-weight:400;line-height:100%">2026 and thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,061 </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:10pt;font-weight:400;line-height:100%">Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,723 </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 style="height:3pt"><td colspan="3" style="background-color:#ffffff;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></table></div> 2104000 4285000 4589000 4726000 4868000 8626000 29198000 5534000 23664000 36593 6300000 2700000 2500000 0.03 400000 P10Y 1 P5Y 500000 0 2463000 2988000 3066000 3145000 20061000 31723000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.297%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><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%">Other Commitment Agreement Type</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%">Agreement Date</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%">Future Minimum Payment</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Manufacture and supply agreement with expected future payment date of December 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2016</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">162 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Development and manufacturing services agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 2019</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:10pt;font-weight:400;line-height:100%">1,852 </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:10pt;font-weight:400;line-height:100%">Total other commitments</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 style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,014 </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 style="height:6pt"><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="border-top:3pt double #000;padding:0 1pt"/></tr></table> 162000 1852000 2014000 10000000.0 5000000.0 0.80 0.0375 0.0050 0.0425 0.0100 0 Related Party Transactions<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Molecular Assemblies, Inc.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2020, we entered into a Stock Purchase Agreement with MAI pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million. In connection with the transaction, John Nicols, our President and Chief Executive Officer, also joined MAI’s board of directors. Concurrently with our initial equity investment, we entered into the MAI Agreement with MAI, pursuant to which we are performing services utilizing our CodeEvolver</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">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology to improve DNA polymerase enzymes in exchange for compensation in the form of additional shares of MAI's Series A preferred stock. In April 2021, we purchased an additional 1,000,000 shares of MAI's Series A preferred stock for $0.6 million.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized $0.3 million and $0.5 million in research and development revenue from transactions with MAI in the three and six months ended June 30, 2021, respectively, and we recognized no revenue from research and development service transactions with MAI in the three and six months ended June 30, 2020. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We received 714,171 and 1,428,342 shares of MAI's Series A preferred stock from research and development services we provided to MAI in the </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">three and six months ended June 30, 2021, respectively, and no shares of MAI's Series A preferred stock from research and development services in the three and six months ended June 30, 2020. As of June 30, 2021, we have 5,443,734 shares of MAI's Series A preferred stock since executing the Stock Purchase Agreement with MAI. The carrying value of our investment in MAI Series A preferred stock was $3.4 million and $1.5 million at June 30, 2021 and December 31, 2020, respectively. </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We had $0.4 million and nil in deferred revenue as of June 30, 2021 and December 31, 2020, respectively, and nil and $0.5 million in contract asset due from MAI for services rendered as of June 30, 2021 and December 31, 2020, respectively. </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Payment for the services rendered was received in the form of additional MAI Series A preferred stock.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">AstraZeneca PLC</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pam P. Cheng, who served as a member of our board of directors until June 2020, joined AstraZeneca PLC as Executive Vice President, Operations and Information Technology in June 2015. We sold biocatalyst products to AstraZeneca PLC and its controlled purchasing agents and contract manufacturers. We recognized $20 thousand and $0.1 million of revenue from transactions with AstraZeneca and its controlled purchasing agents and contract manufacturers for the three and six months ended June 30, 2020, respectively, and through the date of Ms. Cheng’s departure from our board of directors. As of June 30, 2021 and December 31, 2020, we had no receivables from AstraZeneca PLC and its controlled purchasing agents and contract manufacturers from related party transactions, respectively.</span></div> 1587050 1000000.0 1000000 600000 300000 500000 0 0 714171 1428342 0 0 5443734 3400000 1500000 400000 0 0 500000 20000 100000 0 0 Segment, Geographical and Other Revenue Information<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Information</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We manage our business as two business segments: Performance Enzymes and Novel Biotherapeutics. Our chief operating decision maker ("CODM") is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "Corporate costs." All items not included in income (loss) from operations are excluded from the business segments. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance Enzymes</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We initially commercialized our CodeEvolver</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">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform and products in the pharmaceuticals market, and to date this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food and food ingredients, animal feed, flavors, fragrances, and agricultural chemicals. We also use our technology to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Novel Biotherapeutics</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver</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">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity. Most notable is our lead program for the potential treatment of PKU in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have also developed a pipeline of other biotherapeutic drug candidates, which are in preclinical development, and in which we expect to continue to make additional investments with the aim of advancing additional product candidates targeting other therapeutic areas. In March 2020, we entered into the Takeda Agreement with Takeda under which we will research and develop protein sequences for use in gene therapy products for certain diseases.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Factors considered in determining the two reportable segments of the Company include the nature of business activities, the management structure directly accountable to our CODM for operating and administrative activities, availability of discrete financial information and information presented to the Board of Directors. Our CODM regularly reviews our segments and the approach provided by management for performance evaluation and resource allocation. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating expenses that directly support the segment activity are allocated based on segment headcount, revenue contribution or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments. This provides the CODM with more meaningful segment profitability reporting to support operating decisions and allocate resources.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides financial information by our reportable business segments along with a reconciliation to consolidated income (loss) before income taxes (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:24.010%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.651%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended June 30, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended June 30, 2020</span></td></tr><tr><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;border-top:1pt 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%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</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: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%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Revenues:</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 #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"/><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"/><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 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%">Product revenue</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%">14,717 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,717 </span></td><td style="background-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="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align: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,504 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="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%">4,504 </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%">Research and development revenue</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,868 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,868 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,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,002 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,461 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,463 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total revenues</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%">21,585 </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%">3,868 </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%">25,453 </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%">7,506 </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;border-top:1pt solid #000;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%">7,461 </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%">14,967 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Costs and operating expenses:</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"/><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 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%">Cost of product 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%">4,318 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,318 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align: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,699 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,699 </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"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,057 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,194 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,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%">4,997 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,490 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,487 </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"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span></div></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,170 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">620 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,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 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%">2,375 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;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%">621 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,996 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total segment costs and operating expenses</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%">12,545 </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%">7,814 </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%">20,359 </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%">9,071 </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%">6,111 </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%">15,182 </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%">Income (loss) from operations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,040 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(3,946)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,094 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,565)</span></td><td style="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="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,350 </span></td><td style="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%">(215)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span></div></td><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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,610)</span></td><td style="background-color:#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;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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,316)</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%">Unallocated depreciation and amortization</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(741)</span></td><td style="background-color:#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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(506)</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%">Loss before income taxes</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 style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;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,257)</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;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 style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;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,037)</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 style="height:9pt"><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;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;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:24.010%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.651%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six months ended June 30, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six months ended June 30, 2020</span></td></tr><tr><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;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%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</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: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%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Revenues:</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 #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"/><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"/><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 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%">Product revenue</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%">24,943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td 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%">24,943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td 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%">9,604 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,604 </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%">Research and development revenue</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,872 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,670 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,542 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,775 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,258 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,033 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total revenues</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%">35,815 </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%">7,670 </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;border-top:1pt solid #000000;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%">43,485 </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;border-top:1pt solid #000000;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%">18,379 </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%">11,258 </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;border-top:1pt solid #000000;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%">29,637 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Costs and operating expenses:</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"/><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 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%">Cost of product 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%">8,536 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#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%">8,536 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,240 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,240 </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"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span></div></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,502 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,799 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,301 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,693 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,415 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,108 </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"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span></div></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,988 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,221 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,209 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,720 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,213 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,933 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total segment costs and operating expenses</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%">26,026 </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%">13,020 </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;border-top:1pt solid #000000;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%">39,046 </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;border-top:1pt solid #000000;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,653 </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%">11,628 </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;border-top:1pt solid #000000;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%">31,281 </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%">Income (loss) from operations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,789 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(5,350)</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;border-top:1pt solid #000000;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%">4,439 </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;border-top:1pt solid #000000;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,274)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(370)</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;border-top:1pt solid #000000;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,644)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span></div></td><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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,335)</span></td><td style="background-color:#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;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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,042)</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%">Unallocated depreciation and amortization</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,426)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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%">Loss before income taxes</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 style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;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%">(13,322)</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;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 style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;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%">(13,684)</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 style="height:9pt"><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;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;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:5pt;padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.</span></div><div style="margin-bottom:9pt;padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Corporate costs include unallocated selling, general and administrative expenses, interest income, and other income (expense), net.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides stock-based compensation expense included in income (loss) from operations (in thousands):</span></div><div style="margin-bottom:9pt;margin-top:9pt"><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:13.373%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.256%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.280%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><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:8.402%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.280%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.853%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="45" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><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;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:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,115 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">257 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,472 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,844 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">741 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">946 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,939 </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 style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt"><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:13.373%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.256%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.280%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><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:8.402%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.280%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.853%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="45" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six months ended June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><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;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:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,109 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">495 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,927 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,531 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,496 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">494 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,118 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,108 </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 style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Significant Customers</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers that each accounted for 10% or more of our total revenues were as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Percentage of Total Revenues for the</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended June 30,</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six months ended June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">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><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 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer A</span></td><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:10pt;font-weight:400;line-height:100%">15%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer C</span></td><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:10pt;font-weight:400;line-height:100%">12%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13%</span></td><td 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:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer E</span></td><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:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38%</span></td><td 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:10pt;font-weight:400;line-height:100%">10%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer F</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer G</span></td><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:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align: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="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:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13%</span></td></tr><tr><td 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%">* Percentage was less than 10%</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"/></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers that each accounted for 10% or more of accounts receivable balances as of the periods presented as follows:</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;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%">Percentage of Accounts Receivables as of</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 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:8.5pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer A</span></td><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:10pt;font-weight:400;line-height:100%">20%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer H</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</span></td><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:10pt;font-weight:400;line-height:100%">15%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer E</span></td><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:10pt;font-weight:400;line-height:100%">10%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer G</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer F</span></td><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:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13%</span></td></tr><tr><td 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%">* Percentage was less than 10%</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"/></tr></table></div><div style="margin-bottom:9pt;margin-top:12pt;padding-left:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Geographical Information </span></div><div style="margin-bottom:3pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Geographic revenues are identified by the location of the customer and consist of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended June 30,</span></td><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%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">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><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:10pt;font-weight:400;line-height:100%">Revenues</span></td><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"/><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 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,844 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,906 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,773 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,131 </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:10pt;font-weight:400;line-height:100%">EMEA</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,169 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,314 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,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:10pt;font-weight:400;line-height:100%">9,285 </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:10pt;font-weight:400;line-height:100%">APAC</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,440 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,747 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,262 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,221 </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:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,453 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,967 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,485 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,637 </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 style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable long-lived assets by location was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 2021</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:8.5pt;font-weight:700;line-height:100%">December 31, 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:10pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,424 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,176 </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 style="height:8pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable goodwill by reporting unit was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:50.215%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">As of June 30, 2021 and December 31, 2020</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%">Performance Enzymes</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%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,463 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">778 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,241 </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 style="height:3pt"><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;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:0.584%"><tr><td style="width:1.0%"/><td style="width:98.900%"/><td style="width:0.1%"/></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"/></tr></table></div> <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Information</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We manage our business as two business segments: Performance Enzymes and Novel Biotherapeutics. Our chief operating decision maker ("CODM") is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company.</span></div>We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "Corporate costs." All items not included in income (loss) from operations are excluded from the business segments. We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment. 2 2 <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides financial information by our reportable business segments along with a reconciliation to consolidated income (loss) before income taxes (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:24.010%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.651%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended June 30, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended June 30, 2020</span></td></tr><tr><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;border-top:1pt 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%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</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: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%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Revenues:</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 #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"/><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"/><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 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%">Product revenue</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%">14,717 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">14,717 </span></td><td style="background-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="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align: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,504 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="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%">4,504 </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%">Research and development revenue</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,868 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,868 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,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,002 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,461 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,463 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total revenues</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%">21,585 </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%">3,868 </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%">25,453 </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%">7,506 </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;border-top:1pt solid #000;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%">7,461 </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%">14,967 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Costs and operating expenses:</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"/><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 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%">Cost of product 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%">4,318 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,318 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align: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,699 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,699 </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"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,057 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,194 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,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%">4,997 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,490 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,487 </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"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span></div></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,170 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">620 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,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 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%">2,375 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;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%">621 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,996 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total segment costs and operating expenses</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%">12,545 </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%">7,814 </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%">20,359 </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%">9,071 </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%">6,111 </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%">15,182 </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%">Income (loss) from operations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,040 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(3,946)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">5,094 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,565)</span></td><td style="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="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">1,350 </span></td><td style="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%">(215)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span></div></td><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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,610)</span></td><td style="background-color:#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;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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,316)</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%">Unallocated depreciation and amortization</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(741)</span></td><td style="background-color:#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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(506)</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%">Loss before income taxes</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 style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;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,257)</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;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 style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;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,037)</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 style="height:9pt"><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;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;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"><tr><td style="width:1.0%"/><td style="width:24.010%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.651%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six months ended June 30, 2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six months ended June 30, 2020</span></td></tr><tr><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;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%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</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: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%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Revenues:</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 #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"/><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"/><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 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%">Product revenue</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%">24,943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td 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%">24,943 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td 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%">9,604 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,604 </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%">Research and development revenue</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,872 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">7,670 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,542 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,775 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">11,258 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,033 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total revenues</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%">35,815 </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%">7,670 </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;border-top:1pt solid #000000;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%">43,485 </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;border-top:1pt solid #000000;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%">18,379 </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%">11,258 </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;border-top:1pt solid #000000;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%">29,637 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Costs and operating expenses:</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"/><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 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%">Cost of product 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%">8,536 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#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%">8,536 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,240 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">4,240 </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"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Research and development</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span></div></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,502 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,799 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,301 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,693 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,415 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,108 </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"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Selling, general and administrative</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span></div></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,988 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,221 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,209 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,720 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,213 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,933 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Total segment costs and operating expenses</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%">26,026 </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%">13,020 </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;border-top:1pt solid #000000;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%">39,046 </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;border-top:1pt solid #000000;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,653 </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%">11,628 </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;border-top:1pt solid #000000;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%">31,281 </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%">Income (loss) from operations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">9,789 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(5,350)</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;border-top:1pt solid #000000;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%">4,439 </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;border-top:1pt solid #000000;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(1,274)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">(370)</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;border-top:1pt solid #000000;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,644)</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"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span></div></td><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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,335)</span></td><td style="background-color:#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;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="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align: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,042)</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%">Unallocated depreciation and amortization</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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,426)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="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="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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%">Loss before income taxes</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 style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;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%">(13,322)</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;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 style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;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%">(13,684)</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 style="height:9pt"><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;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;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:5pt;padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.</span></div><div style="margin-bottom:9pt;padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Corporate costs include unallocated selling, general and administrative expenses, interest income, and other income (expense), net.</span></div><div style="margin-bottom:9pt;margin-top:9pt;padding-left:18pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides stock-based compensation expense included in income (loss) from operations (in thousands):</span></div><div style="margin-bottom:9pt;margin-top:9pt"><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:13.373%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.256%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.280%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><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:8.402%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.280%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.853%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="45" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><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;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:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,115 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">257 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td 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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,472 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,844 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">741 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">252 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">946 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,939 </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 style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt"><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:13.373%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.256%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.280%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><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:8.402%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.280%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.853%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="45" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six months ended June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td></tr><tr><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;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:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</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:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,109 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">495 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,927 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,531 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,496 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">494 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,118 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,108 </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 style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 14717000 14717000 0 0 14717000 4504000 4504000 0 0 4504000 6868000 6868000 3868000 3868000 10736000 3002000 3002000 7461000 7461000 10463000 21585000 3868000 25453000 7506000 7461000 14967000 4318000 0 4318000 1699000 0 1699000 5057000 7194000 12251000 4997000 5490000 10487000 3170000 620000 3790000 2375000 621000 2996000 12545000 7814000 20359000 9071000 6111000 15182000 9040000 -3946000 5094000 -1565000 1350000 -215000 -8610000 -5316000 741000 506000 -4257000 -6037000 24943000 0 24943000 9604000 0 9604000 10872000 7670000 18542000 8775000 11258000 20033000 35815000 7670000 43485000 18379000 11258000 29637000 8536000 0 8536000 4240000 0 4240000 11502000 11799000 23301000 10693000 10415000 21108000 5988000 1221000 7209000 4720000 1213000 5933000 26026000 13020000 39046000 19653000 11628000 31281000 9789000 -5350000 4439000 -1274000 -370000 -1644000 -16335000 -11042000 1426000 998000 -13322000 -13684000 1115000 257000 1472000 2844000 741000 252000 946000 1939000 2109000 495000 2927000 5531000 1496000 494000 2118000 4108000 <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Significant Customers</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers that each accounted for 10% or more of our total revenues were as follows:</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Percentage of Total Revenues for the</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended June 30,</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Six months ended June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">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><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 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer A</span></td><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:10pt;font-weight:400;line-height:100%">15%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer C</span></td><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:10pt;font-weight:400;line-height:100%">12%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13%</span></td><td 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:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer E</span></td><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:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38%</span></td><td 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:10pt;font-weight:400;line-height:100%">10%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer F</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer G</span></td><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:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align: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="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:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13%</span></td></tr><tr><td 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%">* Percentage was less than 10%</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"/></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers that each accounted for 10% or more of accounts receivable balances as of the periods presented as follows:</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="background-color:#ffffff;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%">Percentage of Accounts Receivables as of</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 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:8.5pt;font-weight:700;line-height:100%">December 31, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer A</span></td><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:10pt;font-weight:400;line-height:100%">20%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer H</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</span></td><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:10pt;font-weight:400;line-height:100%">15%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer E</span></td><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:10pt;font-weight:400;line-height:100%">10%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer G</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer F</span></td><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:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13%</span></td></tr><tr><td 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%">* Percentage was less than 10%</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"/></tr></table></div> 0.15 0.10 0.12 0.12 0.13 0.16 0.17 0.20 0.38 0.10 0.27 0.12 0.11 0.13 0.20 0.15 0.15 0.14 0.32 0.10 0.25 0.13 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Geographic revenues are identified by the location of the customer and consist of the following (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended June 30,</span></td><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%">Six Months Ended June 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">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><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:10pt;font-weight:400;line-height:100%">Revenues</span></td><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"/><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 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,844 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,906 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,773 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,131 </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:10pt;font-weight:400;line-height:100%">EMEA</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,169 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,314 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,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:10pt;font-weight:400;line-height:100%">9,285 </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:10pt;font-weight:400;line-height:100%">APAC</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,440 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,747 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,262 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,221 </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:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,453 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,967 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,485 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,637 </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 style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table> 5844000 6906000 10773000 12131000 6169000 3314000 12450000 9285000 13440000 4747000 20262000 8221000 25453000 14967000 43485000 29637000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable long-lived assets by location was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 2021</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:8.5pt;font-weight:700;line-height:100%">December 31, 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:10pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,424 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,176 </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 style="height:8pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table> 31424000 31176000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable goodwill by reporting unit was as follows (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:50.215%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">As of June 30, 2021 and December 31, 2020</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%">Performance Enzymes</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%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,463 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">778 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,241 </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 style="height:3pt"><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;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table> 2463000 2463000 778000 778000 3241000 3241000 Allowance for Credit Losses<div style="margin-top:9pt;text-indent:18pt"><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 financial assets allowance for credit losses (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 2021</span></td><td colspan="3" style="background-color:#ffffff;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:8.5pt;font-weight:700;line-height:100%">December 31, 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:10pt;font-weight:400;line-height:100%">Allowance for credit losses</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74 </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:#bfe4ff;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:10pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#bfe4ff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:3pt"><td colspan="3" style="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></table></div><div style="margin-bottom:9pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables summarize accounts receivable by aging category (in thousands):</span></div><div style="margin-bottom:9pt;margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:40.688%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.603%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.902%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="30" 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:10pt;font-weight:700;line-height:100%">June 30, 2021</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%">Current</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">31-60 Days</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%">61-90 Days</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%">91 Days and over</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total balance</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,414 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">83 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,602 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">389 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,488 </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 style="height:5pt"><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;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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;border-top:3pt double #000;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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:40.811%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.388%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.929%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.388%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.929%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.388%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.929%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.388%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.929%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td style="width:0.1%"/><td style="width:0.388%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.933%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2020</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%">Current</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">31-60 Days</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%">61-90 Days</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%">91 Days and over</span></td><td colspan="3" style="display:none"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total balance</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,398 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">489 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </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="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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,894 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> <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 financial assets allowance for credit losses (in thousands):</span><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">June 30, 2021</span></td><td colspan="3" style="background-color:#ffffff;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:8.5pt;font-weight:700;line-height:100%">December 31, 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:10pt;font-weight:400;line-height:100%">Allowance for credit losses</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74 </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:#bfe4ff;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:10pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#bfe4ff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr style="height:3pt"><td colspan="3" style="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></table> 74000 74000 <div style="margin-bottom:9pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables summarize accounts receivable by aging category (in thousands):</span></div><div style="margin-bottom:9pt;margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"><tr><td style="width:1.0%"/><td style="width:40.688%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.603%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.902%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="30" 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:10pt;font-weight:700;line-height:100%">June 30, 2021</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%">Current</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">31-60 Days</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%">61-90 Days</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%">91 Days and over</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total balance</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,414 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">83 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,602 </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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">389 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,488 </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 style="height:5pt"><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;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;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;border-top:3pt double #000;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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"><tr><td style="width:1.0%"/><td style="width:40.811%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.388%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.929%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.388%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.929%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.388%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.929%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.388%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.929%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td style="width:0.1%"/><td style="width:0.388%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.933%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="27" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2020</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%">Current</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">31-60 Days</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%">61-90 Days</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%">91 Days and over</span></td><td colspan="3" style="display:none"/><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total balance</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,398 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">489 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </span></td><td style="background-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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </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="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:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,894 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><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"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><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"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 17414000 83000 1602000 389000 19488000 13398000 489000 7000 0 13894000 XML 11 R1.htm IDEA: XBRL DOCUMENT v3.21.2
Cover Page - shares
6 Months Ended
Jun. 30, 2021
Aug. 02, 2021
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jun. 30, 2021  
Document Transition Report false  
Entity File Number 001-34705  
Entity Registrant Name Codexis, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 71-0872999  
Entity Address, City or Town Redwood City  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 94063  
City Area Code 650  
Local Phone Number 421-8100  
Title of 12(b) Security Common Stock, par value $0.0001 per share  
Trading Symbol CDXS  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   64,640,734
Entity Central Index Key 0001200375  
Amendment Flag false  
Document Fiscal Year Focus 2021  
Document Fiscal Period Focus Q2  
Current Fiscal Year End Date --12-31  
Entity Address, Address Line One 200 Penobscot Drive  
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.21.2
Condensed Consolidated Balance Sheets (Unaudited) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Current assets:    
Cash and cash equivalents $ 129,506 $ 149,117
Restricted cash, current 585 638
Investment in non-marketable debt security 1,289 1,000
Financial assets:    
Accounts receivable 19,488 13,894
Contract assets 4,528 4,526
Unbilled receivables 12,417 10,942
Total financial assets 36,433 29,362
Less: allowances (74) (74)
Total financial assets, net 36,359 29,288
Inventories 1,078 964
Prepaid expenses and other current assets 3,578 3,416
Total current assets 172,395 184,423
Restricted cash 1,519 1,062
Investment in non-marketable equity securities 3,430 1,450
Right-of-use assets - Operating leases, net 20,124 21,382
Right-of-use assets - Finance leases, net 68 119
Property and equipment, net 11,232 9,675
Goodwill 3,241 3,241
Other non-current assets 301 294
Total assets 212,310 221,646
Current liabilities:    
Accounts payable 3,164 2,970
Accrued compensation 6,859 7,288
Other accrued liabilities 9,082 10,272
Current portion of lease obligations - Operating leases 2,672 2,627
Deferred revenue 2,313 1,824
Total current liabilities 24,090 24,981
Deferred revenue, net of current portion 3,166 2,967
Long-term lease obligations - Operating leases 20,992 22,324
Other long-term liabilities 1,289 1,271
Total liabilities 49,537 51,543
Commitments and Contingencies (Note 10)
Stockholders' equity:    
Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding 0 0
Common stock, $0.0001 par value per share; 100,000 shares authorized; 64,623 shares and 64,283 shares issued and outstanding at June 30, 2021 and December 31, 2020, respectively 6 6
Additional paid-in capital 542,519 536,516
Accumulated deficit (379,752) (366,419)
Total stockholders' equity 162,773 170,103
Total liabilities and stockholders' equity $ 212,310 $ 221,646
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.21.2
Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical) - $ / shares
Jun. 30, 2021
Dec. 31, 2020
Statement of Financial Position [Abstract]    
Preferred stock, par value (usd per share) $ 0.0001 $ 0.0001
Preferred stock, shares authorized (shares) 5,000,000 5,000,000
Preferred stock, shares issued (shares) 0 0
Preferred stock, shares outstanding (shares) 0 0
Common stock, par value (usd per share) $ 0.0001 $ 0.0001
Common stock, shares authorized (shares) 100,000,000 100,000,000
Common stock, shares, issued (shares) 64,623,000 64,283,000
Common stock, shares outstanding (shares) 64,623,000 64,283,000
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.21.2
Condensed Consolidated Statements of Operations (Unaudited) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Revenues:        
Total revenues $ 25,453 $ 14,967 $ 43,485 $ 29,637
Costs and operating expenses:        
Cost of product revenue 4,318 1,699 8,536 4,240
Research and development 12,826 10,853 24,397 21,820
Selling, general and administrative 12,795 8,522 24,193 17,512
Total costs and operating expenses 29,939 21,074 57,126 43,572
Loss from operations (4,486) (6,107) (13,641) (13,935)
Interest income 206 57 382 323
Other income (expense), net 23 13 (63) (72)
Loss before income taxes (4,257) (6,037) (13,322) (13,684)
Provision for income taxes 8 307 11 312
Net loss $ (4,265) $ (6,344) $ (13,333) $ (13,996)
Net income (loss) per share, basic (usd per share) $ (0.07) $ (0.11) $ (0.21) $ (0.24)
Net income (loss) per share, diluted (usd per share) $ (0.07) $ (0.11) $ (0.21) $ (0.24)
Weighted average common stock shares used in computing net income (loss) per share, basic (shares) 64,434 59,000 64,363 58,944
Weighted average common stock shares used in computing net income (loss) per share, diluted (shares) 64,434 59,000 64,363 58,944
Product revenue        
Revenues:        
Total revenues $ 14,717 $ 4,504 $ 24,943 $ 9,604
Research and development revenue        
Revenues:        
Total revenues $ 10,736 $ 10,463 $ 18,542 $ 20,033
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.21.2
Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)
$ in Thousands
Total
Common Stock
Additional paid-in Capital
Accumulated Deficit
Beginning balance (shares) at Dec. 31, 2019   58,877,000    
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options (shares) 32,749 32,000    
Release of stock awards (shares)   300,000    
Taxes paid related to net share settlement of equity awards (shares)   (84,000)    
Ending balance (shares) at Jun. 30, 2020   59,125,000    
Beginning balance at Dec. 31, 2019 $ 105,517 $ 6 $ 447,920 $ (342,409)
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options 197   197  
Employee stock-based compensation 4,104   4,104  
Non-employee stock-based compensation 4   4  
Taxes paid related to net share settlement of equity awards (1,040)   (1,040)  
Net income (loss) (13,996)     (13,996)
Ending balance at Jun. 30, 2020 94,786 $ 6 451,185 (356,405)
Beginning balance (shares) at Mar. 31, 2020   59,017,000    
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options (shares)   27,000    
Release of stock awards (shares)   81,000    
Ending balance (shares) at Jun. 30, 2020   59,125,000    
Beginning balance at Mar. 31, 2020 99,066 $ 6 449,121 (350,061)
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options 158   158  
Employee stock-based compensation 1,935   1,935  
Non-employee stock-based compensation 4   4  
Taxes paid related to net share settlement of equity awards (33)   (33)  
Net income (loss) (6,344)     (6,344)
Ending balance at Jun. 30, 2020 $ 94,786 $ 6 451,185 (356,405)
Beginning balance (shares) at Dec. 31, 2020   64,283,000    
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options (shares) 212,631 213,000    
Release of stock awards (shares)   181,000    
Taxes paid related to net share settlement of equity awards (shares)   (54,000)    
Ending balance (shares) at Jun. 30, 2021   64,623,000    
Beginning balance at Dec. 31, 2020 $ 170,103 $ 6 536,516 (366,419)
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options 1,678   1,678  
Employee stock-based compensation 5,405   5,405  
Non-employee stock-based compensation 126   126  
Taxes paid related to net share settlement of equity awards (1,206)   (1,206)  
Net income (loss) (13,333)     (13,333)
Ending balance at Jun. 30, 2021 162,773 $ 6 542,519 (379,752)
Beginning balance (shares) at Mar. 31, 2021   64,488,000    
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options (shares)   95,000    
Release of stock awards (shares)   42,000    
Taxes paid related to net share settlement of equity awards (shares)   (2,000)    
Ending balance (shares) at Jun. 30, 2021   64,623,000    
Beginning balance at Mar. 31, 2021 163,739 $ 6 539,220 (375,487)
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options 455   455  
Employee stock-based compensation 2,779   2,779  
Non-employee stock-based compensation 65   65  
Net income (loss) (4,265)     (4,265)
Ending balance at Jun. 30, 2021 $ 162,773 $ 6 $ 542,519 $ (379,752)
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.21.2
Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Operating activities:    
Net loss $ (13,333) $ (13,996)
Adjustments to reconcile net loss to net cash used in operating activities:    
Depreciation 1,375 900
Amortization expense - right-of-use assets - operating and finance leases 1,309 1,336
Stock-based compensation 5,531 4,108
Equity securities earned from research and development activities (477) 0
Other non-cash items (318) 0
Changes in operating assets and liabilities:    
Financial assets, net (7,521) (6,258)
Inventories (113) (315)
Prepaid expenses and other assets (170) (824)
Accounts payable 436 (19)
Accrued compensation and other accrued liabilities (404) 1,839
Other long-term liabilities (1,314) (1,270)
Deferred revenue 264 3,001
Net cash used in operating activities (14,735) (11,498)
Investing activities:    
Purchase of property and equipment (4,344) (1,490)
Proceeds from sale of property and equipment 29 0
Payments to acquire other investments (630) (1,000)
Net cash used in investing activities (4,945) (2,490)
Financing activities:    
Proceeds from exercises of stock options 1,679 197
Payments of lease obligations - Finance leases 0 (60)
Taxes paid related to net share settlement of equity awards (1,206) (1,040)
Net cash provided by (used in) financing activities 473 (903)
Net decrease in cash, cash equivalents and restricted cash (19,207) (14,891)
Cash, cash equivalents and restricted cash at the beginning of the period 150,817 92,221
Cash, cash equivalents and restricted cash at the end of the period 131,610 77,330
Supplemental disclosure of cash flow information:    
Interest paid 3 4
Income taxes paid 0 5
Capital expenditures incurred but not yet paid 338 90
Assets received for research and development revenue earned 1,350 0
Cash reconciliation:    
Cash and cash equivalents 129,506 75,649
Restricted cash, current and non-current 2,104 1,681
Total cash, cash equivalents and restricted cash $ 131,610 $ 77,330
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.21.2
Description of Business
6 Months Ended
Jun. 30, 2021
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Description of Business Description of Business
In these notes to the unaudited condensed consolidated financial statements, the “Company,” “we,” “us,” and “our” refers to Codexis, Inc. and its subsidiaries on a consolidated basis.
We discover, develop and sell enzymes and other proteins that deliver value to our clients in a growing set of industries. We view proteins as a vast, largely untapped source of value-creating products, and we are using our proven technologies, which we have been continuously improving since our inception in 2002, to commercialize an increasing number of novel enzymes, both as proprietary Codexis products and in partnership with our customers.
We are a pioneer in harnessing computational technologies to drive biology advancements. Since 2002, we have made substantial investments in the development of our CodeEvolver® protein engineering technology platform, the primary source of our competitive advantage. Our technology platform is powered by proprietary, artificial intelligence-based, computational algorithms that rapidly mine the structural and performance attributes of our large and continuously growing library of protein variants. These computational outputs enable increasingly reliable predictions for next generation protein variants to be engineered, enabling time- and cost-efficient delivery of the targeted performance enhancements. In addition to its computational prowess, our CodeEvolver® protein engineering technology platform integrates additional modular competencies, including robotic high-throughput screening and genomic sequencing, organic chemistry and bioprocess development which are all coordinated to rapidly innovate novel, fit-for-purpose products.
The core historical application of the technology has been in developing commercially viable biocatalytic manufacturing processes for more sustainable production of complex chemicals. This begins by conceptually designing the most cost-effective and practical process for a targeted product. We then develop optimized biocatalysts to enable the designed process, using our CodeEvolver® platform. Engineered biocatalyst candidates, numbering many thousands for each project, are then rapidly screened and validated using high throughput methods under process-relevant operating conditions. This approach results in an optimized biocatalyst that enables cost-efficient processes that are relatively simple to run in conventional manufacturing equipment. This also allows for efficient technical transfer of our processes to our manufacturing partners.
The successful embodiment of our CodeEvolver® protein engineering technology platform in commercial manufacturing processes requires well-integrated expertise in a number of technical disciplines. In addition to those competencies directly integrated in our CodeEvolver® protein engineering platform, such as molecular biology, enzymology, microbiology, cellular engineering, metabolic engineering, bioinformatics, biochemistry and high throughput analytical chemistry, our process development projects also involve integrated expertise in organic chemistry, chemical process development, chemical engineering, bioprocess development and fermentation engineering. Our integrated, multi-disciplinary approach to product and process development is a critical success factor for the Company.
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the manufacture of small molecule pharmaceuticals, which remains a primary business focus. Our customers, which include many large, global pharmaceutical companies, use our technology, products and services in their process development and in manufacturing. Additionally, we have licensed our proprietary CodeEvolver® protein engineering technology platform to global pharmaceutical companies enabling them to use this technology, in house, to engineer enzymes for their own businesses. Most recently, in May 2019, we entered into a Platform Technology Transfer and License Agreement (the “Novartis CodeEvolver® Agreement”) with Novartis. The Novartis CodeEvolver® Agreement (our third such agreement with large pharma companies) allows Novartis to use our proprietary CodeEvolver® protein engineering platform technology in the field of human healthcare.
As evidence of our strategy to extend our technology beyond pharmaceutical manufacturing, we have also used the technology to develop biocatalysts and enzyme products for use in a broader set of industrial markets, including several large verticals, such as food, feed, consumer care and fine chemicals. In addition, we are using our technology to develop enzymes for various life science related applications, such as next generation sequencing (“NGS”) and polymerase chain reaction (“PCR/qPCR”) for in vitro molecular diagnostic and genomic research applications. In December 2019, we entered into a license agreement to provide Roche Sequencing Solutions, Inc. with our first enzyme for this target market: the Company’s EvoT4™ DNA ligase. In June 2020, we entered into a co-marketing and enzyme supply collaboration agreement with Alphazyme LLC for the production and co-marketing of enzymes for life science applications including, initially, high-fidelity DNA polymerase, T7 RNA polymerase and reverse transcriptase enzymes.
We have been using the CodeEvolver® protein engineering technology platform to develop early stage, novel biotherapeutic product candidates, both in partnership with customers and for our own proprietary Codexis drug candidates. Our first program was for the potential treatment of phenylketonuria ("PKU") in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In October 2017, we entered into a Global Development, Option and License Agreement (the “Nestlé License Agreement”) with Societé des Produits Nestlé S.A., formerly known as Nestec Ltd. (“Nestlé Health Science”) to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of PKU. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive license to develop and commercialize CDX-6114. Also in October 2017, we entered into a strategic collaboration agreement with Nestlé Health Science (“Nestlé SCA”) pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver® platform technology to develop other novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. In January 2020, we entered into a development agreement with Nestlé Health Science to advance a new lead candidate discovered under the Nestlé SCA, CDX-7108, into preclinical development and early clinical studies as a potential treatment for a gastrointestinal disorder. In parallel, the Nestlé SCA was extended through December 2021 to support the discovery of therapeutic candidates for additional disorders. In March 2020, we entered into a Strategic Collaboration and License Agreement (“Takeda Agreement”) with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Company Limited (“Takeda”), for the research and development of novel gene therapies for certain disease indications, including the treatment of lysosomal storage disorders and a blood factor deficiency.
In June 2020, we entered into a Master Collaboration and Research Agreement (the “MAI Agreement”) with Molecular Assemblies, Inc ("MAI") pursuant to which we are leveraging our CodeEvolver® platform technology to improve the DNA polymerase enzymes that are critical for enzymatic DNA synthesis. Concurrently with the MAI Agreement, we entered into a Stock Purchase Agreement with MAI pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million and, in connection with the transaction, John Nicols, our President and Chief Executive Officer, joined MAI’s board of directors. In April 2021, we purchased an additional 1,000,000 shares of MAI's Series A preferred stock for $0.6 million.
See Note 12 "Segment, Geographical and Other Revenue Information" for additional information.
Below are brief descriptions of our business segments:
Performance Enzymes
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the manufacture of small molecule pharmaceuticals and, to date, this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food, feed, consumer care, and fine chemicals. We also use our technology in the life sciences markets to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications, as well DNA/RNA synthesis and health monitoring applications.
Novel Biotherapeutics
We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver® protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity.
Our first lead program was for the potential treatment of PKU in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In October 2017, we announced a global development, option and license agreement with Nestlé Health Science to advance CDX-6114, our own novel orally administrable enzyme therapeutic candidate for the potential treatment of PKU. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU. As a result of the option exercise, we earned a milestone and recognized $3.0 million in revenues in the first quarter of 2019. Upon exercising its option, Nestlé Health Science assumed all responsibilities for future clinical development and commercialization of CDX-6114.
In October 2017, we entered into the Nestlé SCA pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver® platform technology to develop other novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. The Nestlé SCA was extended through December 2021. In January 2020,
we and Nestlé Health Science entered into a development agreement pursuant to which we and Nestlé Health Science are collaborating to advance into preclinical and early clinical studies a lead candidate targeting a gastrointestinal disorder, CDX-7108, discovered through the Nestlé SCA. During 2021, we, together with Nestlé Health Science, continued to advance CDX-7108 towards initiation of a Phase 1 clinical trial which we anticipate will begin in the fourth quarter of 2021. Additionally, the parties are progressing three programs under the Nestlé SCA targeting different gastrointestinal disorders.
In March 2020, we entered into the Takeda Agreement pursuant to which we are collaborating to research and develop protein sequences for use in gene therapy products for certain disease indications in accordance with the respective program plans for Fabry Disease, Pompe Disease, and an undisclosed blood factor deficiency. In March 2020, we received a one-time, non-refundable cash payment of $8.5 million. Of these programs, the Fabry disease program is the most advanced, with multiple sequences, including CDX-6311, having been provided to Takeda. In May 2021, Takeda elected to exercise their option to expand the collaboration into a fourth program for an undisclosed rare genetic disorder.
Business Update Regarding COVID-19
We are subject to risks and uncertainties as a result of the current COVID-19 pandemic. The COVID-19 pandemic has presented a substantial public health and economic challenge around the world and is affecting our employees, communities and business operations, as well as the U.S. economy and other economies worldwide. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition will depend on future developments that are highly uncertain and may not be accurately predicted, including the duration and severity of the pandemic and the extent and severity of the impact on our customers, new information that may emerge concerning COVID-19, the actions taken to contain it or treat its impact and the economic impact on local, regional, national and international markets.
To date, we and our collaboration partners have been able to continue to supply our enzymes to our customers worldwide. However, we are dependent on our manufacturing and logistics partners and consequently, disruptions in operations of our partners and customers may affect our ability to supply enzymes to our customers. Furthermore, our ability to provide future research and development ("R&D") services will continue to be impacted as a result of governmental orders and any disruptions in operations of our customers with whom we collaborate. We believe that these disruptions have had a minimal impact on revenue for the three and six months ended June 30, 2021. The extent to which the pandemic may impact our business operations and operating results will continue to remain highly dependent on future developments, which are uncertain and cannot be predicted with confidence.
In the U.S., the impact of COVID-19, including governmental orders ("Orders") governing the operation of businesses during the pandemic, caused the temporary closure of our Redwood City, California facilities and has disrupted our R&D operations. R&D operations for several projects were temporarily suspended from mid-March 2020 through the end of April 2020 in accordance with these Orders. In May 2020, we initiated limited R&D operations and have ramped up operations such that we are currently utilizing the majority of our normal R&D capacity while following county, state and federal COVID-19 guidance for the protection of our employees. Additionally, we resumed manufacturing at our Redwood City pilot plant in May 2020.
Our future results of operations and liquidity could be adversely impacted by delays in payments of outstanding receivable amounts beyond normal payment terms, supply chain disruptions and uncertain demand, and the impact of any initiatives or programs that we may undertake to address financial and operations challenges faced by our customers. The near and long term impact of COVID-19 to our financial condition, liquidity, or results of operations in the future remains uncertain. Although some of the Orders that were enacted to control the spread of COVID-19 were scaled back and the vaccine rollout has expanded, surges in the spread of COVID-19 due to the emergence of new more contagious variants or the ineffectiveness of the vaccines against such strains, may result in the reimplementation of certain Orders, which could adversely impact our business. For additional information on the various risks posed by the COVID-19 pandemic, please read Item 1A. Risk Factors included in our Annual Report on Form 10-K, for the fiscal year ended December 31, 2020, filed on March 1, 2021.
XML 18 R8.htm IDEA: XBRL DOCUMENT v3.21.2
Basis of Presentation and Summary of Significant Accounting Policies
6 Months Ended
Jun. 30, 2021
Accounting Policies [Abstract]  
Basis of Presentation and Summary of Significant Accounting Policies Basis of Presentation and Summary of Significant Accounting Policies
Basis of Presentation and Principles of Consolidation
The accompanying Unaudited Condensed Consolidated Financial Statements have been prepared in accordance with generally accepted accounting principles in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information but does not include all the information and notes required by GAAP for complete financial statements. These interim Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2020. The condensed consolidated balance sheet at
December 31, 2020 has been derived from the audited consolidated financial statements at that date, but does not include all disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the Unaudited Condensed Consolidated Financial Statements for the three and six months ended June 30, 2021 and 2020, are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2020 Annual Report on Form 10-K and are updated below as necessary. There have been no significant changes in our significant accounting policies or critical accounting estimates since December 31, 2020.
Certain prior year amounts have been reclassified in the Unaudited Condensed Statements of Cash Flows to conform to the 2021 presentation, however these reclassifications had no effect on the reported results of of operations.
The Unaudited Condensed Consolidated Financial Statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of June 30, 2021, results of our operations for the three and six months ended June 30, 2021 and 2020, changes in stockholders' equity for the three and six months ended June 30, 2021 and 2020, and cash flows for the six months ended June 30, 2021 and 2020. The interim results are not necessarily indicative of the results for any future interim period or for the entire year.
The Unaudited Condensed Consolidated Financial Statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, inventories, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the consolidated financial statements. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain, and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.
Financial Statement Exclusion
The net loss in the Unaudited Condensed Consolidated Statements of Operations for the three and six months ended June 30, 2021 and 2020, is not different from the Unaudited Condensed Consolidated Statements of Comprehensive Loss for the same periods. Accordingly, the Unaudited Condensed Consolidated Financial Statements exclude the Unaudited Condensed Consolidated Statements of Comprehensive Loss for the three and six months ended June 30, 2021 and 2020.
Accounting Pronouncements
Recently adopted accounting pronouncements
In December 2019, the Financial Accounting Standards Board ("FASB") issued ASU No. 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes which is intended to simplify various aspects related to accounting for income taxes. We adopted the standard on January 1, 2021, on a modified retrospective basis. The adoption of this standard had no impact on our Unaudited Condensed Consolidated Financial Statements.
In October 2020, the FASB issued ASU No. 2020-10, Codification Improvements. ASU 2020-10 provides amendments to a wide variety of topics in the FASB’s Accounting Standards Codification, which applies to all reporting entities within the scope of the affected accounting guidance. We adopted the standard on January 1, 2021 on a retrospective basis. The adoption of this standard had no impact on our Unaudited Condensed Consolidated Financial Statements.
Recently issued accounting pronouncements not yet adopted
From time to time, new accounting pronouncements are issued by the FASB or other standards setting bodies that are adopted by us as of the specified effective date. Unless otherwise discussed, we believe that the recently issued standards that are not yet effective will not have a material impact on our Unaudited Condensed Consolidated Financial Statements upon adoption.
In May 2021, FASB issued ASU No. 2021-04, Earnings Per Share (Topic 260), Debt—Modifications and Extinguishments (Subtopic 470-50), Compensation—Stock Compensation (Topic 718), and Derivatives and Hedging—Contracts in Entity’s Own Equity (Subtopic 815-40), Issuer’s Accounting for Certain Modifications or Exchanges of Freestanding Equity-Classified Written Call Options, a consensus of the Emerging Issues Task Force. The standard establishes a principles-based framework in accounting for modifications of freestanding equity-classified written call options on the basis of the economic substance of the underlying transaction. The standard also requires incremental financial statement disclosures. The standard affects entities that present earnings per share in accordance with the guidance in Topic 260, Earnings Per Share. The standard is effective for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years with early adoption is permitted by applying the standard as of the beginning of the fiscal year that includes that interim period. The standard may be adopted prospectively for modifications or exchanges occurring on or after the effective date. We will evaluate modifications of equity-classified written call options to determine applicability of the standard on occurrence; however, we believe that the adoption of ASU 2021-04 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures.
In August 2020, FASB issued ASU No. 2020-06 Debt—Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging— Contracts in Entity’s Own Equity (Subtopic 815-40) No. 2020-06 August 2020 Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity, to reduce the complexity and to simplify the accounting for convertible debt instruments and convertible preferred stock, and the derivatives scope exception for contracts in an entity's own equity. In addition, the guidance on calculating diluted earnings per share has been simplified and made more internally consistent. The standard is effective for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years with early adoption permitted for fiscal years beginning December 15, 2020. The standard may be adopted on a modified retrospective or fully retrospective method of transition and on adoption, entities may irrevocably elect the fair value option in accordance with Subtopic 825-10, Financial Instruments—Overall, for any financial instrument that is a convertible security. We believe that the adoption of ASU 2020-06 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures.
In March 2020, the FASB issued ASU No. 2020-04, Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting. The standard provides optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions in which the reference LIBOR or another reference rate are expected to be discontinued as a result of the Reference Rate Reform. The standard is effective for all entities and can be adopted no later than December 1, 2022, with early adoption permitted. The standard may be adopted on a prospective basis. We will evaluate transactions or contract modifications occurring as a result of reference rate reform and determine whether to elect optional expedients for contract modification; however, we believe that the adoption of ASU 2020-04 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures.
There have been no other recent accounting pronouncements or changes in accounting pronouncements during the three and six months ended June 30, 2021, as compared to the recent accounting pronouncements described in herein, that are of significance or potential significance to us.
XML 19 R9.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition
6 Months Ended
Jun. 30, 2021
Revenue from Contract with Customer [Abstract]  
Revenue Recognition Revenue Recognition
Disaggregation of Revenue
The following table provides information about disaggregated revenue from contracts with customers into the nature of the products and services, and geographic regions, and includes a reconciliation of the disaggregated revenue with reportable segments. The geographic regions that are tracked are the Americas (United States, Canada, and Latin America), EMEA (Europe, Middle East, and Africa), and APAC (Australia, New Zealand, Southeast Asia, and China).
Segment information is as follows (in thousands):
Three months ended June 30, 2021Three months ended June 30, 2020
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
       Product Revenue$14,717 $— $14,717 $4,504 $— $4,504 
Research and development revenue6,868 3,868 10,736 3,002 7,461 10,463 
Total revenues$21,585 $3,868 $25,453 $7,506 $7,461 $14,967 
Primary geographical markets:
Americas
3,703 2,141 $5,844 $1,173 $5,733 $6,906 
EMEA
4,442 1,727 6,169 1,586 1,728 3,314 
APAC
13,440 — 13,440 4,747 — 4,747 
Total revenues$21,585 $3,868 $25,453 $7,506 $7,461 $14,967 
Six months ended June 30, 2021Six months ended June 30, 2020
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
       Product Revenue$24,943 $— $24,943 $9,604 $— $9,604 
Research and development revenue10,872 7,670 18,542 8,775 11,258 20,033 
Total revenues$35,815 $7,670 $43,485 $18,379 $11,258 $29,637 
Primary geographical markets:
Americas
$6,574 $4,199 $10,773 $4,171 $7,960 $12,131 
EMEA
8,979 3,471 12,450 5,987 3,298 9,285 
APAC
20,262 — 20,262 8,221 — 8,221 
Total revenues$35,815 $7,670 $43,485 $18,379 $11,258 $29,637 
Contract Balances
The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):
June 30, 2021December 31, 2020
Contract assets$4,528 $4,526 
Unbilled receivables$12,417 $10,942 
Contract costs$86 $90 
Contract liabilities: deferred revenue$5,479 $4,791 

We had no asset impairment charges related to financial assets in the three and six months ended June 30, 2021 and 2020.
Contract assets remained unchanged as of June 30, 2021 and December 31, 2020. The increase in unbilled receivables was primarily due to the timing of billings. The increase in deferred revenue was primarily due to cash advances received in excess of revenue recognized.
We recognized the following revenues (in thousands):
Three months ended June 30,Six months ended June 30,
Revenue recognized in the period for:2021202020212020
Amounts included in contract liabilities at the beginning of the period:
     Performance obligations satisfied$1,239 $4,272 $1,391 $57 
Changes in the period:
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods4,306 1,357 4,336 637 
Performance obligations satisfied from new activities in the period - contract revenue19,908 9,338 37,758 28,943 
Total revenues$25,453 $14,967 $43,485 $29,637 
Performance Obligations
The following table includes estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of June 30, 2021.
The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts as of June 30, 2021 (in thousands):
Remainder of 2021202220232024 and ThereafterTotal
Product revenue$— $67 $67 $1,843 $1,977 
Research and development revenue1,568 1,388 546 — 3,502 
Total revenues$1,568 $1,455 $613 $1,843 $5,479 
XML 20 R10.htm IDEA: XBRL DOCUMENT v3.21.2
Net Loss per Share
6 Months Ended
Jun. 30, 2021
Earnings Per Share [Abstract]  
Net Loss per Share Net Loss per Share
Basic net loss per share is computed by dividing the net loss by the weighted-average number of shares of common stock outstanding, less restricted stock awards (“RSAs”) subject to forfeiture. Diluted net loss per share is computed by dividing net loss by the weighted-average number of shares of common stock shares outstanding, less RSAs subject to forfeiture, plus all additional common shares that would have been outstanding, assuming dilutive potential common stock shares had been issued for other dilutive securities.
Anti-Dilutive Securities
In periods of net loss, the weighted average number of shares outstanding, prior to the application of the treasury stock method, excludes potentially dilutive securities from the computation of diluted net loss per common share because including such shares would have an anti-dilutive effect.
The following shares were not considered in the computation of diluted net loss per share because their effect was anti-dilutive (in thousands):
 Three months ended June 30,Six months ended June 30,
 2021202020212020
Shares issuable under the Equity Incentive Plan5,3665,2895,3665,289
XML 21 R11.htm IDEA: XBRL DOCUMENT v3.21.2
Investments in Non-Marketable Securities
6 Months Ended
Jun. 30, 2021
Investments, Debt and Equity Securities [Abstract]  
Investments in Non-Marketable Securities Investments in Non-Marketable Securities
Non-Marketable Debt Securities
We classify non-marketable debt securities, which are accounted for as available-for-sale, within Level 3 in the fair value hierarchy because we estimate the fair value based on a qualitative analysis using the most recent observable transaction price and other significant unobservable inputs including volatility, rights, and obligations of the securities we hold.
We determine gains or losses on the sale or extinguishment of non-marketable debt securities using a specific identification method. Unrealized gains and losses from bifurcated embedded derivatives, which represent share-settled redemption features, are recorded as other expense, net, in the unaudited condensed consolidated statements of operations. Unrealized gains and losses on non-marketable debt securities are recorded as a component of other comprehensive loss until realized. Realized gains or losses are recorded as a component of other income (expense), net.
In the three and six months ended June 30, 2021, we recognized $0.2 million and $0.3 million, respectively, in interest income from amortization of debt discount and interest earned on our investment in non-marketable debt security, and $57.5 thousand in other income and $10.5 thousand in other expense, respectively, in other income (expense), net, on the change in the fair value of an embedded bifurcated derivative. We recognized no unrealized or realized gains or losses during the three and six months ended June 30, 2021. We recognized no interest income, other expenses, and unrealized or realized gains or losses during the three and six months ended June 30, 2020.
The following table presents balances of the adjusted cost and carrying value and fair value of non-marketable debt security by contractual maturity (in thousands):
 June 30, 2021
Adjusted Cost and Carrying ValueFair Value
Non-marketable debt security due in 1 year or less$1,289 $1,289 
December 31, 2020
Adjusted Cost and Carrying ValueFair Value
Non-marketable debt security due in 1 year or less$1,000 $1,000 
Non-Marketable Equity Securities
Non-marketable equity securities are investments in privately held companies without readily determinable market value. We measure investments in non-marketable equity securities without a readily determinable fair value using a measurement alternative that measures these securities at the cost method minus impairment, if any, plus or minus changes resulting from observable price changes on a non-recurring basis. The fair value of non-marketable equity securities that have been remeasured due to impairment are classified within Level 3. We adjust the carrying value of non-marketable equity securities which have been remeasured during the period and recognize resulting gains or losses as a component of other income (expense), net. We recognized no unrealized or realized gain or losses during the three and six months ended June 30, 2021 and 2020.
The following table presents balances of the carrying value of non-marketable equity securities (in thousands):
 June 30, 2021December 31, 2020
Non-marketable equity securities$3,430 $1,450 
XML 22 R12.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurements
6 Months Ended
Jun. 30, 2021
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
The following tables present the financial instruments that were measured at fair value on a recurring basis within the fair value hierarchy (in thousands):
 June 30, 2021
 Level 1Level 2Level 3Total
Money market funds $111,083 $— $— $111,083 
Non-marketable debt security— — 1,289 1,289 
     Total$111,083 $— $1,289 $112,372 
 December 31, 2020
 Level 1Level 2Level 3Total
Money market funds $127,567 $— $— $127,567 
Non-marketable debt security— — 1,000 1,000 
     Total$127,567 $— $1,000 $128,567 
The fair value of non-marketable securities remeasured due to impairment would be classified within Level 3. During the three and six months ended June 30, 2021 and 2020, we did not recognize any significant credit losses nor other-than-temporary impairment losses on non-marketable securities. The carrying value of our non-marketable securities approximated fair value.
XML 23 R13.htm IDEA: XBRL DOCUMENT v3.21.2
Balance Sheets Details
6 Months Ended
Jun. 30, 2021
Balance Sheets Details [Abstract]  
Balance Sheets Details Balance Sheets Details
Cash Equivalents
Cash equivalents as of June 30, 2021 and December 31, 2020, consisted of the following (in thousands):
 June 30, 2021December 31, 2020
 Adjusted CostEstimated Fair ValueAdjusted CostEstimated Fair Value
Money market funds (1)
$111,083 $111,083 $127,567 $127,567 
(1) Money market funds are classified in cash and cash equivalents on our consolidated balance sheets. Average Contractual Maturities (in days) is not applicable.
As of June 30, 2021, the total cash and cash equivalents balance of $129.5 million was comprised of money market funds of $111.1 million and cash of $18.4 million held with major financial institutions. As of December 31, 2020, the total cash and cash equivalents balance of $149.1 million was comprised of money market funds of $127.6 million and cash of $21.5 million held with major financial institutions.
Inventories
Inventories consisted of the following (in thousands):
June 30, 2021December 31, 2020
Raw materials$49 $77 
Work-in-process98 82 
Finished goods931 805 
    Inventories$1,078 $964 
Inventories includes reserves of $1.5 million as of June 30, 2021 and December 31, 2020.
Property and Equipment, net
Property and equipment, net consisted of the following (in thousands):
June 30, 2021December 31, 2020
Laboratory equipment$28,623 $25,468 
Leasehold improvements10,785 10,785 
Computer equipment and software3,283 3,192 
Office equipment and furniture1,246 1,246 
Construction in progress1,736 2,357 
Property and equipment45,673 43,048 
       Less: accumulated depreciation and amortization(34,441)(33,373)
     Property and equipment, net$11,232 $9,675 
Depreciation expense included in the Unaudited Condensed Consolidated Statements of Operations was follows (in thousands):
Three months ended June 30,Six months ended June 30,
2021202020212020
Depreciation Expense$716 $462 $1,375 $900 
Goodwill
Goodwill had a carrying value of $3.2 million as of June 30, 2021 and December 31, 2020.
Other Accrued Liabilities
Other accrued liabilities consisted of the following (in thousands):
June 30, 2021December 31, 2020
Accrued purchases $5,107 $7,170 
Accrued professional and outside service fees3,899 2,589 
Other76 513 
     Total$9,082 $10,272 
XML 24 R14.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-based Compensation
6 Months Ended
Jun. 30, 2021
Share-based Payment Arrangement [Abstract]  
Stock-based Compensation Stock-based Compensation
Equity Incentive Plans
In 2019, our board of directors (the "Board") and stockholders approved the 2019 Incentive Award Plan (the "2019 Plan"). The 2019 Plan superseded and replaced in its entirety our 2010 Equity Incentive Plan (the “2010 Plan”) which was effective in March 2010, and no further awards will be granted under the 2010 Plan; however, the terms and conditions of the 2010 Plan will continue to govern any outstanding awards thereunder.
The 2019 Plan provides for the grant of stock options, including incentive stock options and non-qualified stock options, stock appreciation rights, restricted stock awards ("RSAs"), restricted stock units ("RSUs"), performance-contingent restricted stock units ("PSUs"), performance based options ("PBOs"), other stock or cash based awards and dividend equivalents to eligible employees and consultants of the Company or any parent or subsidiary, as well as members of the Board.
The number of shares of our common stock available for issuance under the 2019 Plan is equal to the sum of (i) 7,897,144 shares, and (ii) any shares subject to awards granted under the 2010 Plan that were outstanding as of April 22, 2019 and thereafter terminate, expire, lapse or are forfeited; provided that no more than 14,000,000 shares may be issued upon the exercise of incentive stock options (“ISOs”). In June 2019, 8.1 million shares authorized for issuance under the 2019 Plan were registered under the Securities Act of 1933, as amended (the “Securities Act”).
The 2010 Plan provided for the grant of incentive stock options, non-statutory stock options, RSUs, RSAs, PSUs, PBOs, stock appreciation rights, and stock purchase rights to our employees, non-employee directors and consultants.
Stock Options
The option exercise price for incentive stock options must be at least 100% of the fair value of our common stock on the date of grant and the option exercise price for non-statutory stock options is at least 85% of the fair value of our common stock on the date of grant, as determined by the Board. If, at the time of a grant, the optionee directly or by attribution owns stock possessing more than 10% of the total combined voting power of all of our outstanding capital stock, the exercise price for these options must be at least 110% of the fair value of the underlying common stock. Stock options granted to employees generally have a maximum term of ten years and vest over four years from the date of grant, of which 25% vest at the end of one year, and 75% vest monthly over the remaining three years. We may grant options with different vesting terms from time to time. Unless an employee's termination of service is due to disability or death, upon termination of service, any unexercised vested options will be forfeited at the end of three months or the expiration of the option, whichever is earlier.
Restricted Stock Units ("RSUs")
We also grant employees RSUs, which generally vest over either a three year period with 33% of the shares subject to the RSUs vesting on each yearly anniversary of the vesting commencement date or over a four year period with 25% of the shares subject to the RSU vesting on each yearly anniversary of the vesting commencement date, in each case contingent upon such employee’s continued service on such vesting date. RSUs are generally subject to forfeiture if employment terminates prior to the release of vesting restrictions. We may grant RSUs with different vesting terms from time to time.
Performance-contingent Restricted Stock Units ("PSUs") and Performance Based Options ("PBOs")
The compensation committee of the Board approved, solely in respect of non-executive employees, delegated to our Chief Executive Officer the authority to approve grants of PSUs. The compensation committee of the Board also approved grants of PBOs and PSUs to our executives. The PSUs and PBOs vest based upon both the successful achievement of certain corporate operating milestones in specified timelines and continued employment through the applicable vesting date. When the performance goals are deemed to be probable of achievement for these types of awards, recognition of stock-based compensation expense commences. Once the number of shares eligible to vest is determined, those shares vest in two equal installments with 50% vesting upon achievement and the remaining 50% vesting on the first anniversary of achievement, in each case, subject to the recipient’s continued service through the applicable vesting date. If the performance goals are achieved at the threshold level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to half the number of PSUs granted and one-quarter the number of shares underlying the PBOs granted. If the performance goals are achieved at the target level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to the number of PSUs granted and half of the shares underlying the PBOs granted. If the performance goals are achieved at the superior level, the number of shares eligible to vest in respect of the PSUs would be equal to two times the number of PSUs granted and equal to the number of PBOs granted. The number of shares issuable upon achievement of the performance goals at the levels between the threshold and target levels for the PSUs and PBOs or between the target level and superior levels for the PSUs would be determined using linear interpolation. Achievement below the threshold level would result in no shares being eligible to vest in respect of the PSUs and PBOs.
In the first quarter of 2021, we awarded PSUs ("2021 PSUs") and PBOs ("2021 PBOs"), each of which commence vesting based upon the achievement of various weighted performance goals, including corporate revenue, performance enzyme segment gross margin, major new biotherapeutics publicity events, strategic performance enzyme and biotherapeutics deliverables, safety, and technology and strategic plan development. As of June 30, 2021, we estimated that the 2021 PSUs and 2021 PBOs performance goals would be achieved at 136% and 68% of the target level, respectively, and recognized expenses accordingly.
In 2020, we awarded PSUs ("2020 PSUs") and PBOs ("2020 PBOs"), each of which commenced vesting based upon the achievement of various weighted performance goals, including corporate revenue, performance enzyme segment gross margin, major new biotherapeutics publicity events, strategic performance enzyme and biotherapeutics deliverables, and strategic plan development. In the first quarter of 2021, we determined that the 2020 PSUs and 2020 PBOs performance goals had been achieved at 88% of the target level, and recognized expenses accordingly. Accordingly, 50% of the shares underlying the 2020 PSUs and PBOs vested in the first quarter of 2021 and 50% of the shares underlying the 2020 PSUs and PBOs will vest in the first quarter of 2022, in each case, subject to the recipient’s continued service on each vesting date.
In 2019, we awarded PSUs ("2019 PSUs") and PBOs ("2019 PBOs"), each of which commenced vesting based upon the achievement of various weighted performance goals, including sustained revenue and performance enzyme growth, strategic advancement of biotherapeutics, cash balance and strategic plan development. In the first quarter of 2020, we determined that the 2019 PSUs and 2019 PBOs performance goals had been achieved at 84% of the target level, and recognized expenses accordingly. Accordingly, 50% of the shares underlying the 2019 PSUs and PBOs vested in the first quarter of 2020 and 50%
of the shares underlying the 2019 PSUs and PBOs vested in the first quarter of 2021, in each case, subject to the recipient’s continued service on each vesting date.
Stock-Based Compensation Expense
Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2021202020212020
Research and development $597 $471 $1,074 $894 
Selling, general and administrative2,247 1,468 4,457 3,214 
   Total$2,844 $1,939 $5,531 $4,108 

The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2021202020212020
Stock options$682 $575 $1,347 $1,116 
RSUs and RSAs690 610 1,232 1,210 
PSUs573 296 1,043 627 
PBOs899 458 1,909 1,155 
   Total$2,844 $1,939 $5,531 $4,108 
As of June 30, 2021, unrecognized stock-based compensation expense, net of expected forfeitures, was $4.8 million related to unvested stock options, $4.7 million related to unvested RSUs and RSAs, $1.9 million related to unvested PSUs, and $3.3 million related to unvested PBOs based on current estimates of the level of achievement. Stock-based compensation expense for these awards will be recognized through the year of 2025.
XML 25 R15.htm IDEA: XBRL DOCUMENT v3.21.2
Capital Stock
6 Months Ended
Jun. 30, 2021
Equity [Abstract]  
Capital Stock Capital Stock
Exercise of Options
For the six months ended June 30, 2021 and June 30, 2020, we issued 212,631 and 32,749 shares, respectively, upon option exercises at a weighted-average exercise price of $8.03 and $6.03 per share, respectively, with net cash proceeds of $1.7 million and $0.2 million, respectively.
Equity Distribution Agreement
We filed a Registration Statement on Form S-3 with the SEC, under which we may sell common stock, preferred stock, debt securities, warrants, purchase contracts, and units from time to time in one or more offerings. The registration statement became effective on May 7, 2021. In May 2021, we entered into an Equity Distribution Agreement ("EDA") with Piper Sandler & Co ("PSC"), under which PSC, as our exclusive agent, at our discretion and at such times that we may determine from time to time, may sell over a three-year period from the execution of the EDA up to a maximum of $50.0 million of shares of our common stock. Under the terms of the EDA, PSC may sell the shares at market prices by any method that is deemed to be an “at the market offering” as defined in Rule 415 under the Securities Act of 1933, as amended.
We are not required to sell any shares at any time during the term of the EDA. The EDA will terminate upon the earlier of: (i) the issuance and sale of all shares through PSC on the terms and conditions of the EDA, or (ii) the termination of the EDA in accordance with its terms. Either party may terminate the EDA at any time upon written notification to the other party in accordance with the EDA, and upon such notification, the offering will terminate. Under no circumstances shall any shares be sold pursuant to the EDA after the date which is three years after the registration statement is first declared effective by the SEC. We agreed to pay PSC a commission of 3% of the gross sales price of any shares sold pursuant to the EDA. With the exception of certain expenses, we will pay PSC up to 8% of the gross sales price of the shares sold pursuant to the EDA for a combined amount of commission and reimbursement of PSC's expenses and fees.
During the three and six months ended June 30, 2021, no shares of our common stock were issued pursuant to the EDA. As of June 30, 2021, $50.0 million of shares remained available under the EDA.
XML 26 R16.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies
6 Months Ended
Jun. 30, 2021
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Operating Leases
Our headquarters are located in Redwood City, California, where we occupy approximately 77,300 square feet of office and laboratory space in multiple buildings within the same business park of Metropolitan Life Insurance Company ("MetLife"). Our lease agreement with MetLife ("RWC Lease") includes approximately 28,200 square feet of space located at 200 and 220 Penobscot Drive, Redwood City, California (the “200/220 Penobscot Space”) and approximately 37,900 square feet of space located at 400 Penobscot Drive, Redwood City, California (the “400 Penobscot Space”) (the 200/220 Penobscot Space and the 400 Penobscot Space are collectively referred to as the “Penobscot Space”), and approximately 11,200 square feet of space located at 501 Chesapeake Drive, Redwood City, California (the “501 Chesapeake Space”).
Until the end of January 2020, we also leased approximately 29,900 square feet of space located at 101 Saginaw Drive, Redwood City, California (the “Saginaw Space”). During January 2020, we subleased approximately 26,500 square feet of the Saginaw Space to Minerva Surgical, Inc. The lease and sublease for the Saginaw Space both expired at the end of January 2020. During the period from February 1, 2020 through April 30, 2020, we subleased approximately 3,400 square feet at 101 Saginaw Drive from Minerva Surgical, Inc. The sublease expired at the end of April 2020.
We entered into the initial lease with MetLife for our facilities in Redwood City in 2004 and the RWC Lease has been amended multiple times since then to adjust the leased space and terms of the Lease. In February 2019, we entered into an Eighth Amendment to the Lease (the “Eighth Amendment”) with MetLife with respect to the Penobscot Space and the 501 Chesapeake Space to extend the term of the Lease for additional periods. Pursuant to the Eighth Amendment, the term of the lease of the Penobscot Space has been extended through May 2027. The lease term for the 501 Chesapeake Space has been extended to May 2029. We have one (1) option to extend the term of the lease for the Penobscot Space for five (5) years, and one (1) separate option to extend the term of the lease for the 501 Chesapeake Space for five (5) years.
We are required to restore certain areas of the Redwood City facilities that we are renting to their original form. We are expensing the asset retirement obligation over the terms of the respective leases. We review the estimated obligation each reporting period and make adjustments if our estimates change. We recorded asset retirement obligations of $0.2 million as of June 30, 2021 and December 31, 2020, which are included in other long-term liabilities in the unaudited condensed consolidated balance sheets. Accretion expense related to our asset retirement obligations was nominal in the three and six months ended June 30, 2021 and 2020.
Pursuant to the terms of the RWC Lease, we exercised our right to deliver a letter of credit in lieu of a security deposit. The letter of credit is collateralized by deposit balances held by the bank in the amount of $1.1 million as of June 30, 2021 and December 31, 2020, and are recorded as non-current restricted cash on the unaudited condensed consolidated balance sheets.
We entered into a short-term office lease in San Carlos, California during the second quarter of 2021 and this lease will expire in April 2022. Our remaining future commitment pursuant to this lease is $0.1 million as of June 30, 2021.
Finance Leases
In December 2016, we entered into a three-year financing lease agreement with a third party supplier for the purchase of laboratory equipment that was partially financed through a finance lease of $0.4 million. The lease became effective upon delivery of the equipment in February 2017, and the term of the three-year lease was from February 2017 and expired in February 2020. This financing agreement was accounted for as a finance lease due to bargain purchase options at the end of the lease. In April 2017, we entered into a three-year financing lease agreement with a third-party supplier for the purchase of information technology equipment for $0.3 million. The effective term of the three-year lease was from May 2017 and expired in April 2020.
Lease and other information
Lease costs, amounts included in measurement of lease obligations and other information related to non-cancellable operating leases and finance leases were as follows (in thousands):
Three months ended June 30,Six months ended June 30,
 2021202020212020
Finance lease costs:
Amortization of right-of-use assets$27$45$53$99 
Interest on lease obligations1
Finance lease costs274653100
Operating lease cost1,033 1,032 2,065 2,100 
Short-term lease costs (1)
10 16 10 47 
Sublease income— — — (55)
Total lease cost (2)
$1,070 $1,094 $2,128 $2,192 
(1) Short-term lease costs on leases with terms of over one month and less than one year.
(2) The Company had no variable lease costs.

Other information:Operating Leases
Weighted-average remaining lease term (in years)6.2 years
Weighted-average discount rate6.6 %
Six months ended June 30,
Cash paid:20212020
Operating cash flows from operating leases$2,093 $774 
Financing cash flows from finance leases$— $60 
As of June 30, 2021, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases are as follows (in thousands):
Years ending December 31,Operating Leases
2021 (remaining 6 months)$2,104 
20224,285 
20234,589 
20244,726 
20254,868 
Thereafter8,626 
Total minimum lease payments29,198 
Less: imputed interest5,534 
Lease obligations$23,664 
Future Lease Commitment
In the first quarter of 2021, we entered into a lease agreement with ARE-San Francisco No. 63, LLC (“ARE”) to lease a portion of a facility comprising approximately 36,593 rentable square feet in San Carlos, California to serve as additional office and research and development laboratory space (the “San Carlos Space”). We expect to commence occupancy of the San Carlos Space in November 2021 once tenant improvements are substantially completed by ARE in accordance with the construction plan. The budget provides a net tenant improvement allowance of $6.3 million and an additional allowance of up to $2.7 million, which we expect to use. ARE will have an enforceable right to payment by us in the form of equal monthly additional rent payments at a certain interest rate through the lease term for the additional allowance. The terms include an initial annualized base rent of $2.5 million, subject to scheduled 3% annual rent increases, an annualized additional allowance
payment of $0.4 million, plus certain operating expenses. The lease has a 10-year term from the lease commencement date with one option to extend the term for an additional period of 5 years. We have provided ARE with a $0.5 million security deposit in the form of a letter of credit. We have the right to sublease the facility, subject to landlord consent. We determined that the lease commencement date is in November 2021 at which point we will record a right of use asset and a corresponding lease liability.
An estimated maturity analysis of the annual undiscounted cash flows of the lease is as follows (in thousands):
Years ending December 31,Operating Lease
2021 (remaining 6 months)$— 
20222,463 
20232,988 
20243,066 
20253,145 
2026 and thereafter20,061 
Total minimum lease payments$31,723 
Other Commitments
We enter into supply and service arrangements in the normal course of business. Supply arrangements are primarily for fixed-price manufacture and supply. Service agreements are primarily for the development of manufacturing processes and certain studies. Commitments under service agreements are subject to cancellation at our discretion which may require payment of certain cancellation fees. The timing of completion of service arrangements is subject to variability in estimates of the time required to complete the work.
The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):
Other Commitment Agreement TypeAgreement DateFuture Minimum Payment
Manufacture and supply agreement with expected future payment date of December 2022April 2016$162 
Development and manufacturing services agreementsSeptember 20191,852 
Total other commitments$2,014 
Credit Facility
In June 30, 2017, we entered into a credit facility (the “Credit Facility”) with Western Alliance Bank consisting of term loans (“Term Debt”) up to $10.0 million, and advances (“Advances”) under a revolving line of credit ("Revolving Line of Credit") up to $5.0 million with an accounts receivable borrowing base of 80% of eligible accounts receivable. As of June 30, 2021 and December 31, 2020, we have not drawn from the Credit Facility. We may draw on the Term Debt and the Revolving Line of Credit at any time prior to October 1, 2021 and October 1, 2024, respectively. On October 1, 2024 loans drawn under the Term Debt mature and the Revolving Line of Credit terminate. Loans made under the Term Debt bear interest through maturity equal to the greater of (i) 3.75% or (ii) the sum of (A) Index Rate (prime rate published in the Money Rates section of the Western Edition of The Wall Street Journal plus (B) 0.50%. Advances made under the Revolving Line of Credit bear interest at a variable annual rate equal to the equal to the greater of (i) 4.25% or (ii) the sum of (A) the prime rate plus (B) 1.00%.
Our obligations under the Credit Facility are secured by a lien on substantially all of our personal property other than our intellectual property. The Credit Facility includes a number of customary covenants and restrictive financial covenants including meeting minimum product revenue levels and maintaining certain minimum cash levels with the lender. The Credit Facility's financial covenants restrict the ability of the Company to transfer collateral, incur additional indebtedness, engage in mergers or acquisitions, pay dividends or make other distributions, make investments, create liens, sell assets, or sell certain assets held at foreign subsidiaries. A failure to comply with these covenants could permit the lender to exercise remedies against us and the collateral securing the Credit Facility, including foreclosure of our properties securing the Credit Facilities and our cash. As of June 30, 2021, we were in compliance with the covenants for the Credit Facility.
The Credit Facility allows for interest-only payments on the Term Debt through November 1, 2022. Monthly payments of principal and interest on the Term Debt are required following the applicable amortization date. We may elect to prepay in full the Term Debt and Advances under the Revolving Line of Credit at any time.
Legal Proceedings
We are not currently a party to any material pending litigation or other material legal proceedings.
Indemnifications
We are required to recognize a liability for the fair value of any obligations we assume upon the issuance of a guarantee. We have certain agreements with licensors, licensees and collaborators that contain indemnification provisions. In such provisions, we typically agree to indemnify the licensor, licensee and collaborator against certain types of third party claims. The maximum amount of the indemnifications is not limited. We accrue for known indemnification issues when a loss is probable and can be reasonably estimated. There were no accruals for expenses related to indemnification issues for any periods presented.
XML 27 R17.htm IDEA: XBRL DOCUMENT v3.21.2
Related Party Transactions
6 Months Ended
Jun. 30, 2021
Related Party Transactions [Abstract]  
Related Party Transactions Related Party Transactions
Molecular Assemblies, Inc.
In June 2020, we entered into a Stock Purchase Agreement with MAI pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million. In connection with the transaction, John Nicols, our President and Chief Executive Officer, also joined MAI’s board of directors. Concurrently with our initial equity investment, we entered into the MAI Agreement with MAI, pursuant to which we are performing services utilizing our CodeEvolver® protein engineering platform technology to improve DNA polymerase enzymes in exchange for compensation in the form of additional shares of MAI's Series A preferred stock. In April 2021, we purchased an additional 1,000,000 shares of MAI's Series A preferred stock for $0.6 million.
We recognized $0.3 million and $0.5 million in research and development revenue from transactions with MAI in the three and six months ended June 30, 2021, respectively, and we recognized no revenue from research and development service transactions with MAI in the three and six months ended June 30, 2020. We received 714,171 and 1,428,342 shares of MAI's Series A preferred stock from research and development services we provided to MAI in the three and six months ended June 30, 2021, respectively, and no shares of MAI's Series A preferred stock from research and development services in the three and six months ended June 30, 2020. As of June 30, 2021, we have 5,443,734 shares of MAI's Series A preferred stock since executing the Stock Purchase Agreement with MAI. The carrying value of our investment in MAI Series A preferred stock was $3.4 million and $1.5 million at June 30, 2021 and December 31, 2020, respectively. We had $0.4 million and nil in deferred revenue as of June 30, 2021 and December 31, 2020, respectively, and nil and $0.5 million in contract asset due from MAI for services rendered as of June 30, 2021 and December 31, 2020, respectively. Payment for the services rendered was received in the form of additional MAI Series A preferred stock.
AstraZeneca PLC
Pam P. Cheng, who served as a member of our board of directors until June 2020, joined AstraZeneca PLC as Executive Vice President, Operations and Information Technology in June 2015. We sold biocatalyst products to AstraZeneca PLC and its controlled purchasing agents and contract manufacturers. We recognized $20 thousand and $0.1 million of revenue from transactions with AstraZeneca and its controlled purchasing agents and contract manufacturers for the three and six months ended June 30, 2020, respectively, and through the date of Ms. Cheng’s departure from our board of directors. As of June 30, 2021 and December 31, 2020, we had no receivables from AstraZeneca PLC and its controlled purchasing agents and contract manufacturers from related party transactions, respectively.
XML 28 R18.htm IDEA: XBRL DOCUMENT v3.21.2
Segment, Geographical and Other Revenue Information
6 Months Ended
Jun. 30, 2021
Segment Reporting [Abstract]  
Segment, Geographical and Other Revenue Information Segment, Geographical and Other Revenue Information
Segment Information
We manage our business as two business segments: Performance Enzymes and Novel Biotherapeutics. Our chief operating decision maker ("CODM") is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company.
We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "Corporate costs." All items not included in income (loss) from operations are excluded from the business segments.
We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment.
Performance Enzymes
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the pharmaceuticals market, and to date this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food and food ingredients, animal feed, flavors, fragrances, and agricultural chemicals. We also use our technology to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications.
Novel Biotherapeutics
We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver® protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity. Most notable is our lead program for the potential treatment of PKU in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient.
We have also developed a pipeline of other biotherapeutic drug candidates, which are in preclinical development, and in which we expect to continue to make additional investments with the aim of advancing additional product candidates targeting other therapeutic areas. In March 2020, we entered into the Takeda Agreement with Takeda under which we will research and develop protein sequences for use in gene therapy products for certain diseases.
Factors considered in determining the two reportable segments of the Company include the nature of business activities, the management structure directly accountable to our CODM for operating and administrative activities, availability of discrete financial information and information presented to the Board of Directors. Our CODM regularly reviews our segments and the approach provided by management for performance evaluation and resource allocation.
Operating expenses that directly support the segment activity are allocated based on segment headcount, revenue contribution or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments. This provides the CODM with more meaningful segment profitability reporting to support operating decisions and allocate resources.
The following table provides financial information by our reportable business segments along with a reconciliation to consolidated income (loss) before income taxes (in thousands):
Three months ended June 30, 2021Three months ended June 30, 2020
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$14,717 $— $14,717 $4,504 $— $4,504 
Research and development revenue6,868 3,868 10,736 3,002 7,461 10,463 
Total revenues21,585 3,868 25,453 7,506 7,461 14,967 
Costs and operating expenses:
Cost of product revenue4,318 — 4,318 1,699 — 1,699 
Research and development(1)
5,057 7,194 12,251 4,997 5,490 10,487 
Selling, general and administrative(1)
3,170 620 3,790 2,375 621 2,996 
Total segment costs and operating expenses12,545 7,814 20,359 9,071 6,111 15,182 
Income (loss) from operations$9,040 $(3,946)5,094 $(1,565)$1,350 (215)
Corporate costs (2)
(8,610)(5,316)
Unallocated depreciation and amortization(741)(506)
Loss before income taxes$(4,257)$(6,037)
Six months ended June 30, 2021Six months ended June 30, 2020
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$24,943 $— $24,943 $9,604 $— $9,604 
Research and development revenue10,872 7,670 18,542 8,775 11,258 20,033 
Total revenues35,815 7,670 43,485 18,379 11,258 29,637 
Costs and operating expenses:
Cost of product revenue8,536 — 8,536 4,240 — 4,240 
Research and development(1)
11,502 11,799 23,301 10,693 10,415 21,108 
Selling, general and administrative(1)
5,988 1,221 7,209 4,720 1,213 5,933 
Total segment costs and operating expenses26,026 13,020 39,046 19,653 11,628 31,281 
Income (loss) from operations$9,789 $(5,350)4,439 $(1,274)$(370)(1,644)
Corporate costs (2)
(16,335)(11,042)
Unallocated depreciation and amortization(1,426)(998)
Loss before income taxes$(13,322)$(13,684)
(1) Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling, general and administrative expenses, interest income, and other income (expense), net.
The following table provides stock-based compensation expense included in income (loss) from operations (in thousands):
Three months ended June 30,
20212020
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$1,115 $257 $1,472 $2,844 $741 $252 $946 $1,939 
Six months ended June 30,
20212020
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$2,109 $495 $2,927 $5,531 $1,496 $494 $2,118 $4,108 
Significant Customers
Customers that each accounted for 10% or more of our total revenues were as follows:
Percentage of Total Revenues for the
Three months ended June 30,Six months ended June 30,
2021202020212020
Customer A15%*10%*
Customer B12%***
Customer C12%*13%*
Customer D*16%17%20%
Customer E*38%10%27%
Customer F*12%*11%
Customer G***13%
* Percentage was less than 10%
Customers that each accounted for 10% or more of accounts receivable balances as of the periods presented as follows:
Percentage of Accounts Receivables as of
June 30, 2021December 31, 2020
Customer A20%*
Customer H15%*
Customer B15%*
Customer D14%32%
Customer E10%*
Customer G*25%
Customer F*13%
* Percentage was less than 10%
Geographical Information
Geographic revenues are identified by the location of the customer and consist of the following (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
2021202020212020
Revenues
Americas$5,844 $6,906 $10,773 $12,131 
EMEA6,169 3,314 12,450 9,285 
APAC13,440 4,747 20,262 8,221 
Total revenues$25,453 $14,967 $43,485 $29,637 
Identifiable long-lived assets by location was as follows (in thousands):
June 30, 2021December 31, 2020
United States$31,424 $31,176 
Identifiable goodwill by reporting unit was as follows (in thousands):
As of June 30, 2021 and December 31, 2020
Performance EnzymesNovel BiotherapeuticsTotal
Goodwill$2,463 $778 $3,241 
XML 29 R19.htm IDEA: XBRL DOCUMENT v3.21.2
Allowance for Credit Losses
6 Months Ended
Jun. 30, 2021
Receivables [Abstract]  
Allowance for Credit Losses Allowance for Credit Losses
The following table summarizes the financial assets allowance for credit losses (in thousands):
June 30, 2021December 31, 2020
Allowance for credit losses$74 74 
The following tables summarize accounts receivable by aging category (in thousands):
June 30, 2021
Current31-60 Days61-90 Days91 Days and overTotal balance
Accounts receivable$17,414 $83 $1,602 $389 $19,488 
December 31, 2020
Current31-60 Days61-90 Days91 Days and overTotal balance
Accounts receivable$13,398 $489 $$— $13,894 
XML 30 R20.htm IDEA: XBRL DOCUMENT v3.21.2
Basis of Presentation and Summary of Significant Accounting Policies (Policies)
6 Months Ended
Jun. 30, 2021
Accounting Policies [Abstract]  
Basis of Presentation and Principles of Consolidation
Basis of Presentation and Principles of Consolidation
The accompanying Unaudited Condensed Consolidated Financial Statements have been prepared in accordance with generally accepted accounting principles in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information but does not include all the information and notes required by GAAP for complete financial statements. These interim Unaudited Condensed Consolidated Financial Statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2020. The condensed consolidated balance sheet at
December 31, 2020 has been derived from the audited consolidated financial statements at that date, but does not include all disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the Unaudited Condensed Consolidated Financial Statements for the three and six months ended June 30, 2021 and 2020, are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2020 Annual Report on Form 10-K and are updated below as necessary. There have been no significant changes in our significant accounting policies or critical accounting estimates since December 31, 2020.
Certain prior year amounts have been reclassified in the Unaudited Condensed Statements of Cash Flows to conform to the 2021 presentation, however these reclassifications had no effect on the reported results of of operations.
The Unaudited Condensed Consolidated Financial Statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of June 30, 2021, results of our operations for the three and six months ended June 30, 2021 and 2020, changes in stockholders' equity for the three and six months ended June 30, 2021 and 2020, and cash flows for the six months ended June 30, 2021 and 2020. The interim results are not necessarily indicative of the results for any future interim period or for the entire year.
The Unaudited Condensed Consolidated Financial Statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
Use of Estimates
The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, inventories, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the consolidated financial statements. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain, and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.
Accounting Pronouncements
Accounting Pronouncements
Recently adopted accounting pronouncements
In December 2019, the Financial Accounting Standards Board ("FASB") issued ASU No. 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes which is intended to simplify various aspects related to accounting for income taxes. We adopted the standard on January 1, 2021, on a modified retrospective basis. The adoption of this standard had no impact on our Unaudited Condensed Consolidated Financial Statements.
In October 2020, the FASB issued ASU No. 2020-10, Codification Improvements. ASU 2020-10 provides amendments to a wide variety of topics in the FASB’s Accounting Standards Codification, which applies to all reporting entities within the scope of the affected accounting guidance. We adopted the standard on January 1, 2021 on a retrospective basis. The adoption of this standard had no impact on our Unaudited Condensed Consolidated Financial Statements.
Recently issued accounting pronouncements not yet adopted
From time to time, new accounting pronouncements are issued by the FASB or other standards setting bodies that are adopted by us as of the specified effective date. Unless otherwise discussed, we believe that the recently issued standards that are not yet effective will not have a material impact on our Unaudited Condensed Consolidated Financial Statements upon adoption.
In May 2021, FASB issued ASU No. 2021-04, Earnings Per Share (Topic 260), Debt—Modifications and Extinguishments (Subtopic 470-50), Compensation—Stock Compensation (Topic 718), and Derivatives and Hedging—Contracts in Entity’s Own Equity (Subtopic 815-40), Issuer’s Accounting for Certain Modifications or Exchanges of Freestanding Equity-Classified Written Call Options, a consensus of the Emerging Issues Task Force. The standard establishes a principles-based framework in accounting for modifications of freestanding equity-classified written call options on the basis of the economic substance of the underlying transaction. The standard also requires incremental financial statement disclosures. The standard affects entities that present earnings per share in accordance with the guidance in Topic 260, Earnings Per Share. The standard is effective for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years with early adoption is permitted by applying the standard as of the beginning of the fiscal year that includes that interim period. The standard may be adopted prospectively for modifications or exchanges occurring on or after the effective date. We will evaluate modifications of equity-classified written call options to determine applicability of the standard on occurrence; however, we believe that the adoption of ASU 2021-04 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures.
In August 2020, FASB issued ASU No. 2020-06 Debt—Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging— Contracts in Entity’s Own Equity (Subtopic 815-40) No. 2020-06 August 2020 Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity, to reduce the complexity and to simplify the accounting for convertible debt instruments and convertible preferred stock, and the derivatives scope exception for contracts in an entity's own equity. In addition, the guidance on calculating diluted earnings per share has been simplified and made more internally consistent. The standard is effective for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years with early adoption permitted for fiscal years beginning December 15, 2020. The standard may be adopted on a modified retrospective or fully retrospective method of transition and on adoption, entities may irrevocably elect the fair value option in accordance with Subtopic 825-10, Financial Instruments—Overall, for any financial instrument that is a convertible security. We believe that the adoption of ASU 2020-06 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures.
In March 2020, the FASB issued ASU No. 2020-04, Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting. The standard provides optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions in which the reference LIBOR or another reference rate are expected to be discontinued as a result of the Reference Rate Reform. The standard is effective for all entities and can be adopted no later than December 1, 2022, with early adoption permitted. The standard may be adopted on a prospective basis. We will evaluate transactions or contract modifications occurring as a result of reference rate reform and determine whether to elect optional expedients for contract modification; however, we believe that the adoption of ASU 2020-04 will have no impact on our Unaudited Condensed Consolidated Financial Statements and related disclosures.
There have been no other recent accounting pronouncements or changes in accounting pronouncements during the three and six months ended June 30, 2021, as compared to the recent accounting pronouncements described in herein, that are of significance or potential significance to us.
Segment Information
Segment Information
We manage our business as two business segments: Performance Enzymes and Novel Biotherapeutics. Our chief operating decision maker ("CODM") is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company.
We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "Corporate costs." All items not included in income (loss) from operations are excluded from the business segments. We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment.
XML 31 R21.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition (Tables)
6 Months Ended
Jun. 30, 2021
Revenue from Contract with Customer [Abstract]  
Disaggregation of Revenue
Segment information is as follows (in thousands):
Three months ended June 30, 2021Three months ended June 30, 2020
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
       Product Revenue$14,717 $— $14,717 $4,504 $— $4,504 
Research and development revenue6,868 3,868 10,736 3,002 7,461 10,463 
Total revenues$21,585 $3,868 $25,453 $7,506 $7,461 $14,967 
Primary geographical markets:
Americas
3,703 2,141 $5,844 $1,173 $5,733 $6,906 
EMEA
4,442 1,727 6,169 1,586 1,728 3,314 
APAC
13,440 — 13,440 4,747 — 4,747 
Total revenues$21,585 $3,868 $25,453 $7,506 $7,461 $14,967 
Six months ended June 30, 2021Six months ended June 30, 2020
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
       Product Revenue$24,943 $— $24,943 $9,604 $— $9,604 
Research and development revenue10,872 7,670 18,542 8,775 11,258 20,033 
Total revenues$35,815 $7,670 $43,485 $18,379 $11,258 $29,637 
Primary geographical markets:
Americas
$6,574 $4,199 $10,773 $4,171 $7,960 $12,131 
EMEA
8,979 3,471 12,450 5,987 3,298 9,285 
APAC
20,262 — 20,262 8,221 — 8,221 
Total revenues$35,815 $7,670 $43,485 $18,379 $11,258 $29,637 
Contract with Customer The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):
June 30, 2021December 31, 2020
Contract assets$4,528 $4,526 
Unbilled receivables$12,417 $10,942 
Contract costs$86 $90 
Contract liabilities: deferred revenue$5,479 $4,791 
We recognized the following revenues (in thousands):
Three months ended June 30,Six months ended June 30,
Revenue recognized in the period for:2021202020212020
Amounts included in contract liabilities at the beginning of the period:
     Performance obligations satisfied$1,239 $4,272 $1,391 $57 
Changes in the period:
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods4,306 1,357 4,336 637 
Performance obligations satisfied from new activities in the period - contract revenue19,908 9,338 37,758 28,943 
Total revenues$25,453 $14,967 $43,485 $29,637 
Performance Obligation, Expected Timing of Satisfaction
The following table includes estimated revenue expected to be recognized in the future related to performance obligations that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of June 30, 2021.
The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts as of June 30, 2021 (in thousands):
Remainder of 2021202220232024 and ThereafterTotal
Product revenue$— $67 $67 $1,843 $1,977 
Research and development revenue1,568 1,388 546 — 3,502 
Total revenues$1,568 $1,455 $613 $1,843 $5,479 
XML 32 R22.htm IDEA: XBRL DOCUMENT v3.21.2
Net Loss per Share (Tables)
6 Months Ended
Jun. 30, 2021
Earnings Per Share [Abstract]  
Shares Not Included in Computation of Diluted Net Loss Per Share The following shares were not considered in the computation of diluted net loss per share because their effect was anti-dilutive (in thousands):
 Three months ended June 30,Six months ended June 30,
 2021202020212020
Shares issuable under the Equity Incentive Plan5,3665,2895,3665,289
XML 33 R23.htm IDEA: XBRL DOCUMENT v3.21.2
Investments in Non-Marketable Securities (Tables)
6 Months Ended
Jun. 30, 2021
Investments, Debt and Equity Securities [Abstract]  
Details of Non-marketable Debt Securities The following table presents balances of the adjusted cost and carrying value and fair value of non-marketable debt security by contractual maturity (in thousands):
 June 30, 2021
Adjusted Cost and Carrying ValueFair Value
Non-marketable debt security due in 1 year or less$1,289 $1,289 
December 31, 2020
Adjusted Cost and Carrying ValueFair Value
Non-marketable debt security due in 1 year or less$1,000 $1,000 
Carrying Value of Non-marketable Equity Securities The following table presents balances of the carrying value of non-marketable equity securities (in thousands):
 June 30, 2021December 31, 2020
Non-marketable equity securities$3,430 $1,450 
XML 34 R24.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurements (Tables)
6 Months Ended
Jun. 30, 2021
Fair Value Disclosures [Abstract]  
Summary of Financial Instruments Measured at Fair Value on a Recurring Basis
The following tables present the financial instruments that were measured at fair value on a recurring basis within the fair value hierarchy (in thousands):
 June 30, 2021
 Level 1Level 2Level 3Total
Money market funds $111,083 $— $— $111,083 
Non-marketable debt security— — 1,289 1,289 
     Total$111,083 $— $1,289 $112,372 
 December 31, 2020
 Level 1Level 2Level 3Total
Money market funds $127,567 $— $— $127,567 
Non-marketable debt security— — 1,000 1,000 
     Total$127,567 $— $1,000 $128,567 
XML 35 R25.htm IDEA: XBRL DOCUMENT v3.21.2
Balance Sheets Details (Tables)
6 Months Ended
Jun. 30, 2021
Balance Sheets Details [Abstract]  
Schedule of Cash and Cash Equivalents
Cash equivalents as of June 30, 2021 and December 31, 2020, consisted of the following (in thousands):
 June 30, 2021December 31, 2020
 Adjusted CostEstimated Fair ValueAdjusted CostEstimated Fair Value
Money market funds (1)
$111,083 $111,083 $127,567 $127,567 
(1) Money market funds are classified in cash and cash equivalents on our consolidated balance sheets. Average Contractual Maturities (in days) is not applicable.
Schedule of Inventory Components Inventories consisted of the following (in thousands):
June 30, 2021December 31, 2020
Raw materials$49 $77 
Work-in-process98 82 
Finished goods931 805 
    Inventories$1,078 $964 
Schedule of Property and Equipment, Net Property and equipment, net consisted of the following (in thousands):
June 30, 2021December 31, 2020
Laboratory equipment$28,623 $25,468 
Leasehold improvements10,785 10,785 
Computer equipment and software3,283 3,192 
Office equipment and furniture1,246 1,246 
Construction in progress1,736 2,357 
Property and equipment45,673 43,048 
       Less: accumulated depreciation and amortization(34,441)(33,373)
     Property and equipment, net$11,232 $9,675 
Depreciation expense included in the Unaudited Condensed Consolidated Statements of Operations was follows (in thousands):
Three months ended June 30,Six months ended June 30,
2021202020212020
Depreciation Expense$716 $462 $1,375 $900 
Schedule of Other Accrued Liabilities Other accrued liabilities consisted of the following (in thousands):
June 30, 2021December 31, 2020
Accrued purchases $5,107 $7,170 
Accrued professional and outside service fees3,899 2,589 
Other76 513 
     Total$9,082 $10,272 
XML 36 R26.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-based Compensation (Tables)
6 Months Ended
Jun. 30, 2021
Share-based Payment Arrangement [Abstract]  
Schedule of Stock-based Compensation Expense Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2021202020212020
Research and development $597 $471 $1,074 $894 
Selling, general and administrative2,247 1,468 4,457 3,214 
   Total$2,844 $1,939 $5,531 $4,108 
Schedule of Stock-based Compensation Expense by Security Types The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
 2021202020212020
Stock options$682 $575 $1,347 $1,116 
RSUs and RSAs690 610 1,232 1,210 
PSUs573 296 1,043 627 
PBOs899 458 1,909 1,155 
   Total$2,844 $1,939 $5,531 $4,108 
XML 37 R27.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies (Tables)
6 Months Ended
Jun. 30, 2021
Commitments and Contingencies Disclosure [Abstract]  
Lease Cost
Lease costs, amounts included in measurement of lease obligations and other information related to non-cancellable operating leases and finance leases were as follows (in thousands):
Three months ended June 30,Six months ended June 30,
 2021202020212020
Finance lease costs:
Amortization of right-of-use assets$27$45$53$99 
Interest on lease obligations1
Finance lease costs274653100
Operating lease cost1,033 1,032 2,065 2,100 
Short-term lease costs (1)
10 16 10 47 
Sublease income— — — (55)
Total lease cost (2)
$1,070 $1,094 $2,128 $2,192 
(1) Short-term lease costs on leases with terms of over one month and less than one year.
(2) The Company had no variable lease costs.

Other information:Operating Leases
Weighted-average remaining lease term (in years)6.2 years
Weighted-average discount rate6.6 %
Six months ended June 30,
Cash paid:20212020
Operating cash flows from operating leases$2,093 $774 
Financing cash flows from finance leases$— $60 
Operating Lease Maturity
As of June 30, 2021, our maturity analysis of annual undiscounted cash flows of the non-cancellable operating leases are as follows (in thousands):
Years ending December 31,Operating Leases
2021 (remaining 6 months)$2,104 
20224,285 
20234,589 
20244,726 
20254,868 
Thereafter8,626 
Total minimum lease payments29,198 
Less: imputed interest5,534 
Lease obligations$23,664 
An estimated maturity analysis of the annual undiscounted cash flows of the lease is as follows (in thousands):
Years ending December 31,Operating Lease
2021 (remaining 6 months)$— 
20222,463 
20232,988 
20243,066 
20253,145 
2026 and thereafter20,061 
Total minimum lease payments$31,723 
Schedule of Supply and Service Commitments The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):
Other Commitment Agreement TypeAgreement DateFuture Minimum Payment
Manufacture and supply agreement with expected future payment date of December 2022April 2016$162 
Development and manufacturing services agreementsSeptember 20191,852 
Total other commitments$2,014 
XML 38 R28.htm IDEA: XBRL DOCUMENT v3.21.2
Segment, Geographical and Other Revenue Information (Tables)
6 Months Ended
Jun. 30, 2021
Segment Reporting [Abstract]  
Schedule of Segment Reporting
The following table provides financial information by our reportable business segments along with a reconciliation to consolidated income (loss) before income taxes (in thousands):
Three months ended June 30, 2021Three months ended June 30, 2020
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$14,717 $— $14,717 $4,504 $— $4,504 
Research and development revenue6,868 3,868 10,736 3,002 7,461 10,463 
Total revenues21,585 3,868 25,453 7,506 7,461 14,967 
Costs and operating expenses:
Cost of product revenue4,318 — 4,318 1,699 — 1,699 
Research and development(1)
5,057 7,194 12,251 4,997 5,490 10,487 
Selling, general and administrative(1)
3,170 620 3,790 2,375 621 2,996 
Total segment costs and operating expenses12,545 7,814 20,359 9,071 6,111 15,182 
Income (loss) from operations$9,040 $(3,946)5,094 $(1,565)$1,350 (215)
Corporate costs (2)
(8,610)(5,316)
Unallocated depreciation and amortization(741)(506)
Loss before income taxes$(4,257)$(6,037)
Six months ended June 30, 2021Six months ended June 30, 2020
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$24,943 $— $24,943 $9,604 $— $9,604 
Research and development revenue10,872 7,670 18,542 8,775 11,258 20,033 
Total revenues35,815 7,670 43,485 18,379 11,258 29,637 
Costs and operating expenses:
Cost of product revenue8,536 — 8,536 4,240 — 4,240 
Research and development(1)
11,502 11,799 23,301 10,693 10,415 21,108 
Selling, general and administrative(1)
5,988 1,221 7,209 4,720 1,213 5,933 
Total segment costs and operating expenses26,026 13,020 39,046 19,653 11,628 31,281 
Income (loss) from operations$9,789 $(5,350)4,439 $(1,274)$(370)(1,644)
Corporate costs (2)
(16,335)(11,042)
Unallocated depreciation and amortization(1,426)(998)
Loss before income taxes$(13,322)$(13,684)
(1) Research and development expenses and selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling, general and administrative expenses, interest income, and other income (expense), net.
The following table provides stock-based compensation expense included in income (loss) from operations (in thousands):
Three months ended June 30,
20212020
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$1,115 $257 $1,472 $2,844 $741 $252 $946 $1,939 
Six months ended June 30,
20212020
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$2,109 $495 $2,927 $5,531 $1,496 $494 $2,118 $4,108 
Schedule of Customers that Contributed 10% or More of Total Accounts Receivable
Significant Customers
Customers that each accounted for 10% or more of our total revenues were as follows:
Percentage of Total Revenues for the
Three months ended June 30,Six months ended June 30,
2021202020212020
Customer A15%*10%*
Customer B12%***
Customer C12%*13%*
Customer D*16%17%20%
Customer E*38%10%27%
Customer F*12%*11%
Customer G***13%
* Percentage was less than 10%
Customers that each accounted for 10% or more of accounts receivable balances as of the periods presented as follows:
Percentage of Accounts Receivables as of
June 30, 2021December 31, 2020
Customer A20%*
Customer H15%*
Customer B15%*
Customer D14%32%
Customer E10%*
Customer G*25%
Customer F*13%
* Percentage was less than 10%
Schedule of Revenues by Geographical Area Geographic revenues are identified by the location of the customer and consist of the following (in thousands):
 Three Months Ended June 30,Six Months Ended June 30,
2021202020212020
Revenues
Americas$5,844 $6,906 $10,773 $12,131 
EMEA6,169 3,314 12,450 9,285 
APAC13,440 4,747 20,262 8,221 
Total revenues$25,453 $14,967 $43,485 $29,637 
Schedule of Long-Lived Assets by Geographical Area Identifiable long-lived assets by location was as follows (in thousands):
June 30, 2021December 31, 2020
United States$31,424 $31,176 
Schedule of Intangible Assets and Goodwill Identifiable goodwill by reporting unit was as follows (in thousands):
As of June 30, 2021 and December 31, 2020
Performance EnzymesNovel BiotherapeuticsTotal
Goodwill$2,463 $778 $3,241 
XML 39 R29.htm IDEA: XBRL DOCUMENT v3.21.2
Allowance for Credit Losses (Tables)
6 Months Ended
Jun. 30, 2021
Receivables [Abstract]  
Analysis of Allowance for Credit Losses The following table summarizes the financial assets allowance for credit losses (in thousands):
June 30, 2021December 31, 2020
Allowance for credit losses$74 74 
Summary of Accounts Receivable by Aging
The following tables summarize accounts receivable by aging category (in thousands):
June 30, 2021
Current31-60 Days61-90 Days91 Days and overTotal balance
Accounts receivable$17,414 $83 $1,602 $389 $19,488 
December 31, 2020
Current31-60 Days61-90 Days91 Days and overTotal balance
Accounts receivable$13,398 $489 $$— $13,894 
XML 40 R30.htm IDEA: XBRL DOCUMENT v3.21.2
Description of Business (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 6 Months Ended
Apr. 30, 2021
Jun. 30, 2020
Mar. 31, 2020
Mar. 31, 2019
Jun. 30, 2021
Jun. 30, 2020
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Payments to acquire other investments         $ 630 $ 1,000
Nestle Health Sciences | CDX-6114            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Cumulative catch-up adjustment to revenue, change in measure of progress       $ 3,000    
Takeda            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Non-refundable cash payment     $ 8,500      
Molecular Assemblies, Inc. | Series A Preferred Stock            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Number of shares purchased 1,000,000 1,587,050       1,587,050
Payments to acquire other investments $ 600 $ 1,000        
XML 41 R31.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Disaggregation of Revenue [Line Items]        
Total revenues $ 25,453 $ 14,967 $ 43,485 $ 29,637
Americas        
Disaggregation of Revenue [Line Items]        
Total revenues 5,844 6,906 10,773 12,131
EMEA        
Disaggregation of Revenue [Line Items]        
Total revenues 6,169 3,314 12,450 9,285
APAC        
Disaggregation of Revenue [Line Items]        
Total revenues 13,440 4,747 20,262 8,221
Product revenue        
Disaggregation of Revenue [Line Items]        
Total revenues 14,717 4,504 24,943 9,604
Research and development revenue        
Disaggregation of Revenue [Line Items]        
Total revenues 10,736 10,463 18,542 20,033
Performance Enzymes        
Disaggregation of Revenue [Line Items]        
Total revenues 21,585 7,506 35,815 18,379
Performance Enzymes | Americas        
Disaggregation of Revenue [Line Items]        
Total revenues 3,703 1,173 6,574 4,171
Performance Enzymes | EMEA        
Disaggregation of Revenue [Line Items]        
Total revenues 4,442 1,586 8,979 5,987
Performance Enzymes | APAC        
Disaggregation of Revenue [Line Items]        
Total revenues 13,440 4,747 20,262 8,221
Performance Enzymes | Product revenue        
Disaggregation of Revenue [Line Items]        
Total revenues 14,717 4,504 24,943 9,604
Performance Enzymes | Research and development revenue        
Disaggregation of Revenue [Line Items]        
Total revenues 6,868 3,002 10,872 8,775
Novel Biotherapeutics        
Disaggregation of Revenue [Line Items]        
Total revenues 3,868 7,461 7,670 11,258
Novel Biotherapeutics | Americas        
Disaggregation of Revenue [Line Items]        
Total revenues 2,141 5,733 4,199 7,960
Novel Biotherapeutics | EMEA        
Disaggregation of Revenue [Line Items]        
Total revenues 1,727 1,728 3,471 3,298
Novel Biotherapeutics | APAC        
Disaggregation of Revenue [Line Items]        
Total revenues 0 0 0 0
Novel Biotherapeutics | Product revenue        
Disaggregation of Revenue [Line Items]        
Total revenues 0 0 0 0
Novel Biotherapeutics | Research and development revenue        
Disaggregation of Revenue [Line Items]        
Total revenues $ 3,868 $ 7,461 $ 7,670 $ 11,258
XML 42 R32.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition - Contracts with Customer (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Revenue from Contract with Customer [Abstract]    
Contract assets $ 4,528 $ 4,526
Unbilled receivables 12,417 10,942
Contract costs 86 90
Contract liabilities: deferred revenue $ 5,479 $ 4,791
XML 43 R33.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition - Textual (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Revenue from Contract with Customer [Abstract]        
Impairment charges related to contract assets $ 0 $ 0 $ 0 $ 0
XML 44 R34.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition - Revenue Recognized During Period (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Revenue from Contract with Customer [Abstract]        
Performance obligations satisfied $ 1,239 $ 4,272 $ 1,391 $ 57
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods 4,306 1,357 4,336 637
Performance obligations satisfied from new activities in the period - contract revenue 19,908 9,338 37,758 28,943
Total revenues $ 25,453 $ 14,967 $ 43,485 $ 29,637
XML 45 R35.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue Recognition - Performance Obligation (Details)
$ in Thousands
Jun. 30, 2021
USD ($)
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 5,479
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-07-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 1,568
Expected timing of satisfaction, period 6 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 1,455
Expected timing of satisfaction, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 613
Expected timing of satisfaction, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 1,843
Expected timing of satisfaction, period
Product revenue  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 1,977
Product revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-07-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 0
Expected timing of satisfaction, period 6 months
Product revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 67
Expected timing of satisfaction, period 1 year
Product revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 67
Expected timing of satisfaction, period 1 year
Product revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 1,843
Expected timing of satisfaction, period
Research and development revenue  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 3,502
Research and development revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-07-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 1,568
Expected timing of satisfaction, period 6 months
Research and development revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 1,388
Expected timing of satisfaction, period 1 year
Research and development revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 546
Expected timing of satisfaction, period 1 year
Research and development revenue | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 0
Expected timing of satisfaction, period
XML 46 R36.htm IDEA: XBRL DOCUMENT v3.21.2
Net Loss per Share (Details) - shares
shares in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Shares Issuable Under the Equity Incentive Plan [Member]        
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Total shares excluded as anti-dilutive (shares) 5,366 5,289 5,366 5,289
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.21.2
Investments in Non-Marketable Securities - Textual (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Marketable Securities [Line Items]        
Interest income from amortization of discount $ 200,000 $ 0 $ 300,000 $ 0
Change in fair value of embedded bifurcated derivative recognized in other income 57,500      
Change in fair value of embedded bifurcated derivative recognized in other expense     10,500  
Other expenses   0   0
Unrealized or realized gains or losses 0 0 0 0
Non-marketable equity securities        
Marketable Securities [Line Items]        
Unrealized or realized gains or losses $ 0 $ 0 $ 0 $ 0
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.21.2
Investments in Non-Marketable Securities - Carrying Value and Fair Value of Securities (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Marketable Securities [Line Items]    
Adjusted Cost and Carrying Value $ 1,289 $ 1,000
Fair Value 1,289 1,000
Non-marketable equity securities    
Marketable Securities [Line Items]    
Investment in non-marketable equity securities $ 3,430 $ 1,450
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.21.2
Fair Value Measurements (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dec. 31, 2020
Summary of financial instruments measured at fair value on a recurring basis          
Non-marketable debt security $ 1,289,000   $ 1,289,000   $ 1,000,000
Total 112,372,000   112,372,000   128,567,000
Convertible Debt          
Summary of financial instruments measured at fair value on a recurring basis          
Credit losses 0 $ 0 0 $ 0  
Other-than-temporary impairment losses 0 $ 0 0 $ 0  
Money Market Funds          
Summary of financial instruments measured at fair value on a recurring basis          
Money market funds 111,083,000   111,083,000   127,567,000
Level 1          
Summary of financial instruments measured at fair value on a recurring basis          
Total 111,083,000   111,083,000   127,567,000
Level 1 | Money Market Funds          
Summary of financial instruments measured at fair value on a recurring basis          
Money market funds 111,083,000   111,083,000   127,567,000
Level 3          
Summary of financial instruments measured at fair value on a recurring basis          
Non-marketable debt security 1,289,000   1,289,000   1,000,000
Total $ 1,289,000   $ 1,289,000   $ 1,000,000
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.21.2
Balance Sheets Details - Cash and Cash Equivalents (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Jun. 30, 2020
Cash and Cash Equivalents [Line Items]      
Adjusted Cost $ 129,506 $ 149,117 $ 75,649
Money Market Funds      
Cash and Cash Equivalents [Line Items]      
Adjusted Cost 111,083 127,567  
Estimated Fair Value 111,083 127,567  
Cash      
Cash and Cash Equivalents [Line Items]      
Adjusted Cost $ 18,400 $ 21,500  
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.21.2
Balance Sheets Details - Inventories (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Schedule of Inventory Components    
Raw materials $ 49 $ 77
Work-in-process 98 82
Finished goods 931 805
Inventories 1,078 964
Inventory reserves $ 1,500 $ 1,500
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.21.2
Balance Sheets Details - Property and Equipment, net (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dec. 31, 2020
Property, Plant and Equipment [Line Items]          
Property and equipment $ 45,673   $ 45,673   $ 43,048
Less: accumulated depreciation and amortization (34,441)   (34,441)   (33,373)
Property and equipment, net 11,232   11,232   9,675
Depreciation 716 $ 462 1,375 $ 900  
Laboratory equipment          
Property, Plant and Equipment [Line Items]          
Property and equipment 28,623   28,623   25,468
Leasehold improvements          
Property, Plant and Equipment [Line Items]          
Property and equipment 10,785   10,785   10,785
Computer equipment and software          
Property, Plant and Equipment [Line Items]          
Property and equipment 3,283   3,283   3,192
Office equipment and furniture          
Property, Plant and Equipment [Line Items]          
Property and equipment 1,246   1,246   1,246
Construction in progress          
Property, Plant and Equipment [Line Items]          
Property and equipment $ 1,736   $ 1,736   $ 2,357
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.21.2
Balance Sheets Details - Goodwill (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Balance Sheet Details [Abstract]    
Goodwill $ 3,241 $ 3,241
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.21.2
Balance Sheets Details - Other Accrued Liabilities (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Balance Sheets Details [Abstract]    
Accrued purchases $ 5,107 $ 7,170
Accrued professional and outside service fees 3,899 2,589
Other 76 513
Total $ 9,082 $ 10,272
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-based Compensation - Equity Incentive Plans (Details) - 2019 Plan - shares
Jun. 30, 2019
Apr. 22, 2019
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Number of shares available for grant   7,897,144
Maximum number of shares to be issued upon exercise of stock options   14,000,000
Number of shares authorized 8,100,000  
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-based Compensation - Stock Options (Details)
6 Months Ended
Jun. 30, 2021
Incentive Stock Options  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Purchase price of common stock 100.00%
Non-Statutory Stock Options | Minimum  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Purchase price of common stock 85.00%
Stock Options  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Percent of voting interests 10.00%
Purchase price of common stock above minimum threshold 110.00%
Award vesting period 4 years
Expiration period of options upon employee's termination of service 3 months
Stock Options | Maximum  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Expiration period 10 years
Stock Options | Tranche One  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Award vesting rights (percent) 25.00%
Stock Options | Tranche Two  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Award vesting rights (percent) 75.00%
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-based Compensation - Restricted Stock Units (Details) - RSUs
6 Months Ended
Jun. 30, 2021
Tranche One  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Award vesting period 3 years
Award vesting rights (percent) 33.00%
Tranche Two  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Award vesting period 4 years
Award vesting rights (percent) 25.00%
XML 58 R48.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-based Compensation - PSUs and PBOs (Details) - Performance Shares - installment
3 Months Ended 6 Months Ended
Mar. 31, 2022
Mar. 31, 2021
Mar. 31, 2020
Jun. 30, 2021
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of installments       2
Performance awards, threshold level, number of shares, multiplier       0
Tranche One        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights (percent)       50.00%
Tranche Two        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights (percent)       50.00%
2021 PSU        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Estimated performance goal achievement rate       136.00%
2020 PBO        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Estimated performance goal achievement rate       68.00%
2020 PSU and PBO        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Estimated performance goal achievement rate   88.00%    
2020 PSU and PBO | Tranche One        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights (percent)   50.00%    
2020 PSU and PBO | Tranche Two | Forecast        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights (percent) 50.00%      
2019 PSU and PBO        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Estimated performance goal achievement rate     84.00%  
2019 PSU and PBO | Tranche One        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights (percent)     50.00%  
2019 PSU and PBO | Tranche Two        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights (percent)   50.00%    
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.21.2
Stock-based Compensation - Stock-based Compensation Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation $ 2,844 $ 1,939 $ 5,531 $ 4,108
Stock options        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation 682 575 1,347 1,116
Compensation not yet recognized, stock options 4,800   4,800  
RSUs and RSAs        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation 690 610 1,232 1,210
Compensation not yet recognized, share-based awards other than options 4,700   4,700  
PSUs        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation 573 296 1,043 627
Compensation not yet recognized, share-based awards other than options 1,900   1,900  
PBOs        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation 899 458 1,909 1,155
Compensation not yet recognized, share-based awards other than options 3,300   3,300  
Research and development        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation 597 471 1,074 894
Selling, general and administrative        
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Stock-based compensation $ 2,247 $ 1,468 $ 4,457 $ 3,214
XML 60 R50.htm IDEA: XBRL DOCUMENT v3.21.2
Capital Stock (Details) - USD ($)
1 Months Ended 3 Months Ended 6 Months Ended
May 31, 2021
Jun. 30, 2021
Jun. 30, 2021
Jun. 30, 2020
Equity [Abstract]        
Stock options exercised (shares)     212,631 32,749
Weighted average exercise price of stock options exercised (usd per share)     $ 8.03 $ 6.03
Proceeds from exercises of stock options     $ 1,679,000 $ 197,000
PSC        
Subsidiary, Sale of Stock [Line Items]        
Sale period 3 years      
Value of shares for issuance   $ 50,000,000.0 $ 50,000,000.0  
Commissions as percentage of gross sales price 3.00%      
Shares issued (in shares)   0 0  
PSC | Maximum        
Subsidiary, Sale of Stock [Line Items]        
Value of shares for issuance $ 50,000,000.0      
Commissions and reimbursements of expenses as percentage of gross sales price 8.00%      
XML 61 R51.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies - Textual (Details)
1 Months Ended 3 Months Ended
Jun. 30, 2017
USD ($)
Apr. 30, 2017
USD ($)
Feb. 28, 2017
USD ($)
Mar. 31, 2021
USD ($)
ft²
reportingUnit
Jun. 30, 2021
USD ($)
ft²
numberOfRenewalOption
Dec. 31, 2020
USD ($)
Apr. 30, 2020
ft²
Jan. 31, 2020
ft²
Commitments and Contingencies [Line Items]                
Area of real estate property (in square feet) | ft²         77,300      
Number of options to extend | numberOfRenewalOption         1      
Asset retirement obligations         $ 200,000 $ 200,000    
Future lease commitment         29,198,000      
Term of contract   3 years 3 years          
Capital lease obligations incurred   $ 300,000 $ 400,000          
Percentage of eligible accounts receivable 80.00%              
Indemnification Agreement                
Commitments and Contingencies [Line Items]                
Loss contingency accrual         0      
Term Loan                
Commitments and Contingencies [Line Items]                
Borrowing capacity $ 10,000,000.0              
Stated interest rate 3.75%              
Basis spread on variable rate (percent) 0.50%              
Revolving Credit Facility                
Commitments and Contingencies [Line Items]                
Borrowing capacity $ 5,000,000.0              
Stated interest rate 4.25%              
Basis spread on variable rate (percent) 1.00%              
Demand Deposits                
Commitments and Contingencies [Line Items]                
Non-current restricted cash         1,100,000 $ 1,100,000    
San Carlos, Califiornia                
Commitments and Contingencies [Line Items]                
Future lease commitment         $ 100,000      
200-220 Penobscot                
Commitments and Contingencies [Line Items]                
Area of real estate property (in square feet) | ft²         28,200      
400 Penobscot                
Commitments and Contingencies [Line Items]                
Area of real estate property (in square feet) | ft²         37,900      
Renewal term         5 years      
501 Chesapeake                
Commitments and Contingencies [Line Items]                
Area of real estate property (in square feet) | ft²         11,200      
Number of options to extend | numberOfRenewalOption         1      
Renewal term         5 years      
101 Saginaw                
Commitments and Contingencies [Line Items]                
Area of real estate property (in square feet) | ft²               29,900
Sublease                
Commitments and Contingencies [Line Items]                
Area of real estate property (in square feet) | ft²             3,400 26,500
San Carlos                
Commitments and Contingencies [Line Items]                
Area of real estate property (in square feet) | ft²       36,593        
Number of options to extend | reportingUnit       1        
Future lease commitment         $ 31,723,000      
Annualized rent       $ 2,500,000        
Annual rent increases (as a percent)       3.00%        
Lease term       10 years        
Renewal term       5 years        
Security deposit       $ 500,000        
San Carlos | Leaseholds and Leasehold Improvements                
Commitments and Contingencies [Line Items]                
Tenant improvement allowance       6,300,000        
San Carlos | Asset under Construction                
Commitments and Contingencies [Line Items]                
Tenant improvement allowance       2,700,000        
Annualized rent       $ 400,000        
XML 62 R52.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies - Lease Cost (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Lease, Cost [Abstract]        
Amortization of right-of-use assets $ 27,000 $ 45,000 $ 53,000 $ 99,000
Interest on lease obligations 0 1,000 0 1,000
Finance lease costs 27,000 46,000 53,000 100,000
Operating lease cost 1,033,000 1,032,000 2,065,000 2,100,000
Short-term lease cost 10,000 16,000 10,000 47,000
Sublease income 0 0 0 (55,000)
Total lease cost 1,070,000 1,094,000 2,128,000 2,192,000
Variable lease cost $ 0 $ 0 $ 0 $ 0
XML 63 R53.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies - Other Lease Information (Details)
Jun. 30, 2021
Commitments and Contingencies Disclosure [Abstract]  
Weighted-average remaining lease term (in years) 6 years 2 months 12 days
Weighted-average discount rate 6.60%
XML 64 R54.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies - Cash Paid for Lease Obligations (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Commitments and Contingencies Disclosure [Abstract]    
Operating cash flows from operating leases $ 2,093 $ 774
Financing cash flows from finance leases $ 0 $ 60
XML 65 R55.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies - Maturity Analysis of Operating Lease (Details)
$ in Thousands
Jun. 30, 2021
USD ($)
Operating Leases  
2021 (remaining 6 months) $ 2,104
2022 4,285
2023 4,589
2024 4,726
2025 4,868
Thereafter 8,626
Total minimum lease payments 29,198
Less: imputed interest 5,534
Lease obligations $ 23,664
XML 66 R56.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies - Estimated Maturity Analysis (Details)
$ in Thousands
Jun. 30, 2021
USD ($)
Operating Leases  
2021 (remaining 6 months) $ 2,104
2022 4,285
2023 4,589
2024 4,726
2025 4,868
2026 and thereafter 8,626
Total minimum lease payments 29,198
San Carlos  
Operating Leases  
2021 (remaining 6 months) 0
2022 2,463
2023 2,988
2024 3,066
2025 3,145
2026 and thereafter 20,061
Total minimum lease payments $ 31,723
XML 67 R57.htm IDEA: XBRL DOCUMENT v3.21.2
Commitments and Contingencies - Other Commitments (Details) - Supply Commitment
$ in Thousands
Jun. 30, 2021
USD ($)
Other Commitments [Line Items]  
Future Minimum Payment $ 2,014
April 2016  
Other Commitments [Line Items]  
Future Minimum Payment 162
September 2019  
Other Commitments [Line Items]  
Future Minimum Payment $ 1,852
XML 68 R58.htm IDEA: XBRL DOCUMENT v3.21.2
Related Party Transactions - Molecular Assemblies, Inc. (Details) - USD ($)
1 Months Ended 3 Months Ended 6 Months Ended 13 Months Ended
Apr. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Dec. 31, 2020
Related Party Transaction [Line Items]                
Payments to acquire other investments         $ 630,000 $ 1,000,000    
Investment at cost basis     $ 3,430,000   3,430,000   $ 3,430,000 $ 1,450,000
Deferred revenue     5,479,000   5,479,000   5,479,000 4,791,000
Contract assets     4,528,000   4,528,000   4,528,000 4,526,000
Molecular Assemblies, Inc.                
Related Party Transaction [Line Items]                
Deferred revenue     400,000   400,000   400,000 0
Contract assets     0   0   $ 0 $ 500,000
Molecular Assemblies, Inc. | MCRA                
Related Party Transaction [Line Items]                
Research and development revenue from transactions with MAI     $ 300,000 $ 0 $ 500,000 $ 0    
Series A Preferred Stock | Molecular Assemblies, Inc. | MCRA                
Related Party Transaction [Line Items]                
Number of shares received in exchange for services     714,171 0 1,428,342 0    
Number of shares received in exchange for services             5,443,734  
Molecular Assemblies, Inc. | Series A Preferred Stock                
Related Party Transaction [Line Items]                
Number of shares purchased 1,000,000 1,587,050   1,587,050   1,587,050    
Payments to acquire other investments $ 600,000 $ 1,000,000.0            
XML 69 R59.htm IDEA: XBRL DOCUMENT v3.21.2
Related Party Transactions - AstraZeneca PLC (Details) - Director - Transactions with AstraZeneca PLC - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2020
Jun. 30, 2020
Jun. 30, 2021
Dec. 31, 2020
Related Party Transaction [Line Items]        
Revenue from related parties $ 20,000 $ 100,000    
Accounts receivable from related parties     $ 0 $ 0
XML 70 R60.htm IDEA: XBRL DOCUMENT v3.21.2
Segment, Geographical and Other Revenue Information - Textual (Details)
6 Months Ended
Jun. 30, 2021
segment
Segment Reporting [Abstract]  
Number of operating segments 2
Number of reportable segments 2
XML 71 R61.htm IDEA: XBRL DOCUMENT v3.21.2
Segment, Geographical and Other Revenue Information - Segment Reporting (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Segment Reporting Information [Line Items]        
Total revenues $ 25,453 $ 14,967 $ 43,485 $ 29,637
Cost of product revenue 4,318 1,699 8,536 4,240
Research and development 12,826 10,853 24,397 21,820
Selling, general and administrative 12,795 8,522 24,193 17,512
Total costs and operating expenses 29,939 21,074 57,126 43,572
Income (loss) from operations (4,486) (6,107) (13,641) (13,935)
Unallocated depreciation and amortization (716) (462) (1,375) (900)
Income (loss) before income taxes (4,257) (6,037) (13,322) (13,684)
Stock-based compensation 2,844 1,939 5,531 4,108
Performance Enzymes        
Segment Reporting Information [Line Items]        
Total revenues 21,585 7,506 35,815 18,379
Novel Biotherapeutics        
Segment Reporting Information [Line Items]        
Total revenues 3,868 7,461 7,670 11,258
Product revenue        
Segment Reporting Information [Line Items]        
Total revenues 14,717 4,504 24,943 9,604
Product revenue | Performance Enzymes        
Segment Reporting Information [Line Items]        
Total revenues 14,717 4,504 24,943 9,604
Product revenue | Novel Biotherapeutics        
Segment Reporting Information [Line Items]        
Total revenues 0 0 0 0
Research and development revenue        
Segment Reporting Information [Line Items]        
Total revenues 10,736 10,463 18,542 20,033
Research and development revenue | Performance Enzymes        
Segment Reporting Information [Line Items]        
Total revenues 6,868 3,002 10,872 8,775
Research and development revenue | Novel Biotherapeutics        
Segment Reporting Information [Line Items]        
Total revenues 3,868 7,461 7,670 11,258
Operating segments        
Segment Reporting Information [Line Items]        
Total revenues 25,453 14,967 43,485 29,637
Cost of product revenue 4,318 1,699 8,536 4,240
Research and development 12,251 10,487 23,301 21,108
Selling, general and administrative 3,790 2,996 7,209 5,933
Total costs and operating expenses 20,359 15,182 39,046 31,281
Income (loss) from operations 5,094 (215) 4,439 (1,644)
Stock-based compensation 2,844 1,939 5,531 4,108
Operating segments | Performance Enzymes        
Segment Reporting Information [Line Items]        
Total revenues 21,585 7,506 35,815 18,379
Cost of product revenue 4,318 1,699 8,536 4,240
Research and development 5,057 4,997 11,502 10,693
Selling, general and administrative 3,170 2,375 5,988 4,720
Total costs and operating expenses 12,545 9,071 26,026 19,653
Income (loss) from operations 9,040 (1,565) 9,789 (1,274)
Stock-based compensation 1,115 741 2,109 1,496
Operating segments | Novel Biotherapeutics        
Segment Reporting Information [Line Items]        
Total revenues 3,868 7,461 7,670 11,258
Cost of product revenue 0 0 0 0
Research and development 7,194 5,490 11,799 10,415
Selling, general and administrative 620 621 1,221 1,213
Total costs and operating expenses 7,814 6,111 13,020 11,628
Income (loss) from operations (3,946) 1,350 (5,350) (370)
Stock-based compensation 257 252 495 494
Operating segments | Product revenue        
Segment Reporting Information [Line Items]        
Total revenues 14,717 4,504 24,943 9,604
Operating segments | Research and development revenue        
Segment Reporting Information [Line Items]        
Total revenues 10,736 10,463 18,542 20,033
Corporate, non-segment        
Segment Reporting Information [Line Items]        
Total costs and operating expenses (8,610) (5,316) (16,335) (11,042)
Unallocated depreciation and amortization (741) (506) (1,426) (998)
Income (loss) before income taxes (4,257) (6,037) (13,322) (13,684)
Stock-based compensation $ 1,472 $ 946 $ 2,927 $ 2,118
XML 72 R62.htm IDEA: XBRL DOCUMENT v3.21.2
Segment, Geographical and Other Revenue Information - Concentration Risk (Details) - Customer Concentration Risk
3 Months Ended 6 Months Ended 12 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Dec. 31, 2020
Revenue, Product and Service Benchmark | Customer A          
Concentration Risk [Line Items]          
Concentration risk, percentage 15.00%   10.00%    
Revenue, Product and Service Benchmark | Customer B          
Concentration Risk [Line Items]          
Concentration risk, percentage 12.00%        
Revenue, Product and Service Benchmark | Customer C          
Concentration Risk [Line Items]          
Concentration risk, percentage 12.00%   13.00%    
Revenue, Product and Service Benchmark | Customer D          
Concentration Risk [Line Items]          
Concentration risk, percentage   16.00% 17.00% 20.00%  
Revenue, Product and Service Benchmark | Customer E          
Concentration Risk [Line Items]          
Concentration risk, percentage   38.00% 10.00% 27.00%  
Revenue, Product and Service Benchmark | Customer F          
Concentration Risk [Line Items]          
Concentration risk, percentage   12.00%   11.00%  
Revenue, Product and Service Benchmark | Customer G          
Concentration Risk [Line Items]          
Concentration risk, percentage       13.00%  
Accounts Receivable | Customer A          
Concentration Risk [Line Items]          
Concentration risk, percentage     20.00%    
Accounts Receivable | Customer B          
Concentration Risk [Line Items]          
Concentration risk, percentage     15.00%    
Accounts Receivable | Customer D          
Concentration Risk [Line Items]          
Concentration risk, percentage     14.00%   32.00%
Accounts Receivable | Customer E          
Concentration Risk [Line Items]          
Concentration risk, percentage     10.00%    
Accounts Receivable | Customer F          
Concentration Risk [Line Items]          
Concentration risk, percentage         13.00%
Accounts Receivable | Customer G          
Concentration Risk [Line Items]          
Concentration risk, percentage         25.00%
Accounts Receivable | Customer H          
Concentration Risk [Line Items]          
Concentration risk, percentage     15.00%    
XML 73 R63.htm IDEA: XBRL DOCUMENT v3.21.2
Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2021
Jun. 30, 2020
Jun. 30, 2021
Jun. 30, 2020
Segment Reporting Information [Line Items]        
Total revenues $ 25,453 $ 14,967 $ 43,485 $ 29,637
Americas        
Segment Reporting Information [Line Items]        
Total revenues 5,844 6,906 10,773 12,131
EMEA        
Segment Reporting Information [Line Items]        
Total revenues 6,169 3,314 12,450 9,285
APAC        
Segment Reporting Information [Line Items]        
Total revenues $ 13,440 $ 4,747 $ 20,262 $ 8,221
XML 74 R64.htm IDEA: XBRL DOCUMENT v3.21.2
Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
United States    
Geographic Areas, Long-Lived Assets [Abstract]    
Long-lived assets $ 31,424 $ 31,176
XML 75 R65.htm IDEA: XBRL DOCUMENT v3.21.2
Segment, Geographical and Other Revenue Information - Goodwill (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Segment Reporting Information [Line Items]    
Goodwill $ 3,241 $ 3,241
Operating Segments    
Segment Reporting Information [Line Items]    
Goodwill 3,241 3,241
Operating Segments | Performance Enzymes    
Segment Reporting Information [Line Items]    
Goodwill 2,463 2,463
Operating Segments | Novel Biotherapeutics    
Segment Reporting Information [Line Items]    
Goodwill $ 778 $ 778
XML 76 R66.htm IDEA: XBRL DOCUMENT v3.21.2
Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Receivables [Abstract]    
Allowance for credit losses $ 74 $ 74
XML 77 R67.htm IDEA: XBRL DOCUMENT v3.21.2
Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) - USD ($)
$ in Thousands
Jun. 30, 2021
Dec. 31, 2020
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable $ 19,488 $ 13,894
Current    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable 17,414 13,398
31-60 Days    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable 83 489
61-90 Days    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable 1,602 7
91 Days and over    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Accounts receivable $ 389 $ 0
EXCEL 78 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( (J#!E,'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 " "*@P93X;E'_NX K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>R'%9*2;U96.G#08K;.QF9+4UBQ-C:R1]^R59FS*V!]C1TN]/ MGT U1HU=HN?414KL*=\,H6FSQK@51^:H 3(>*=A!J:&JZ "<:40OXND%N(<_5/[-P!<4X.V2^ION_+?C7GQATJ>'MZ?)G7+7R; MV;9(XZ_L-9\B;<5E\NOJ[G[W((R2JBKDII#KG9):;;2\?9]621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M (J#!E-HYE_5/ 4 %\5 8 >&PO=V]R:W-H965T&UL ME9AK<^(V%(8_;W^%AG8Z[4R(;9E+V!)FB$FV:;-9-J27;:^1--P(^:)"SC79)G&JKENAUJOWEJ7\D"=,78H5 M3^'.0LB$:3B52TNM)&=!'I3$%K7MGI6P*&V-AOFUJ1P-1:;C*.532526)$SN M;G@L-MSR.C1)P_'L0;17O M-(&GQT?UN_SCX6/F3'%/Q']$@0ZO6U+V*5_Y+- M_ME.IT7\3&F1'(*!((G2_3_;'A)Q&D#/!-!# 'T3X)Q[@WL(^2A2'2IRFP8\>!UO 5!!18]4-Q05_"5++XEK7Q!J4Z>" MQ\/#Q]GRDMBT*OP5CELDR@6%-UF%)\S)C67\8X\\960NHH(E](RXPA1KR#J-2.: MD)F&'D:$))[( M4BUWQ+R]T@9Q]V)?E@,, ( M:4E(FQ".@P#JA;H@GCF#_#V+35I)A\L]\6 C8+ ;&8RO]&O'_2J^HH&G4JRC MU*]N7%S3&V-HI>\[N'._19L*I5E,_HI6YWL=KCCHV#T78RNK@8-[>-Z,8Y@- MGD?!!7I=&P,IBX"#>_>#\"$GTU"DF*O5B'2HT[YR;)2HM'X']^OG2(/#B@5Q MZ _S'\F,^YG\7V\]8.%*GD@2&,HS+?R7"[)BDJQ9G''RG7UI@Q.3%4PU\HD8 MQEV6!P?W=BA5090NR6R7S$5),_9QA)61@5,N$;QR]OY\VNRL@;01C7@ M/H59V7ZI8Z9![(A:288KUI"5WD\;>;^9<4#!!%]="EDY#FIT'IB$/C#V?5C2 M02'FP5X28RS]GS;R_UG"XIC<9 INJ^K6Q'7J9FFTM'W:R/9O$RZ7IH-] 4= M5B+A0K5(I=M3W*R/20IA#0V&GZQ86MV.N$PM4.GZ%#?LXVA\99"S?$U*/F4: MZF1JO*QR/;A7[N;*9NMB/>IU>AV[[W:&UKJ*JG1^BOOUD0I&G82B= ]+W"WY ME5>G"ICO%K7D,BY$@7Y#=;A8W:J]M'>W9C[^ANJPICS+52/WF6)4I;6[N!$?J\UI MJK!E;HUF>_L*>*;!=E^-ZNX6NP>CO,],ZM\?+_U^)$9BU4DY@L(M2_[X IR MOYNW/]%BE6^(S876(LD/0\X"+LT#<'\AA#Z>F!<4>ZJC_P!02P,$% @ MBH,&4^/]U[3$]0J1Q*U(V;4KCFBWZ!M;6@VI'T?#>3CD^:-JO^JME(9\JZM&7ZRVQNS.UFN=;V4M]%NU MDPT\V:BV%@9NV_NUWK52%'VCNEJS((C7M2B;U>5Y_]M->WFN.E.5C;QIB>[J M6K3?/\A*/5ZLZ.KIA\_E_=;8']:7YSMQ+V^E^;*[:>%NO>^E*&O9Z%(UI)6; MB]5[>G85,MN@M_B]E(_ZX)K8H=PI]=7>_%1Y)6L*ML3 MZ/AC['2U?Z=M>'C]U/L/_>!A,'="RRM5_:\LS/9BE:Y((3>BJ\QG]?A?.0XH MLOWEJM+]7_(XV@8KDG?:J'IL# KJLAG^BV^C(PX:T'"A 1L;L)JD?26FOHS5[TONE;PVC*QG[&6]/"TQ+:F ;DML+^4=7/H@*7H'Z M:N@J[KNRD^_ADK(L"N+S]<.A3Q"S,*,TV9L=*0WW2D.OTL]2F[;,[:>W6D\@ M]'IG8$*'GJ(#!5$:S52Z-C%/<8G17F+DE?A3\P B:_N%(.P:U9Q"WODJC;BK M)$S<.T.T!-6E^8Z)CAQ!E*793#5B% 0!+CO>RXZ]4?5#V\SW/501A!'LTEQ!1X !MSX@XG"]-T-FC$BJ=9B(\ZW2M,_9&O&M-"BAX' MC:E+G?>&$9N+0XUB7%NVUY9YM7UI[LJJ@DB?O(<*S)"0"0\FVJ 0L0JRD.$2 M:3"EY< K\C=E(&0VL^!!$(:B>:VL;=C9_)HGB@0,Y:Q="'#T8D7 MU \,F^,:H]IRP8\<";9D/F<0JRQ>#9G&V:7AB'C"T(G4M#X MKT 8U1B[[XZH$YZ(5; XU2?J4#]VO 2VJQOS_8G!2P'LPH:'/)C+1Y 41@L< MIA.2J)])?8ERJC:GG99C&,!B]M-.ML*4S3VI))0#GM3@LH@%0(2Y>,0,@+KD M_ E:U$\M7/VPNI#/:G?"14 MJ4N)+$B=3(&P)&#)0CIF$TS8,P7.&$D[U?;;46HSY&"B[JKROG/JKD_-;*M_W80A5LE2E$P0XOY*:HCHYQ2ZM5"817R^^X"8130*%TH1/O&,^WEV MI>JZ[)?Z0Z%G]W,@ "04T5#ZO?Y5&4EH\ 95[NW9'DNY MNB38[N\_T-'QZ"=8W:U1^=>MJ@K9ZO^,E8UW/W@B'/<3#JKH,45H^XX3 M\BIX&P0!A75#2QY$U4D"DXWHK6CE.Q*=P+/A!CY#9[:J+?\OBQ.[$I2DU-IB MLJ_#.Z,-7, G0C^)"T$G)?I,C@<[,9(_MPE8UX#&EXR4!@$^UG/1TR]%;7,I?UG6S'1^,!P@DD;;V3_:E2 MA6XAN=B5T(.046Z%(Y"YFX1 M8'8\CI9V6\*)UZ&?U[#0[.JNZD^1"KDI\Q(_1' 1?,J3+(GFQ$ -XSA<*DW# MB=:AG]9#'M;(7$<%N^2EL/Y*YLL@S"X):+"0DL.)T>%+=C(/L-$'\XOE,^?< M""V],#NL]%H?'#G:\]Y?1'M?PFJADAMH&+Q-P 'M<(0ZW!BUZT\A[Y0QJNXO MMU* ;&L SS<*F#+>V(/-_4'VY9]02P,$% @ BH,&4RAX[G[= @ M@D M !@ !X;"]W;W)KV!2AUQ M$JX5(+54U39I$BKJ]C#MP22&6'7LS':@W:??L9-FI-S+ _AR_N?\SLD)]F@C MU;-.*37H)>-"C[W4F/S&]W6*DL2),NZ'&/?\ MC##A349N;:8F(UD8S@2=*:2++"/J]8YRN1E[@?>V\,A6J;$+_F24DQ6=4_.4 MSQ3,_-I+PC(J-),"*;H<>[?!S33 5N L?C"ZT5MC9%-92/EL)U^3L84T M-M8%@9\UG5+.K2?@^%,Y]>J85K@]?O/^X)*'9!9$TZGD/UEBTK$W\%!"EZ3@ MYE%NOM JH:[U%TNNW3?:E+;]H8?B0AN956(@R)@H?\E+58@M0= Y( @K07BN M(*H$D4NT)'-IW1-#)B,E-TA9:_!F!ZXV3@W9,&$?X]PHV&6@,Y.I% D\%)H@ M&&G)64(,3.X()R*F:&X=:]1Z$J1(&.Q M^0:8K&<_KN+?E?'# _&_%:*-(GR-0AP&>^33X_)[&H,\<'++7+#.@6 S MZ%BJ%)0;'G/\?(URHM":\(*B5J$3E%-5UO5J7UU+WWWGV[ZLZPEN8XRAB.OM M^ITT:Z!W:O3.9>CE\T>D,*E4["]LM,JEO>RE\^X65!>[SSOXTW8-^FY-W_T0 M/=.Z.$'>W2%ZSWS,HD';JVE['Z*%/V5MB$B86!U%[IU$/F;10.[7R/VCR%.9 M9?"V?*2M^^>U]4FS!O>@YAYKS[%LX ]K_.'%^-?G=/5P MAZC7Z871+OH^PW 0'20/\/]S"%]>^G-;O/)]1@)[+?=FX&\=JO9&\YVH%1,: M<;H$*6[WP8#4=L,4+E9460/87TIIWB;VZ*ZO:I-_4$L# M!!0 ( (J#!E,/+<^?J04 (@8 8 >&PO=V]R:W-H965T&ULM5E=;]LV%/TKA-&'!$@C\4.R%#@&&MO#.JQKD+3KLV+1ME!)]$3* MR?[]J ]+-GFE&BW6A]J2S[WD.;PD#YG9JRB^RQWG"KUE:2[O)SNE]G>.(]<[ MGD7R5NQYKG_9B"*+E'XLMH[<%SR*ZZ L=8CK^DX6)?ED/JO?/1;SF2A5FN3\ ML4"RS+*H^/>!I^+U?H(GQQ=/R7:GJA?.?+:/MOR9JZ_[QT(_.5V6.,EX+A.1 MHX)O[B%5 C?@[X:_RY#NJJ+P(\;UZ^!C?3]RJ1SSE:U6EB/3'@2]X MFE:9=#_^:9-.NC:KP-/OQ^R_U>0UF9=(\H5(OR6QVMU/@@F*^28J4_4D7G_G M+:&Z@VN1ROI_]-IBW0E:EU*)K W6/VP-H =FD+7AM04W<:[K5PRTA%\UDA7E%1H76VZDNM?AVM]4KRJE">5:%_ M372YXY2G>W:M19MUU[:+I&!KI& MT2>1JYU$*]W%&(A?CL?[(_&.EJG3BARU>B"C"?\H\UM$W1M$7(*!_BPN#W52L=[6@L:::BGVU9D%T MIS83$A"CEPL Y09FF2UM%&$T-,IL!:!P0 8H!QWE8)3RL]Y1=='1OE3;%912L;Q:@W'2"/W7ZG=D?I_RFD M1)M"9$?B>C\&=U77:O\]8X%9ZQ#,UYP-RA ,4Y]A@S2,"ZDW0/O$H.!1VA]S MQ;6Y4-I-K$4&EG>;X6ST7(NO#?(LLC:&!L1D"H (':!)>IIDE.9GM>-%RQ%= MM05]?8-R#JYG;;8SRN9V"&"PN98!F/>^.9LAT& ]]P8"TQ_7\PO7AQU^Y*VB M-W@2MZG.:YJ8X[> 8+Y+K6$&8)A2[^#QPW/8R$.27W6TNQ_ M3)[9"[-)W(90>RK;(&Q-8R#1T+J->]N#O5&^?^D3;ZJ'&V3G64Y+#ZUO;DX0 MS*?,7*$AF!Y::I4TB M#?X!J[\#PN 6KJ!YG<47Y&NG%NCD@W51'VF2-KDH9 M]V^O05&:1H+3[KFW[M0]^X=-C< HJ*4V)82R47MS ;(% M(1N2L#>+>-PM_A\2=M4Y)J)M_T 1 2\)B0AE T0$L@V+2'K/2<8]Y^/80?(\ M9V_H"/[EFP/2^R8R[IM^?'?0)CB_%IABTSL ,.:YYOX"H @+F3D> "STW:'A MZ"T3&;=,0R?>2\:G-R>$_?KX]%L_&=_Z+Q@?>RO6QQ#S!F$!PI@Y$Y80+/"8 M:>T &'%=:MIXY^1F->/%MK[2EGJY*'/5W)5U;[MK\P_U9;'Q_@'?+3#P?HGO M5LVE>)^^N:/_%!7;))CF!<5 M0/^^$4(='ZH&NC\^S/\#4$L#!!0 ( (J#!E-LCH@9%0< !&PO=V]R:W-H965T&ULQ9IM;]LV$,>_"F$46 /,M?@D6442 MH'8\K 56%$F[O1CV@K686*@DNA)=I]]^E*R8%DE1CMLT;Q(K.=+_.Y'WNZ-T MOA7EEVK%N03W>594%Z.5E.O7DTFU7/&<5:_$FA?J/[>BS)E4E^7=I%J7G"7- MH#R;H" ()SE+B]'E>?.W#^7EN=C(+"WXAQ)4FSQGY?<9S\3V8@1'#W^X3N]6 MLO[#Y/)\S>[X#9>?UA]*=379SY*D.2^J5!2@Y+<7HS?P]8+2>D!C\7?*M]7! M9U"[\EF(+_7%V^1B%-2*>,:7LIZ"J5_?^)QG63V3TO&UG72T_\YZX.'GA]G_ M:)Q7SGQF%9^+[)\TD:N+T70$$G[+-IF\%ML_>>M0(W ILJKY";:M;3 "RTTE M1=X.5@KRM-C]9O=M( X&0-PS +4#T+$#<#L &P-0U#. M .(.:#/!]H.:%R? M['QO G?%)+L\+\46E+6UFJW^T$2_&:WBE1;U0KF1I?IOJL;)R[DH$G7;>0+4 MITID:<*DNKB1ZI=:#[("XE9=B>67E<@27E:_@<7732J_@Y>?"K9)4F5]!L;@ MT\T5>/GB#+P :0$^KL2F8D52G4^DTEA_TV39ZIGM]* >/1^%9)ECV-P_;"[R M7"V[1JAC])5_])M$^:&6+[4KLA8L>3@9;5B):_. )/J>Y:O (:_ M Q3 V!6\W>2TF;Q.'=\NZ70:14$0G$^^.63AO2S_KT660;4[MZR,OG/$Q.R_W+BC(3:T%([GI)>M=%>;>2_ MT472M_+?;0JU\H-ZY:/ I2BR5WX,$>W5--UKFCYR0QZQ#V>[.<,#-3"@%$;& MZK/-PJ[%E6U!2!2CH&NVL,W&F" 2Q&[GX[WS\:_?]C#0R I.V_A.W 36"H"Q M$?"K :.NS@.T0K_.?)V)[YSO1([K>B8!2Y&K(J]BM6"G7FA)(3 @IN !JZYB M31GHQ\Q[48SY2:IMPEB2?29=O1H_$#]5'G-Z@>W\I:(:F)X,F76]T3R#?J"] M5[K30H5:;:Q,5&Y^01M-8XCCV,@0BV&[KDH-,>BGF)&-CTC",VA3+";1U) \ M;\U\><\Q$Z$03JGIO6TWQC0D >UQ7Y,3^M'IK\3^8N4# =P\@C8B:1S _E(, M:DK"Z!FRL@8B]!/QI')LWDYZ& _D"88F%(Q_>JW53GFH90I[M2#-*S3 JQ^H M7Y!-)G\!@S2>D!]/SA)F: '/D$V>. Y"K54$%/UH\YO7#T81B;?OB-NIYH""%_KW94 M#8/LKFP<8D+,C3]DUM6H284&2/7X"@;9G92K@G&865G/!IZS@G'8>2L8I-&( M_&@\^BRIAT@V)4."IKC_,$F#$@>_/A]C#40\T*^==*"$;3PAB$)L8&SNM/-$ M35,,^YNV4TH=;#=CT%/KX(,#P2?KR/R"'3T7[3]:PAIN> !NQQ5GT"G*IE=( M0N2YJ9I@V$^PH?,E=YK"=@>E6@L88',M#G=:V,8PJ55/ M5:P1A/T(.KD^PS9\5*XU1?N-N@\;-)R(OXO[R34:L1N[,42!Z/9&GN')G\8C&3B$ M/.FPB3C.(?M/4H@F%?&W;Z=48,1NOTC_(T:BL47\V'JJ HPXFC&/7@TO\JAF M[%'U%['IY*^_B"84>6R3=,2&FQ$'>4(<8>OQ2#R73 MGL=75 .//D,W1C6AZ(G=F"OPU'&62,UB9L"HJU,SB@XPZI0ZAMK(4(R*3<$# M5EW%FBK43Y63JR_JX(D59*]-5[&F#?T)3\:HXXD70:; Q:!95^/!RQT_\ES, MF2ZHHUUSU2H..S-=.$R*:M?&52Y3V7$"F3\5HT,7D5JHG+W M%M[N0HIU\YK99R&ER)N/*\Y4EJ@-U/]OA9 /%_6;:_MW(2__!U!+ P04 M" "*@P93F?CFJU8' "_'0 & 'AL+W=OWBO]O3IP;M!#6L>J>. M7,*;G=(E,W"K][/JJ#G+W:"RF)$D6W[+S;?CC8:[6:\,Q8%0Q^[OB&%X75!#A^M$HG MW3?MP-/K)^V?G/%@S)95?*.*OT5N#E>3U03E?,?JPGQ1][_RUJ"YU9>IHG+_ MT7TKFTQ05E=&E>U@0% *V?RRA]81)P- 3W@ :0>0X8!T9 !M!U!G:(/,F?61 M&79]J=4]TE8:M-D+YQLW&JP1TD[CK='P5L X<[U1,H=)X3F"JTH5(F<&;FX- M_,!LF0JI'=JPZH ^P8Q7Z/4WR>I<@,P;-$7?;C^BUZ_>H%=(2/3UH.J*R;RZ MG!E 9O7/LA;%AP8%&4&Q0+\K:0X5^@70Y.?C9V!19Q9Y,NL#B2K\K9;O$$W> M(I(0',"S>?GP) *'=EZF3A\=T??GD6MFA-PW82N,X-5%1&_:Z4V=WG1$[Q^0 MYX6J@AYO1B[<2)O,=]=33.'O_S?R!VFP R M"O(]4S(3!4>R16R?VNO,AE9MXP\B2/VDFQ8=FD7431\YE+A,,%LX0JYJ1L]/ M?(#I#;A M,>D_2*(N^>3R0["B_B$/?$@&D4YV=Y!W&E M]$A$M:///HOQL(:'I"B>CV#KR07'V>5&\R,3^5-E:F9*N5AKG!I$G 80+Y,A MXH#4BJ0CB'O6P?-X0B8"3UCX3AE-:6F4'(_-5R7SV+U M"0:6%]@#&Q(CR[&RTS,1CE/11[[C6H-+-=1P68?CP:<7LO ^D(T2? (OIZ$ M<)R%_GC)"B@(.D U.%W2X:(E*(?3]4C=(CWED"1:T&W=JGYBJ49ZJB X7G5J M(%Y8/-C&XZBM0X"G;9)PH&S'PB&'M$K/DX*FPWD,B8$[1@*-]'1#XG1SHU7& M>5XURX>*%3\+WZ<7,ERK!63&NT4ZRP"AYFTQ$FZ"WD<#*V;"8],Y'G^YZSO!&!< S"#O!.NDZ':1,2(^-ATO,3B;=%[:KD MY5G34PN)4\MY /('KC-A*1NBL++K<:@LEFW"3@E0Q6+IA5] :KT<\4C/)R3. M)UT E#7RR"U+<3>4:/M>CX]V^<0GSN\, S0RV)L,GMR(7%R^N%UI"$LO MA=LV:9O:ZL @CV"%9 JWB6*-XTW#P>Z9#N^0$)]B@ .3X M2$50M.Y$#L9L']'K-K_>M/WF"Q+,)QR@I:$- 59:)S1L NTYB<;;(&M"SC/M MP@B*@C7G;6.4]?X=5&79]AO0X!DM,CMG]GW($AIHEO":),-^+BB7KM8CBP/: M$R&-$^'FQ? 1,PB*-MKRO9#23A($G'T ["-4'K3.)T(\3U;8L\Z76Q-"QHSK M"9/&"?/GC>-VG?RL63Y'PG)S@8<5(2"W7%(ZDD7T9)\OOM%W6Q^/3+SV3 G R(C M[1CMZ8[&V['/$CH=CDQ7*(/8_%;+FRU?9*2YI3UATCAA;MA1V$ERS6TN#,R2 MW9[(:M>]0;D%O.%^E(3YWVO)7&>>O+><&#LFB#T.XV@@%N5Z^Y#^[R M^^Q#L+<9$)#"B]5($4][ADKC#/55V0SZ?S3;?F+Q7,4.R(4J]NSD**SD>N]. M""ODMH6:XZ/N:7<*^=Z=O0V>?\ 7F^8LL5?3'&W^SC30; 5+TAVH3-XMP:VZ M.2UL;HPZN@.WK3)&E>[RP%G.M16 ]SNES-.-_4!W9GO]'U!+ P04 " "* M@P93KGOHF#05 C0 & 'AL+W=O;,,.YN=OJAT>2O MWZ^J2#9[-"/;R2[N#CA@DVCZ0585O_KJ0?8^7;OV8[FTMW,-:;&G85K*]WC9[L\ZIK6Z()?JLJCT^/C[XXJ;>N#9T_YVD7[ M[*D;^M+6YJ)5W5!5NMT\-Z5;_W!P-GIIKDS_H;EH\>LH MCE+8RM2==;5JS>*'@[.3[Y\_H.?Y@7]8L^Z2OQ5I,G?N(_UX7?QP<$P"F=+D M/8V@\9]K5?YE2%#96OZK;[P=/N>%4__" M*_3WCO6N7NK9_:%(U4^>N[EQI"RW8 MJ MUT9K.U+T.IGAI:UWG5I?J"A<-@-AWZK_.YEW? DK_?8=$#Z)$#UBB!W_= M]G]J(/6Z5OT*6JG:]:93O:.?:JCU4-C>%"IW6*NZD[^\.?!C$37OHN89O_K- M5X]/3X^?G+NJT?4FXY\G3\+EM=F^,G3Q"IG87W5#&Z["!4W+DIV[PMQ8S/.Z MSF?\M(6]NV'>V<+JUD)^6JBII/!'V\W4KT85MLO=M6DSN.0UJ*;A(>#]I3+U M'YL*K],%!RU:U;2PAZTQ[TKW>*$$,;3J6I>#(5$@G\I+RPMN:^IJX)PZI\3\,U?69*G6[-.4&!N]UTT#<#B/GAH;@N0YST&A/ M ^/M8LC)RB3DVBC=8ITZND7"X/:UP5J:?%6[TBTQ/LU(W]Q5E6EIP>T?F)INDF0\?3U4 M<]@&(M>0(1HS4W.8DI3%) U,T8/1PQI&=609:]7HMJ^QSBO;@-[P'EN8R0U7 MV8BDL%8-1#.&Y(16+6&89(!\S2"."4RF5B#IB]:2_I8N;90NKH%=P>Q,7;'F MHFBP5*4+P[CJ-:R% 6U];;J^"LM-./<8HFND.HE+NOUX[4I"RC=?G3QZ\"2L M.6RRM"0VR1JEVZBFU#U%37$=&(FB7H(!-@)4,[VER"2B]XB$,_4.MW:,I,BV M;FU:@OXF-3V T_9V87-1J ?N[=) ^4,*646V94-=+EV+A:B\"[2ZL04P@P!C M6%K &PLXM/0LUK Q+<=_LJ;N ?WY0(3BE6"<\W,3 :O*>V\)@6532L,OCT5 M065NXEJ137A\7C2D&8=>@:X_- LR)*V]IP:6G![6PP,+"&"N@ E+<#Y&:AT< MU^9JA6SEL%^U;EBN()Q" &#T!-D!MC157BJ,[\/-$:]A+@2CS58?YK01)4P#"Z MW)!=L*3#0A/T/2^3:D8@5I$$'6@+N:['( OH)2"3E^9&# 0)66Y+8BPI,,!A MX1[$OP//7IC.+MGB)'H%X$7TF5P(@3R/D@W6-YB9)-$)$D4&)E$,%+55#D1? M@="+4<%.W,#[E1 ="2'#Y(S*,>KLPJ8'WPQ97O"C='B50V:.S1A)0@>-!J-N M,!UH ;=% Z.!#TSZ&W3-&"@L?("&P!&#DPT0+'V\%^$(NRK!;F4P-L8=D,VT M09-#,(4A0H4AF!-X]6MQE+ TP%#K2!+D?DCC)=S7NTTG3"FVZ[:)8@0*/T7Z M8'Y-RTC:6$(&0W]@1$(0!/3@LA/(P>,L^U 0L>P<.9%;>\/%.1GM# UDI'6W MD##M\X4@C60S6ZCVX5C\JAMR>G@Q(+A7<\1@YK5#F!LO6V\Y("C;F(:/:E//9AI+AV[P+1/BX$E@0C[< &_-.G 5C?X&: M8T2'T3C[J1S*2R9*_&PR9D;HU7-DM/GT,MZRM13= M-N_X]Y1YM[U UT)A,$Q\,$OA,"%H[WH>7TB!2'FUS_ZWN#^+++=K].3NMDZ[ M9"%M@-XJ5E_)2Y(+C7+!7G!4>QC7GC*+Z,98>,^'GCQO3T8NI5 MB:4\^!5! M$\Y%#D:TZ L<)E5;VU[BQ21/+OZJ?W@!)5'V>>?H)9PA=A5%3X\QA!ODQ)7. MS<"RQQ*@-=1\(;5"CCD/!>#"(([L;?;XNF)#"3)W%-*; M= 1CE#+,&[U!H7+R-U8QD3I;(FRRA>\E MY?I;9%GDRKLL%M_P%?FW4J"%5R1$?-8 ZAX#8V7;PM-CO,-#2I4@]A[M_&V( M;7$.;^H_N=KC$H^F\LZUL*8LR*U6 X"G5D:7_2I'J ;RL-[7MC#U6)E1FP>D ML^&%O4$,*;: C[QNX\B'IPB:8'I$,=/L0##>2E2I@O49VR1/HV45'(T.1G@: M0D2<@_(HW]EJ2K ([4?33]+^#E-0,2>+<$W,+A02 MG".7#KPDBM6'<#J$+E MG,#7W!$R:5Z;!-OL=KMBMW:I4U!1!K>!;R^0@% ZD_N$B5*^,;%/!-RN[\;2 M1-T+.']U%5',[.I*S-AJ2@16H$C,H"5;#V]_8Y_Q==(."H:;=^Z)+@7 M5B]KN"Q"8%H>4<=0MR1?(C);YP578T:7KER M\/;@]EALHBQLV_4!)T(WY$)<''@/3Y^H%V_/ M(- 2AF+A?QYJ:IJ<'N\2/'>',FZH%?WDW0 ;4(PL2Z0S?I&V*."LA+/PT[_\ M3 !@I[B9X"4U^@CU; S8F52Y"TME?+]A-4=,9.K](W4YN<3S MM^0JQ/5$L-Q6I3M>"LX(QH:;8%[L^U>"4?01W5*Y0$V@S#?<0 K4L]0-$TQ, M;])"BUMQN]IL,>:+$\. A!F*1;NZ=D4[+)-Q)6T0@.%QI%^56NMN7#9H)PVT MGMJ8H6IH4,9M2BR?JT&!6MT[N/C[AX-O.5(2[V)<7. TC$HAJ,:MZ#$+1F;G MVD*:@)*IT&P>95Q=[$/]*,H47:7[[KHEX_43L-5U??O/5Z?W[3VX_.8VY5PXR M]?Y9%.;J@M::&DCI(%>SLUE&BX!U!58^UK2<6IXQN?JE+V8C(2;O_<3A3EV) M\\2924-IF:KS%_]Y^-W)R0,I&KS!/P6_3\$!:\U&?FGF[4!H$T+<+QF"+>78 M%"E)==>$BL[-J>]"J#$W\/7.CKEAZD)"(6E#.^B%,"^USB=7W,=^*GCNHK,[ ME-BU E?G9]'LS=!V@Q;6CXU\$OV.,2G()O(0FSA5F 9ZX^FT'OY$*6$43]QLOX*B1])^YXEYU*4$J$,4Z]7F'%S M"!JD';:P7\AZ^O$OIAFZ3X4@5\6A9RI-D"&+S#9F>5!F:V=(/(?24F]4Z^V8 M(T 17<&(1G/*7HPY[9B7YBF'DV+'C,O#\R/M+I.JA81$B6;[Y M=.;V!H C%[VU0)=!P=TA[,W9ZWU+]"9FR&<(PQ7HP*\,PCY>.]A'=%A73UR? MT6S>HB[9UQ3"FV9TD<%B#S;V>;AS2G>IF\:O=9N:]L:IQ 5[Y4/;M'8 M$[5W8][E']7% ,OI";S%-'A]I_*-?Z%0)]G#QX^RXX?'J@-"93\-K_U'A]2? M-[S/B'90X].D'<]&>GQ],CM6E2U+OWZ9[RC7_J!+U( S6*EX,O6S6]7JK:7S M(A+@Z;P#E;S"8>H9'J2L!,C\Y50=79BEK],I0 MFMJL9'\(6KWC\'8)J-6#@8R^G^KJ@VVRL^.]F>*S2@R@>4MF*<;S%7'3,X:S M3F;OOE<7R:;@CQZ*_YL;B (>R@; W9F4CGX'UX3]TKB_VX5ZDEM\IOCLKN*_ MI:FX;SMA3]=W+-L^IP\C2O$2I3F1[[Q(RG2[W1+VLOU/[J+8CDE]VGU)7DT: M,6-,V-N*R7;V8GX=E=KNOGA0I%5S%^7;TYH9:T8I;M^^NI+C4;Y5\IDMDEL; M([N;)1EE2;3U0YQ\=)GRLFQR2&I7.?B0X[6>MEK>A,PBO1 ^ MRH)4T'%&-)!'1CAM(].OCT B'BOR88?7X(@C;VS:I>G4K2+Z5VH5("Y>^^+U M3VPWI4N*HQH[QNFZ'A1(8N. MZ(RQ"*'BD+H7O,)WJC^V$JFNY-.@MH?$5,98[@\1L*MJJ!WR.615_29M@7 1 M\05]$&YR_-_I>>BZ=@/X@3),3]B3#3TW-CQNMRZ_H"*;-AFH=R'(=2U'2%U M(=IAY!,*T0 [RI7_T<9#1F>-RV*-_"E3K=M@G,WA'/3@4(8=B)-8BV"L( M?-N\MYH6\51+,%=\&6A"43!1\HSJ3#G $ [">.I*]TH$Z6E[X*HS@ZM#N MS-VRYF#W]?TDL>1V.>=-D2?%$7Z'-7O9BB>3SM2'9IR*O'"TWIWFUAU%MH(/ M"$'ZAL(E.V(HH18#IS%[R^X[#?89G;U=A?7_]V5DP^^+^PV[^SF?L-QGM7O^ M94L2*.A6/^>N'LYV\VA,)^[HX*3=HZ3;% RW W@S]4)2V5 ^45Z.B0@%GV#7 M+.;LQ3;1D@2XMD:YUODR)/@)=T5 2B>CSI*2)B8&W]J&E.:4@8^Q12H >T.$ M"1<0"*9;^$S/M*MK&%T2/OVA7AC#F!!0N_V=N,3BA5V@+"1,[+7\IWM5-,5V MWVE_E^(6B'8U@V+RYOH)D,#D:6C.'=7*VG+AG16P5YS_$#D.*03 ML[1#51^B5,>0'.ARW:VPWIL0G;Y^/'LXENSO%OYCA+#F@@\1.I@@*&6[\52D M1S2J(38#G_^AXW31VFGQQ/Q__P0^A'*/QXUW.(\(_EA( M'@NQ,QS@B.F N6G(E/W*;.T.>!;SKA$TX3[#U.PM(6OI.YICUS=^MO&A8:JY M-$O=BE+O_O'ZQ>')WT)A@P2##F\Q'FWW44HERMX83WUL/D^3 M_C&D]DH'<'L3[7HVZ%Y//^3(N,1..FDB/DD)FJ76!Q^ ;NL4 MT\("VI_D[^&'M7R34K.:MB>[*5#H$,UJ*)<N!3 M9X@%\'S?5D]U].4;L8?\.>2[E)=E#C&=RQL9( \B>W M-MQ>\/%&T,#\6>\XNC:+1 M6HEW\E.A,AX5VZ?43+TDVC,M'9+/ME\.!UL\Q/?NJ-P[N/Q&5\V3%P??CDT_ M=I/4QO. 0&*E*<\M*=6J^20IU93CMDF]^;1-DA6B0+->N8K[%Q$'YG8[1T): M.C3C8Z6ETJHM;>6,X/0E52SG) MB'[,WU.:B+R@ES>:]G/#]HU#7+M:*?DM+ MMX.4MHEH/ T?R.J6?>5 ::"<"21W<%26?.PQI:>/R2B# \$LR'V*.3MG#5 M./YFB2*V[Z6342]-L::4Z9P[1^>H/+&0M=640X72E=N6N@N8\'U^C^MD-68[ MKC$N0K?K!D.-']DPW2&W* W@(^6A+QV')KW+C;?0#N2T.FZW#3WL]D?\"D;_ MYD*@(:O5%$G*.&&N 0VZ#<25Y$1T=%0^[!AJW\OK_8E%4[ 18U!?#E943HZ= M]29^O#-)1'8<129GH6[%%A_WMV"A&EL"])25]^.YWM/CV:X/AH^2#[W?7%4M72[]B5,G@RMZZ6 M 5_=8M>OG)(E;ZJKW>ED\G*WEMJ,WKWAWR[V"94VZL()W]2U=+='JK+K MMZ.]4?[A4B^6@7[8??=F)1?J2H6/JPN';[OM*:6NE?':&N'4_.WH<._UT3ZM MYP7_U&KM>Y\%23*S]C-].2O?CB;$D*I4$>@$B3_7ZEA5%1T$-GY+9XY:DK2Q M_SF??LJR0Y:9].K85I]T&99O1P1:K3!ZB^%!^L"4LO3DRIRN'^74C0 MBC'-8AQ-'SWPI\;LB.>3L9A.IGN/G/>\5T!5].M9$X3E;B"C04D"!XL9372LR4,@(8M)(.Z[3A@UV) MU0KA$Y9BH8QRLJINZ8E:T6FRDV35L8F] 8Q]-,P(TV'>#VOEH 'Q;/2WP\.+ MT1:+1ROE:@4UR%FEA&OH!'K@U**I6$S>3.NN5-$X'71:<7)3+*59*$A8U]HS MI#T;79T2NS-A%Q:>6L":*T.,K8@ =%U93@I*J84G\AD<(: MK'3JMT:3=F:W@D1@*J3]2@75(^-;U>Z0B;QJ6?DZ^_BE;2I0A7J0(DB_A36_ M-B9B,!N'U9B.+OH';N*J)Q+V.14L[0G(-M'RMG'BT)@&FR[5RKH@0(;P6NQ- MMO_.4A.]6R6=4 0VXKTJ5#U33CS?8[B8L.!T:A)RP--,5NQ6,4/*<'\[7-)' MCRRAMVN2P]GZJ5(&;,!_M&3\L+U+[8O*^@:!-TX/R*%9/^.OM;GPO8#OATD. M^,9'7<>(BYZ6W/SKG"1;)2R=4FQAKV]$'5-"M!( 7;6 SDM(UV.!B&=U:A]P M5'8H"[\EW30^L?H/:$1,!;SE:79(>' <8>JO?SF8[KWZP4<[/^)FQ!]QUJR2 MUU"Q(^ 7!M[B/8"5-8T5'7X9.U!\Q >???KW;$*6)7PIP%'ON?)!UPQB7I/; M;G#V8^4H? @%<0@'AJQI?Q]B:R:F_67I)9+VL%=5_2'W2/QW#QEF+=J5-"J!:&M2]M(1B=TZ%*D>Y+']% MX==J54(' /B*%-0XQP$O0Y,# :@#NJVCD;J3EL5<:H<<2/[4\;6R7L=DP:WR25^X/[I* MSGA9=HID0MZL4PT=:E.R6\(]$O3EU4026"'F#=LD'P;%:5M2G&:>8!&@,T?< M'W'1G ]"*JB:''RV5#<::>#,%#LLH<:#-71-+K"F?.F;&?Q%0R*%*#FLJLAM M*LIRKHLY%Y6N\;+(@9C#0E4:70AS%W-[5^+MB(^>M7/2@A!)>2=KD%Y2GR/EK^5EU.#@6OS;EHBLE #!-O8I2<<:M)8K$ M"# #=,F82 &(K!)P4J7E3%=Z6!*&U]$_DPB)&X(*BP02858; M_!BL8[X7UI9K32CCM"<@%G(M7>G' M;6E\+:LFE:$5@C&YDO<6AB0]L,70,"M'@!7D35( /+$(#>-;C*B"2\A20R27 MBRD[D)XAHH$"XB+%I,B2J#MIA2/727GG=QTK!N.\@4[4#5<5V!GUR[7 ^3_/ MWF_O?2\0(Z6J=2%8?25ZO4=O;3Y/'C))\"36-+U#ZOB9Y&IS,U52,3UR[%/K#GM6 -.O;RG439<5OQVK3];@ MSF!BXF!^BHQ(ZA+EA"&,D*6]/Y(8+#TS7>4^G9"_$C>=X#TBD,64!,3BR.*/ M>#8Z/;PZ&FW!E)Z ^_#J([JA'3YF>V_*Y0%<5?PB;P CSWY!/5J(5_N3K=?B M"LY?Z3E/9XA>CPHI9+ QXJ/V' BLD$#]3#P J0#6;0C]5X!%WZ9"K)'#0W4\ M--"AG/FR,,1],TPGVWM8<,R-#EWA:)O2%&FE.K%C1*O#8+I E6_0@VFW[NM%=^@R,DSUY MNJ4B@:I*Q1#WE=C-PRQ*XHF$+Y#,$UCK_N@$?D!U/GS@6D4*L28> MJJ/CJ64BZZ$CQ44$_KN'6S%>ND]30ZYNXR4?E3E J32"= 'WSMP M<)]0)':3J?,U?HI==,?.P=Z+[7UBYXS4X#;A &%OG@0-)<6#/*UF7SI%"F2+ MT[9(:ONX&PY]YCS[;=&VVM$_<% M<6]37Y@F/K-\SS$H$*F'#CP23D\:N"T:-4Z:7<]\1R19>=LUJA#(L2?#JS=T M)/TQ[]US.+Y\A\<<@7G>H[)WKP@YV+LW7(X0TQF:Z7GK_YO"XPY]**0+<5+X M'*R"=QIJT!0'2J:NU7\=:^J%'(2HQS55\_M;G[HX64J>9D7?5Y:KJ=I,;.BI/ M8AGN3&)FF(7NP/3GQ*(JMA8J_O._87^C%14JD#:,MT%%C7SMVVNZ"7D MR""UU#_D >WFM-#/Q:EB(9"-3#/J?YM\_, P)59=A\T"O5YA-G,<-%U GAD?7-/I M:$!;/D9^3#Z!;KPI5)J1T"71#3WB9KI7RO?&C)F'HL=#2;K4=QCI+P VI8D/ M3XVZ<5'94V0L)1$D*GI4HC*0AB'O]CM/L\SD^>P!LLQSDP&P60Z"@N]EP7>I MJX;\9P-$MO=W26:*HSC$*"GF\DS7\'UR=_?T_XJ,'2P^PL5=^I/'$>ZQ7HN( M-*2:X<^U K\E PQE1=W>3_U5!R2]*$E!>G[-+P>,N]%][]8]+TYIP,=2IG5G'^_U;QF>OP02 M.:#_5$C\P(._+VA#J2"^5&E^*BXIQ> K7=FE O5@_V#KM3B5!26+P;WO2:I# M\'7S"70]VC)^F?O(.U[6]K91:[+B22?:FRQBBPCIFB4G>9[[IP$?8\18+",. M1ZW0CJ5>I>%T[*0&%QIPH6["ZUH)?CX[.K_DK&SBINX1S3"YU2$6BS3,F,7> MB4?ZW"@.AYET^$;U_!YV4/9N0R-><9E^/,*+R/9[[7C4RT&74N5M9+%6UG$R!L5?!_PI%DFS\;Y2M!%)^]& (\14KYP M>A:O!4DLS0DYC0>@X>Z%AH)SQLI2$N6^I_\$]!J_L^D%N]W>2XY\%T"OO1@)%U_?C%^02_B5R9D- MP=;\<:E0#CA:@.=S"^[3%R+0OD/[[C]02P,$% @ BH,&4S%*CTVQ!P M510 !@ !X;"]W;W)KB+ M+1Z1Y_*=*W7YI/17LQ;"LN=-59NKP=K:[70X-,5:;+BY4%M1X\U2Z0VW6.K5 MT&RUX*4[M*F&T6B4#C=[U]>7JK&5K,6]9J;9;+A^N1&5>KH:A(.. M\"!7:TN$X?7EEJ_$H["?M_<:JV'/I90;41NI:J;%\FHP"ZUW&_XIQ9,Y M>&9DR4*IK[3X6WDU&)%"HA*%)0X@UXD'3Q\[KA_YVR' M+0MNQ%Q5/\G2KJ\&^8"58LF;RCZHI[^*UIXQ\2M49=PO>_)[DVS BL98M6D/ M0X.-K/T_?VYQ.#B0CUXY$+4'(J>W%^2T_,0MO[[4ZHEIV@UN].!,=:>AG*S) M*8]6XZW$.7O](':B;@1[$(5:U9*0NAQ:,*;7PZ)E8.8Z'9OV<+X^C_>4-@T@M,G,#D]\'Z)A/*QZG9\D)<#9!P1NB=&)SC MS#Y)PUEXQTEX4P@5NMA%II MOEU+@"!6D-[295U4#2G&08>\0E:RMXAXGE?/Z:/%5FEOGQ$K5 V4*F?]J3"P MXI9QJ$H&?04G]XR],Q@D"V[8A\] %B\>+21!NSFO>W M,_;AMM$HE &[DV4)'6ZYL7[[;-GN_1&'?E, BG3NAC3ZKT-(W8OM!-6%S"H_OEE ]?\H':B8C=205/ *AHK"\-^5)97OWG_ M'?^B]-E F;)[3^T#^8\L3((LS/#PIS_D41C]Y9"4!.-1[ M!*M*;1V,7>RD09[F+':_X2C(XA2+T2AB69"D(9&2-&[5;<\8<(_"8)R/\>!/ M@C .DG&,APQR4_=/YYV*DS2#.9)ZWD$T@B$H7X4UTWW115(VSQ&5..'&,D XN[$#(0B=SDI+,$/$9AS[^\F "J5 ".T!/QB-$ MZ23/0(HF.?"(H)T+0)@4I5&/5;O,@P@1T1']ZG]A==_C;ZBVHO.\T@GA*70* MS'7M+C2:KM&AMAI@%+"F7LBJ<@VG$')')T'MMQ7*V+:!]334=IQ!L5EXO)C=;+K4+ZV+-]0I*:%&YQHQY M8(FNA?X-/[96.!"HRU+/<3GW=I&@+03'Q0D>6M!= P>:&H+K%?5OY[A3!B?@ M^I$ SCJ7/8'AUN6-K%Y8"33:$C^+\H+V11?4VW>UD>X$3=.(8V>,9XX6KRNXS]?"V9Q\4U:YQ'"CYCP,ESQ72?G+? M8]DI)9ZWN(![ !?G@FG9N&O#0?%X#>=^;F_J/5($-M<6I0;)=?BBC2T$=1=5 M_HY 6K?N\54$6H)[1Y M@)<[9+^#"JP,;E^ZO799J^6B\2C"=*U>>$7>#HC+@8<1"[PZ@D \"UU(<[[\ M><]\AA@>?>@#YRGW0 M,H -@>:_^O34_IO9S'\JVF_W']SNT+4E0K<22QP=763C@7=.M[!JZSX<+92% M?]TCKJ= FS;@_5(IVRU(0/\E\?H74$L#!!0 ( (J#!E/#[,I"I , -,( M 9 >&PO=V]R:W-H965T-_OR/U$GF+TPW](I,\WG// M/E51VGI3.U==I:O,2*V;'ND9%ED*;BCF:FEUJ:X.,1Z=* MIMED^D4+@V8'U5,7-8H=3[>7*6= MW8E>ZL) N9C7; MX0;='_7:T"SM4;BH4%FA%1@LYLGR['IU'O;'#1\%[NU@#$')5NO[,'G/Y\DD M$$*)N0L(C'X>\!U*&8"(QI<6,^E#!L?AN$/_*6HG+5MF\9V6?PKNRGERE0#' M@GGI[O3^9VSU7 2\7$L;O[!O]DXG">3>.EVUSL2@$JKY98]M'@8.5Z<$&:YJW&*L&(SN!<0D?M'*EA5O%D1_[I\2G)Y5UI%;9BX"_>#6&Z60$ MV20[>P%OVHN<1KSI";Q;9I10.POK3B3\M=Q:9^A.?'H!_[S'/X_XY]^4Q*]@ MP!$(1)8K9D4.BBRRL]AH$!9R7=7>(8?M ;AX$)P4@BOQ:3L9PGP?;R;R-^P! M#3TT4+[:$I(N&C ;1H16T2.A^Y;? SU>ZY@*B".02%"TRQF1AW#-%K9GAEMX M]?UW5UDV>7NW6=HX/'O[FA[X]C,].G :J&H4*)PW.(8;(2/?_R'GVZ5TR_]2 M%!@_SW0$M?06F)3 .!>A>##9HS9XKF2.ZHV7G [J 6&+J(Z#,$MU+FC@0395 M'JBU0^7$ &O(L&2\01'D2&D@/J!)LWD"L)A[0WS0CF%)2&]N.LNFM\![%?(J M-(^YZ!(X.DH?G$[?4$)-,";D)OBRNI8B9[&4TOZPY*@+6&\.K9 *7:GY"/ Q MEYX36"]8'IX3 871501JSK['YL]=E&'^*5$Y\Y;NC0JA0I:MS\M.Q.!<&-7] MD*D^/!8%'?@8?J>PA9;4DZ)WZXB$K;2C8-1U.,TXA?C/%(^YD9SH5(K"4EZ&(TO;RD;W;UXW#\7%U,!XVF0K.+[32\7:]< MTW/ZU;YC+YM&];2]:?DQ%N0Z&?]PD8!I6F@S<;J.;6NK'37!."SI M7P>:L('LA:;KU4Y"@/Y_S.)O4$L#!!0 ( (J#!E,9%A+W\ 4 T1 9 M >&PO=V]R:W-H965T)*D2Y)V7'_^MT=)<5V$B?MT+W$$G4_O[O[ M2.9TY?R74")&N*Z,#6>],L;%R7 8\A(K%09N@9:^S)RO5*17/Q^&A4=5B%)E MAN,L>S:LE+:]\U-9>^?/3UT=C;;XSD.HJTKY]24:MSKKC7KMPGL]+R,O#,]/ M%VJ.'S!^7+SS]#;LK!2Z0ANTL^!Q=M:[&)U<'K&\"'S2N H;S\"93)W[PB^O MB[->Q@&AP3RR!44_2[Q"8]@0A?&UL=GK7++BYG-K_5?)G7*9JH!7SGS612S/ M>B]Z4.!,U2:^=ZO?L,GGF.WES@3Y"ZLD>TP>\SI$5S7*]%YIFW[5=8/#AL*+ M[!Z%<:,PEKB3(XGRI8KJ_-2[%7B6)FO\(*F*-@6G+1?E0_3T59->/']MEQ@B MH1P#: MOG3U\H_P7C&IJ$#Y@7GL=-8;3821OK#/,&\N7R?+X'LO/X(VSL0SP MRA98;.L/*[;$WZ5*?B+W)PZGWX25.(RA; MP*NOM8[KCI&MT(GV857JO 3ED48N=[6-6 "Q!Z@ M:JFT8:U#6C@,RB")ZUA2:'_@$@U,.,I8(LR4]K!4ID8H-7KE\W(-4\Q5'1!6 M")25IIG$76&>T )XW.%KK8R.BJ>>*JO,.N@ ==!V+DJ5"Y%H)2=LP$T9+TF' M*FV#2I2Q\#I'Z0I'&D1E>F[U3.>*5&J[H:3MHA:$"8& MPD7L3(V>*S8>P,TDCAOH.*_2F6+ "N9=)WB4?J380DE=<1@P1D.B'@NL%N)RABK6 MGE6X;:@HSK,QZI@$/%[3)A2H62S&?MLBM54$-GO/'5&,#>DI.*,+"2I0\3'U M/J%"^YA/R.]/C<)Y ,#=&!6YK1;.-O"GD'G)8\G;%_4?VZ: J26@]3R ]]LQ MW%3X40ZHV5R%\*3!YJF ,X#7"9Q8>DRM&_0U];HP,3(3 _$H=CS:YZ9C7]39 M',I!-AC3/F.,;)E6%B;M O4RHV-B(RRNX4:6"# M.W+:@V^_G;Z\5':.=[ 5I:OLS3QLS,C-:,B ;X!N'?5&UY'4!_Z^SB@H^8:_ M'EOA.YSM%*V_#4E#53\MHFP ?S)FSM")4'2EO U)!*)PHVR.'4&JXA\Z!\EP MA]0]N?)^+30KD//2=@7V=0Y,UTP3LJ/3#D&'J9C6GT@Q4Y^$IR?;*,)%&\55 M&\55&\4GW^YS7]32-B-84^\+D$C<< "C_OC%+]WO2]J8J(<\3$8) MM/\C@"S+NM^= \'M8]&.#TP".S2IM\\?"YD FC,HT13":LK*SJ<9>=Z/5:'I M<[O[B>GD)557NKE"%>K;UNU#$;5>U-U^-GJHW2,;3\)(RI"L3>>)6*K8?@S< MI6%K(Z>/0A)W9'#$-,P4QSL+4,E!)(A%+8%:BBP5'(92Z M<=A(IY)63HXZG+EG]S*+= ;2H1FR?6-Q&R!)JU24X!21+UU-BH4T370;\4MY MFS.A)H'M8YR4*0UN0F)[8A\32SH\W!-,QSFTJ6M"E\>AX[@-[&[MK-^WF7X/ M3?\WEA:1'R#''P!V/\_=)IX'!_T )OVC2:*.H^,,[KHF#3>NJ!7ZN5S$J=OY M1)!NJ]UJ=]>_2%?<&_'TCP)BI3E7U>",5+/!\^->.F.W+]$MY,([=9&NS_)8 MTKRC9P'Z/G,NMB_LH/L/R/F_4$L#!!0 ( (J#!E-[P8J(8@, !0( 9 M >&PO=V]R:W-H965TXGB_?D=*5IPAR=#NB_ER=\_=0ST\ M>K$U]M;5B 3WC=)N&=5$[5DVDT6"Q6D;GZ=G%S/L'A\\2M^Y@#I[)VIA;O_A0+J/$%X0* M"_((@H<[?(M*>2 NXZ\!,QI3^L##^1[]7>#.7-;"X5NC_I0EU@4 M?33;]SCP.?9XA5$N_,*V]\UG$12=(],,P5Q!(W4_BOOA' X"YLDS =D0D(6Z M^T2ARDM!8K6P9@O6>S.:GP2J(9J+D]I_E$]DV2HYCE;OA+3P6:@.X0J%ZRSR MB9-;Q,3@WB4N!J"+'BA[!N@$KHRFVL$ONL3R<7S,18V59?O*+K(7 7_M]!3R M9 )9DJ4OX.4CTSS@Y?_-]%*Z0AE/UL&7\[4CR^+X^D*.V9AC%G+,_O]I?A<0 MW-0(E5%\E:3> (FU8@I\&QU;@;Q1:J$+*11(S;RZ/HQJ0;!%B]#T:"7P1N63 MW(4D_G[P'2LZ:STPZUPZ5B+54O>P#ZZU1"ML4>_@=3":S@E=NI_.@+\8CE\, M?L,[5+ ?LV',X<805\=BP1T+V=YRXZDZ!H ?(4W323+/>?;JAWF69C\_FNVM MOQM]U =Z^GP%UP3.ERYI-[KOQW22S=\,OWWFI]/T'MZ63?+3#"ZQP&:-%O(T M\$F^BT]V.CD^.7V.SV#]1CY)D@R_(Y\GTO0>WC8/MIO'']%4H!^G'3)*UI,7 MVZ"2DGW)@&Q:CO5:XB;;J1+6"(42SLE*LM<@E.%$IG#9!15YX5!M$8$% D[> M0].W"/0MXE]R\2[^G">L4RAER?615Z39:/FW1]@Q L\K60@NH^#J) '?8L<5 M:V/!<#I[Q$K71X1-:UBDN\/"!U=6^K/,I^&8"F'MSM<_'I7I[ O')=K6FGO) M+P23>CCCZ5/])#[HU W:37B/'!2FT]0W[7%W?/+.^T[_X-Z_EU?";OB.@\** M0Y/IZ7$$MG^#^@69-O3]M2%^1<*TYF<;K7=@>V4,[1<^P?A'8/4/4$L#!!0 M ( (J#!E-WK6(=,@4 ",- 9 >&PO=V]R:W-H965TGQBBWQ&NWGU96FK\E.2LD;E(8K"1JKD]%9='2> MNO/^P!>.&S-8@T.R4.J[^WA3GHQ"9Q *+*R3P.BUQ@L4P@DB,W[T,D<[E8YQ MN-Y*?^VQ$Y8%,WBAQ%=>VOIDE(^@Q(JUPGY4FS^QQS-U\@HEC'_"ICN;I",H M6F-5TS.3!0V7W9O=]'X8,.3A(PQQSQ![NSM%WLI7S++38ZTVH-UIDN86'JKG M)N.X=$&YMIJHG/CLZ3D33!8(UTZ"@5=H&1?F>&))MCLQ*7HYYYV<^!$Y,WBO MI*T-7,H2RWW^"=FT,RS>&G8>/RGP;2O'D(0!Q&$TW<+#!#*@*R)^X\R+#@KO[5>TH4R%BZ-Y51"]/F:<0U?F&CQ.4 %1% 5AGNROXBR8SK+!RIU]0 33"(5@QO"*DSY"5CBG.:<4 M/WN/.H=JM?>,$KST!B[Z4/BR,V,X6Z.F#D8XI,^EE@EXSVRKN>5HO.M*=FL. M@1N0R@);K00OV$(@\=Z/3N!=;Y4E,8\;MC6"N%]$\7P\I?8@A.MT&XIXH9J5 MYJ:+9'/?!9XKBL;1CFNGQ)/R<;JCU"A*:DNV)A'?E(:*2]+,R3HN*6BV=?W5 M;*$\D%:_#">=#PQ[-IPX&\\>AA-' _<\%\X;N2;+E'8A'*Y_8Y%\9!MP.:]) MNZ&\3>?TR#+X2C?92RY?KK0JT!B8YY#'\)I+3BE7PE(IPCQ/(LC#Z9YME/I! MF.7TGL_2/0J7A6A+6O0-I??9P"_/[A-CN-(T%6A[Z^FN^:SHGK8!2 K('@WW M:;_1=>_80FE&X&[OE!#L. ]FL6L&\31(9SF\0[JR:T41YY1!:HV-S[8H#+)\ MNGU=4':U%(6!)&>\497=N%Z1!#$UF"2(YC%\J"I.:;I_LFJUI,2AHU$0I[/^ M2>V [I:V&S\('NE?:A?.*,B2&<1!,LT><1>DTV"6)9 F09@Z%,8IAVA]ZQ)T[2\D5S3)./XO1?.!O*;AK"AT2[:_XVS! M17=!=!364\2 \CLOY%[\JM5%347AFL4TB$)W7V9!E U.:%51PA$\ZHD.# WS MAI=TWU'C<,E?(7$G03Z?4Q)/\WD/()O!-$K@D^_T+I?"W'LY#.(LAH?FJ\E@ M<&U0+_UX[E"WTG8S[&YW]P=PU@V^=\>[WX?W3"^I?X/ BEC#<38=@>Y&\N[# MJI4?@Q?*TE#MES7]Q:!V!XA>*66W'T[![K_H]%]02P,$% @ BH,&4ZE. M_MEU# W"< !D !X;"]W;W)K&ULY5I;;R.W M%?XKA+IIU\!$UM62LQ? WJ;H%@C66&>;AZ(/U PE,9D9*B3'6N77]SN'G(MD M27:23?O0!UMS(<_U.Q>2\WIK[$]NK907GXN\=&]Z:^\WWUQ>NG2M"NGZ9J-* MO%D:6TB/6[NZ=!NK9,:3BOQR-!A<7192E[VWK_G9G7W[VE0^UZ6ZL\)512'M M[E;E9ONF-^S5#S[JU=K3@\NWKS=RI>Z5_[2YL[B[;*ADNE"ETZ845BW?]&Z& MW]Q.:#P/^*=66]>Y%J3)PIB?Z.9]]J8W((%4KE)/%"1^'M0[E>=$"&+\'&GV M&I8TL7M=4_\;ZPY=%M*I=R;_06=^_:8W[XE,+665^X]F^W<5]9D2O=3DCO^+ M;1@[&?=$6CEOBC@9$A2Z#+_R<[1#9\)\<&+"*$X8L=R!$4OY5^GEV]?6;(6E MT:!&%ZPJSX9PNB2GW'N+MQKS_-M[;]*?OB:],O'.%/"UDV2NUY<>U&G,91HI MW09*HQ.4KL1WIO1K)[XM,Y7MS[^$5(UHHUJTV]%9@O^HRKX8#Q(Q&HR&9^B- M&U7'3&]\2M6UM"JJ>B=W0)87-];*D!;W.6R=+B'P8;7B3 5 &NDS819BDQ;Q(&Q3KST:R5Z MM_2B=R%DF0E''-8FSQ1>R\W&F@?PHF%$J,/@9DO4B$VDPN_IOG?1%]_7$WB MJS8@IP %YF'5)I"*%H%\4E*S!H<5R?P^?.?YJ/1X!4/HZ=\/WQU M(;9KG:[%5H+>)7J@"U+R0ROK$)(Z-0WDZ+@+WL?[V]<[^+(B*HD M_]* 3SP ,.#: >F^#I994;2=G'?W>)X(Z*\5PIC;#SS&L$^C.E:DTJWCV"@G MZ9YILB0N%!#V('-P=^0:E>N57N1*J&*3FYU2C7L=4KJD4=&_%';L0@-:BN1?*DOQ"R97\^2X6026850>*GU M!2L1^4.#'Q$X-#^:[$Q(X$YZ:&G5/IA9C9N-U;D8C9(@'C%C>,NE)SH('UU* MKQ*A/F\0^HG(Y<8IMJEE39=*@^^K&OI9X(;8+0P&X*84PTDR& SHKY:_D#N* M8S(2R;PQ)8NL/BN;:B*_/!D7+V-:>7__P=49I4_I$X5'Q1PZ[P]1=?.<8B)R ME)5?&ZM_ ;LGW<.FLFJE'?3?L^F]2BN++ *"-RG']?!Z/&84250C4K^;^O:' MM])^O^>>QG*/DL8)&R2<&.!(7Z$V[ Y?4@C3_QO\O^-K"KRS":.I)V)3(0DC M%N,K0A@AO0FVP+N^[12H@R#L"ZZ XD-T&ZD<)&R]#.BE,5I..+M *T5 :)R M)7$]' R^J@-T*;45R R5.AJ/$5,9T$OO@U$COL^(-)//I[Q&$(9.I M$%]P_6+7S3GOEPDQX@*&7IIFR7I>*WUC_IQS'$A(C^2\J%@ULX7 T:?&.>4< M!7TG*%M#>N,EU;]BP;(\&,KVF+4-.4\B/4:]NODCE1M-\YA'LA^_K3GQV*DS M_AR>\B<]X<#+=\RM8]$:6S75.O=1=6B* LJ5LA!])]82N)+4?NL"B99LS@Q4 M*79*1N@^H+ )JOJ0&HJ&%TMKBF.^PU7H848 <^,WJ)Z1:9")B(*(;!F]:"" M.FURUD-,)U;1 HS4\VNKPAQ$S@^*$V1, U')K?9K^!L-$YK4W7$)E3;7 MU(-];)N2 (Q/>\T,V5/FSD2#MA )B3)XLH5+BP3(R\UGQSO4WVB3!6^,QPUV M']=E>DH,&D]1NI'@1&3 1I8E\IUUZ$)J(O5(PKI"1N3U38">#1+)%IU[DHRF M3TOR)02AQC5,3JE&=!I#QHBK\*:V+Y6[X>R5:QKKK,%;/;3F0Z3[P5K45;2^ MZ&@1 53AO5Y&)BQ7TZ,X2CL$(1.#BU(,AVW-I^Y>"9D'8<;,?VV,W1UODD_B M,33)G!0Z4\4M][X?#OID+IEI=^E([M#>JR8_W4:%# MX7K]&9T(U]=.(<]@H)6,B9-@]6ZMU5)\VXS]L%S"6R$F8_^$O$ ]9^ 83,=M M)&G6?[[$%(W-DK5#!8H'ZY WZM:CEBS&6 XOQ))D5Z-K!$'D;T=6)!N&M1?YFY;X39\3 M$=W%X=J::A680[=". M"FU9];M-6(R$10 MZU*S*G63I#N;$'M^08;%M6H"'*;]0)+X8XN=9L4%L=C< MNMNZ4.4WKLD[80!TW)JXQM$E6H8\+W@!QQ$V'7S5F(6=UM6N[M#:VM@='GNI MI;94=/<:949ZFXE$5<;1A@][G0>7) M,L:>9D(8%+;FJ-+6M%HIH_UK( M\AY%F[OJV,-0VBA'&ZI"%E>Q^KWLT7/1;1G(4O7CN)7&.:Y9CM3IO,E2G<+( M>6S?KP\2-JUH XS6^ACXR,G=CBHPP@E)Y5"36==J]BJ4; MS%-XA#R3[_KA^& T. &CP7$8#9Z 4?;_C*.G /-D-'>R41A9&;]B;AINIL.=P7M>FUPUG02KWH)&KC]^.Q0_M"Q^)'WK\/X@?5SE:OJBLCA^6Z@C&$3I;VKYI42RS!UDO MY\'W( "2^B0F9RJ_(P &9P(@&C,&0+3ALP-@\M\,@*ZHSPR P7,#X#?0'OYA MZ ^'U;='#JOC.O'^J86D=A&AK0I5*0%8K\+1*XT*!P0FUYD,!XCX"Y>@H5TF]0<5390:(:PX4VC,9 M):/)#+,F5W,Q22;3F1@GH^%$?,][["_P?CZ9,-WK\37Q2J9CXC-)AH,Y]^9! M=48*=^0;X"<>?C;;[>=#K@$E?7 W$U'.#=:#RB_\-86*:SL1A=7Y'_)F-Q-9J%*)M? M7XO)=$[F'UP3Q>GTF:XYTB"*!+;L9)VG7).@<^'$2_>\/=AN:M)&-'#_8M*? M-T>75N7U]EQ5QOQP<-:'\;.SX_?,A?'#_G5GO'@\(9P8THP7X_[X+&VV:#SD M+P4@Q[NF=. M3.L;;S;\_=;">&\*OEPKB2I _!^:8RO;XA!\T'?V_\ 4$L#!!0 ( (J# M!E/KAGB)B@4 )P, 9 >&PO=V]R:W-H965T.;,F5GNR<[86U

[JKRMJ=)H7WS?%LYM*"*^6FIN$:;W)C M*^6QM-N9:RRK+#A5Y6PYGQ_,*J7KY.PD[%W;LQ/3^E+7?&W)M56E[/T%EV9W MFBR2?N-&;PLO&[.SDT9M>VTJ>=&SR29;(RYE<7'[#29"R N.?420>'K&U]R64H@P/C:Q4R&(\5Q_-Q'_Q!R M1RX;Y?C2E%]TYHO3Y"BAC'/5EO[&['[E+I]]B9>:TH5/VD7;!8S3UGE3=1P]'\"8=EY[ ,N.-! >5[Y=79B34[LF*-:/(04@W> *=K*=91R3KN[8IMHQF9Q^;T2^CB!" M\@63TW=41=)92"=0Q@-EI.K'._C<,6GG6I@N%\O)P2H:K9:3P[VWY H%$!,T MF&LXM$AY/Z&V0<>8<#)Q!\:1\J00383.V1OUC2WZ=GA/C=5I@/SB:#I?A4-> M',A3PS:>\_TQ.^T+JC%Z4N4*^)N4.7,AQ&)Z"+V796A=B32?+ON-QV&FU!7Y MO4:-]:8-J,^WEAG3P],7IER7R%[1#6_%1@6+M5<^6F A+4[K-ZL(27A>7UV" M!S!L:5?HM! :*W5/F"@EI:9"#FM6F!,8(0=5 D]B2_MM;>46Y-11Y3C[R)WQIU0#51_,I881=?(H<3W2U4U[^C2P.9Z?9F\?DPAMI M"MQ:R"8M6R?@(*+:3T1= MLI]IEUKV?=VQZUJX"AD.A<&Z*T3&P(R1R/]F;?)0*0.5HO*^ /@W]ZRLJ%&; MK',J@G[3F"%T)QM(#@T@L92,6EVU59#D_GPZ'S2)C=@Z\B2XQY*8TN>0M403 MD&X4>B(L/. ++1T#(37\,-ZB'4(G.=K<@X)[JM@7 !QRUPYYHPJ9P-NPU.KE M3T?+Y?P=7DJL+D*OD_!R\4Y(QV\5R)(:TTU;,NTM]KOB!+D/:J7S5/QI\7:U M"M6"E&303*63 )1JXR$\*,1&&"$/ ?J0AZQ"0;)64 Q$C'B( A:N=UIX"+6$ M@./L"851MM2 9_)C>J5?AST99*I..6C#J3+,&P7_[FS4V;3;H#3JPL0"B#U: M+M-QFH[K@=YZI;OX/8SOY*#E_I :FX6S@^ZE74-HS!^L@;-1%CTCE7U(I@\P MYB0DN /9GFLA4^*?.%@1N%^==#))-#:X=K'32#K-C6R>&%2P MS[5U'N),2R5Z>IA94'\WAZ/R9/P$O35@6.JK0L]!$5VQ5C_W)=M:XUR0AWOX M51KE]512.*@G&..)FUX&*5N/"RXV<1EV8:!S)+7'$N?%T?,(1KW^)*VX9\?$ M-J%9567:.K3C*%>INV5=;>#?_8+E@N(7-R ,-CDSU/FC&\]L=&.LV&[#O=CA M#!P6+X_#[G#U/H\WS@?S>&__I.Q6HZ-*SN$ZGQ[N)V3C73@NO&G"_7-C/&ZS MX;' WP>V8H#WN3&^7\@!PQ^2LW\ 4$L#!!0 ( (J#!E->]K"W\A$ 8S M 9 >&PO=V]R:W-H965TM9@_9;5OSU]]71;(?4MN;F1L@ M6Z4)^LJOY>?+.XN&BJ9WJG":5,(J]:O3VZF+]_. M:3P/^%^M'ESG6I D*V.^TA*71 MH$87+"K/!G.ZH$VYJRS>:LRKWMR:W4Y7T'+EA"PR<6N*2A<;5:1:N5<7%9:@ M@1=I(/?6DTN>(+<4'T%@Z\1/1::R_OP+L-;PET3^WB;/$ORY+L9B-AF)9)), MGZ$W:^2=,;W9'Y%7O-,NS8VKK1+_O%FYRL)H_O7,JO-FU3FO.O^SM/S_("=^ M*965="\^*-@K'M16;.&PO];25LIB#N3+32HKE0E=B,\J>S &9'2U'XE;F6LX M>Z'E2#QL%88^*&'2M"[W0I:E-8\:SJ#RO;B\',TF$SA23037%$+,&O_6.E7, M5RY7!JP8NQ>NE'B(Q79P%UWF2JQJG6?@TL'BJRW>5%LEG-S1&P>!G1.EM-^( MY$=565.:7%>R$!_T6HF_%M@D68 D=%'*8B].3S"*WIVC/7V^]?D[.P%::UQDTU9&B/_N.%N&WTQ_/F'J?M=GEZ/H[6)M/_BA+ M_9E]=GC<$SPSK_1^@ #;'0(61^1[$@,16%D+7BLCI!.=]9]8>S2@B^GTN[9I M,9F*VZURLE3RF_I=RCB8VN-H+/X.Y\N9=P7>L/3/L@ K>PI9"%SP'ID[X^WQ MD/?D^KOV<0H&[N1&%_+A=S$>YQQP_*ZV%!Z.^'3U:IC+Y6AQS"6MTUN =O$C M/-?>2W%7VXU.93Z"JZ9C\05C@T-"1W$= 98'R*P,/%4]EMIZZ9]0;2,'O4?, MT]#&VIJ=>*]6ED=-.6U,,,":>K,5-Z7%3H5L\KS(L]'\0.*A;?#K/2-S(^FP M.)XA+\Q7>HKPS#$9FJ1ANM"5EGE072^"D>H,PMQ:IAJ!D0+_02BG>SC&O'') M)N2)+9QMI11 $4(C$G4;E2L@+B<0?VD[MQA!GIG]&T"$201=N=;5E=VY: U, M? SIVRU()M-K5G1/-H3QGP@N84N( 8[/063/8->(#TGXWP\TA MC\W6>&8H-@;K_2C9[B^[WL1DHQ<-BC5 ST12UVQU6PE#-@64/CT3IF2P_+0R M^HY[R#T]7Y-CG"[.Q%Y)ZWS$CN2=0DZ'A_W>=09%.UZ,Y2&/M>K76H?$ J, M!$'F4;9"E4+O96.R/8?I^%*UA:<^1&(,K\(&:_B=U10$Z5;01N6 G&2P*Q\%X:J^ZIMN&@X2H.3UF7EI(I MV7UI+/,8XB#I?$>:\K[KH:)><\2(9)Q(MQ*H,2R3&DO6\0S?S.F+R3A!(9+G M7%/Q(V!TU6!T7OJ=2M5N!2%GTR;6;C48)3T%M,70$Y$>HW)3;,YY\W,M5YUP M1E+7A:SA=1B?&MAOX?R5 QS,6!DKF3,2Y"((2KM)4V*?=,,[0L+E/!(;2 IX M5L0'R%28'6]OX .J$+BTH]BYPL<[TO'HOM@?A@4>AO=Q&$?&!^5335)1;Q9 MBAXT*U.Y)C.1,(8*TVDRY((FB*U2'A4BBP(X\U@ TY7,3H MW(N=U.J4MUFZK3!_R#99/?&5"*P,<8=(KNNJ9@P4B[C>*1=I<#:=>;\CG%2D1.FDU<#59*-%;;C&HP&)>K MRQ(V9YN #+X1/7P:ZY1Y%'9+G\XY@$HNX@C# %/Y%3L93<9';4J$U/,H=3?1 MK51*I:%:KT.(K$NH)3C)/GI6N[SN8Y#+49/\NTFFHXZPDV"XCR%I,L^-"*Y/ MF9S]"^U;J\Z.(D%-IBGY#B8R@'!'0FF;*?3V&MF%^BDD(V*Q>7#BE .LJ1W&NK.74!6EFN$4<_=\\N%*I[UZWS,R M5L1+@%*"";\%%++VV>;^MG@("K;);,9_$Y&,)LL%_M+@NS:&=PD2 MHIQ.Q'1)?^>7*,!6,;8CQ*J&G*!+)"Q\YE8 MGQ MY?'43#L.8X+!^W*\%#\\8X^WE,%+J;.7'8-L^>,$OV;[9U\_J%NFA*#R8=;1]K[K3=LV50]IDW1M3UA##$?)1<+>ARALO% MU35=SG%YF2SIU\I)->P]BMP MXA T]*ZL?:NF/&2PWLUR%-Q[-D=)09OA* NHF8@1V;,8^Z6/@5C%DC1?) M^#+.B%7H0U==-6$IXI]1/#=#0%11:$T5[WI3DP7_(('KICZE$$S+ 0&10Y&/ M0CL=IKB^:5P+<$XVK8C&I3BL1EC= M[V2P&I/QHE4*]O7?01ETZ)O5.<;/?H@AT7H\G5J.2R-6>4MW4/M140> ?H3] MA^*B]&WP#(6ZZR+^+6/EZ<3#0Z\)"OJM=J*A\U)4#GJCHY3Z='N)47AQW,DC M7A>=+A(;0K#.+-@'(V4(U.CNJ/H^-(KCZKTESCV?:%I-HYAGA\#4VQIX3I;# MN]BA(#$3RA0)I0LNJF3UK'*T._9WJM'8)4JC"VYXL1?X*AW<>_[(F2) ]%X' M\I;Z5<9G,K]D;-[LX4]%IULUF&_9HK\KYS85\9^15Y]-JQ$^<&)-1O/ES"?6 M9'1]=>43ZPRH-"36V6@ZY\R[C+5ES+#)!*.FSZ?8%\3=)8A[*-<]THT]#)\& MN1K;^_83L@JG$&NI<1>Z>D5 )D"".?:EMKY0BZ>H8\!B3Z$[B^(Y#-?ERF-WCS%TT6F\QO)7[_JMZIA3^2U]SN)9\%;/ M/2E.2$W2_)5:1[J27%C#R>&P:B,M>P&IP->O;;L)(@5L%JVRL4>KUG0NV]3* ML0'>)DH,#3F&-]%4BJ% #P+V]LMU-ZRC%D M/M;O*=SGU$._/G0.<=. P2_[ M4G5NWU&("\)]#,)]"IO\<="<#X&EEY0:-9Y*-!$.GF"WTUQ#>&A:+TLJ%I<) M7K-BO-JD82@<;1QOB::SL6M[^>^C]@5F+I3X@PW M@D(/N,&[75!Y0*]_N/85)JML(6Z0[3BQOZ6F,"4@[:K@%;X.-A*['\'W%WKT M3JW:H[J Q::3\:0% YQ)LGO?>FZ >WC03F63(LN^-_D]9QM=J$YK^_3D<_/J M0WCEI3II%EZTZX8\7L3.')E^JO0]>Q;0M_6>M@K]KJO)#XSN8..:1@S,&@^5 MFD^>@X3L7QA8EI4/18MJ#K:"$SS%+!H6&^*-:MM3W2>$9Z19['V0@;%29#;B ME[0RQ-"TPV7_V7S4.8FBH/]+<3@B;+=GW^]/GS?.^.H_L^C!"_QK+#XPR9W, MU"#%%8' !BY'I-P@"P^^PV$+/$P&S'6JS\1L?+G 'EKQ[G"/3%)$"OHI/\Y!$E/::@_15P M6-Q5EFK%GQ&,&6H2_#U]>R: (2<_P&ZB]1_(_:3"^FK@6J)I$$6X3OSW]/&< M[I;.,X^ ]8LL_6!)5]M2CI_(IZ7P(#?-[88^(*0:*@5L<3P!0P@;9)I "?(VO>;#9[]E MP&'@;%6'H?Q&%_9%-X,YA6T,O>D24^+XYN_<]:CZGE'S6H/3& MFY'.-#R!4-L-,IW.*0!%2+5O-,N54=09(CGHE!2$JH[:?=GH3V6I::H(ER)Q M@P$X7>V:N-;J,!2"X=3P8,=&':,ACN,GIM'4O?%J'UF>HJ(#7*899#*#28?3 M"Y\Q$)XER?5A,R;*'I'Z4=(9\B#IJRZ:$X//N2F@U@8^'J6G&**;>M/GCF3L MOQ#NS5U3E(%!E]RRZ'0:CY->]]N.#BPFFZ=#J]1'PNXQ1\;I):12_AJ7Y0&IM0O-W1.5.IJ53J0W$^$0UCO+?MX;O0RCCA^-NBG7A9)6_AMI3 M)E-6A=.7OGK-$='U[[9)L6FEH@ME5)MAZ/QVA;S MLB5BG^#JACX.\I-_VU#.]S_0N2CM!OL!:Q_C:D3P+H3 MWZ"*-Y4I^9<.*U,AM_,E??>N+ W ^[5!T1IN:('FIR]O_@]02P,$% @ MBH,&4T9S Z*'!0 I@\ !D !X;"]W;W)K&UL MK5=M;]LV$/XK![?HO@BVY)]GDMS+(3KFA(U M?9D;6PA/KW;1F\DIJG%IP55$(NSY% M95;'G:2S6?@L%[GGA=[)42D6>(G^SW)JZ:W7:LED@=I)H\'B_+@S25Z?#GE_ MV/!5XLIM/0-[,C/F.[^<9\>=F &APM2S!D'_EGB&2K$B@O&CT=EI3;+@]O-& M^^_!=_)E)AR>&?5-9CX_[AQV(,.YJ)3_;%9_8.//B/6E1KGP"ZMZ[X VIY7S MIFB$"4$A=?U?7#4\; D?40F/&4R%]6OX8H5V(O#ECGJ>]/.N7MKH.JUU]>_1=0 7 M1OO[2D1FIO0,"E-^EWF%8VS2FE8;*PB%1JGK+/YW Q.8>RLJX2M$+[5[E, M<]92-@(9)-'H%,Z/3BI!J MK]8U##8DM?12*, ?E23JI5ZB\TS2/J&,FDG;YS&ZFTBB#$JTW%2E7H!#NR38 M#L@)):]YB1&87Y!I135M+RA#6!![37!ME M%FLV)@O:3)2\_4BQ,&I=H.58H[ZF1P>LY(JBJ1<80I.:@CJ]$R$6])%]"EJ) M*Y%EDM>)C<>&.T1W4EJI0O5&N^DC]+;.)(KCF/^>F$QQ]^ FF;XA#8G4++2\ MIEWT;;#Y%A*%%D;M@N2!XE 0G/ QPR6-IS)$SM*SKLAW:XKM5'0WM=&PXW.* M=I!W\@J*NO19<\88S)%P9 MC)-AE(R3()=$P_YA-!CVGQ"0Q^!V(0LH*R6#H1Q])C:)O^<&^F0N)\'X+:CD M;BZH!D?1<#B(QH/AXW$ZJ2G06'X6T')5@4)O^MJV/&6K9C%?(M%Z$6 M=U5KZA*$*=N@V!2#V.?T,8:B5NE=E4\C)TQZTN[HU)MMBHX9X;;2IH#E.#.< M7X31I:&]#GRS6H[?OFIFNBW!^[ON0]'BU".'_D(:I *F'\[(; %3&FLY30G* MP=P$P[4C HH:OZ L$Q^'(SIF1[3DE&(3V<41G,I$GI,*O6SG.WR*K4.^X6>P!(L:1/(:)& M*<+8C!A.?KI3:%];;T->"%W-Z:&RR(/_ULSHQ\2_J1R+-)F3M)E#%/UD-&S# M^Y_0VHQY;/^YJP!(UE2+^DR5T2$R-!W7Y$5[(,JPI*,E6:W=NCLG[FQO]]7 MJJ[R,-0XL\5,4=X&[<\=;3O;=V=Z(2T"#=$!D15 M4%^CVM7V$CJI[UXWV^L;[(6P="ASH'!.HG%W/.J K6^%]8LW9;B)S8RG>UUX MS.DBC98WT/>YH<-=\\(&VJOYR7]02P,$% @ BH,&4T'D-M9]#0 :B4 M !D !X;"]W;W)K&ULS5I;<]LV%OXKIV!W& M%F^BE":9<9PT;7?39.)D^["S#Q0)2=A0A$J0DMU?O]\Y "^R93GNS,[NBT2 MP,$YW[E#>K'3U5>SDK(6U^NB-"]'J[K>/#\_-]E*KE-SIC>RQ)N%KM9IC6&U M/#>;2J8Y;UH7Y\%X/#E?IZHJE!\K89KU.JUN7LM"[UZ. M_%$[\4DM5S5-G+]ZL4F7\DK67S8?*XS..RJY6LO2*%V*2BY>CB[\YZ\C6L\+ M_J'DS@R>!4DRU_HK#7[)7X[&Q) L9%83A11?6WDIBX((@8T_',U1=R1M'#ZW MU']BV2'+/#7R4A>_J[Q>O1Q-1R*7B[0IZD]Z][-T\L1$+].%X4^QLVOC8"2R MQM1Z[3:#@[4J[7=Z[7 8;)B.[]D0N T!\VT/8B[?I'7ZZD6E=Z*BU:!&#RPJ M[P9SJB2E7-45WBKLJU]=R24@KCWQ3NIEE6Y6*DL+D9:Y^%"O9"4^R:TL&RE^ M*:T! ,D7YS4.INWGF3ODM3TDN.>0B7BORWIEQ-LRE_G^_G,PW'$=M%R_#HX2 M_+4IST0X]D0P#OPC],(.A9#IA<=1@+0;7=6J7(I_7LQ-7<%F_G6$?-21CYA\ M]-\%^>@AY+W/S2;-Y,L1W-/(:BM'?^5DT8(QG/M=PNA*>*G0#=R@,3C<&)$: M4>]T/S9VJWDN/LJ*=Y>9A-;_O%E+P\?^IK>R$*^5IN/3C6QJE9DS\0%4LY62 M"X%P4Z6L@EQFBGU_G7X%JR>CRP]OWH].A3+,Q"4O?WLMLX8<6WQ8+%0F*TOK M#D M>%805GBF#=BO5VG-B)2ZMB]VRDALSXH&'DJBD%B6EW1>R$. &C&Z;+FT=,]& MXJ(HA*KEVC#I(4$\Z[44)X4VYE0L*KUN<=6E58^\=JOY)0%SY]2S6Y9(@(,7 M"N^BUC6TEUDL2,P%E'2;D,>FNR):_]:5JJ'&Q2U5.]+$F%GA$P@2?&L$ MX64A4AWCGGBX.<'"_N>"80]9BM4C:KG)B 6K=29SM3F:K M^::3SPXZY^^D?E4K''W#8LHJPT#]*:T/7.I; MJE=P]4R3;3?@$--SJ_4BK9;2U&Z3X%CG%&)3IJP UP[!;M6:(!G-C=THEH6> MPU+V67"&HPAHN#:?,W2A3@#BD$Y4Y,%6&E41^6:14MA@=58:;XV+>6Z$@(;8 MIS=6!\![E2)L07AM8PG!,H"/4+ ;G%"L"NG41:&C89=UCJW*'*LJJ,S! E_Y MO$(>:(>$)%RB)DLW(%QAI<5CL!735B&> XZD66B=LR#\@!DX@R)O)'4AHA9B M(67NB461;C4AOZA2))NR-]IEI3+$S8;.I+*2CV ,6O%OX3V4?BARIU[1L-_\ M]NZ*3_AX^>G\#WSP(F"R576EQ5JC^&L@I,A5NBP1HE3&R_L7 G M/QK@)I_):UH"P(Z*[W6)65&4H&X#>06S2*"JX!0#TUROFU(O9:DRS)RA+H9# M(H!SCG6%38'>BO0%%UIW)<(&ZBLI.HL:O5?-&00S9?1<#K#Q#8< UFF@4T^(]QQ=T+&,V8TDVSJ4188A#/X.S/!47 M"*^2]H++MLC#-E2D7UUC1 M]Q'66SCYVJJ,*CP&H:_&G%BE1HY;A.$Q MZ39%3&D]<\&1KH)P8J%*4CJ;1E]'6>/JQ]QBE;6-DL3R:YU6'-#>,)M ;E A M5G+9< !S):)U]+Z4+FWV1^ZI= J%4JA2N>TO!EB0@,-*46[3HNGY:TO%KGS4 MZ)(_=(!T#02[>H>F:3AG,0-M;=I&+Y?FF!IQTW9-[;H50A7KPB/!N),D7ZO4 MO&&NJ)1M23F+Z'1.2=*ZG$N3+1Q>?PY-=YU03ZJ^V<@>(Z> KKK]O)*MK ,D MVN["=*:>[3Z_LS*<#<9K-H24[\::3J0CYTQ][23C!8#P.1.)%$Y^F MHDGHF'-[C A\+Y[&;E<0>U$<8GT\GK2[(F\V21"!C8LP^DXD>,YOR3,WMP2- MO-"?=H+8D>]-9K-NSH[N%>W$/Q6Q-XX3<.//(N$'7A#[H#2;)7@1S<8LUC01 M5[(H^/*"DE/E;J=N!6ZB%GI^,A83Z#_T$FP/O#"),?;Q-)M-'#RMIV5'Q"9F MXB@&9U,_@DEY83P3,V^<^-"$[P.ZV/.G 7+VL1N+)[0E&N/[)/1FT83EG9'^ M3Z"927Q*I@'28W$2^!C=NBO![*DXF7H3?XSO& B#PI>R#[8H:>%[J@_OZ9JB MA;VF$B=)Y-.^,7;]'?P==#VP$@'VA%@YF7CC$$]7ZOJ8\QU]_;]UO0#&$X5[ M_M5-S;S)+=>S,P^Z'HQPFI"C36!<_A1V$8BIE\"R?!_03ML!]4UN&, D M@XGP$>O(J\F=, )NB&3@>A(@)H+TU/\&3TRF,S+RF!SN%&Q%X^WTL)ZZ#:[>>8!S&)\M%"3UG5SX$QBW 6KK]V8 R6.X\6Q+3Y=V%I'A MG71;0[C%IYXH9?U =8,V/?OZS!:*='.'C6V99RN_;[]Z?G2!\LA(N(_EHP/C MP>U7]XE/.<>'9R,VQ@F/(H0WC+QI1 $2:8/?T1R2%J^8P5<>2 O_WR('B&+D M[M&,!?=F 8D>(VSZ%H+9A-]&=BUJ&2K-./*I94FW02E<[;*[6^R?N">0U)*Y MII-Z 70U_O@I-3=8[7V+ MBOJG5@9Q@7+FJ?B!6?ZAGWZ-*H@F?AA.7KI)/]Q;^X:F)D^%GSP%\:?]B[=X M$4Z?,NT@&;SXB7984OY@^IT[T-(?(++CW[,, UXRN4?KP+TTU+%(M;6]#5U4 MT1U(VMU(P.^5SLV@@;]?21T+?41T@&\6W$'X9U[W?@X2^\_8O>AOG&+:=+P(6REQ&$8-=1 M.T3;.U..Z(,?&>J]^'TXR@[_%[!OZ8??'++TSHDNP 3D,NS[-MQ-O-F8@QRZ MJH0*193^/J+"V_=O+ZC8G\S0380^]R<12O49RHU87'R\N*2R)$*)A0HG2J@* M#"94&5+I:)837TODE9"$3M$R>N+0W_'.!_\_P4VL.1_^=#-)9S7_A6F MF^W^2'1A_S_3+[?_0GJ?5DM5DMJ5_\!4$L#!!0 ( (J#!E,+E!RLN ( (0& 9 M >&PO=V]R:W-H965TLFC:)-J^% MP )Z*9M6J6J[;8/TSXXR4&L)C:S#93]^IT=2*E$V9=-(OC.ON>YQ[[X,MQ( M]:!+1 ./=27TR"N-60Y\7^JF0%0Y45WX4!%V_ M9EQXXZ&;NU'CH5R9B@N\4:!7=R$/QXNV0+OT'Q= MWBCR_):EX#4*S:4 A?.1-PD'T\3&NX!O'#?ZP :[DTS*!^M\*D9>8 5AA;FQ M#(R&-Z,HE5..#.>5%06)G($*C#,%!;I M->JA;RB!#?/S'=FT(8M>(.O"M12FU/!>%%@\Q_LDK%47[=5-HY.$GU?B N*@ M U$0A2?XXG:WL>.+7^"[Q1SYFF45:O@QR;11]%;\/$&)+/W M<*"7+,>11Q=-HUJC=RH#W)=VU@9PL0!C][>[9?PW+1N[S 6!.:N $<1H8,_X M\H:O:OC><$$@N=),%/KM *@,V)8!KN@0ZPP5Q*&;"6!R@NL,>HG]'=&HGT32 M[!?;FV[K-?*A7$ M35T9_VJT#&'UXN# %TM52[]O5\K@R=RZ6@9\=8L#OW)*EKRIK@ZFD\G3@UIJ M,WK]DG^[=*]?VB94VJA+)WQ3U])M3E5EUZ]&AZ/\PP>]6 ;ZX>#URY52/,=$K["5Y__%.JV=C$31^&#KM!D%+-DS3 MABGS'0]B+M_((%^_='8M'*T&-?K HO)N,*<-&>4J.#S5V!=>GTJOO;!S<>F4 M5R;(J"M3BJMH)GIVI1=&SW4A31 G16$;$[19B$M;Z4(K+Q[E3X]?'@0P1:0/ MBL3 :61@>@\#3\5[:\+2BW-3JG*X_P#"M!)-LT2GTYT$OV_,OG@R&8OI9'JX M@]Z35D-/F-Z3>^AM$_A?)S,?'#SJWSL..&H/..(#CAYL@DNG3:%7E>+'9]9X M,%#R\VV*_B\<(WY<*D1.8>N5-!O2P43-M.Y*%8W30:<5YS?%4IJ%@H1UK3TCT:/1U?D92 ,0P4? @;68MS)K$X&2 M5LZ:($H+4L8&/"BJI@0G5<4G]1?245B#E4[]TFC2SFPC2 0^A;1?J:!ZQ_A6 MM?MD(J]:5K[./GYIFPJG0CU =M)O83O7^PU'3>1DDG% &#>*,*5<^4$T\. M.;0G+#A134(.>)K)BMTJ)C89[FZ'2_KHD27T=DUR.%L_5,J #?B/EHSOMW>I M?5%9WR#PQND!.33K9_RU-A>^A\K],,D@U?BHZQAQT=.2FW^=DV2KA*53BBWL M]8VH(WQ'*P%\50N^O(1T/1:(>%:G]@&DLD-9^"WIIO&)U1^@$3$5\):'V2'A MP5F$J;_^Y?GT\-FW/MIYAYL1?\19LTI>0S6*@%\8>(OWR'ZL::SH\,O8@>(C M/OCLT[]E$[(LX4L!CGK/E0^Z9A#SFMQVB[.?*4?A0R@((AP8LJ;]?7!UJJ@D M8&JNHS[OLW7/J(3XTB_%6XCN18Q30J9L!#;DJIP M<=:B76F3 JB6!N4J+:'8G5-]R5$NRY]1K[5:E= ! +XB!37.<<#+T.1 .K@ MW-;12-U)RV(NM4,.)'_J^%I9KV.R8.J#0!L/E(IMG59_3]#V?!MU:/%Y:2MP M[;\1!%AA\[OP )\* M34<"*\2\89MD8E"8)%@$Z<\3M[ZCVCMMJ[WAG&?;1,ROG.>*W%7(/ MH\#*N 7RY 2-Z;GZMB1Y'Y0F!" 3,U!S4DI9BM(*^6HM/ZL.ML;BYZ9<=)D? M>-#4J^B G"!KB9HNXL$ ##*$4;P@"010JK29\0K4/C]5(72X+<.KI3 M$B%Q0Y%M@?<1%;7!C\$ZYGMA;;G6! I.>PI]],/$UZS!-SI)%I L1C26(Q6X M1I5#V3GFA%Q+5_IQ6\E>RZI)56.%V*$JAZ#-6QB2], 60UNJ'.%+D#=) ?OH MW$+#7:QPZDYXANH("X2/%19$F4B;3"D>ND-/&;CA5C=MY M)^J&BP#LC/KEU'WQT[LW>X=_$TC@I:IU(5A])5RN" 2&CF,Y?=/(\Y1:X.59 MHT,,[/"/A.CXH4AH[97K,"\K]K7D5DQ)N>ND@4[-8X+^9HZ3&X+SN$XZ2$#K M2CA%9544RCB[46HO^VGR^'&23^%,3E8)AWI44N@0K"WU8@FQ48_' M*B"Z YF" &_&+5H#B146 0F >3BJ+R*2ADP*(OT8M1XT(&V,PE9NP=;$289V MMH9I6ZDBQ340P(BNL"<3!70/H=TRIF/7BJ(@IEZ$B[%DVVP_(RJ+4H@TN0!1 M^F28(RJ/3!E1N?TECD.0@<@0[G..ZD05,;T#GI^V\/QT)[CVNWT'NJ1R-L8V MG/Y*4JA%"_PE/"GMW2YWL/2=Z8K!Z81T2HKLBJ#>(:B'3$E@(4XM_J!1?7MR M=8I.%8TK@&G\WJG4%H<;(PQK#T;BY-VH!(Y$@!<(9\VA% KA*YOX1IKY)"HCD0#$65T MSLKAPB#)1B[S/8*0*J;#7/P0%J)L*&/9BV;363Z-LCZ7?A%[F%[;!('AEF@J M6#NO)&#YJDITGPQV400;[46E#ML+AKAKANED[Q +SICS6#R+=S46#I"HP@1GLIGI9 M(A^-[1QQV2*DOA@;L24C39+0^]!*1<4('[#6_6XX\T%G'AGJ@[W)L[4DUA,$3I].'H^!NK/ 83/]]GTO/O) M,>VG602$X$V)SA47=/T'+>H>/G\<<_H;&D9QPQ)/^DZ5"QR5*$ ?/';FX#ZG M2.R&'1=K_!0;LXZ=YX?'>T?$SCM2@]N& X2]>;@PE!0/\@"4?>DMVCRV.&V+ M1^V==?.&3TX'9 !Q1H!QL&$+AI_?&M.2=>*^(.YM MZEW2$&&61^>#(L8W,Z)7M,C7P&W13'#2=!(F+J)3#D22E;==,P6!''LRO'I+ MU=R?'-ZFP_'E.SSF",PC!)6]>T7(P=Z]9=Y.3&=HIN>M_V\+CUOG0R%=B)/" MYV 5O%.?3(-5&)CK1SE'M'._9B%K MLAY#'V6NMG#IU-7:KV,M_= [(2HQC6Y]_M;G[I864C>4D7?5Y:IJL\T-';J, M-J**/!>R7#Q'3;&+W8+I3PE$56S^U%WG_D)_1BHJ52!MF>Y.A!K.39LK>@DY M,DAMW[=YYK<]+?1S<:I8"&0CTXSZ?TP^OJ?ACU772;- ?Y"*KGL+KLG3/K+3 MQ^A4.!OB^7P;<\$I-X'8+7B?3AY_ 52+K\7J :\]H>Y@-G,<--UIO3,^N*;3 MT>!LN>OX,?D$.L:F4*F/IWN'&WK$#5^OE _I*K#'0]'CH21=ZEN,]!< F])4 M@B<;W4BC["DREI(($A4]*ITRD(8A;_,-'!]R1,]G#Y!E[NT'P&8Y" J^Z@/? MI:X:\I\M$-E>"269*8YBHUU2S.4QH>$KRNXZX_\5&3M8W,'%[?,GNQ%N5Z]% MAS2DFN'/M0*_)0,,947=7GGV*K=QE\?H0 TWN;9T7[L1_ )'!&JI'<^_E,C8 M?S>G=>$T/>;VJ@.27I2D(+VXYOOF<3<-[EWDYL4I#?A8RK3N[.-5\8;A^4L@ MD0/Z3X7$]SR<^H(VE KB#RK-^,0'2C'X2K= J4!]?O3\\0OQ5A:4+ 97B>>I M#L'7[13HQJUE_$/N(V]Y6=O;1JW)BJ=Q:&^RB"TBI,E]3O(\FTY#*,:(L5A& M'(Y:H1U+O4H#U-A)]8HSAI1N"NE:"?[Y[O3B V=E$S=UCVC.QJT.L5BD8<8L M]DX\=N9&<3AP(^);U?-;V$'9NPV->&MB^O$(+R+;<^72&Q7%'GHZWHT+7Q#J MJ[O=]YUJ9*#/'E[?+E/:>N>6@(:[._*"<\;*4A+EOJ?_!.ZS]J1[K.=<]@KQ3=3 M ,1VX+UMF/M@(A0(\2YX+?D&< M:C:Y7*DFZ ).<=&0;;5J[S.H>E&%YBJ5+N"<>#0ZNWCSGF>\S,09+S^_06[B MD+V80YW*15IW.&*+=+=;L:E.#F[=0AK]:YZ]4S(L^(:"<;2[8V:@31>PZ9V3 M6;R[)L[8)_ENC3VE)W^^6BE:&MA#%TSYWC6]S+'5 PYZ+SSRC06]ULE76B;$ M=Q_;7]LW1T_B"Y/=\OC:*7(DLH47E9ICZV3_V?%(N/@J9_R":H)?GYS9$&S- M'Y<*!:&C!7@^M_#?](4.:-^G??T?4$L#!!0 ( (J#!E-CW[!VMP8 !T2 M 9 >&PO=V]R:W-H965TE7YOUD)8]K1I6G,^65N[G4^GIEJ+#3>OU%:T>+-4>L,MAGHU-5LM M>.T6;9II'(;Y=,-E.[DX<[(;?7&F.MO(5MQH9KK-ANOG*]&HQ_-)-!D$MW*U MMB287IQM^4K<"?OS]D9C-!VUU'(C6B-5R[18GD\NH_E53O/=A%^D>#1[SXPB M62CUG@;?U^>3D!P2C:@L:>"X/8AKT32D"&[\T>N,X29.7_)"N$NM-NP: MOFK0 I#;-;MV8 O-?KM<&"?__83!=#28.H/I1PR^EH:O5EJLN(-6+5GOPC%P M3ZJB])R;+:_$^03Y9X1^$).+.[%"BE@F6Y^@9$0:Q@U;J@899]B7LF5VK3K# MV]I\-6?W:RT$V_A]$K1/#"B+$>67)H3L1FAGK*T$-OK/YXTP[$?U(!IV)95= M"\VWHK.R,NQ>6=[\X_EO^3NEV5:KNJLL8FEK1M'*2LS9C9<.*++/690&153@ MX8O/RCB*O]D7I4$6I@>OO.06\'%=K9WN&JH:M74PZEYM'I1YR1)WC<*@2'(, MPC!F19#F$8G2/.G=[=<8:(^C("LS//B5$&1!FB5X*& W=W=:[URY4Y"<251RBYO+J]9E&!F. +4#X%?6HQ"/_KW MP=[)IU.\._GZ_\:Z&"&ER0&U1M$LR/_&.B]YD76@55D0Q_(B9%$99-C#,BB* MC$51$&HR M)YHY14@'1SL(BLC9G.5D,P(_D\CSKPQFL HG, /R- O!TEE90!3/2N 1PSM' M0(04Y_&(53\L@QB,&(1^]%]$?:*B9V-%STY6].-=XU@Y/ZGG>#F_7XN^<,MV MQ2SU8>;>MJ#D@C?$9D-=I!J\X,9@QP+6M0O9-,@:+2HA'UP'#W;3*F5H%C%O ME#628PUZOOBP2QRFYFOHW"S0&Y.HS\;K0_N^LL9E?\_9ST?<\1Q)764&BV9@ M]_6!?Y"75#=F>_KWG)S3<4MH[;0.B8B:XW8:16H6L5\%&:23S)^890_0')GS M3SKBQXO24 OV[#F]V##DCJIA6<\]? ZQW=/E1G6TG[*MFJ[VZXYN"K=.WT*L M9-M2"-CXG8'Y08E3BT;Z0X9A!G>SE-!,32)./#XQ2@N-DYEK(@6[7O-V)[ .P?]ZA^A876?HCU1[D@0ML @**JBEJ]D?]K:A ME?6M:Z^VO%Q)\K&2Y"^A]F86]$7ME.R HP]4X-2R=UWM/@QHS8-J M'OP^]1 1=/UV*8T8C$^HJN]ER+1N\0Z[39$X['L7R3U"&! @6^A[U[!MITW' M6S<7W"*2X#-[#^DC47U0@6\%_3^ )S1U*)0Q71*ZI*YO 0DM^!+FAQ->?RK; M-8/=B#\O7J,0@8AD//>NGB47"918,2_<@VZ_8!_/>> KM+#Q"VWG.SE/H/#6:=F#28'DJONS MESX/.X"+; \@[P%YU-U=%%7>,,?F4Z-;,,&;V((10XUH$L=5*,K*&3KEA'/S M>ZK[=VTM-&A@53.#;-&1Y7O()G"GE:LMW*H2R[?X ME(0-ZO*MND5^D/";5Z *KK5LO&/Q&>H*;KCPCDZ&W ]J MWDOYX1L?:X1*"^HMB@ML=W^+%)@B$86F[BEI%64X\BW>2BE[*8JDB.TSB"RP MQH)YBP'%#6!541]!RRPPY?B'"*1^@J-(K+UEJK3'E_!8&T20W3O \ Z JHBQ MBBO^LNPTI1A5%+ 53<'XRFDSHFU]\ MVK7?*VNZTS 2S2:.!4O)\&ULO55- M;]LP#/TKA+%#"V2UXR1=%R0!\M%B'="B:+ON,.P@VTRLU99224Z:?S]*2MST MR[T,NUBB1/(]4L_28"W5O98,GTDERAH9RY5R0R9 M:A'JI4*6N:"R".,H.@Y+QD4P&KBU*S4:R,H47."5 EV5)5.;"19R/0S:P6[A MFB]R8Q?"T6#)%GB#YL?R2I$5UEDR7J+07 I0.!\&XW9_TK/^SN&.XUKOS<%6 MDDAY;XWS;!A$EA 6F!J;@=&PPBD6A4U$-!ZV.8,:T@;NSW?9SUSM5$O"-$YE M\9-G)A\&)P%D.&=58:[E^AMNZW$$4UEH]X6U]^T18EII(\MM,-DE%WYDC]L^ M[ 6<1.\$Q-N V/'V0([EC!DV&BBY!F6]*9N=N%)=-)'CPA[*C5&TRRG.C,[% M"K6A+AL-7,"E%)\OF+I'PY("X0;32G'#4:%!CEW32^?FNX8 M/,&^U?#&U/8_[NLE2W$8T(^J4:TP&-WF"'-9T$_(Q0(\DMNU)Y^P@HD4'1M# MCBS[0]+##%*I?3=2IM3&1JY84:%;FC.NMB:%B>=%9+8([8O80+*A3,+UKF(% MZ=?X]0.2G,EEI2F?/NP#G2S6)POC'8OICL5TQ^+.P9Y9!GYZV02?D0,AM6&# M3(%40$+6\ G:K?CD:SW.,,4R006=MB,0_0\"41358X.J>K6J>HVJ>L'OM;A> MJ?HM>35B_ -YO1#3:_6@9ZGWKI]&I;P^NLN/$GZ"3JO;\A277"AZ>#G%!H=?:$>*_]B>,/(I;NE M$VGHSG?3G!Y95-:!]N=2FIUA >IG>_074$L#!!0 ( (J#!E/RX5DJZP( M -P& 9 >&PO=V]R:W-H965T> MQ_9=1BNEGTR!:.&Y%-*,@\+:Q3 ,35I@R?O'1XYKLS6')R2F5)/;G&=C8/( M$4*!J74(C(8E7J 0#HAH_&XP@S:E"]R>;]"OO';2,F,&+Y3XP3-;C(-! !GF MK!+V3JT^8Z/GU.&E2AC_A57MV^\'D%;&JK())@8EE_7(GIMSV H81'L"DB8@ M\;SK1)[E);-L,M)J!=IY$YJ;>*D^FLAQZ2[EWFJRQX?$KJ68;"A. MDX. 7RIY MVH TF4Q ?PNJWDKL?K_EWR)3>I4$ZU@9_G,V,UO9)?!W+TVAP] MGZ.W)\=]_<9!Y7#%)9,I9P*N)26HZO-M#CL#9F&+D'NG<(=II3672@0#)(X^?AJMK%^ M4_)]'>CD4_7.+!A'G=MUZ[X9XTXR^-!\Z\R[T]0>SI9TNOT$+C'%%L V_;50[A5LQFX1*T/[3)'U!+ P04 " "*@P939'B+M^8$ !P# &0 M 'AL+W=OG'BC.U0V%^_QTZ;EIE2L=*\-([C\YWK=XY[LI3J M02\0#3S5HM&GHX4Q[?%XK(L%UDP?R18;^E))53-#KVH^UJU"5CJA6HQ#WT_' M->/-:'KB]N[4]$1V1O &[Q3HKJZ9>CY'(9>GHV"TWOC,YPMC-\;3DY;-\1[- MU_9.T=MX0"EYC8WFL@&%U>GH+#@^S^QY=^ ;QZ7>6H/U9";E@WWY6)Z.?&L0 M"BR,16#T>,0+%,("D1D_5IBC0:45W%ZOT:^<[^3+C&F\D.([+\WB=)2/H,2* M=<)\ELL_<.5/8O$**;3[A65_-O9'4'3:R'HE3!;4O.F?[&D5ARV!_#6!<"40 M.KM[1<[*#\RPZ8F22U#V-*'9A7/529-QO+%)N3>*OG*2,]-S)EA3(-Q;! T? MT# N-!Q\83.!^O!D;$B)/3HN5H#G/6#X"F *-[(Q"PV738GE2_DQ&3=8&*XM M/ _W G[JFB.(? ]"/PSVX$6#QY'#B_Z?QW^=S;115"1_[]$1#SIBIR-^1<<] M<:?L!(*LX(+I!;"F[!>7/SK^R 0V1N^*[7Y8AX ;!&#::J (X1 AI^H#%EC/ M4$$4N%WZ5D@BDC986@FS0*BD($;R9@X'O*$=V6D2U8?'/^']@@5GY3^=0[J0 MVL"E-IS80:]7C"OXQD2';SE"98+/5,KJ@5I/U9%J. @.X1T$0>#Y>?1R%69> MDF9;*WMV!P13"(5@6O.*DS[RK%C'O_@Y>M049*=<9*3@I3-PMJH.QRA]!&>/ MJ*@YD1^-JXZ.";AAIE/<<-0N="5[UH? -332 &M;P0M+GJ,]=90,=92\N8X^ M-H]DM53/9$O=DN>OE-!>1-OCCW7+"CP=41/7J!YQ-%U#6X]^8YU\9DNP:5>< M$<'>03RAGRR#[]2GW_/F?:MD@5K#)(<\A"O><(IZ"7,I*9&3*(#<3V#;-LJ^ MYV.UK,S24BWR0N)GY 63$&ZKBA-S7IZL.M5PH@M2ZL(X7?T2 MFZC9=OU@)O=(_US94@B\+$HA]*(D@]WA@CCQTBR"./+\V'JA]3'-]J*K.^$8 M7")%O."L'_HDRFJI#/^WWSB(8B^.J7<<1)$79='A*VKZK-@6Y(51:"N.M"84 M[2UP?**KD49RH!!=V7<;F[JO#>M*WG<_&H)TQ*TV3>;>T*,/-V7[EM0[0 U+ M:NA]XO4O:?^R4(A0]\,5[7#=5,(]?WKEBZL15Q:;U0LG+E=.$#.#U)(T#1W/ M(O*6O/;]?3S+!IYE;^;9+85(P5E1J(X,O>9LQH5KIKM8MA=V-\MZ?+;"%QO\ MWSH"5_!MIXH%\X: MTU\(A]WA.GW6WR(WQ_N[^ U3H.^5E&;]8A4,?S*F_P%02P,$% @ BH,&4PV81M1= P 6 @ M !D !X;"]W;W)K&ULM59;C]HX%/XK1]$\M!([ MN2

M(5HH&7IA9ZXE7&[!]\7Q<5-DS?RST*VME*U3!#4[7S]5XA*YU24_M1 M$&1^P[CPIF.WME#3L6Q-S04N%.BV:9@ZSK&6AXD7>N>%)=]5QB[XT_&>[7"% MYLM^H6CF]R@E;U!H+@4HW$Z\6?@P3^UY=^ KQX.^D,%&LI'RR4[^+"=>8!W" M&@MC$1@-S_B(=6V!R(WO)TRO-VD5+^4S^N\N=HIEPS0^ROH;+TTU\88>E+AE M;6V6\O 'GN)Q#A:RUNX+A^YL%GM0M-K(YJ1,'C1<="-[.>7A0F$87%&(3@J1 M\[LSY+S\P R;CI4\@+*G"F9Z]@O3I#S#C*Z IG!9RE,I>&C*+%\K>^3>[V/T=G' M>703\%,K[B$.!A %47@#+^YCCAU>?"WFBBD\Q;Q@1Z*8@9E23.S0R7_/-MHH MXLL_-XPEO;'$&4NN&:,V*ML:06[A:K(_OE@9W\KU373;L@]ZSPJ<>-23&M4S M>J]J6ER:P;2.A M2T$Y3 U,PU;6U-P:WCDPV6HF2OW^ =:50GS%!J!:HJOEBK][ >Q0D+.U4V4E M]1"WU;67 42#*,E)*\F&D R2-(=X$(4)K*4AA3O:'R:)PQW%(VMKD,;63C(( M@R'<8$?:LR/]:>R S9&"*EK%S1'6QSWJM_ART][;?%E3_;L24K[ V+X'MVN+ M;5PJ]']1BGS39]\,^?83"?;K6.4R3J8Z.W>0#2-;Y#QU)8^3W(UAF,%R]44[ M BU7,PW9*( L#&@OBB/[)7EA3Z1Y#-$HLSQ,8LBB'!;SOS31<01).K0T"D86 M,4W_!\7\B]N^0;5S;YJF9+;"=!=_O]H_F[/NM?AQO'MS/S.UXQ1ZC5M2#>YS M8H_JWK%N8N3>O1T;:>@EX#VMU*:\\0:Z'\FIO\"4$L#!!0 ( M (J#!E.WDHN?R04 (<. 9 >&PO=V]R:W-H965T"D*]:A08,Z6S$,^T!+E,55(E622N+] M^MV1LJ(DCC$,^R)1XO%>GGON2)X_*/W5%)Q;>*Q*:2X&A;7UV7ALTH)7S)RJ MFDNJH>+P62P^_%9; I+/\:7YS7;\!6WO]:W&K_&G99,5%P:H21HGE\,EI.S MJX3DGR/=]K?N]@QEC4S_%J57T1FBXO!? 9SUE3VL_JX6?>QA.3OE25QCWAP0),T:J.! M"]6M1N>$I*2LK,99@>OLY;6J*F$196N R0RNE;1";KA,!3=P?,?6)3?#\[%% M6[1BG+9ZK[S>\ V]"=R@IL+ 3S+CV?/U8_2Q7$OE>69JEO*+ =:?X?J>#UJ%*2HT(V"5:B@>(=.R0=AQ !4*8!@4**@< M2B>OUJ78,"H+'[RR!=%YAPJ3Q%.% %,,'<)7HG'-V8H M]?0(>J/W?<,>B#-85DI;\;\Z0W2DCG) C@TW.TG A,1L%TZIXAA*,@ MB?%)PJL"_3Y!'ZIG"H\G0]0%DX2>T0Q6S=I/8Z)5Q3MW7KZ/XW@(=\JRLF_\ M.!QBM&A\%OCW(B(P1I-P[M^+$"W"\"UO=MA@EH4M@.8-@:SND4-*MFEUK,#> M83#O3+K_6\[TJ3-_5U 15#636RA8AA2#>Z:%HU?/U"E\>DG,LQZ@'[T77USG MY=D)0P=P(T'NTF[T!+F+@!A(#I@A)*>A'[Y>FF'=4PT!FN HF,#W!_AXS4P! M-1/968^03_ZE-)T[_N=:5:\+A] .%L2]V2QJJ;1OX8OB.NH2? 1) ?:4MRU MI?A@6WJ!*=PPVVAAM_N:U$%-^YO4TO'C61F/0#4:-S)O!\G"RJT13HY)V2!C M&[E+!D+>0P0ED!3_HBL=[D"_.P)@0FG).Y[R:HU,FZ)CKPCF+V@8X7 6)C2,<3A/YL1]/#WE2$J8CQ*<\P6*>[NH MFEVEU6SKMZ9P@?4X1T\,MC51U8UU;;UM4_$HGD9MSOJ="OV:CI(D@J4$E!.5 MZ^5[T28L_QWB;+^=S#.L6NV<(Z'4TBAWOB M>HY]PC<,4&IR&. C\FZ&R@^44=*547*PC%9X9,X:(F../;JNRZWS:(55(%+7 M\79'CGV%=5#W_L*B/NI301!:5PBU5O:2RC8R]D>#C$QKAAVJ6& MBL]O^NF34Z?POK%TY-E!U8&$)V4Z1G<'#&SI%O=XX(\U_<9# HJVQPY27RN+ MZP2BWF1XO*,YRI9I$]4X-H'R8K7=J=QLL!M>AZ' M+9-?)&PO=V]R:W-H965T M+&2E"U6Q6DXO!F-^=A73?#OA'X5].^B_6=M@R2;6\5N4_B]S,+P;Q@.5RFJY*6*BIQR9VJ,%EAG+N_D#! ;AWV2:E:GRWF1I25+ MJYS];N:R9K?R7E8KR3Y730 0DL-OZ:24^N1\9* !R1EE[6Y7S6[BA=U"]E55 M9J[9QRJ7^?;Z$33OU1>=^E=BK\"_KZI3YKD.$Z[@>^1Y/1R>E>?MAP-F+U5M MBFK&_C6>:%,C>/Z]1[S?B_>M>/\E\>!4OBHE4U/V;*M=<.X51X0]T\LTDQ<# M,%++^EX.+K_-)9NJ$FPC]0VYBBUK=5_D4K-I4:555L#%Q89#)S^96M7@&&EB M%TQ6&GMIS72CI69IJ2!N79@Y2S$S4Q!3%LUZHQC:6I5%GAJ90W:F%I(-2Z7U M"9M(["2[3I,^0(]A@55SM=*(-'URQK[-:RG9H@D.2<'!X%K9N_:U"2Z[D;4U MJ,HDHNO/GPOL\INZER6[*A2%JUR[1C/!G2 .VE4B:PF:R@8).1TAP)L" V4B:WTCR' M1RX+X7_/B;!<.%X4H,WQE21A"T\;Q C2E\TF90(_@&8Q]Q%2CATL)@M*'G^VB3GR M.:USL>H+]-M)/:CB _:(5!F&CNOAZZYXV$>^O$B6>Y!_V1 M0[@;'TS!P$EBR@,"@1(YPDV@1H2H0 _W:+0'ZB :"H2D"!E'KB-6$YW0 F[( M9- Z%,B)$!WS Y@8Q0D%>4"$.X%:OI,U7C4E3;F8U-XRQ3*RJY;V4FBWL*\5U7@U<4*&95,<5E#NGB M48$GJLB4DDNS';2!(SJ-%JU&="TPVZ?<&HQEJ6Y92(>RK#-D)5SA'VWHCFPK M$V[Q.[D6GNXM@9=-!6CV3H< M=Q]AFP\PVQ3>C?D7YZ$=48HN0RFZJ*Y\4VD?=U?:H MN] >=?7V45=C[PF(J ^(Z." ^**JV?LOJ%YR-M9:FL,C8^\>NR/COL?E[55"FN#,X5PE7CVI6O_G@4;@/Q;A',3X8 MQ<]@;S4KR*P618K@3TKEZZ(L=Z&W5_8!Z,U:V01:W3_JK6#V:]"-=Z1#TO8Y MB&^]SW;VVL*#'G%0@454?GBXO_&=F(\V7GC!N9E]Q];,9O'FL;?O[9_*Q\T+ M\>/TYIW]:UK/BHK2YQ1+W=,(A43=O%TW#:.6]KUXH@RRC/VG9L;/W!M\X;LV3.;A,"J5NW>)3-0DB1P@%EM8A,!KN<(Y" M.""B\:O%#+J0SO'I?(?^P>=.N13,X%R)[[RRJTF0!U#A@FV$O5+;C]CFXPF6 M2AC_#]O&-HL"*#?&JKIU)@8UE\W([EL=GCCD+SDDK4/B>3>!/,MS9METK-46 MM+,F-#?QJ7IO(L>E*\JUU73*R<].9X+*PF2)0 6&N<:*6_BBC$$#;VY8(="\ M'8>6(CG[L&Q1SQK4Y 74(5PH:5<&WLL*J^?^(3'L:"8[FF=)+^#GC3R"-!I M$B5Q#U[:I9UZO/0%O"LLD=_Y].#'K#!6T^OQLP*P@% \P6Y( ^T3M!?YG4U7_); -N"7I$VQ=$;=;@.&?:"ELZ5%(E62 MLEM@/[Y'29'M1-:, 0/RQ18I/L\]=T<>3\.=D(\J0M3P/4VX&EF1UMF-;:L@ MPI2I*Y$AIS=K(5.F:2@WMLHDLK I8GM.4[/3EG,K?&PF%O(\5#D.HDY+B2H M/$V9_#'%1.Q&EFL]37R.-Y$V$_9XF+$-+E%_S1:21G;-$L8I ;CRDJ(1S.X#T>68Q1A@H$V%(S^MCC#)#%,I.-;16K5 M-@WP\/F)_:YPGIQ9,84SD?P>ASH:60,+0ERS/-&?Q>X#5@YU#5\@$E7\PJY: MZU@0Y$J+M *3@C3FY3_[7@7B $ \S0"O GC/ 9T3 +\"^.<".A6@N9+Z%:!?)*N,;I&:.=-L/)1B!]*L)C;S4.2W0%-&8FZVXE)+>AL3 M3H_GJ (99\6V$&N8YHH6* 5OYZA9G*AW< E?EW-X^^8=O(&8PY=(Y(KQ4 UM M3?8-BQU4MJ:E+>^$+1<>!->1@EL>8MB OVW'^_^&OVO']UKP-L6M#I[W%+RI MUTHXR>05^,X%>([G-NB9M<,_YKR&.PWP>3O\@1GK[DGX[=EP][HIF.>+;_+] M_7_V_2@5?KV/_8+//\%'I2AA*R&9J6PPD9+Q#5+)U$![]6C\JXY0@HX8AV/0 MG[\0)]QK3-5?+8HZM:).H:AS0M&"_3#V%&A!!?=;'DL$4=B.^1:5+EXVQ;VD M[16TYB;9CGL^A6A[&-R7:US'V2\Z$MRM!7=;!7\B40G"!V2)CF 9Q,@#5/ / MS.9_7/9@X)?4BN0\9*O$)$1%D)7GJ*D^5FR' 1YT3P78/;@2W585 M#X(:)=H4$B9*8;I*8E07<,^#*SH,2Y0TA DL2"A*B2$LM0@>V_SW]I:]UY*3 M?6%U_?:%J1=9]5IL-M7UZ-30N[@[[3?5[J MSEAX[-F^0+O_3X6>N@TE^J6#9]5H^Z!U2U%NBJY<02!RKLO;KYZM._])T>\^ MFY^Z-W.W8?[.?"D4K>*>OOS,H 9@$W,%":[)E'/5IQ#+LG,O!UID1>.X$IK: MT.(QHJ\=E&8!O5\+H9\&QD#]_33^"5!+ P04 " "*@P93XSZ8FP@& "S M(P &0 'AL+W=ODMVJ/[YCXS P:I5&_+ ME5]M2YXNFZ!\X^,@"/T\S8K19-Q<>R@G8[&3FZS@#Z57[?(\+;_?\8UXO1FA MT=N%QVRUEO4%?S+>IBO^Q.7G[4.IWOF'+,LLYT65B<(K^?/-Z!9=SQFK QK$ M[QE_K8Y>>_52O@CQM7[S<7DS"NH9\0U?R#I%JOZ]\"G?;.I,:AY_MTE'AS'K MP./7;]E_:A:O%O,EK?A4;/[(EG)],XI'WI(_I[N-?!2O/_-V0H7S>XWT6J_LJ+^HCS)4GV:J3@Y>>0O MO-AQ[Y$OQ*K(&O)^]&99E:Y6)5^ES07Q[+WAWL^X3+--]4&A/C_-O/?O/GCO MO*SP/JW%KDJ+937VI9I7G=U?M'.XV\\!=\R!>/>BD.O*FQ=+O@3B9^[XT!'O MJ_TX; I^VY0[[$SXRZZX\DCP@X<#C(#Y3"\/#Z#E]!M]_K]'/]D,/#)KY6P)<) M9I21L?]R3(Z-0C0)HU/4S$910F-VBIH#(R8AT;E.%LH."V7.A=[FO,P6:>78 ML_"0*AR6G.@P4-23G'T\.]HJ%E-J<&.#PB0(#6IL$ JBR*!Y#J P(@BF)CXL M,W8N#(+>$/I5CN%O)MN:X-U&*)V,!<:3%%85^N0ILK&J'( MY,J&J4-B'28;A6E"3:$#8$EXE.QTL5K0D5O1'WG%TW*Q]I1I4];Z1=TS;-4= MP$7D:3E%\<#D:NDV3!U$T<(3!_6NH_= MNO_ R^8VL5APY7O_^9Z;:S[-JS46HV$9PUJ%,>[)6)O@9/,0,UW:%(!%S+(5 M (JP&)F6#X"AF$1)!V&Z$&!W(0 (\_[U+O""6,LOI@-SIU49NSWL!=PQ>[NC MP#3K HAT^O- %3((FHR9Z,HBCJ*&M95 ;NK DS<&:>(M0[C:M!ICM[N] M@+38WD)J:MH40*E3:9TW&Q4G46*29J-8$G?<86%=#;"[&G2<-K>!)%I]23 L M:40+,G&;WO.DM0G.&4@ !AA( 492 #6;2")+@G$71)@VBZWE>2HJS%P6X-H M629]&QMM@G.V$H !MA) 0;82@'7;2J(+ W$7!IC!'F:3:*$F S=#B!9MTK<= M0H!61QS&)J,VB@0!-AF%.B)Q9)U)&Q9'4<==-]%5@[BKQF]"T>7=94*N>9EN M^4YF"Y=?(5JDR\SQD=AXR=T).?WK1 MA8"Y"T$759=[3*:%F W<2V%:CEG?7@JS^QHF:^0NP*N?^U^7#U\(3);?-;GFZ9*7-4!]_BR$?'M3#W!X3F?R M'U!+ P04 " "*@P93"V2(I'8" !W!@ &0 'AL+W=O$C0#]$D-I$TS9I4I2NV\.T!P=N M@E5C9[9)NG^_:T-1FI N+V";<\X]]X!-MI/J65< AKS47.B)5QFSN?-]7510 M4SV2&Q#X9"5530U.U=K7&P6T=*2:^U$0I'Y-F?#RS*W-59[)QG F8*Z(;NJ: MJK\/P.5NXH7>Z\*"K2MC%_P\V] U/()YVLP5SOQ>I60U",VD( I6$^\^O)NF M%N\ /QCL]-Z8V$Z64C[;R9=RX@76$' HC%6@>-O"%#BW0FCC3Z?I]24M<7_\ MJO[)]8Z]+*F&J>0_66FJB7?CD1)6M.%F(7>?H>LGL7J%Y-I=R:[#!AXI&FUD MW9'10ZR4;346I,]^@*ZOM%YV#A]9!=,+!UT:,R#CX0*(@ M"@?HT_?I,RB0'CIZ\);N8Q9](%$?2.3TQO\)9*5DW>=P$,.O^Z5VZ[_?*3CN M"XY=P?A$P;X&U1K,8("M0.H$[+;GL22 M<0XE[M<"V)8N.0P:;%62O=IA%(?7!PX'4,%M' U;3'J+R7GQ%5(/IY<8Q->W!X:/08@) M#RS[>\>"/9*_4;5F0A,.*Z0%HVML6+7'7#LQ&ULI55=;],P%/TK5L3#)D&3)ME 4QMI_4 , M:=+4,7A /+C);6/-L8-]TXY_S[63AC*UW00OB7U]SSD^-_;-:*O-HRT!D#U5 M4MEQ4"+65V%H\Q(J;@>Z!D4K*VTJCC0UZ]#6!GCA094,XRBZ#"LN5)"-?.S. M9"/=H!0*[@RS355Q\VL"4F_'P3#8!19B7:(+A-FHYFNX!WRH[PS-PIZE$!4H M*[1B!E;CX'IX-4]=OD_X*F!K]\;,.5EJ_>@F-\4XB-R&0$*.CH'3:P-3D-(1 MT39^=IQ!+^F ^^,=^T?OG;PLN86IEM]$@>4X^!"P E:\D;C0VT_0^;EP?+F6 MUC_9MLV]B *6-Q9UU8%I!Y50[9L_=778 Q#/84#< >+G@/0((.D R6L5T@Z0 MOE;AH@-XZV'KW1=NQI%G(Z.WS+AL8G,#7WV/IGH)Y<[)/1I:%83#; $;4 VP M!>1ZK83_>._8%WC"ADMV-@/D0MISBCW24Q:B?B(1,)N MM<+2LKDJH#B GYW&7Y[ AV2W]QSO/$_BDX2?&S5@2?26Q5$\/+"?Z>OAT2$[ M_Z<^_V?UOXJ1] <@\7S)"P=@973%IE1H0W>7#B&6;.J/'QCV_7II??S'"<&T M%TR]8'I$\*:JN3#4:I#E)3=KL-1O)$6'#0*V_KWT;ZC7OM&\BP^&5Y-AP?B M,^K ;&ULI59;;YLP%/XK%MK#*FWE8BY-E41J+M,V M:5+5[O(P[<$!!ZR"G=FFV?;K=VP(2X&FU?H"V/Z^<_DX/O9T+^2=*BC5Z%=5 M6PLA6R(AJ&,G?53E*265)5NH'GQ6Y%&'?F4SMW M+>=34>N2<7HMD:JKBLC?"UJ*_-W3 M)2U+8PC"^-G:=#J7AGC\?;#^SN8.N6R(HDM1?F.9+F;.A8,RNB5UJ6_$_CUM M\XF,O524RC[1OL5Z#DIKI475DB&"BO'F37ZU.AP1P,XX(6@)09\0/D+ +0$_ MUT/8$L+G>HA:@DW=;7*WPJV()O.I%'LD#1JLF0^KOF6#7HR;.KG5$E89\/3\ MAMY37E-T0U.1,YNJ:2B0R]7E%-6*G. /SE=H5>OSI# MKQ#CZ',A:D5XIJ:NAO",$S=M0UDTH02/A(+1)\%UH=":9S0;X:].\^,3?!=D MZ;0)#MHL@I,&/];\'&'O#0J\P!^)9_E\NC>6SLN\K__;^P,Q<%W_\VX:@,$B"AZ#5B"4\\1^"UD-0 ME'20!UE'7=;1R:R7!>$Y568KZ8(BJC2#;@C[#W3EBC3==2<9B$+*4J3-FD"[ MI]0R%H$GI('"%A[=H$ULT;$RV(M[\@U!/CY*NY%OS!+N65H/03%^1+^XTR]^ M6=4T!%ROI-,K.:G79Z%)>4ASM":208T'41CA7IY#E!].XGY5#%$A M#B^B7J(C'B?#PG"/#CUH/KF];2CX=37735OK9KL+S94]QWOS"_]RZ8_,K^ " MU-Q7_IEO;D^?B,P9%%5)M^#*.T_@I\CF1M(,M-C9(W&ULS5I;;Z,X%/XK%IJ'&:DMX$LN51*IEUGM MC':U5=K9?1C-@PM.@@8P:SM-1]H?OX:DF"K!3M1$Y26!8'\^/N?C.R<'1BLN M?LH%8PH\9VDNQ]Y"J>+2]V6T8!F5%[Q@N;XRXR*C2I^*N2\+P6A<3F7$ZH1?R=L)1O'H-S*(^<_RY,O M\=@+2HM8RB)50E#]]<1N6)J62-J.?S>@7KUF.;%Y_(+^6[5YO9E'*MD-3_]) M8K48>P,/Q&Q&EZF:\M7O;+,A4N)%/)75)UAMQ@8>B)92\6PS65N0)?GZFSYO M'-&8 ,.6"7 S 59VKQ>JK+REBDY&@J^ *$=KM/*@VFHU6QN7Y&54[I705Q,] M3TVF[(GE2P:F+.+S/*D\=0[NF*@"GD<,_/68)G-:7?AXRQ1-4OD)? !)#AX6 M?"EI'LN1K[0I): ?;9:]7B\+6Y;]NLPO K. Q@^.W^%GS\\.DUBJ\W4N\& MUKN!%2RR[^8,?"FW0E-P511I$JVMUYM*> QNEMDRI247P.?93),#/ BJ65:- M^?Z'1@1?%,OD#XL]J+8'5?;@%GN:?N2U'W>Y:XW3JW#*.^EI0G!_./*?=JR. MZ]6Q=?7:&U-6WI])/F\)[!GX_%QH3[ 8/"19.8[/P+V^)&KYT3^N*Q"=Q[TSX/0XBE2VTHZ$;E>;4_O2)'K;44N)+W![LCUZ]7[UM7K M<*@Z'/)5.(K*([O,L0/W0,9SM9 6#PUJ&P?OS"ZHJ65GU["V==@)=H6!D=W@ M2/S: +TB&"9D-\'"ANZ'IZ*8 SD$OQ@5-B\9.0_A.W,,.3D6&K$/43=89A) M:,\ ![ ,;[&L%Z(6DAE1#\G)2&9'=I/,*'UHE_K3DPR[268R0]CO!LE,'@CM MB> D@VVI6R VUAFQ#T&+>!-@*59, H",! M"!XO=63$.IXV3*/I,.P$-V"C'K<+^/[ T)*MD(:M,33B#6TB_4;[G4'\AZE,30J#>UU]GO0 MSETN0Z/I<- -VAF1AW:1/X!VP^U2ID5'D)%K9)?K-_#.@>RL9)#1?V2OO-^# M=>X"&IEL@3K2OFGT;X[6P-GNX+2RSJ@_LM?O;V&='=G-.I,0D",AO /KW!4U M,BD%];K!.I,]D"-[[,^Z_@$5-3+RC^PE_5MX9T4^O*)&)D,@>X:8:C@JH@6@ M>0QB'=24%QG+]RFQLP0_;W)L@%JD@61 +8TF8UJ8U>3QN[W MCM3!C=7OPCFX/&K11T<@\/EFWQX'LK(F(21/$7M1W@HCNTIR8 M+$.ZT5HB)NV08[66R'9KB>#>;AX2DR6(_:_!&WCH0';ST"0.XGH$W $>NHMU MTGA,W(WGQ,3D''*L)\5D^U%Q2S^,F 1!3O:DV(Y\0*7N-UX_*5_E^9.*>9)+ MD+*91@XN^CJD8OUVS/I$\:)Z(^61*\6SZG#!:,Q$.4!?GW&N7D[*EUSJ=Y0F M_P-02P,$% @ BH,&4_4$Q06U @ 6@< !D !X;"]W;W)K&ULI55M;]HP$/XKIWQJI;4)"="N J3R,HVIG5!IMP_5/ICD M(%;]DMI.:?_];"=DM *&MB^Q?;GG>>XNEW-O+=63SA$-O'(F=#_(C2FNPE"G M.7*BSV6!PKY92L6)L4>U"G6AD&0>Q%D81U$WY(2*8-#SMID:]&1I&!4X4Z!+ MSHEZ&R*3ZW[0"C:&.[K*C3.$@UY!5CA'\U#,E#V%#4M&.0I-I0"%RWYPW;J: M=)R_=_A!<:VW]N R64CYY [3K!]$+B!DF!K'0.SR@B-DS!'9,)YKSJ"1=,#M M_8;]B\_=YK(@&D>2_:29R?O!90 9+DG)S)U'Z9&Z4?4LMS@R^VU:\D5I#@0KF.5$()V,T MA#)]"F>@G45O%BK@/I>E)B+3O=!8>4<2IK74L)**]T@E<"N%R35,1(;9#OSX M,+Y[ !_:M)O0PDKPH#?'C12YA0I2@ M8J5AUC3NXXTEAJE!K@^%U6G"ZARLR+TTA&U:'S>Q$ W$QGO6!'Q2>9SN^B$J M@8X7^++=93N&PO=V]R:W-H965TGMY0#QL['&\ZGZ$W752^/7,KETW;1VG M D$>DMWUG#-GQI/9F>R4OC8%@"4W@DLS#0IK-V=A:-("!#4G:@,2G^1*"VIQ MJ]>AV6B@F0<)'O:B:!0*RF0PF_BS"SV;J-)R)N%"$U,*0?7W.7"UFP9Q<'OP MB:T+ZP["V61#UW )]FISH7$7-BP9$R -4Y)HR*?!F_AL&7N M_B?P<[LK8D+ M9:74M=N<9],@$.K[5I$'CTP'WU[?L;WWP&,R*&E@H M_IEEMI@&IP')(*X%/&S0L\N[I,R/-G+R:A12V.,4QKO_/*;^^ WS[YJ*0M M#%G*#+(6?-*-'W7@0\Q!DXC>;2+FO4["]Z4\(?WH)>E%O;A%S^+I\*@MG-_S MOOQE[_>2T6^JHN_Y^@?XVDO@RP M6_1;B)9=1/4PPU>>J9- M>C)Z)#V.#DH?-]+'G=+_W?=JVO[IXT=N'U9"E\4]4:>-J--.45<2;WGN$Z,T M:=9KO.F-.^'*M(N=GQX3NSAJD1RU6'99W OX=1/PZ\Z W44C[KH,?"N9_4Y, MTVPZ^DL%1K_H9=7$W?TIL5QD^2XR;+3I H[W!LB!.BUG]X, M\=VWNCF:TV9"?./GH@?G\_AL$;><)VZB]$/+'7TUCN)[6KM<<[MQ#IHY>_834$L#!!0 ( (J# M!E/XFO]Y@0( -(& 9 >&PO=V]R:W-H965T2B[TR"N,65WXOLX***D^DRL0^&4A54D- MFFKIZY4"FCM0R?TH" 9^29GPTL3M356:R,IP)F"JB*[*DJKG*^!R,_)";[MQ MRY:%L1M^FJSH$F9@[E93A9;?LN2L!*&9%$3!8N1=AA?CH?5W#O<,-GIG36PF MRV86KC4-C-DS8+LZ,PJ\, M<2:]$6O0!MMB-&&"?)/B]"M5#V#HG .9058I9AAHI]B7T[!/5HWM=\O:XW105K^5U>^49<]T^=(L>*R8 M>2:Z[5E'FP9MB,'_.PO#-LBP,X^7JVHODOBGK.H6#-\U/>[%P9L6O'<*>_VW M+?!W)HZ=]EB )1.:<%@@+#@;8DM4/4%KP\B5&T)S:7"DN66!/QU0U@&_+Z0T M6\/.M?8WEOX!4$L#!!0 ( (J#!E-JTEN8^0, #$2 9 >&PO=V]R M:W-H965T?;=I]_V^Z)'SXC2PV'+OB;6,9UY<26+S[#]U3V M(L!78$499DN*,T"95*(H2R@OZRD%6(&5*;.=+3/33G1/6A9"4+8V;8%*CSN= MVIV.=:=SQIW?.+O1_CSKLEUD1#>7A0+2[$+5BZMR2[:>93/M=S>!:#",(AV: MW6%*6]HE#KO(_M5V;V1U:UE=KZP_N,*9R_\2UCW<#Z*XCTX5M+9,')9HT.WU MSZKHU2IZ7A53SG9$*&HR,].9\>2[7U/VKZ'\!K4[ []"O1-5(.-2$NG*U^ D MMD?1GPY.*N@XDQRGCGD!3S87@*2@J6^^H '@Q9>0\%"U#B$ M6N@L>R98G>JL)CQRM \8#>+31M/>-'&9HKZOUBGV/>4WK1@%%U#YE#3 MO!'\7Y\N*[JC1RG'XV5;P\1EZ'O 1,T<0/XY<+:E5+C+S\AM#1.7H5-$>/!& MFQ.QMF*;OLZY*(\GRAO%-_:]^D%5_KMW%YN"$Z), ;Z^Q7GZO7&;%"?$DW^ M 5!+ P04 " "*@P93B8W:IJ\" !Q" &0 'AL+W=O*3N=(9LSC5B] L-;"9)V4BC"EMAQGC,ACV_=J-'O95;@67<*.) MR;.,Z9=S$&H]"*+@=>&6+U+K%L)A?\D6, %[M[S1. NK*#.>@31<2:)A/@C. MHM-Q1!W!(^XYK,W&F+A2'I1Z=).KV2"@3A$(F%H7@N%M!2,0PD5"'4]ET*#* MZ8B;X]?HE[YX+.:!&1@I\8O/;#H(N@&9P9SEPMZJ]3%,EC+^2=8FE M 9GFQJJL)*."C,OBSIY+(S8(4;*#$)>$^%!"LR0T#R4D)2'QSA2E>!_&S+)A M7ZLUT0Z-T=S F^G96#Z7KN\3J_$I1YX=GC/!Y!3(Q$4P9 R6<6'(5S)B)B5, MSHK!Q5/.5TR 1,QQ"3I!U-UD3(Z/3L@1X9+\3%5ND&+ZH45I+D$X+66<%S+B M'3*^Y[)!FO0+B6DHNC.6X-Z*\ M2\8UN6E$KPK3^]R61_3_GDD_UO22O_5! M=1-*W_A9 XNCU@:LT!=N;._N,,9O9<&E(0+FR*.-#G9$%^=;,;%JZ7?\!V7Q M_/##%/\)0#L /I\K95\G[A"I_C*&_P!02P,$% @ BH,&4]\G^JZ! @ MU 8 !D !X;"]W;W)K&ULC95M;YLP$,>_BH7Z MHI76\A1"6A&D-5&U3II4->OZVH5+L&IL9IO0?OO9AB(:2-8WX(?[W_WNL(^D MX>)5%@ *O964R:53*%7=N*[,"BBQO.(5,+VSY:+$2D_%SI65 )Q;44G=P//F M;HD)<]+$KCV(-.&UHH3!@T"R+DLLWF^!\F;I^,['PB/9%VOPAT C!V-D,GGA_-5,[O.EXQD@H) I MXP'KUQY60*EQI#'^=CZ=/J01#LDSR56Q=!8.RF&+:ZH> M>?,#NGPBXR_C5-HG:EK;.'!05DO%RTZL"4K"VC=^Z^HP$/BS(X*@$P1?%82= M(+2)MF0VK356.$T$;Y PUMJ;&=C:6+7.AC#S%3=*Z%VB=2J]Q12S#-#&>)!H M#0H3*M$ENF=[8(H+ A*==\L7>OUILT;G9Q?H#!&&?A>\EICE,G&5AC$NW:P+ M?-L&#HX$_EFS*Q1ZWU#@!?Z$?'5:OH9,RWTK]S[+75V"O@Y!7X? ^@N/^-OH MZY'7%!#?]JF_HQ4O*\[T1)X($?8A0AMB=B3$(V[TEU,@"*:3!6OE&ULO5C?CYLX$/Y7+-2'5MHNV/Q*HB12-UET/;6ZJ-OV'D[WX 4G M004[MW_]&4. &%1N]V7!)SOFYEO9C+&S(^,?Q-[0B3XD294+(R]E(>9 M:8IP3U(LKMF!4/7+EO$42W7+=Z8X<((C34H3$UF69Z8XIL9RKMRS(BB5_QY'<+XR) 2*RQ5DB/['C'Z04Y.;V M0I8(_0F.)=8R0)@)R=*2K")(8UI\XQ]E(AH$9:>?@$H":A.<"P2[)-AC/3@E MP1GKP2T)[EB"5Q(\G?LB63K3:RSQ7-SC!-"3@+K<@P)I('"<"O 4;KKJ7RT> :01NOV?Q0?63O )4=?OK$O9& MX;[<*9]D).7OHZLK#C:3OY"'Y8.J[GVW/SH5FH4:B@!V5;SJ1"G4EQ*RGNH)0/ M1(B9FKYAEF8)EB120U-M(&&,B[&L!.*4<1G_IQ?Z-!8.W$9<;VW'<6!+Y#A8 MT >S[48RSF1ZE4SO)RJF9TV?)*\3!(3(1BU%HU!!%S7U?+=?CE_)\0?EK!LU MZHO?[_CTH7<>U\KOMI/75MBU ^U&[,6<2P9?[ST M]SHS.ZW,3G__D(!6O?%9SS0F2D/-1*.)A]IS8APLZ(.YCG=A4L#&1@Z?F!7J M 6O/D@C$Z8&S!Y++$4.I0K5I] *5J3<+:#]79>SN7\#R)VZ[,J-@P9.PI.6!M-.O^= M,:B@#P6GZ$)]ZG$-A^?U7]MMK!Z!SZNSS3B-939>I'#Z7.69 M=GL>.5Z[/&-0P5.H\\?P>E"CX4&]8E1(GA4G477(4,-MQ]6#T= S?CTU$?S] MA4'U)$7HF0I3&FINW-"WVX49A0IZ4,AV_59AS,8I,B5\I\_[ H0LH[)XU*]6 MJW<*[_1)NK5^ VS"S_!U!+ P04 " "*@P93 M:?L^6?P! !I! &0 'AL+W=O)[))\II:W2CZ9$M/!4"6D6I+2VOJ'4Y"56S$Q4C=*=[)6NF'6F/E!3 M:V1% %6"QE$TIQ7CDF1I\&UTEJK&"BYQH\$T5<7TGR4*U2[(E)P<]_Q06N^@ M65JS V[1/M0;[2PZL!2\0FFXDJ!QOR"WTYM5XN-#P'>.K1GMP7>R4^K1&U^* M!8E\02@PMYZ!N>6(*Q3"$[DR?O><9$CI@>/]B?UCZ-WULF,&5TK\X(4M%^0] M@0+WK!'V7K6?L>_GVO/E2ICPA;:+G7\@D#?&JJH'NPHJ+KN5/?4ZC #3V1E MW /BUP*2'A"4HUUEH:TULRQ+M6I!^VC'YC=!FX!VW7#I_^+6:G?*' M(\*@P<_;G;':S=FO%U(D0XHDI)B=27&2\SFM.N0\(/VM.V9)/'.R',>*_">H M*XJ.!L%?PJ],'[@T('#O8-'DW34!W0UV9UA5A]G8*>LF+6Q+]Q:@]@'N?*^4 M/1E^W(;7)?L+4$L#!!0 ( (J#!E-69_:$>0( & & 9 >&PO=V]R M:W-H965T.8-78S#9)]^UG&X+2A$;=&_##_>]^=\9'LN/B698 "KU4E,FY M4RI57[NNS$JHL!SQ&IC>*;BHL-)3L7%E+0#G5E11-_"\V*TP84Z:V+5[D2:\ M490PN!=(-E6%Q=];H'PW=WQGO_! -J4R"VZ:U'@#*U!/];W0,[?WDI,*F"2< M(0'%W+GQKQ>QL;<&/PCLY,$8F4S6G#^;R9=\[G@&""ADRGC ^K6%!5!J'&F, M/YU/IP]IA(?CO?=/-G>=RQI+6'#ZD^2JG#M3!^50X(:J![[[#%T^D?&7<2KM M$^TZ6\]!62,5KSJQ)J@(:]_XI:O#@< ?OR$(.D'P7D'8"4*;:$MFTUIBA=-$ M\!T2QEI[,P-;&ZO6V1!F3G&EA-XE6J?26TPQRP"MC >)EJ PH1)]1-]5"0+= M9)EH($=W!*\))8J 1)>=T96V>EHMT>7%%;I A*''DC<2LUPFKM)H)H";=1BW M+4;P!L;7AHU0Z'U @1?X _+%>?D2,BWWK=Q[+7=U0?JJ!'U5 NLO_+^J_+I9 M2R7TE_?[3(RPCQ':&.,W8NQ+6SS M(_)3HR":SH;)HYX\.DMN/]PAHN@DV"0^XCDUB?QP&"?N<>*S.(]<83J$$Y^< MVLR;!D= IT:^%TR"(R3WX/Z;WOL-BPUA$E$HM,X;371&HNUG[43QVK:$-5>Z MP=AAJ7\!((R!WB\X5_N)Z3+]3R7]!U!+ P04 " "*@P93Z/4%W'," #3 M!0 &0 'AL+W=OM'8SGG?/N>M M[:Q3^M'4 );L!)=F'M36-E=A:,H:!#43U8#$-VNE!;4XU9O0-!IHY46"ATD4 MO0\%93+(,[^VTGFF6LN9A)4FIA6"ZOTU<-7-@SAX7KAGF]JZA3#/&KJ!![#? MFI7&63BX5$R -$Q)HF$]#Q;QU7+FZGW!=P:=.1H3UTFAU*.;W%;S(') P*&T MSH'B8PM+X-P9(<93[QD,/^F$Q^-G]X^^=^REH :6BO]@E:WGP45 *EC3EMM[ MU7V"OA\/6"IN_#?I^MHH(&5KK!*]& D$DX)+OXQC4U,-)@LM4CGO ML.P)K@\$R0F"SZVORQ>-GI D&9.'F,402#($DGB_Z:E 7!MC M@2RTIG(#N(,M*?;DN&Y%]WYYT5%=D9]?T)+<6A#FURM TP%HZH'2$T!?6U& M)FK=)TSH%N.G!0>"AYALD,J.Q79PG7E7=Y:W^?G%Y7F'3DW'5W1_6&X>G@L$9E-#E'"WVX0@X3 MJQI_"@ME\4S[88VW+FA7@._72MGGB3O8PSV>_P%02P,$% @ BH,&4__7 M6#.' P N X !D !X;"]W;W)K&ULS5=1;]LV M$/XKA(!A&[!$(NW826$;2-(.2[&L1M-M#\,>:.EL$1%)C:3B&-B/WY%R)+>S MZ0;;@U]LD>)]]]T=^8DW66OS:$L 1YYEI>PT*9VKWZ2IS4N0W)[K&A2^66HC MN<.A6:6V-L"+8"2KE&79*)58&*KV>)C1Y MF?@H5J7S$^EL4O,5/(#[M9X;'*4=2B$D*"NT(@:6T^2:OKEA V\05OPF8&UW MGHD/9:'UHQ_<%=,D\XR@@MQY"(Y_3W +5>61D,=?6]"D\^D-=Y]?T'\,P6,P M"V[A5E>_B\*5T^0R(04L>5.YCWK]$VP#NO!XN:YL^"7K=NWX*B%Y8YV66V-D M((5J__GS-A$[!HBSWX!M#5C@W3H*+-]RQV<3H]?$^-6(YA]"J,$:R0GEJ_+@ M#+X5:.=F#T[GCV<^KH+<:HG%MCRDZXR$5^1#[8>6?/<6'!>5_7Z2.O3KK=-\ MZ^.F]<$.^!B1>ZU<:1B0!X?26W(#^])[;0Q7*\#][K')3B/W=$?_:#S[8/SA]VE_TDZH%1'* M@0'K[%ZEBZ/18Z>!LIX8^P_;@O"%1KV2[;$@KD3&I:Z*O9SCCNAQTKV0TKB2 MMD5ZPNSY3-9@A-Y/*0XS)!O@)KKG>@6FPRC6N^=:F':7M7Q\*O566)H:IT'6 ME=X ?&L)5AY3VJ[&91;,$R9_;P1QKP,BPSG4:-6"] M4K/L%0?9^+LMW@'K5BSWW@&/ +)C7R762S:+B^RAEUE MK]'5KRI'''!\L!SI3C,AP:Q"RV3QX],HU_85W6S7EEVWS4B_O.WI[KE9"2Q1 M!4LTS<['*'.F;9/:@=-U:$T6VF&C$QY+;"W!^ 7X?JFU>QEX!UVS.OL'4$L# M!!0 ( (J#!E/0>D GAP( )\' 9 >&PO=V]R:W-H965TS'MA4F.Q&IB M9_;1E&^_LP,IDR#=I+[8&_##W>_^9U_.HTKI1Y,!('LNC)2:\R%A+EF9ET4 M7&]FD*MJ['6]W<*=2#.T"_YD5/(4%H /Y5S3S&\HB2A &J$DT[ :>]/NQ:P; M6 =G\4U 9?;&S*:R5.K13JZ3L1=819!#C!;!Z>\)+B'/+8ET_-I"O2:F==P? M[^B?7/*4S)(;N%3Y=Y%@-O;./); BJ]SO%/59]@FU+>\6.7&_;*JMAV>>RQ> M&U3%UID4%$+6__QY>Q![#L0Y[!!N'4*GNP[D5%YQY).15A73UIIH=N!2==XD M3DA[*PO4M"O(#R<+5/'CJJH,LVW!W7*;L#@UK$2#O.BCU(@8:]OP+D M(C1/?Y_T-TF$NR1F82OP M9BT[+ H^L# (NRV\J#F4R/%Z1WCWFDLJ?_950@NMU]!ZCA8=.^*,:SATQ%-- M<5*@&D>VW+!]NSG?N.5IQ77"?GPA)+M&*,S/%D']1E"_-;T:^D37*V3*2M!" M)8=NL9T2L0UP;5KT#!H]@W_0H^UW1&5&NF(Z@I-#RMIY4=0)@G&PO=V]R:W-H965T4Z3MK+@JB=%-L M0KD5E"0VJ,A#%$6#L" 9"R8CV[<0DQ'?J3QC="& W!4%$2]3FO/#.(#!L>-S MMDF5Z0@GHRW9T"553]N%T*VP1DFR@C*9<08$78^#>WCW@/LFP#[Q6T8/LG$- MS%!6G#^;QH=D'$2&$?:34@2S#FN;2_X% ]&P4@WDG%BRI8,R@R M5OZ3KU4A&@$:IST 50'H=4#O1 "N O"Y ;TJH'EF.WA9L3128C MP0] F*OY)8A5\#Q;+ M)PD(2\!B^DF"'^=4D2R7[\P=*NP493$%RY0(*G5GQJ0B>:XGD1J%2E,S"<*X MHC$M:: 3-#!XY$RE$CRPA"8M\0_^^($G/M0EJ>N"CG69(B_@(Q'7 ,,K@"*$ M6OC,S@^'+>'S\\.CMFKXPS_NF Z/VK+_JQBXGB38XN%3D\1HW#9)[H4@;$.- MYF#U IK/+= M;"M4B=.W.,8T]Q.MYKXE=;].W?>F;LY]8L8FKX!*]2N0\CP!.=W3_ JPFI^T MK\<5*+1Q9=L\HZ*-9?\_+*-VEH.:Y<#+\HO61:\IX!.CGG+?U&@WEZ'_L"8T M] ZO!-U3J3*V <(L!MJAME3$.N6[M@K[\?K1=13]X"%V6Q.[/:ON7P[<@P8C MY\[1950>-A8,^(UKWP'867R('#?DA3)^9]8M'Y@S/7@AK@>=[4&_[SWHHNO- MD4ZT;=C0AI-<[[C23)N/S2[T(ZU"^-$A'G0IX5P2^FW2+%QFX^ #B MA'-$>/-=E?"C#X9=0CBGA'YK*X58/AUW3W/8\B>AW7 M+?U)2F,BE2^;),.P"[Q7%&B_Q6B")X>Z9_(6>*:'@A M&CA+1?Z=X__SKWD'^K#7(0AV1HO]5OA:D+/]"SN+Q/ RY,'.4K%_9_GF5V3> M =CYBN#&U[G?"CV*^+]#L+-(W+L019R/8O\.\^TK2@?@:47"QOE:0<7&'FQ* M$/,=4^614MU;'Y[>VR/#5_U3>#< M94/QK3W%6W&E>&$O4TH2*LP#^OZ:TD),0) M@>FNM+R XYQ[?>\]1[ZQ!P?*GGE(B "O29SR82\48O=@&'P=D@3S>[HCJ7RS MH2S!0CZRK<%WC. @,TIB YFF:R0X2GNC03:W8*,!W8LX2LF" ;Y/$LS>)B2F MAV$/]HX3RV@;"C5AC 8[O"4K(AYW"R:?C-)+$"4DY1%- 2.;86\,'^;(5089 MXH^('/C)&*A4GBA]5@]?@F'/5!&1F*R%^6:RO!T M?/3^4Y:\3.8)OB9% DYRM^:QCS[!8<":_; M>L\%30IC&4$2I?D_?BT*<6(@_;0;H,( Z0;V&0.K,+"N7<$N#.QK5W *@RQU M(\\]*]P,"SP:,'H 3*&E-S7(JI]9RWI%J1+*2C#Y-I)V8K02=/W\694Z %.: M2/UQG#'X&9Q]-7]58P(^SHC 4-!9^*QP%>:BI"#>1J0H,5^UFWO=M@;LC9E@="Q0!/4Z?"7?7H/ M+/,.(!/!EGBFUYN;;>E\V^KS_[UZK1A6J18K\V>=4TN(&2DDL^.T@B 9!],\2X2.([^)<$=&"=T+]%__2I=@B^")/SOCH#L,B ["\B^ M0K[K$XVV"2_WY&:>U/[Y,D*>;0^,EU,VFR#H6WX=-&N"',>"=="\";*AZ96@ M6KI.F:YS.5U =RI%WE$^M_3GW@:?_3*@_G?C,_?DG!38]9!&9Q/C]!V-S28& M6G9?8[,%!*';SJ97)NMU)EO;5%,JP)O\,&!D3;=I7F-^GNZ\!%XC*MLS32V_ M"Z!:Z'X9NM\9^G+UR#--+%?C+B%"L^I#YFU($9ZT1OC=Q%BXJJG1UYB8MH&@ M3E<+"")+$_:\%07/L I1E3+Z1DF>T(0/F 4<4!$2!D2(TRZI%@O79-AO:/42 MJIY6U;:@U9G60LJU2Q)5NX'VC:BT:@GPBIYPK4J=EOW0TE7:!"'?U8EJ@J!I M6[I*FR@7]<^P634MZ/XHD;K-K/RF2"^@ZFE5K0]V][[%Y+=.D59M!7HW(M*J M7<#N?O$ND?J-\GJ^KXNT";(=3R>J"9)$^;I(6U#0<=KI1%5#0^8/4FFQ\&G MEM50Z254/:VJ*:+NIK@DG&"V#C/M!.2%Q'2G5-5UU*K:#T*WH5Q4M0[4W3K> MH]S"56U[];4OR6D+R.Y#G;PF")I][; R;T%YOGV&X:K'H0MG*A++J>T=V)*4 M,!QGM<9!$J41%PRKBYVNRE:-"SDW0G;565!W9WD7V6[S/(GT<\.T!05M5]^H M6E"V[>AGD!:4A:#.MW%R&900MLUNX;A,1U8L/^F7L^5-WSB[W]+F)_!A"EOF M9_!AGM_C5>[S:\6OF&VCE(.8;.12YGU?"H#E-W7Y@Z"[["KJB0I!DVP8$AP0 MI@#R_892<7Q0"Y3WI:/_ %!+ P04 " "*@P93U:L9K<<# ! #0 &0 M 'AL+W=O^S]],QI/Q M9,_%O=P!*'1@62ZGWDZIXJWORV0'C,@>+R#73S9<,*+T4&Q]60@@J06QS \Q MCGU&:.[-)G;N3LPFO%09S>%.(%DR1L3C'#*^GWJ!]S3QB6YWRDSXLTE!MK " M];FX$WKD-RPI99!+RG,D8#/UKH.W-T%L -;B"X6];-TCX\J:\WLS>)]./6P4 M00:),A1$_SW K+,,&D=WVM2KUG3 -OW3^SOK//:F361L.#95YJJW=0;>2B% M#2DS]8GO_X':H8'A2W@F[2_:5[9#;9R44G%6@[4"1O/JGQSJ0+0 FJ<;$-: M\*6 J 9$+P7T:T#_.:!_ 3"H =9UO_+=!FY)%)E-!-\C8:PUF[FQT;=H'2^: MFT19*:&?4HU3LP4IJ"(96BF>W*.K)2A",_D*O4&?5TMT]=>KB:_T,L;83VK* M>4497J ,T"W/U4ZBFSR%M ._<..C7^&7;GSLP/LZ/$V,PJ<8S4,GX2UY1%'P M&H4X#+K<<:,_E'D/1?@B?/G_X#4O6(OEVOI1)Z ME__KX.PWG'W+V;_ 6>4>+TSED @.(!(J(457F@'Y]PL"H?]<6-UHG?0Z!TX]7ZUU4<+) \@=#5M)*-"T 00WR!YR:52 MIJ@ 7:F-:YV>56N/6I)'/1R.V]>KOL3R5'3KZQ4X M12\X8UJDW65$FC@FD"NS)[4C6\&E1%('6%8[L_-;YEX@ZF'\MRN^X5%JZ'[1 M55A-2$TAH#FZ7-X6-5>[<)U%U65RJO%8W(/H5WL'_4"WY$!9R5Q>'TM[T/^S M^R@X5N7 799_,X'G-=UOI.6Q> ;NZGF2EGFJ.VK*UJ60H%ML98LH''2K;PKJ M?\Q:]_JC2UGKMSI%!F)K6W2)$E[FJFJ(FMGF&'!MF]]G\TMS/+ =Z)&F.EO< M$K&EVN\,-IH2]X8ZS*)JUZN!XH7M1]=[6WN[T$0>$,=#/-YRKIX%9H#DT MS7X"4$L#!!0 ( (J#!E,XC4-9) < *PE 9 >&PO=V]R:W-H965T M MJ>*\M[!V^5._7Z0+D?/B5"^%]4D4)?V<2]6[ M."M_NS$79WIE,ZG$C4'%*L^Y>7@A,KT^[^'>IQ_>R+N%]3_T+\Z6_$[<"OMN M>6/<57^K929SH0JI%3)B?MY[CG^Z3J@7*._X0XIUL?,=^:E,M7[O+ZYGY[W( M6R0RD5JO@KN/>S$66>8U.3O^J93VMF-ZP=WOG[1?E9-WDYGR0HQU]J>N7HIH0\_I2G17E7[3>W,M(#Z6KPNJ\$G86Y%)M/OF'RA$[ M @2W")!*@!PJ0"L!>JA 7 G$GPG008L JP389P(Q:Q%(*H'D4),&E<#@,P'< M9M*P$A@>*C"J!$9E.FSB5P9_PBV_.#-ZC8R_VVGS7\H,*J5=S*7RR7YKC?NO M='+V8JSS7%J7O;9 7,W06"LKU9U0J10%>H;>B@]VQ3-T,A&6RZQX(1D\1B?#@W>T$G7S?I&4,:WF^-(=HF)#HDX4-:JX[YLM5,*993=^E]#:O MR3:O2:F7_J^\_NN5NQU=6Y$7?P.#T>U@M!PL;O.%*S-(SQW\W4H1A>56H*5Q M!"NJ\U(K!S)5ZK[B\& 1M%9_[[!P'AK8 P: M^%N9.=Y$729-@:Q&;F4+YYF/Z-"\NHIKMN%FN]C6+@8[KBA M9O*.ER8V&;#1ENP8X(IZM..=3?YWWK9G;+(U-@&-O5K9E0MB)EQM1>DVOYKL M3&J.(B,\&K::,-B:, !->"M,[J.8NFPVKD]HPBBL@:('P4V3>\+9[&<9L)U:JE>><(8D0IYS]UO3>41UCV,3J/H!\"O. JU/ )57:N9 MR)6(X,!W#4"_7VBO-%32; & <'\%Y@:L8!NL+;9R,&P"E?,E3:1\:^[8Z M*'$4 >L%!U9B&):WO@C.W(JVPKB*B(R[;#0!5D-/!PQ<&X&<&.;7"U[( FUV MA,BMC7MNI%^PI67H9+E9XJH'N#)PC<$/E>OUGA$3H1B@]+5(-=3\T MX(Q&1]A0!GI1&#N/NJ7$]>W(D+0YF@:@41@[KK,^S,D[^VAZ!"<',E%X6_RH M3JYOCNE@U.KD@#,*XZS:E"-7Q?+&<6%QUKEMHX%3%.84BS :+T3!EX*_%Y#* M@"=Z!#S1@"<*X^E1 SYL*!SMJRK@B\+X>J2SFFJ4 PYKXL# &&[ING*Q0[P[ M%^/ QQCF(W:Y>,OOI.)K2%]@67R$\\(X@"X^VHGA=5P_,B2C5O+$.V>&,!UO M5].RCD,3#AB+V1'\&U 5PZAZ1/^^C.NG>33^O#V\;KB+)*PU"H&0,;R[#,TA MY)A P'AXA#@$F,4PS!XQ#I=QG6@T82/:<@0=J,9@+,' [7J>%04ZX2YM$;!5ONQ02SNVRBS@D<%X?%4&IZ447G8(XZBS M%K*=ARA?U2)>=HAWEV46N,LZMK+";;VE6]NSS0E"HSE)RY%/2\H$5+)#4>G6 M;1F>A**Q9I?7>='^DP,/D"(\>D@"^ M! ;?E[HXJ3]^( /(Q8&"R2$4!!%<:>A\Y-7?>4G$O\?TFAO7/A>NR,R=8'0Z M<.:;S:M!FPNKE^5[(U-MK<[+KPO!77S]#>[_&ULI9?=;MLX$(5?A1!ZD0)U]"_;@6T@L56TQ18;--ONQ:(7M$S;1"72 M)>DXNT^_0TI1E)"6@O;&EJ@S9_C-4!(U.W'Q0^X)4>BA*IF<>WNE#E>^+XL] MJ;"\Y ?"X,J6BPHK.!4[7QX$P1L35)5^% 297V'*O,7,C-V*Q8P?54D9N15( M'JL*BW]O2,E/^T-U>Z0%_,3O@';DCZNOA5L"9W[IL:$68I)PA0;9S M[SJ\RD,38!3?*#G)SC'2*&O.?^B3CYNY%^@9D9(42EM@^+LG2U*6V@GF\;,Q M]=J<.K![_.C^WL #S!I+LN3EWW2C]G-OXJ$-V>)CJ;[PTP?2 *7:K^"E-+_H M5&NSV$/%42I>-<$P@XJR^A\_-(7H!("/.R!J J*7 E.F%>5 M1)AMT)(S1=F.L((2B4;H#P)=@%&IT,6**$Q+^1:&O]ZMT,6;MS-?P1RTDU\T M^6[J?-&9?#'Z#!GV$N5L0S:.^%5_?-83[P-[6X#HL0 W4:_AIR.[1''P#D5! M%#KFLWQ]>.#"^;WL^2]G?U:,N%T-L?&+S_B9;K^KV_W/]5HJ 3?R]Q[CI#5. MC'%RQOBZXD+1_[!Y./ M$OK^'?'MZ BK"TM)E'2MI=HT,Z;ZD7>_B,9! *3W MW0[9JB2U5"M;E<:6*K=5TVE7]8P^;>G37OJ/3!%!H*8 7YH;BJ]+NC/5<'+7 M=FEG%B^9;45H(P_:Y ,VSVBSEC;KI7U/&68%:4@+6$M.QLQ*[>JMK4HR&]16 MN7IKJS3L.=QQBSONQ?WS0 36S\P.L(MW[,@>V[-<.G61S6SKHB"SUWWNT/5A M3UKL22_VW1[NZ!&LZVJ >^*N^@MJA\K1YU=YY;8J&9_EG;:\TW[>X[KFI*S@ M%7&13@?OVD'%:E"1VXI1FI[%"X.GC4#0"_@75[@9A&)M M(55P.8:.B'HW7I\H?C#;S357L'DUAWOX@B%""^#ZEG/U>*(3M-]$B_\!4$L# M!!0 ( (J#!E-U&PO=V]R:W-H965T($FH2QCHV%EJT?QCXH]B46U4LF MG9OFW^\D)R:#)+!]L772W?-R/KG86O?L:T2"5ZV,'R8V37U9HQ:^9S=H M^&1EG1;$H5NG?N-05+%(JS3/LE&JA33)I(A["S+P^H'^,WMG+ M4GB<6?4D*ZK'R8<$*ER)1M&#W7["O9^;@%=:Y>,3MFWN:)1 V7BR>E_,"K0T M[5N\[OMP5)#?G"G(]P5YU-T2195S06)2.+L%%[(9+2RBU5C-XJ0)'^61')]* MKJ/)S&HMB;M,'H2I8&8-2;-&4TKT< W?J$8'7Y"-P[UIAR!T\VJ.)*3R;XN4 M6$8 2\L]Y;2ES,]0?FY,#P;9.\BSO/]W>(/_LC"7OE36-P[A MY]W2D^,Y^'6!=="Q#B+K\ SK4_S>6%V+%W0\OCRAX0XP,:C8+4*GX4H:V*%P MI_MTF6'45D(.FAW5'OHY5&+G+X@?=N*'_R:^XB[9QA X07A*ZF6\46^4O3FE M*SV:S'#)OPJWEL9SBU8,E/7>\Y2[]N*T =E-'-:E)1[]N*SY7X,N)/#YREHZ M!&'^N[_7Y ]02P,$% @ BH,&4W_@>UQ^ @ #P8 !D !X;"]W;W)K M&ULG57;;MLP#/T5PNA#"VRUZURZ%8Z!)EFQ#2L: MM.OV,.Q!L6E;J"QEDMQT?S]*=KPT38-A+[$N/(>'I,@D:Z4?3(5HX:D6TDR" MRMK511B:K,*:F5.U0DDWA=(UL[3596A6&EGN0;4(XR@:AS7C,D@3?[;0::(: M*[C$A0;3U#73OZ5M8=A&FR8B7>H;U?+33MPIXEYS5*PY4$ MC<4DN#R[F(V VG_))$#E!*#"SCH'1YQ%G*(0C(AF_ M.LZ@=^F V^L-^Y6/G6)9,H,S);[SW%:3X%T .1:L$?96K3]B%X\7F"EA_"^L M.]LH@*PQ5M4=F!347+9?]M3E80M //L!<0>(=P'#5P"##C#P@;;*?%AS9EF: M:+4&[:R)S2U\;CR:HN'25?'.:KKEA+/I3-4UMU06:X#)'&9*6BY+E!E' V]A MQDP%"\9SH!<#7Y R!C=+P4OFJF#@>(Z6<6%.R/;^;@['1R=P!%S"UTHUAAA- M$EK2Z;R%6:=IVFJ*7]$TAFM241GX('/,G^-#BJ\/,MX$.8T/$GYNY"D,HC<0 M1_'9'CVS?X='!^0,^IP//-_@OW(^YR83RC0:XQV^ MXO5FA9HY/Y"YFA;4OP8*K6I0_8UP]=U;L99[[+G=9'A,X^C]( D?M]/XTNC\ M?-C;/%,]ZE6/#JJ^XI)17O:H+OP-'M \>B$GVA'\TF(<[>@-MWJK1EWZD6,@ M4XVT[0OL3_NI=NF;>>=\2M.N'4Y_:=I1>DRS=CI]V8]7* M=_!269H'?EG1Q$;M#.B^4,IN-LY!_Q^0_@%02P,$% @ BH,&4VPF"5"V M @ FP< !D !X;"]W;W)K&ULA95K;]HP%(;_ MBA7M0RMMS0420A606JIIFUJMZF7[;,B!6/4ELYU2_OUL)\U88^ +L1V?]WG/ M"3XNMD*^J I HS=&N9H%E=;U91BJ504,JPM1 S=OUD(RK,U4;D)52\"E"V(T M3*(H"QDF/)@7;NU>S@O1:$HXW$ND&L:PW%T#%=M9$ ?O"P]D4VF[$,Z+&F_@ M$?1S?2_-+.Q52L* *R(XDK">!5?QY77L MR.7P2V:F^,;"I+(5[LY'LY"R+K M""BLM)7 YO$*"Z#4*AD??SK1H&?:P/WQN_I7E[Q)9HD5+ 3]34I=S8(\0"6L M<4/U@]A^@RZAU.JM!%7N%VV[O5& 5HW2@G7!Q@$CO'WBMZX0>P%)?" @Z0(2 MY[L%.9H>N.*8[1102:_2S!HGM-G0+IB+H[ 8T)E2=HT^( M(F=)5ZMR7="N5.2E[ M3E[G21R-B_#58V#<&QB?,I#X6&U4NL<:)WGJ9Z4]*SW%&OE8Z9"5YE,_*^M9 MV2G6V,?*AJQ)DOE9DYXU.<5*?:S)D)5GN9^5]ZS\*.NI M,VUQJDCY@/B'EV M*+MI3YP>)PJ-J6T:A#4,47=4:[QSA]WG83KPD$SCZ8&TX^A?AXF.VK@%I2X1 M876CH33]P50 E/;VAFC@($U'!\Y)O-?BXA,&;.9B2+C7:NVU=8?EAG!EJKLV<='%Q)B7[4W03K2H7?=="FUZN1M6YO8$:3>8]VLA M]/O$-O3^/I[_!5!+ P04 " "*@P93E5A'YQ,# "%"@ &0 'AL+W=O M>'[]UX8YN,F46_-FDQ!NR(.JAO!5ZYCPVD"#\>OZ)]M\CJ91RS)G.>_Z$IE4R_UP(JL<96K.[[]0NJ$ M8H.WY+FT3["M]P8>6%92\:(.U@H*RO9O_%(?Q$$ @CT!J Y 5O>>R*J\Q@K/ M)H)O@3"[-9H9V%1MM!9'F?DK"R7T5ZKCU&S.BX(J?#TFBA,!>I1\:UBYR ,/@ 4(/BPN :G)V=O47R=5Y,<:I)#%C;L@?U1$H%- M.N [T7].'H$,&\C00D8]D$8@.!7$7'@#G(!"GU@FSUQ)[Z$2"V7*XWF&8!!- M_&>'@*@1$ T)0"ZN?51\P!6A-'9SQ0U7/,05NKCB+E>HRY4FJ9LK;;C2(:[$5I;*B+;-M2+"19UVJ-.D+\UQ M0ST^2GW/%&>+W:5AW-& QG#@ZIM14XZ"O.LJ[#WOR4* E[Z%H3@8,N MXJQLV+41-$[[KD#K(W#02)S%#;M.$@9)S[6'K97 02]QUC?LFDD(HQZ3A*V; MP$$[^9<2AUU[,;T3[*%O#08>=YC_+?,:+GES"B/T]YWR#YH*TZ#=8+&A3&J" MM8X+SD?83Q4O;9SQRI;L6.\QTGTB$V:"_KSE7KQ/3NC2=Y^P/4$L# M!!0 ( (J#!E/"C?5#4 ( %P& 9 >&PO=V]R:W-H965T[ MNX;P[SN[=BRW"9R2"][9F7EOW@,/V4[I)U, 6/(LN#23H+"VO A#LRQ 4'.N M2I"862LMJ,50;T)3:J KWR1XF$11&@K*9)!G_FZF\TQ5EC,),TU,)035^RO@ M:C<)XN#EXH%M"NLNPCPKZ0;F8!_+F<8H;%%63( T3$FB83T)+N.+J[&K]P4_ M&.Q,YTRWY!O_': M44TMS3.M=D2[:D1S!R_5=^-P3+HO96XU M9AGVV7RJA& 67;:&4+DB4R4MDQN02P:&?";?; &:=*M.K\%2QLT99N=56?)] M)TU.")/D>Z$J@V@F"RW.Z)C"93//53U/KY4\)[WH$TFB)'Z<7Y/3D[-_ M44)4V,I,6IF)A^T=@'TMX]<=EI!;"\+\/D+0:PEZGJ!_@."FLI4&F6V>1'$_"[=OL/=;]OY1]LM2,XZ6Q>D1*8,6;/ Q7J4M M0?I.7M4X@XY7<9J\;=6P)1\>)9]#B3H6J!#M&A]1,VH!1Q]CU[@E&+^37>-7 M/ZUX-/C?K["S+-S>O:=ZPZ0A'-;8%IT/T6Y=[[(ZL*KT^V.A+&XC?RQP_8-V M!9A?*V5? K>2VC^4_"]02P,$% @ BH,&4R;%8QFI! ;14 !D !X M;"]W;W)K&ULM5A=;^HV&/XK%MK%.=)9$^<3*HH$ MI2V9U@FU.]O%M LWO)"H2 MD9(XZXV&Q;,Y&PWI1B1Q!G.&^"9-"7N=0$)W5SW<>WOP$*\BD3\P1L,U6<$C MB._K.9-W1F5E$:>0\9AFB,'RJC?&EX%EY80"\4<,.WYPC?)4GBA]SF^"Q57/ MS"."!$*1FR#R9PO7D"2Y)1G'C])HK_*9$P^OWZS?%LG+9)X(AVN:_!DO1'35 MZ_?0 I9DDX@'NIM!F9";VPMIPHO_:+?'^EX/A1LN:%J2901IG.U_R4LY$ <$ M:4=-L$J"=4IP6@AV2;"[>G!*@M/5@UL2W*X>O)+@=?7@EP3_E- VK/V2T._J M85 2!D4[[.M7%']*!!D-&=TAEJ.EM?RBZ*""+6L>9WFS/PHFW\:2)T8/D! ! M"S0G3+RBWQG)."G:D*.?T3V5/;E)"$-CSB%]2F+@WU"0A1?HRQ0$B1/^5<*^ M/T[1EY^^#@TA \K-&F'I?+)W;K4XQ])#)B*.;K(%+!3\J9YOO\>_U?.]]_BS M=^+7!6#(2E3EL-[*,;&T%L=K=H%L\QNR3 LK KK6TW_99!7=5(UG=[K*^\UY MWF_/\WYWGO?9>=X#/7T*O$HH" 2G_6^/( MJ1PYA2.GQ=&; M\F]H; ^+UH1ATSS"'87M5F&[VK"#*CA$! HI%[GFQ:I(IVXC!-M1A'J[Q[GO MX68=[05-'';<]M2]*G5/F_H4EL"8[ T&6\@VH$K9:Z3B.OZ@F7)'W*PC+FCB M) RWINQ7*?O:E*_E5Y;)_D=$ZI"R':=^T[-K]9L9=\3-.N(")GEAGMVLI8FC,305\[,C;M81%RAP+57#!\LI?&ZG MEA;4;LM,WX7,2HC7#@D4$%?SZ<56G:3UP>9$_Z#[ZX>QKG5J!<2?+(&XUD"L M%\$'X$!8&"&2+>16:2OW@.M"6\JN14M&4R0.5\>[6$3H?APH*]P4/5O1@#<* M7*,3FA!78>I.:^IX5&J)Q7J-?00F"XO&:,[>9O&CH.%S7N1S.J 6.NQ]<@?4 M H/U"O/;)GV2:QZZ1#PB3&;-( 2Y#5_(91""ES BV4JV 66( ]O&(:BG=E,- M?.Q@'Y\6OHEK%+X)P8[5MQWKM/(Z6\>C48L/UJO/_S(:L]+)\:K!L7W;:8FO MUB\\^/@'J*UM==NS6L\L\W-;TJJEQ-)+2:,(ZXW\1!&NW*E.K*9DG"ZTRQVD M NCV?=,]_3IU!=YU !X/02TTEEYH/KHYF91VCW8GRL%HXM3;$^/@B"4%MBK. MY[C<>&PRL=]L54^K,\!Q4_8 M*I9*E,!2AF!>^+( ;'^VM[\1=%T<_#Q1(6A:7$9 %L!R@'R_I%2\W>0.JA/6 MT;]02P,$% @ BH,&4WWMO:"# @ # < !D !X;"]W;W)K&ULI95M;]HP$,>_BA7M12NM34B@FRJ(1 G3.K42:M=-VK07 M)CF(5TWWYG)V30THAI;X@?[G?WO[,YCVNI'G4.8,A3P86>>+DQY:7O MZS2'@NIS68+ G954!34X56M?EPIHYJ""^V$07/@%9<*+QVYMH>*QK QG A:* MZ*HHJ'J^ B[KB3?PM@MW;)T;N^#'XY*NX1[,0[E0./,[+QDK0&@F!5&PFGC3 MP>5\9.V=P3<&M=X9$YO)4LI'.[G.)EY@!0&'U%@/%#\;F 'GUA'*^-WZ]+J0 M%MP=;[U_*-QER)GX#C@UD)$%5>:9?%54:.J. M4),S,M5&T1\@(*5D<3,C)PD8RK@^Q;V$*3QKJ7"X1]7,Y*_ ,_)PGY"3=Z=C MWZ!H&]I/6X%7C<#P#8$1N97"Y)K,10;9 7[6SU_T\#X6JZM8N*W85=CK\$LE MSDD4O"=A$ :']/P?GAR/#P[@\WX\@13QP:'H>\6(NNL3.7_1OUX?\O,&3Y1O;8:!'MF>UI'G=91K]9IFLI*&(TZ4V ;NN1'ZTY&KQ2]T#SOLVCD^COM MH "U=GU8$R>JZ0S=:M?JIZ[#^7_-FW?BEJHUPW\UAQ6BP?D'C*Z:WMM,C"Q= MP#C/U!+ P04 " "*@P93\D7\&S$" M #Y! &0 'AL+W=O0_GUM0V@J;=*^!%_FG#EG M,N.D4_K)U !(#H)+LPQJQ.8V#$U>@Z!FHAJ0]J946E"T6UV%IM% "P\2/(RC MZ#H4E,D@3?S91J>):I$S"1M-3"L$U;_6P%6W#*;!\6#+JAK=09@F#:U@!_BE MV6B["T>6@@F0ABE)-)3+8#6]72]]U](J_R MGB)-$ZTZHEVT97,+;]6CK3@FW9^R0VUOF<5ANH/*EABOR#M0E:9-S7+*"94% M^80U:+*%/<@6R(/L&\!5\A7Y# =L;=R+>T#*N'F9A&C%.,HP'Q*O^\3QF<37 MY%%)K UY(PLH_L:'UL3H)#XZ6<<7"3^TEL7:&=C@6:>=G:Y M0+80C=+(9$6^KS*#VK;3CPOT\Y%^[NGG9^@_MB*S958EL7.FJ4\PB#?/%;5G M6W@V-W#[-$["_3,"%J. Q7\*T-XAS3A<5+#XIX+PI!T%Z,H/G2&Y:B7VG3F> MCG.]ZMOY3WC_*#Q273%I"(?20J/)C&ULO5M=<]NX%?TK',T^9&?BB/@F,[9G-I+: MIM/=]<2;[4.G#XP$6YI(I$I2<7:G/[X@)0L2< B)=NT76Z(./BXN<,_!!7CY M4)1?J[G6=?1]MKK'I7K'5N?KDKRE56FZ_E_;!:ESJ; MM856RR&-8SE<98M\<'W9/KLIKR^+3;U[G=?-@>'VYSN[UK:X_KV]*\VVXKV6V6.F\6A1Y5.J[J\%/Y/U$B:9 B_A] MH1^J@\]18\J7HOC:?/DXNQK$38_T4D_KIHK,_/NF1WJY;&HR_?C/KM+!OLVF MX.'GQ]K_TAIOC/F257I4+/^YF-7SJT$RB&;Z+MLLZT_%P]_TSJ"V@]-B6;5_ MHX<=-AY$TTU5%ZM=8=.#U2+?_L^^[P;BH("I!Q>@NP+4+< ["K!= 79N"WQ7 M@)_;@M@5:$T?;FUO!VZ_TV^JLN[LML/5],LV64Y;/HUWJNR^B3_J;SC8X^YMM)V3CW(MJ5 M,K^NB[)>Y/?1F[&NL\6R^M'\^OEV'+WYXC/Z/SB,3+G>:U/GMSZT6"P_8VOEWEH9M/:3KG163N=MP)D94Y?%NIE4 MR%SI6T(3ZO1R!%!QXDZ#L8^BG*7.-)@ %$EHA\EJ;[(*FGQK.-$LEK?1O^/3H/$?\VFQTM&;95$9FKPKB]6C_44.[4Z]7EQPGK@S'J"D,=RQ M&Z (DYPXAD-8R@2VG,169<1!VS_GV7)93+-:-^O<2-KI8LL3[>Q?-03R9_L MJH38[Y4B[C@@%)?NY$+#&*"$8.X" "AN&*3#:*N5" L:?:/+5AOE4VW4Z)]_ MK%Q7']=K91'A+R_"B!4G)*Q.3LLPXLL$2H2KG48 ID0L79?Y*"82XBU6('(2 MIM(.IUEQ0L+JY)?"")+HPZ)H=D+96F_JQ33H-JL!B'H%MUG6)>?0;M!M/N.Q M1+IB$J 4E\3U&D!)%;M.\U&$4-&UTBS)DC#+WH2$\_&NS[(7C5_>7=2R! VS MQ&EW43\X$ZZ(2PD QD7L2B* HCSEKB $L%3&'71 +1W0,!TX_HK^&_6+E=3& M8/H*&U9J0S-][I9U5\%)+_HPY$4?!;WHPP)>M,1 P\3@>[%O\*0V+%/Y"GZT ML9J&-VQG^-'?*\6N#T]"QJ MC+Z"8P]2CF$9?89CF3?&TA@L++//\)B?2T(9>0!#*7D 0SEYU&AW4IY;1N%A1NF1 MEN=^E =Y>8 "B7F IEYU&)G:IY;6N%/HQ5H--B04"J(:S6 Q3SQSE_ CH2Q MV,W5(!CI3-9P2VK\1(;J:2EZ[J>.F$I=)0A0-$W=S = *1JG[@" E%;:I2>X M95E^#LOVS=)SGP9IS(2;I@^?J MN;^O$G'J9BH!ZH*Z^:PQ0''NYC,GJ"XB><=6CEOJY^&M7)_\+ ?9/C\_"U @ M/PM0(#\+4-WY66X%" \+$)^4>XMF;A4 ?X7L'[?*@#\W^\?1V9F?M 4PD+0% M*)2T!;! TI9;8<+#PJ0/4R--X3,U$"B J7T48FK08B=3"ZM.1%B=]&%JX8L% M$7N'20#%4_> ? Q0A AW'S5!L%BF'3PEK$ 188'R1)X6OFQ@Q)7_(X"BWCGA M&*!$FB3N ( \K.JZ2""L3A%AG?(TGA;@M*P1YJ[]/BR-E;N5 B@J8^\\';69 M2M$U ZQ2$6&ETINFA:\7C*KP?.^C+HB0GO-!92IQ>1I61E4'3PLK4418HO3A M:0$RS<0-R2. 4NX-@3$ 4>(I4]0@/U"YQS8?7(X*:Q-(TWVS(,*J O$*F69A M=8%X;J99^ E@D 4!*) %02@_"P)0@2R(L*)$A$5)GWMNOE+P%NQ)R/@T9!*$ M'-MIY8@(RY%>U.RK T6\/01 ">YN,\< 18AR9O"Q]@7#!4G>[/P(PPH0[]U%EPH--8)NJZT:K MU20RK$GZ\+($.1-/BT.0FR\!(.Y>#YU 4(<0D5:(R+ 0P7OGLZ]A2,O^\A4. M)>3!W>3G'DI(<$0 #O !#!S@ Q0ZP >P[@-\:;6'['LJ89SXC+-A:96 ?(6# M"VD)63[WX$(B3O3/AB',/QM&,' V#&"!LV%EB5B=.K@HS;!FM7X;Y45^L7-N M8"2593E%7MYQRG**>HG=K@)!/I'$U10()IA[QWB,8$0RY@9:B#.SH^,&N;+D MHL+D\JQ[U KL1+T-W@BA_"P?0A'N;?P1+$T[](6RE*/ZI.?/O$>M0,(1)L#$ TI>ZK,PA%B.OW MX<%[BRM=WK;U]$VS_=OY3Z4_LJIO/\ WD_(N#YF+R?;%\YM=5O MWX#].2OO%WD5+?6=:2I^UW2XW+Y4NOU2%^OVK 0 .T; 9 >&PO M=V]R:W-H965T3[FD!0G!RZ> MLI QB;XG<9I-K5#*W;5M9W[($B^[Y#N6JC<;+A)/JJ+8VME.,"\H0$EL$\<9 MVHD7I=9L4M3=B=F$[V4Q.H&R?))[X=\YB?IA:V'JIN(^VHR:)8@2EF813Y%@FZEU@Z_7KIL#BA9?(G;(CIY1/I1'SI_RPFTP MM9R\1RQFOLPI//7SS!8LCG,FU8]O%:E5Q\R!Q\\O[.MB\&HPCU[&%CS^.PID M.+7&%@K8QMO'\IX?/K!J0(.5@R1*RU_O>R7$ M$4#Q- -(!2"O 6X+@%8 ^M8(;@5PWQIA4 $&KP'#%L"P @P+[4NQ"J67GO1F M$\$/2.2M%5O^4*2K0"N!HS2?60]2J+>1PLG9 ]NJ>2(OT'O&M\+;A9'OQSX0^TX*FO4*(LWT?9$_I]R:07Q=F[_'71;X7^ ML=W$EJK7>6S;KWHX+WM(6GI(T2>>RC!#JS1@00-^">.')OP:QF,"$-A*[EIS M\J+YG(",'_?I):+.!2(.P0T=6KP=[C3I\6O15[\6?0W#E\Q7<-P$/]&2UO.7 M%GQN"U\U/R_0G>#!WI?%U'U@XCGR&9JSU ^583ZA__2BCNJHHYX2-:XCC#M.%,R'B4'PJ[IC5QT+O@"B8D07&U!>-A7YG6AHM'76<:)J3CUDS# MP*:EJ\HT#"0-4^14#;TX8-C-S\_T&HJKO1]?]91IHHV>.!UGVD#8:L(K$Q ; M$D;TRD)@/S\_8>^AN-K\">DK8=KH";Q7/CMA*P.AH$@L+O>^#[?IS)3 M!TZ?1<_>8\S>NFDGVG?)H"^1M<<2>)][MLA+ Z%QW2':FPEL; :1H0TWT99' MQGV)K.V-P'O;GQ 9)FPZ'IV>1[4M4MB,#")#>S:J;8KBGD2FVI(HO!\]7V0# M(79;_'UM %+3F8@>?2Z +'^[6!T+AB4NV!%+8L@\C0ML359N;V=9AWM9>Y M'1_FUP9"8C)S5WN@"SN/0>0/4!#M26Y?!W#WZ(-EQP?PI8&P?<6TCVXCE$C; MXMXH0X60Y8?=NK:^F[HI;F1>U<_Q]0(WU"_Q]:J\>=+TY478)T]LHS1#,=NH M4,[E2%F>*.^6RH+DN^(NY)%+E<'B,61>P$3>0+W?<"Y?"GF ^H9O]C]02P,$ M% @ BH,&4YO._'!" P N L !D !X;"]W;W)K&ULO59=;]HP%/TK5K2'5NJ:Q'8"5(!$@6V=5@WU8WN8]N""(5$3F]D. MM/]^MA-""&E4K>I>(';.N5_GVKG]+1>/,J)4@::&;DI@YP[[=FXEAGVW<1.O(F4VW&%_35;TEJK[]4SHE5M:6<0I93+F# BZ'#@C_V+J M(T.PB!\QW:IX2U=:=G5&?A,^4J0 M=13/20((6X#O*J("W- -91D%5RQO2B/NQ]VN! _/%2(8Z58%)Q.J2)S(4XV[ MOYV DP^GX .(&;B+>":U9=EWE8[<^'?G1927>93PA2@1N.9,11),V8(N&OB3 M=G[8PG=UQ M0M8>:N\AW15K+E3,5@?=\NN;AH,K15/YN\49+IUAZPR_X.R.*]V@HFC IE;* M^:'EFWMR,X0!#E#?W50%.D;YN!=V#E&38Q1&N!L6)/G&.1[G4Y- MZFD#"OK(;Y:G6Z;9;4US>CT=M52K5YKIO;\TOK>_[;TWBE,8."B\'_9JZC2@ M$/)K&DX:4#[$@5?3IP'6@Y5#=IAKY"&.O+M(Q#'=P_8IK0.GO0@CK(AW#NA#6#Y%;F43T_;6R(Z $?S[371*QB)D%"E]J5=][1_23R,3%? M*+ZV<] #5WJJLH^1'JVI, #]?LFYVBV,@W)8'_X%4$L#!!0 ( (J#!E-_ MQW\$/P( L% 9 >&PO=V]R:W-H965TAK,XIOYQ.7[A.\AJ\ M#Z#$->L$/:KM)QSJN71\A1+&?V$[Y$8!%)TAU0Q@JZ#ALO^SE\&''4 \.0!( M!D#ROX!T *2^T%Z9+VO!B.695EO0+MNRN8'WQJ-M-5RZ4UR2MJOIW_.5H:T;?]?1S:> MPKT*FSR-)\DD"S>[SN_+BJ^OQJQ>7[C3JNZ9^,)TQ:4!@6N+BRZN+P/0_=7K M U*M[]Z5(GL7_+"VKQ5JEV#7UTK16^ NQ/C^Y7\ 4$L#!!0 ( (J#!E/R MIG2=K ( ,H( 9 >&PO=V]R:W-H965T\4)0P6 @DBRS#XNX4*"\GCN]L%BY) MDBJSX$['.4Y@">HJ7P@]NTC9-,3>J+9U6EH(G+'TLV!$* MO4,4>('_B'S6+9]#I.6^E7O;*L&2+Q8]/.AR= M*\CDSXYB85,LM,5Z3Q3;@'V,6J4<6*5Y.]?3,.AI0.LVFQU!6Z9ZC:E>IZF+ M' 2VG=G_29I__6Q#IIB@Q=CK93];JP[@K9,#1M3PV=B17_0 H2EP") M[]CONPRZ8(^:4J/7AWW<%#M^,>SC?S@&O4'X /:.H"U3OG>_T7G/Q_V%KX&B M4\+-9H=S*!2)NH#[K7W5?WWD_OTFY0PX" "2! &0 'AL+W=O84U,Q/5H'0KI=(ULR[4.VH:C:P(H%K0.(IN:XTF#: MNF;Z]0&%ZF9D2@X3:[ZKK)^@6=JP'6[0/C4K[2(ZLA2\1FFXDJ"QG)'Y]'Z1 M^/R0\)-C9X[&X"O9*O7L@Z_%C$1>$ K,K6=@[K?'!0KAB9R,OP,G&;?TP./Q M@?USJ-W5LF4&%TK\XH6M9N03@0)+U@J[5MT7'.JY\7RY$B9\H1MR(P)Y:ZRJ M![!34'/9_]G+X,,18'I] A /@/B]@&0 !.=HKRR4M6269:E6'6B?[=C\('@3 MT*X:+OTI;JQVJ]SA;#87[AR9S!%<1\!"8\$M?%?&H(&/,)=,O!IN0)5P+O-R MB99Q8:XCXL"7G.!;8XY\S[;"E?M[OC56NP[\ MU]%\/4MTWJRVT#FK^@^N[M.Z?[8F+,IO49ZU#'^MCXR MO>/2@,#2@:+)W0T!W=^ /K"J"4VT5=:U9!A6[M% [1/<>JF4/02^+\=G*/L' M4$L#!!0 ( (J#!E/>P!0-Z ( 'L* 9 >&PO=V]R:W-H965TJDJJS;P[0'$RY@ M-;&9[4#Y][.=$%(^LCT@\0)V[XN)=S@$4^LA2)GO.7*G%G>O* M9 X9D;=\ 4S?F7*1$:6W8N;*A0 RL: L=7W/:[L9H MX4$Z)*,4QTP7J/[&64S-" *9EP'7@Y!$9K**PU^&PW1Y<45ND"4 MH>]SGDO")K+K*BW;)'>34N)#(=$_(O%KSFY1X%TCW_/Q ?B@&3Z$1,.QA7N? MX:XVJW+,KQSS+5]PA*\PPE2]M>(:'?41_7K6!.A)029_-Z0/JO2!31\>.[ D MX3E34K]#F^R'+"U(VI;$O,K+/H[#*.JZR[IS!Z*"* ZKJ$\*PTIAV*APD L! M3#74VJJ86N>PNEVE;Y_"ZH*D53>Q$^)PQ^H#44$01X>M[E0*.XT* WS3]M"0 MK&5#N5%%%IW#[;A*'Y_"[7C/QRC8L7H_)(SBPT9C;]LGO49Y;7P3_]-J7&N[ M^!QFXVT7P_XI["Y9/CVW;<_?(X=L^AYL;78RMVTA_-!!?@FBJ>MN: M<'@6V[<=#;=.8GMKKS,'M6>X='T_R-MQW:U-!F8L^T:$_F!+E,)48[S;CJ80 MQ:13;!1?V&%AS)4>/>QRKJ=#$"9 WY]RKC8;,W]4\V;_+U!+ P04 " "* M@P93MA\1)0P# "-$ #0 'AL+W-T>6QE3'.>ENM+UP];.H;%TC^ZY M1W?GR'32Z@VGUTM*=;"NN6CS<*EU\S&*VL62UJ0]EPT5!BFEJHDV4U5%;:,H M*5IPJGDT' S2J"9,A-.)6-67M6Z#A5P)G8=);PK<[4N1AW'Z/@P#V[.+8_NI!<["R$LZ>@+I^%Y.".0B&A>12!=J4R(B)P=+> M.SAV,ZA>QU,S(96-[2*X[WFW_ C8SD @X[P7. R=83IIB-94B4LSL8NM\0$4 M=..;36,45HILXN$HW#G8FPDREZJ@J@\3AUO3=,)I"7(4JY9PU[*) -1:UF90 M,%))0:R&K4Y5=0 U%?W0".J&CL9-@'^?S7'OT6;/ MH@T:=B?UYY79C;!SZ!5ZI6C)UG:^+OOX&'N,LY.FX9M/G%6BIF[O3PXXG9"M M7["4BMV;:- I"V.@*@SNJ-)LL6_YI4AS0]=ZVTWK$M<\?(6:_VZ>*RJH(GQ? MM&G]EYSE9RM./OPKR?9'Y5BP5V-W7+UTD:/7(#)]D2*C[@=][]0X.#-Z:P!G M,:R:ZV9(5!14/C@Y#K\GTP, ,3M;O X1BYM)KCO'S(S'ZP.'Z?S%S^ MG699DJ0IEM'9S*M@AN4M3>'/SX9I P\L#D3ZLUSCU<8[Y/$^P&KZ6(=@.\4[ M$=LIGFM _'D#CRSS5QN+ QY8%;#>@?C^.-!3?I\D@:IBVK G&$>R#$.@%_T] MFJ9(=E+X^.N#/25)DF5^!#"_@B3!$'@:<013 !HP)$GL.7AT'D7;*NQS $P( L !?3T\$MP> M:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5; M&GC3Y?YVX$G1H2)8%II%R=.B':5_'7%H:ZY'>$+ MXR'WRNA06!<\*7AS_]ZO+\6KHG%-/!>"#P8JY7$/]4N%7;HO]"_I AIK+ MGJMPP]X6#2,GCRY .RA$^.1,J8K 48@K64J=@T"0$0$9]0CY'"'(F(",>X%< MU#CAJP@R(2"3'B%;+9D2D&F?D#&"S C(C!=R!BZW:EN7"[,25SNG-#B'X$X) MN%->N"OIE*NQYA9<>+1Y0D@=&G%751)!GA&09[R0#_ *>@?B 7*SUJJ^C\ ^ M$6"?>,'N0[U?C7-B&T+U8B-M*U:/J6 ]YB6[U:_@?/V0$TJ+>Z.'=]*^0)!A M"6*!,4FG,$OEBU16/,DR=.X=2+>ST"!C/,HF$V:='.36I M.S$+SJ;)%1VED MPNR1A3?YRW I]_&O"C4Y^9^Q,:$,,N%6B-RJD+.)AA-#4<:8L"NCJM3[P*C# M7!"'#RD>Z%Q!JVG4OK?XA'*T//-KETBY#2QH39&PM8UT_\ M*F[ K*W<;NHTO&G0;WX#%F-2XI@PF^-S69JW9@B'KXMK"X7:1^QV7U,*F3 [ MA#1P*]&***%$S$+I<+ X>:QMXG[!C)1-(F:;?-1Q)R(Y/V$V"NGE=F]3:HF8 MU7+$RX?FQ)B482)FPW3[N;/3*>=$S,XY)NIW4(Q)62=BM@ZI1G&",2GU1'VJ MISV$*/5$_:FG[G>,2>DG8M;/D=FI.-D/)KQB0NDG[D$_0S%33J[7%M88DS)0 MS&R@;LQZ(-F0P.&X&5,6BIDMU(WY"-_]+@PE/-)CC%,2D%)1W*ONFO1A:'T[>'D\.7?P-02P,$% @ BH,& M4\A!-T#(HPS=1Y +Z1 ITA@\%3$D M>/E7'X@AGWZ50SONNU/=[?NZ^#@>3G75[,:Q_Y%27>_*L:UW75].YRN;;CBV MXWDY;%/?KM_;;4FZ7.8TW,YHGI]N9RY>/_OR/Q.[S6:_+C^[]>]C.8W_&)S^ M=,-[W94R-HO7=MB6<=6DC\/U=$V7@]R=)S>+E[=5,[R\29/F#E((TOF##()L M_B"'()\_*" HY@_*$)3G#[J'H/OY@QX@Z&'^H$<(>IP_2)8HXY(@:8(U@=:" M7 N!UX)@"X'8@F0+@=F": N!VH)L"X';@G +@=R"= N!W8)X"X'>BGHK@=Z* M>BN!WCIYV2;06U%O)=!;46\ET%M1;R706U%O)=!;46\ET%M1;R706U%O)=#; M4&\CT-M0;R/0VU!O(]#;)ILE!'H;ZFT$>AOJ;01Z&^IM!'H;ZFT$>AOJ;01Z M&^IM!'H[ZNT$>COJ[01Z.^KM!'H[ZNT$>OMDLYM ;T>]G4!O1[V=0&]'O9U M;T>]G4!O1[V=0.] O8- [T"]@T#O0+V#0.] O8- [T"]@T#OF'RL)- [4.\@ MT#M0[R#0.U#O(- [4.\@T#NCWIE [XQZ9P*],^J="?3.J'2KWV?*WQ^=])]7B^MUP??UE^G9RP<\$YW5;4 MY[]02P,$% @ BH,&4^(A,D+Q 0 &2< !, !;0V]N=&5N=%]4>7!E M&ULS=K+3L,P$ 707ZFR18WK)P_1;H ML. '3#*E49/8LETH?X^3 A(( M*E"1N)M&K>VY$X]T5CV_>_84)]NN[>.\6*7DSQB+U8HZ&TOGJ<\K2QTM)LV3:ZV^>?8N'Y>!&IC,;G8;1RR MYH7UOFTJF_(Z>^SK3RG3UX0RGQSWQ%7CXU'>4+ O$X:5[P->S]T\4@A-39-; M&]*U[?(NMFU93,\MQ7)_B2]Z=,ME4U'MJDV7CY31![)U7!&EKBUW18_V)Z=\ MP[3[Y ?GCV7V!>:=M\'YF"<6Z/=Q;R,93D]]+D0A-?M?\3TQES[X_6B8=DWU M#[/S]3ZYL![G$=GX./R./\[XO?XO^Q @?4B0/A1('QJD#P/2QS%('R<@?9R" M],%G*(V@B,I12.4HIG(45#F*JAR%58[B*D>!E:/(*E!D%2BR"A19!8JL D56 M@2*K0)%5H,@J4&05*+)*%%DEBJP215:)(JM$D56BR"I19)4HLDH4626*K I% M5H4BJT*15:'(JE!D52BR*A19%8JL"D56A2*K1I%5H\BJ4635*+)J%%DUBJP: M15:-(JM&D56CR&I09#4HLAH460V*K 9%5H,BJT&1U?RGK/?.K?\X?GR6G6WZ MMWPV_B-N\0)02P$"% ,4 " "*@P93!T%-8H$ "Q $ M @ $ 9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0 ( (J#!E/AN4?^ M[@ "L" 1 " :\ !D;V-0&UL4$L! A0#% @ BH,&4VCF7]4\!0 7Q4 M !@ ("!#0@ 'AL+W=O 8 " @7\- !X M;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ BH,&4P\MSY^I!0 B!@ !@ ("! M$A@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MBH,&4ZY[Z)@T%0 (T !@ ("!R"P 'AL+W=O&PO=V]R M:W-H965T&UL4$L! A0#% @ BH,&4\/LRD*D P TP@ M !D ("!)E@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ BH,&4W>M8ATR!0 (PT !D M ("!P64 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ BH,&4U[VL+?R$0 !C, !D ("!EWT 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ BH,&4PN4 M'*RX @ A 8 !D ("!,J, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ BH,&4XV:CFZ1 @ FP4 !D M ("!7;L 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ BH,&4V1XB[?F! < P !D ("! M:<0 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ BH,&4]_>FAH9" 3!@ !D ("!&M, 'AL+W=O !X M;"]W;W)K&UL4$L! A0#% @ BH,&4^,^F)L( M!@ LR, !D ("!?N( 'AL+W=O&PO=V]R:W-H965T/U; ( *,& 9 " @6KK !X;"]W;W)K&UL4$L! A0#% @ BH,&4[9\&^1- P (@H !D M ("!#>X 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ BH,&4YIF:I-0 P 8$" #2!@ &0 @(%!_0 >&PO=V]R:W-H965T&UL4$L! A0#% @ MBH,&4XF-VJ:O @ <0@ !D ("!*00! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ BH,&4__76#.' P N X !D M ("!K!4! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ BH,&4SWR%L!Y! .Q4 !D ("!E" ! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ BH,& M4RD)$75[ P 'PT !D ("!G3 ! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ BH,&4VPF"5"V @ FP< M !D ("!6#D! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ BH,&4R;%8QFI! ;14 !D M ("!%D(! 'AL+W=OV]H(," ,!P &0 @('V1@$ >&PO=V]R:W-H965T M&UL4$L! A0# M% @ BH,&4]M4H0O/"0 YCL !D ("!&$P! 'AL+W=O M5@$ >&PO=V]R:W-H965T&UL4$L! A0#% @ BH,&4W_' M?P0_ @ "P4 !D ("!1EX! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ BH,&4][ % WH @ >PH !D M ("!Y&4! 'AL+W=O&PO M&PO7W)E M;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " "*@P93XB$R0O$! 9 M)P $P @ &J= $ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 1 2P!+ (04 #,=@$ ! end XML 79 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 80 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 81 FilingSummary.xml IDEA: XBRL DOCUMENT 3.21.2 html 323 335 1 false 89 0 false 9 false false R1.htm 0001001 - Document - Cover Page Sheet http://www.codexis.com/role/CoverPage Cover Page Cover 1 false false R2.htm 1001002 - Statement - Condensed Consolidated Balance Sheets (Unaudited) Sheet http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited Condensed Consolidated Balance Sheets (Unaudited) Statements 2 false false R3.htm 1002003 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical) Sheet http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical) Statements 3 false false R4.htm 1003004 - Statement - Condensed Consolidated Statements of Operations (Unaudited) Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited Condensed Consolidated Statements of Operations (Unaudited) Statements 4 false false R5.htm 1004005 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited) Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited Condensed Consolidated Statements of Stockholders' Equity (Unaudited) Statements 5 false false R6.htm 1005006 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited) Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited Condensed Consolidated Statements of Cash Flows (Unaudited) Statements 6 false false R7.htm 2101101 - Disclosure - Description of Business Sheet http://www.codexis.com/role/DescriptionofBusiness Description of Business Notes 7 false false R8.htm 2103102 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies Sheet http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies Basis of Presentation and Summary of Significant Accounting Policies Notes 8 false false R9.htm 2105103 - Disclosure - Revenue Recognition Sheet http://www.codexis.com/role/RevenueRecognition Revenue Recognition Notes 9 false false R10.htm 2112104 - Disclosure - Net Loss per Share Sheet http://www.codexis.com/role/NetLossperShare Net Loss per Share Notes 10 false false R11.htm 2115105 - Disclosure - Investments in Non-Marketable Securities Sheet http://www.codexis.com/role/InvestmentsinNonMarketableSecurities Investments in Non-Marketable Securities Notes 11 false false R12.htm 2119106 - Disclosure - Fair Value Measurements Sheet http://www.codexis.com/role/FairValueMeasurements Fair Value Measurements Notes 12 false false R13.htm 2122107 - Disclosure - Balance Sheets Details Sheet http://www.codexis.com/role/BalanceSheetsDetails Balance Sheets Details Notes 13 false false R14.htm 2129108 - Disclosure - Stock-based Compensation Sheet http://www.codexis.com/role/StockbasedCompensation Stock-based Compensation Notes 14 false false R15.htm 2136109 - Disclosure - Capital Stock Sheet http://www.codexis.com/role/CapitalStock Capital Stock Notes 15 false false R16.htm 2138110 - Disclosure - Commitments and Contingencies Sheet http://www.codexis.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 16 false false R17.htm 2147111 - Disclosure - Related Party Transactions Sheet http://www.codexis.com/role/RelatedPartyTransactions Related Party Transactions Notes 17 false false R18.htm 2150112 - Disclosure - Segment, Geographical and Other Revenue Information Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation Segment, Geographical and Other Revenue Information Notes 18 false false R19.htm 2158113 - Disclosure - Allowance for Credit Losses Sheet http://www.codexis.com/role/AllowanceforCreditLosses Allowance for Credit Losses Notes 19 false false R20.htm 2204201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies) Sheet http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies Basis of Presentation and Summary of Significant Accounting Policies (Policies) Policies http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies 20 false false R21.htm 2306301 - Disclosure - Revenue Recognition (Tables) Sheet http://www.codexis.com/role/RevenueRecognitionTables Revenue Recognition (Tables) Tables http://www.codexis.com/role/RevenueRecognition 21 false false R22.htm 2313302 - Disclosure - Net Loss per Share (Tables) Sheet http://www.codexis.com/role/NetLossperShareTables Net Loss per Share (Tables) Tables http://www.codexis.com/role/NetLossperShare 22 false false R23.htm 2316303 - Disclosure - Investments in Non-Marketable Securities (Tables) Sheet http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTables Investments in Non-Marketable Securities (Tables) Tables http://www.codexis.com/role/InvestmentsinNonMarketableSecurities 23 false false R24.htm 2320304 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.codexis.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.codexis.com/role/FairValueMeasurements 24 false false R25.htm 2323305 - Disclosure - Balance Sheets Details (Tables) Sheet http://www.codexis.com/role/BalanceSheetsDetailsTables Balance Sheets Details (Tables) Tables http://www.codexis.com/role/BalanceSheetsDetails 25 false false R26.htm 2330306 - Disclosure - Stock-based Compensation (Tables) Sheet http://www.codexis.com/role/StockbasedCompensationTables Stock-based Compensation (Tables) Tables http://www.codexis.com/role/StockbasedCompensation 26 false false R27.htm 2339307 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.codexis.com/role/CommitmentsandContingenciesTables Commitments and Contingencies (Tables) Tables http://www.codexis.com/role/CommitmentsandContingencies 27 false false R28.htm 2351308 - Disclosure - Segment, Geographical and Other Revenue Information (Tables) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables Segment, Geographical and Other Revenue Information (Tables) Tables http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation 28 false false R29.htm 2359309 - Disclosure - Allowance for Credit Losses (Tables) Sheet http://www.codexis.com/role/AllowanceforCreditLossesTables Allowance for Credit Losses (Tables) Tables http://www.codexis.com/role/AllowanceforCreditLosses 29 false false R30.htm 2402401 - Disclosure - Description of Business (Details) Sheet http://www.codexis.com/role/DescriptionofBusinessDetails Description of Business (Details) Details http://www.codexis.com/role/DescriptionofBusiness 30 false false R31.htm 2407402 - Disclosure - Revenue Recognition - Disaggregation of Revenue (Details) Sheet http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails Revenue Recognition - Disaggregation of Revenue (Details) Details 31 false false R32.htm 2408403 - Disclosure - Revenue Recognition - Contracts with Customer (Details) Sheet http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails Revenue Recognition - Contracts with Customer (Details) Details 32 false false R33.htm 2409404 - Disclosure - Revenue Recognition - Textual (Details) Sheet http://www.codexis.com/role/RevenueRecognitionTextualDetails Revenue Recognition - Textual (Details) Details 33 false false R34.htm 2410405 - Disclosure - Revenue Recognition - Revenue Recognized During Period (Details) Sheet http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails Revenue Recognition - Revenue Recognized During Period (Details) Details 34 false false R35.htm 2411406 - Disclosure - Revenue Recognition - Performance Obligation (Details) Sheet http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails Revenue Recognition - Performance Obligation (Details) Details 35 false false R36.htm 2414407 - Disclosure - Net Loss per Share (Details) Sheet http://www.codexis.com/role/NetLossperShareDetails Net Loss per Share (Details) Details http://www.codexis.com/role/NetLossperShareTables 36 false false R37.htm 2417408 - Disclosure - Investments in Non-Marketable Securities - Textual (Details) Sheet http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTextualDetails Investments in Non-Marketable Securities - Textual (Details) Details http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTables 37 false false R38.htm 2418409 - Disclosure - Investments in Non-Marketable Securities - Carrying Value and Fair Value of Securities (Details) Sheet http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails Investments in Non-Marketable Securities - Carrying Value and Fair Value of Securities (Details) Details 38 false false R39.htm 2421410 - Disclosure - Fair Value Measurements (Details) Sheet http://www.codexis.com/role/FairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.codexis.com/role/FairValueMeasurementsTables 39 false false R40.htm 2424411 - Disclosure - Balance Sheets Details - Cash and Cash Equivalents (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails Balance Sheets Details - Cash and Cash Equivalents (Details) Details 40 false false R41.htm 2425412 - Disclosure - Balance Sheets Details - Inventories (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails Balance Sheets Details - Inventories (Details) Details 41 false false R42.htm 2426413 - Disclosure - Balance Sheets Details - Property and Equipment, net (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails Balance Sheets Details - Property and Equipment, net (Details) Details 42 false false R43.htm 2427414 - Disclosure - Balance Sheets Details - Goodwill (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails Balance Sheets Details - Goodwill (Details) Details 43 false false R44.htm 2428415 - Disclosure - Balance Sheets Details - Other Accrued Liabilities (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails Balance Sheets Details - Other Accrued Liabilities (Details) Details 44 false false R45.htm 2431416 - Disclosure - Stock-based Compensation - Equity Incentive Plans (Details) Sheet http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails Stock-based Compensation - Equity Incentive Plans (Details) Details 45 false false R46.htm 2432417 - Disclosure - Stock-based Compensation - Stock Options (Details) Sheet http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails Stock-based Compensation - Stock Options (Details) Details 46 false false R47.htm 2433418 - Disclosure - Stock-based Compensation - Restricted Stock Units (Details) Sheet http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails Stock-based Compensation - Restricted Stock Units (Details) Details 47 false false R48.htm 2434419 - Disclosure - Stock-based Compensation - PSUs and PBOs (Details) Sheet http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails Stock-based Compensation - PSUs and PBOs (Details) Details 48 false false R49.htm 2435420 - Disclosure - Stock-based Compensation - Stock-based Compensation Expense (Details) Sheet http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails Stock-based Compensation - Stock-based Compensation Expense (Details) Details 49 false false R50.htm 2437421 - Disclosure - Capital Stock (Details) Sheet http://www.codexis.com/role/CapitalStockDetails Capital Stock (Details) Details http://www.codexis.com/role/CapitalStock 50 false false R51.htm 2440422 - Disclosure - Commitments and Contingencies - Textual (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails Commitments and Contingencies - Textual (Details) Details 51 false false R52.htm 2441423 - Disclosure - Commitments and Contingencies - Lease Cost (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails Commitments and Contingencies - Lease Cost (Details) Details 52 false false R53.htm 2442424 - Disclosure - Commitments and Contingencies - Other Lease Information (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails Commitments and Contingencies - Other Lease Information (Details) Details 53 false false R54.htm 2443425 - Disclosure - Commitments and Contingencies - Cash Paid for Lease Obligations (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails Commitments and Contingencies - Cash Paid for Lease Obligations (Details) Details 54 false false R55.htm 2444426 - Disclosure - Commitments and Contingencies - Maturity Analysis of Operating Lease (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails Commitments and Contingencies - Maturity Analysis of Operating Lease (Details) Details 55 false false R56.htm 2445427 - Disclosure - Commitments and Contingencies - Estimated Maturity Analysis (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails Commitments and Contingencies - Estimated Maturity Analysis (Details) Details 56 false false R57.htm 2446428 - Disclosure - Commitments and Contingencies - Other Commitments (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails Commitments and Contingencies - Other Commitments (Details) Details 57 false false R58.htm 2448429 - Disclosure - Related Party Transactions - Molecular Assemblies, Inc. (Details) Sheet http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails Related Party Transactions - Molecular Assemblies, Inc. (Details) Details 58 false false R59.htm 2449430 - Disclosure - Related Party Transactions - AstraZeneca PLC (Details) Sheet http://www.codexis.com/role/RelatedPartyTransactionsAstraZenecaPLCDetails Related Party Transactions - AstraZeneca PLC (Details) Details 59 false false R60.htm 2452431 - Disclosure - Segment, Geographical and Other Revenue Information - Textual (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTextualDetails Segment, Geographical and Other Revenue Information - Textual (Details) Details http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables 60 false false R61.htm 2453432 - Disclosure - Segment, Geographical and Other Revenue Information - Segment Reporting (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails Segment, Geographical and Other Revenue Information - Segment Reporting (Details) Details 61 false false R62.htm 2454433 - Disclosure - Segment, Geographical and Other Revenue Information - Concentration Risk (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails Segment, Geographical and Other Revenue Information - Concentration Risk (Details) Details 62 false false R63.htm 2455434 - Disclosure - Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) Details 63 false false R64.htm 2456435 - Disclosure - Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) Details 64 false false R65.htm 2457436 - Disclosure - Segment, Geographical and Other Revenue Information - Goodwill (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails Segment, Geographical and Other Revenue Information - Goodwill (Details) Details http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables 65 false false R66.htm 2460437 - Disclosure - Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) Sheet http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) Details 66 false false R67.htm 2461438 - Disclosure - Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) Sheet http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) Details 67 false false All Reports Book All Reports cdxs-20210630.htm cdxs-20210630.xsd cdxs-20210630_cal.xml cdxs-20210630_def.xml cdxs-20210630_lab.xml cdxs-20210630_pre.xml cdxs_20210630xex311sp.htm cdxs_20210630xex312sp.htm cdxs_20210630xex321sp.htm http://fasb.org/us-gaap/2021-01-31 http://fasb.org/srt/2021-01-31 http://xbrl.sec.gov/dei/2021 http://xbrl.sec.gov/country/2021 true true JSON 84 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "cdxs-20210630.htm": { "axisCustom": 1, "axisStandard": 34, "contextCount": 323, "dts": { "calculationLink": { "local": [ "cdxs-20210630_cal.xml" ] }, "definitionLink": { "local": [ "cdxs-20210630_def.xml" ] }, "inline": { "local": [ "cdxs-20210630.htm" ] }, "labelLink": { "local": [ "cdxs-20210630_lab.xml" ], "remote": [ "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-doc-2021-01-31.xml" ] }, "presentationLink": { "local": [ "cdxs-20210630_pre.xml" ] }, "referenceLink": { "remote": [ "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-ref-2021-01-31.xml" ] }, "schema": { "local": [ "cdxs-20210630.xsd" ], "remote": [ "https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd", "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", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd", "https://xbrl.sec.gov/country/2021/country-2021.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-roles-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-types-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd", "https://xbrl.sec.gov/dei/2021/dei-2021.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "https://xbrl.sec.gov/dei/2021/dei-2021_doc.xsd", "https://xbrl.sec.gov/dei/2021/dei-2021_ref.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-parts-codification-2021-01-31.xsd" ] } }, "elementCount": 499, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2021-01-31": 12, "http://xbrl.sec.gov/dei/2021": 5, "total": 17 }, "keyCustom": 20, "keyStandard": 315, "memberCustom": 45, "memberStandard": 43, "nsprefix": "cdxs", "nsuri": "http://www.codexis.com/20210630", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "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 Page", "role": "http://www.codexis.com/role/CoverPage", "shortName": "Cover Page", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "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": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2112104 - Disclosure - Net Loss per Share", "role": "http://www.codexis.com/role/NetLossperShare", "shortName": "Net Loss per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2115105 - Disclosure - Investments in Non-Marketable Securities", "role": "http://www.codexis.com/role/InvestmentsinNonMarketableSecurities", "shortName": "Investments in Non-Marketable Securities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueMeasurementInputsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2119106 - Disclosure - Fair Value Measurements", "role": "http://www.codexis.com/role/FairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueMeasurementInputsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "cdxs:BalanceSheetsDetailsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2122107 - Disclosure - Balance Sheets Details", "role": "http://www.codexis.com/role/BalanceSheetsDetails", "shortName": "Balance Sheets Details", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "cdxs:BalanceSheetsDetailsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2129108 - Disclosure - Stock-based Compensation", "role": "http://www.codexis.com/role/StockbasedCompensation", "shortName": "Stock-based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2136109 - Disclosure - Capital Stock", "role": "http://www.codexis.com/role/CapitalStock", "shortName": "Capital Stock", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2138110 - Disclosure - Commitments and Contingencies", "role": "http://www.codexis.com/role/CommitmentsandContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2147111 - Disclosure - Related Party Transactions", "role": "http://www.codexis.com/role/RelatedPartyTransactions", "shortName": "Related Party Transactions", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2150112 - Disclosure - Segment, Geographical and Other Revenue Information", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation", "shortName": "Segment, Geographical and Other Revenue Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CreditLossFinancialInstrumentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2158113 - Disclosure - Allowance for Credit Losses", "role": "http://www.codexis.com/role/AllowanceforCreditLosses", "shortName": "Allowance for Credit Losses", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CreditLossFinancialInstrumentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1001002 - Statement - Condensed Consolidated Balance Sheets (Unaudited)", "role": "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "shortName": "Condensed Consolidated Balance Sheets (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RestrictedCash", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2204201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "role": "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "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": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2306301 - Disclosure - Revenue Recognition (Tables)", "role": "http://www.codexis.com/role/RevenueRecognitionTables", "shortName": "Revenue Recognition (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2313302 - Disclosure - Net Loss per Share (Tables)", "role": "http://www.codexis.com/role/NetLossperShareTables", "shortName": "Net Loss per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2316303 - Disclosure - Investments in Non-Marketable Securities (Tables)", "role": "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTables", "shortName": "Investments in Non-Marketable Securities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2320304 - Disclosure - Fair Value Measurements (Tables)", "role": "http://www.codexis.com/role/FairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2323305 - Disclosure - Balance Sheets Details (Tables)", "role": "http://www.codexis.com/role/BalanceSheetsDetailsTables", "shortName": "Balance Sheets Details (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2330306 - Disclosure - Stock-based Compensation (Tables)", "role": "http://www.codexis.com/role/StockbasedCompensationTables", "shortName": "Stock-based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2339307 - Disclosure - Commitments and Contingencies (Tables)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesTables", "shortName": "Commitments and Contingencies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2351308 - Disclosure - Segment, Geographical and Other Revenue Information (Tables)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables", "shortName": "Segment, Geographical and Other Revenue Information (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2359309 - Disclosure - Allowance for Credit Losses (Tables)", "role": "http://www.codexis.com/role/AllowanceforCreditLossesTables", "shortName": "Allowance for Credit Losses (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "us-gaap:PreferredStockParOrStatedValuePerShare", "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1002003 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)", "role": "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical", "shortName": "Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "us-gaap:PreferredStockParOrStatedValuePerShare", "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PaymentsToAcquireOtherInvestments", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2402401 - Disclosure - Description of Business (Details)", "role": "http://www.codexis.com/role/DescriptionofBusinessDetails", "shortName": "Description of Business (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0767da3fd0e141b29c221a620a67f6bb_D20190101-20190331", "decimals": "-5", "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2407402 - Disclosure - Revenue Recognition - Disaggregation of Revenue (Details)", "role": "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "shortName": "Revenue Recognition - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i707611835cb64a5eb2ca2015c87e7c9e_D20210401-20210630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetGrossCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408403 - Disclosure - Revenue Recognition - Contracts with Customer (Details)", "role": "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails", "shortName": "Revenue Recognition - Contracts with Customer (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CapitalizedContractCostNetCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "us-gaap:ContractWithCustomerAssetCreditLossExpense", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetCreditLossExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409404 - Disclosure - Revenue Recognition - Textual (Details)", "role": "http://www.codexis.com/role/RevenueRecognitionTextualDetails", "shortName": "Revenue Recognition - Textual (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:ContractWithCustomerAssetCreditLossExpense", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetCreditLossExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2410405 - Disclosure - Revenue Recognition - Revenue Recognized During Period (Details)", "role": "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails", "shortName": "Revenue Recognition - Revenue Recognized During Period (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2411406 - Disclosure - Revenue Recognition - Performance Obligation (Details)", "role": "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "shortName": "Revenue Recognition - Performance Obligation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4788dc6245c24255a60a53e99eb71be9_D20210401-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2414407 - Disclosure - Net Loss per Share (Details)", "role": "http://www.codexis.com/role/NetLossperShareDetails", "shortName": "Net Loss per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4788dc6245c24255a60a53e99eb71be9_D20210401-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:InvestmentIncomeAmortizationOfDiscount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2417408 - Disclosure - Investments in Non-Marketable Securities - Textual (Details)", "role": "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTextualDetails", "shortName": "Investments in Non-Marketable Securities - Textual (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:InvestmentIncomeAmortizationOfDiscount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2418409 - Disclosure - Investments in Non-Marketable Securities - Carrying Value and Fair Value of Securities (Details)", "role": "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "shortName": "Investments in Non-Marketable Securities - Carrying Value and Fair Value of Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2421410 - Disclosure - Fair Value Measurements (Details)", "role": "http://www.codexis.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": "cdxs-20210630.htm", "contextRef": "ic69e3aeb7ac74d7899e1eb7fe0ba62e6_I20201231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AssetsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1003004 - Statement - Condensed Consolidated Statements of Operations (Unaudited)", "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "shortName": "Condensed Consolidated Statements of Operations (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:InvestmentIncomeInterest", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2424411 - Disclosure - Balance Sheets Details - Cash and Cash Equivalents (Details)", "role": "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "shortName": "Balance Sheets Details - Cash and Cash Equivalents (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0aff5392ec844856abe486544962893f_I20210630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2425412 - Disclosure - Balance Sheets Details - Inventories (Details)", "role": "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails", "shortName": "Balance Sheets Details - Inventories (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2426413 - Disclosure - Balance Sheets Details - Property and Equipment, net (Details)", "role": "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "shortName": "Balance Sheets Details - Property and Equipment, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "ic69e3aeb7ac74d7899e1eb7fe0ba62e6_I20201231", "decimals": "-3", "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2427414 - Disclosure - Balance Sheets Details - Goodwill (Details)", "role": "http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails", "shortName": "Balance Sheets Details - Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R44": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PurchaseObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2428415 - Disclosure - Balance Sheets Details - Other Accrued Liabilities (Details)", "role": "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails", "shortName": "Balance Sheets Details - Other Accrued Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PurchaseObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "ib830d37123bf4710a257a65620d83e41_I20190422", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2431416 - Disclosure - Stock-based Compensation - Equity Incentive Plans (Details)", "role": "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "shortName": "Stock-based Compensation - Equity Incentive Plans (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "ib830d37123bf4710a257a65620d83e41_I20190422", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "iab7bc309d70e4d72a7966c11b3cc0a1e_D20210101-20210630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2432417 - Disclosure - Stock-based Compensation - Stock Options (Details)", "role": "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "shortName": "Stock-based Compensation - Stock Options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "iab7bc309d70e4d72a7966c11b3cc0a1e_D20210101-20210630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "if9f51df2f60245c4af826e81285ab777_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2433418 - Disclosure - Stock-based Compensation - Restricted Stock Units (Details)", "role": "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "shortName": "Stock-based Compensation - Restricted Stock Units (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "if9f51df2f60245c4af826e81285ab777_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "ib932af24529549749fb9de33b0667a79_I20210630", "decimals": "INF", "first": true, "lang": "en-US", "name": "cdxs:SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments", "reportCount": 1, "unique": true, "unitRef": "installment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2434419 - Disclosure - Stock-based Compensation - PSUs and PBOs (Details)", "role": "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "shortName": "Stock-based Compensation - PSUs and PBOs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "ib932af24529549749fb9de33b0667a79_I20210630", "decimals": "INF", "first": true, "lang": "en-US", "name": "cdxs:SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments", "reportCount": 1, "unique": true, "unitRef": "installment", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensation", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2435420 - Disclosure - Stock-based Compensation - Stock-based Compensation Expense (Details)", "role": "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails", "shortName": "Stock-based Compensation - Stock-based Compensation Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "ie7608d3039ff4c1389fd79fa98bfee64_D20210401-20210630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:ShareBasedCompensation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0fd24d66ff2d4109a092b68ef71b3970_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1004005 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)", "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited", "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0fd24d66ff2d4109a092b68ef71b3970_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2437421 - Disclosure - Capital Stock (Details)", "role": "http://www.codexis.com/role/CapitalStockDetails", "shortName": "Capital Stock (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": "2", "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-2", "first": true, "lang": "en-US", "name": "us-gaap:AreaOfRealEstateProperty", "reportCount": 1, "unique": true, "unitRef": "sqft", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2440422 - Disclosure - Commitments and Contingencies - Textual (Details)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails", "shortName": "Commitments and Contingencies - Textual (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-2", "first": true, "lang": "en-US", "name": "us-gaap:AreaOfRealEstateProperty", "reportCount": 1, "unique": true, "unitRef": "sqft", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2441423 - Disclosure - Commitments and Contingencies - Lease Cost (Details)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails", "shortName": "Commitments and Contingencies - Lease Cost (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R53": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2442424 - Disclosure - Commitments and Contingencies - Other Lease Information (Details)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails", "shortName": "Commitments and Contingencies - Other Lease Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2443425 - Disclosure - Commitments and Contingencies - Cash Paid for Lease Obligations (Details)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails", "shortName": "Commitments and Contingencies - Cash Paid for Lease Obligations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2444426 - Disclosure - Commitments and Contingencies - Maturity Analysis of Operating Lease (Details)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails", "shortName": "Commitments and Contingencies - Maturity Analysis of Operating Lease (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2445427 - Disclosure - Commitments and Contingencies - Estimated Maturity Analysis (Details)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "shortName": "Commitments and Contingencies - Estimated Maturity Analysis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "ia016ca4b82cc42199a1ebdfb0a5e066e_I20210630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:SupplyCommitmentTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i41d2db660e4b497fb45d62e5f13574a0_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:SignificantSupplyCommitmentRemainingMinimumAmountCommitted", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2446428 - Disclosure - Commitments and Contingencies - Other Commitments (Details)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails", "shortName": "Commitments and Contingencies - Other Commitments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:SupplyCommitmentTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i41d2db660e4b497fb45d62e5f13574a0_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:SignificantSupplyCommitmentRemainingMinimumAmountCommitted", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PaymentsToAcquireOtherInvestments", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2448429 - Disclosure - Related Party Transactions - Molecular Assemblies, Inc. (Details)", "role": "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails", "shortName": "Related Party Transactions - Molecular Assemblies, Inc. (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i1d472656af28442ab09ce6f40a0c0e3a_I20201231", "decimals": "-5", "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "if83548e39de648f1a65ea2d44c10d00b_D20200401-20200630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromRelatedParties", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2449430 - Disclosure - Related Party Transactions - AstraZeneca PLC (Details)", "role": "http://www.codexis.com/role/RelatedPartyTransactionsAstraZenecaPLCDetails", "shortName": "Related Party Transactions - AstraZeneca PLC (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "if83548e39de648f1a65ea2d44c10d00b_D20200401-20200630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromRelatedParties", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1005006 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)", "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "span", "div", "us-gaap:SegmentReportingPolicyPolicyTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2452431 - Disclosure - Segment, Geographical and Other Revenue Information - Textual (Details)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTextualDetails", "shortName": "Segment, Geographical and Other Revenue Information - Textual (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "us-gaap:SegmentReportingPolicyPolicyTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2453432 - Disclosure - Segment, Geographical and Other Revenue Information - Segment Reporting (Details)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails", "shortName": "Segment, Geographical and Other Revenue Information - Segment Reporting (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "icba2e835d58148d1a54397f764e32f93_D20210401-20210630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "icef3e0a361404ae098f92d44dc6f5557_D20210401-20210630", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2454433 - Disclosure - Segment, Geographical and Other Revenue Information - Concentration Risk (Details)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails", "shortName": "Segment, Geographical and Other Revenue Information - Concentration Risk (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "icef3e0a361404ae098f92d44dc6f5557_D20210401-20210630", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0a7a5453d51e4c0293a3a49a4b813464_D20210401-20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2455434 - Disclosure - Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "shortName": "Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R64": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i576c1762a00a415fa0e9ad2b24c46556_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NoncurrentAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2456435 - Disclosure - Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails", "shortName": "Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i576c1762a00a415fa0e9ad2b24c46556_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NoncurrentAssets", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2457436 - Disclosure - Segment, Geographical and Other Revenue Information - Goodwill (Details)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "shortName": "Segment, Geographical and Other Revenue Information - Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4d2c6e14c200426b9c6c4ad08ec8f273_I20210630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForNotesAndLoansReceivableCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2460437 - Disclosure - Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details)", "role": "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails", "shortName": "Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R67": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PastDueFinancingReceivablesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i0ba30639d201445184ec2b93e3cadecf_I20210630", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AccountsReceivableGrossCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2461438 - Disclosure - Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details)", "role": "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails", "shortName": "Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PastDueFinancingReceivablesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i224aafbd424446b2905c91100181d518_I20210630", "decimals": "-3", "lang": "en-US", "name": "us-gaap:AccountsReceivableGrossCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2101101 - Disclosure - Description of Business", "role": "http://www.codexis.com/role/DescriptionofBusiness", "shortName": "Description of Business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2103102 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies", "role": "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2105103 - Disclosure - Revenue Recognition", "role": "http://www.codexis.com/role/RevenueRecognition", "shortName": "Revenue Recognition", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20210630.htm", "contextRef": "i4eccb720420946ac987797f3307c5960_D20210101-20210630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 89, "tag": { "cdxs_A101SaginawMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "101 Saginaw", "label": "101 Saginaw [Member]", "terseLabel": "101 Saginaw" } } }, "localname": "A101SaginawMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_A200220PenobscotMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "200-220 Penobscot", "label": "200-220 Penobscot [Member]", "terseLabel": "200-220 Penobscot" } } }, "localname": "A200220PenobscotMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2019PSUandPBOPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2019 PSU and PBO Plan [Member]", "label": "2019 PSU and PBO Plan [Member]", "terseLabel": "2019 PSU and PBO" } } }, "localname": "A2019PSUandPBOPlanMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2019PlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2019 Plan [Member]", "label": "2019 Plan [Member]", "terseLabel": "2019 Plan" } } }, "localname": "A2019PlanMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2020PBOMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2020 PBO", "label": "2020 PBO [Member]", "terseLabel": "2020 PBO" } } }, "localname": "A2020PBOMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2020PSUAndPBOPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2020 PSU and PBO Plan", "label": "2020 PSU and PBO Plan [Member]", "terseLabel": "2020 PSU and PBO" } } }, "localname": "A2020PSUAndPBOPlanMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2021PSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2021 PSU", "label": "2021 PSU [Member]", "terseLabel": "2021 PSU" } } }, "localname": "A2021PSUMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A400PenoscotMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "400 Penoscot", "label": "400 Penoscot [Member]", "terseLabel": "400 Penobscot" } } }, "localname": "A400PenoscotMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_A501ChesapeakeMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "501 Chesapeake", "label": "501 Chesapeake [Member]", "terseLabel": "501 Chesapeake" } } }, "localname": "A501ChesapeakeMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_APACMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Regions of Australia, New Zealand, Southeast Asia and China", "label": "APAC [Member]", "terseLabel": "APAC" } } }, "localname": "APACMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "cdxs_AgreementDateAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Agreement Date [Axis]", "label": "Agreement Date [Axis]", "terseLabel": "Agreement Date [Axis]" } } }, "localname": "AgreementDateAxis", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "stringItemType" }, "cdxs_AgreementDateDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "[Domain] for Agreement Date [Axis]", "label": "Agreement Date [Domain]", "terseLabel": "Agreement Date [Domain]" } } }, "localname": "AgreementDateDomain", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "cdxs_April2016Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "April 2016 [Member]", "label": "April 2016 [Member]", "terseLabel": "April 2016" } } }, "localname": "April2016Member", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "cdxs_AssetsReceivedForResearchAndDevelopmentRevenueEarned": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Assets Received For Research And Development Revenue Earned", "label": "Assets Received For Research And Development Revenue Earned", "terseLabel": "Assets received for research and development revenue earned" } } }, "localname": "AssetsReceivedForResearchAndDevelopmentRevenueEarned", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "cdxs_BalanceSheetDetailsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Balance Sheet Details [Abstract]", "label": "Balance Sheet Details [Abstract]", "terseLabel": "Balance Sheet Details [Abstract]" } } }, "localname": "BalanceSheetDetailsAbstract", "nsuri": "http://www.codexis.com/20210630", "xbrltype": "stringItemType" }, "cdxs_BalanceSheetsDetailsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "-- None. No documentation exists for this element. --", "label": "Balance Sheets Details [Abstract]", "terseLabel": "Balance Sheets Details [Abstract]" } } }, "localname": "BalanceSheetsDetailsAbstract", "nsuri": "http://www.codexis.com/20210630", "xbrltype": "stringItemType" }, "cdxs_BalanceSheetsDetailsTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Balance sheets details.", "label": "Balance Sheets Details [Text Block]", "verboseLabel": "Balance Sheets Details" } } }, "localname": "BalanceSheetsDetailsTextBlock", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetails" ], "xbrltype": "textBlockItemType" }, "cdxs_BiotherapeuticSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Biotherapeutic Segment [Member]", "label": "Biotherapeutic Segment [Member]", "verboseLabel": "Novel Biotherapeutics" } } }, "localname": "BiotherapeuticSegmentMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "cdxs_CDX6114Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "CDX-6114 [Member]", "label": "CDX-6114 [Member]", "terseLabel": "CDX-6114" } } }, "localname": "CDX6114Member", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "domainItemType" }, "cdxs_CommitmentsAndContingenciesLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commitments and contingencies.", "label": "Commitments and Contingencies [Line Items]", "terseLabel": "Commitments and Contingencies [Line Items]" } } }, "localname": "CommitmentsAndContingenciesLineItems", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "cdxs_ContractwithCustomerLiabilityNewActivitiesPerformanceObligationSatisfiedRevenueRecognition": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "order": 3.0, "parentTag": "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition", "label": "Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition", "terseLabel": "Performance obligations satisfied from new activities in the period - contract revenue" } } }, "localname": "ContractwithCustomerLiabilityNewActivitiesPerformanceObligationSatisfiedRevenueRecognition", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_CoreSegmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Core Segment [Member]", "label": "Core Segment [Member]", "verboseLabel": "Performance Enzymes" } } }, "localname": "CoreSegmentMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerAMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer A [Member]", "label": "Customer A [Member]", "terseLabel": "Customer A" } } }, "localname": "CustomerAMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerBMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer B [Member]", "label": "Customer B [Member]", "terseLabel": "Customer B" } } }, "localname": "CustomerBMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerCMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer C [Member]", "label": "Customer C [Member]", "terseLabel": "Customer C" } } }, "localname": "CustomerCMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerDMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer D [Member]", "label": "Customer D [Member]", "terseLabel": "Customer D" } } }, "localname": "CustomerDMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerEMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer E", "label": "Customer E [Member]", "terseLabel": "Customer E" } } }, "localname": "CustomerEMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerFMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer F", "label": "Customer F [Member]", "terseLabel": "Customer F" } } }, "localname": "CustomerFMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerGMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer G", "label": "Customer G [Member]", "terseLabel": "Customer G" } } }, "localname": "CustomerGMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerHMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Customer H", "label": "Customer H [Member]", "terseLabel": "Customer H" } } }, "localname": "CustomerHMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_FinanceLeaseCost": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 2.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Finance Lease, Cost", "label": "Finance Lease, Cost", "totalLabel": "Finance lease costs" } } }, "localname": "FinanceLeaseCost", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_IncentiveStockOptionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Incentive Stock Options [Member]", "label": "Incentive Stock Options [Member]", "terseLabel": "Incentive Stock Options" } } }, "localname": "IncentiveStockOptionsMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "cdxs_IncreaseDecreaseInEmployeeRelatedLiabilitiesAndOtherAccruedLiabilities": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Increase (Decrease) in Employee Related Liabilities and Other Accrued Liabilities", "label": "Increase (Decrease) in Employee Related Liabilities and Other Accrued Liabilities", "negatedTerseLabel": "Accrued compensation and other accrued liabilities" } } }, "localname": "IncreaseDecreaseInEmployeeRelatedLiabilitiesAndOtherAccruedLiabilities", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "cdxs_LaboratoryEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Laboratory Equipment [Member]", "label": "Laboratory Equipment [Member]", "terseLabel": "Laboratory equipment" } } }, "localname": "LaboratoryEquipmentMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "cdxs_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease, Liability, to be Paid, After Year Four", "label": "Lessee, Operating Lease, Liability, to be Paid, After Year Four", "terseLabel": "Thereafter", "verboseLabel": "2026 and thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_LesseeOperatingLeaseOptionToExtendNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Lessee, Operating Lease, Option To Extend, Number", "label": "Lessee, Operating Lease, Option To Extend, Number", "terseLabel": "Number of options to extend" } } }, "localname": "LesseeOperatingLeaseOptionToExtendNumber", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "integerItemType" }, "cdxs_MasterCollaborationResearchAgreementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Master Collaboration & Research Agreement", "label": "Master Collaboration & Research Agreement [Member]", "terseLabel": "MCRA" } } }, "localname": "MasterCollaborationResearchAgreementMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "cdxs_MolecularAssembliesIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Molecular Assemblies, Inc.", "label": "Molecular Assemblies, Inc. [Member]", "terseLabel": "Molecular Assemblies, Inc." } } }, "localname": "MolecularAssembliesIncMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "cdxs_NestecLtd.NestleHealthSciencesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Nestec Ltd. (Nestle Health Sciences) [Member]", "label": "Nestec Ltd. (Nestle Health Sciences) [Member]", "terseLabel": "Nestle Health Sciences" } } }, "localname": "NestecLtd.NestleHealthSciencesMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "domainItemType" }, "cdxs_NonMarketableDebtSecuritiesWithoutReadilyDeterminableFairValueAnnualAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Non Marketable Debt Securities Without Readily Determinable Fair Value Annual Amount", "label": "Non Marketable Debt Securities Without Readily Determinable Fair Value Annual Amount", "terseLabel": "Unrealized or realized gains or losses" } } }, "localname": "NonMarketableDebtSecuritiesWithoutReadilyDeterminableFairValueAnnualAmount", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTextualDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_NonStatutoryStockOptionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Non-Statutory Stock Options [Member]", "label": "Non-Statutory Stock Options [Member]", "terseLabel": "Non-Statutory Stock Options" } } }, "localname": "NonStatutoryStockOptionsMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "cdxs_NovelBiotherapeuticsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Novel Biotherapeutics [Member]", "label": "Novel Biotherapeutics [Member]", "terseLabel": "Novel Biotherapeutics" } } }, "localname": "NovelBiotherapeuticsMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails" ], "xbrltype": "domainItemType" }, "cdxs_OfficeEquipmentAndFurnitureMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Office Equipment and Furniture [Member]", "label": "Office Equipment and Furniture [Member]", "terseLabel": "Office equipment and furniture" } } }, "localname": "OfficeEquipmentAndFurnitureMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "cdxs_PercentageOfEligibleAccountsReceivable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage Of Eligible Accounts Receivable", "label": "Percentage Of Eligible Accounts Receivable", "terseLabel": "Percentage of eligible accounts receivable" } } }, "localname": "PercentageOfEligibleAccountsReceivable", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "percentItemType" }, "cdxs_PercentofVotingInterestsThresholdtotriggerhigherexerciseprice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percent of Voting Interests Threshold to trigger higher exercise price", "label": "Percent of Voting Interests Threshold to trigger higher exercise price", "terseLabel": "Percent of voting interests" } } }, "localname": "PercentofVotingInterestsThresholdtotriggerhigherexerciseprice", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "percentItemType" }, "cdxs_PerformanceBasedOptionsPBOsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Based Options (PBOs) [Member]", "label": "Performance Based Options (PBOs) [Member]", "verboseLabel": "PBOs" } } }, "localname": "PerformanceBasedOptionsPBOsMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "cdxs_PerformanceEnzymesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Enzymes [Member]", "label": "Performance Enzymes [Member]", "terseLabel": "Performance Enzymes" } } }, "localname": "PerformanceEnzymesMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails" ], "xbrltype": "domainItemType" }, "cdxs_PerformanceStockUnitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Performance Stock Units [Member]", "label": "Performance Stock Units [Member]", "verboseLabel": "PSUs" } } }, "localname": "PerformanceStockUnitsMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "cdxs_PiperSandlerCoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Piper Sandler & Co", "label": "Piper Sandler & Co [Member]", "terseLabel": "PSC" } } }, "localname": "PiperSandlerCoMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "domainItemType" }, "cdxs_ProductSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Product Sales [Member]", "label": "Product Sales [Member]", "terseLabel": "Product revenue" } } }, "localname": "ProductSalesMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "cdxs_RSAsandRSUsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "RSAs and RSUs [Member]", "label": "RSAs and RSUs [Member]", "verboseLabel": "RSUs and RSAs" } } }, "localname": "RSAsandRSUsMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "cdxs_ResearchandDevelopmentRevenueMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Research and Development Revenue [Member]", "label": "Research and Development Revenue [Member]", "terseLabel": "Research and development revenue" } } }, "localname": "ResearchandDevelopmentRevenueMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "cdxs_SaleOfStockCommissionsAndReimbursementsPercentageOfGrossSalesPrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale Of Stock, Commissions And Reimbursements, Percentage Of Gross Sales Price", "label": "Sale Of Stock, Commissions And Reimbursements, Percentage Of Gross Sales Price", "terseLabel": "Commissions and reimbursements of expenses as percentage of gross sales price" } } }, "localname": "SaleOfStockCommissionsAndReimbursementsPercentageOfGrossSalesPrice", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "percentItemType" }, "cdxs_SaleOfStockCommissionsPercentageOfGrossSalesPrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale Of Stock, Commissions, Percentage Of Gross Sales Price", "label": "Sale Of Stock, Commissions, Percentage Of Gross Sales Price", "terseLabel": "Commissions as percentage of gross sales price" } } }, "localname": "SaleOfStockCommissionsPercentageOfGrossSalesPrice", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "percentItemType" }, "cdxs_SaleOfStockPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sale Of Stock, Period", "label": "Sale Of Stock, Period", "terseLabel": "Sale period" } } }, "localname": "SaleOfStockPeriod", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "durationItemType" }, "cdxs_SaleOfStockValueOfSharesForIssuance": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sale Of Stock, Value Of Shares For Issuance", "label": "Sale Of Stock, Value Of Shares For Issuance", "terseLabel": "Value of shares for issuance" } } }, "localname": "SaleOfStockValueOfSharesForIssuance", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_SanCarlosCalifiorniaMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "San Carlos, Califiornia", "label": "San Carlos, Califiornia [Member]", "terseLabel": "San Carlos, Califiornia" } } }, "localname": "SanCarlosCalifiorniaMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_SanCarlosMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "San Carlos", "label": "San Carlos [Member]", "terseLabel": "San Carlos" } } }, "localname": "SanCarlosMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_ScheduleOfCommitmentsAndContingenciesTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule of commitments and contingencies.", "label": "Schedule of Commitments and Contingencies [Table]", "terseLabel": "Schedule of Commitments and Contingencies [Table]" } } }, "localname": "ScheduleOfCommitmentsAndContingenciesTable", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "cdxs_SecurityOwnedNotReadilyMarketableMAIMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Security Owned Not Readily Marketable MAI", "label": "Security Owned Not Readily Marketable MAI [Member]", "terseLabel": "Non-marketable equity securities" } } }, "localname": "SecurityOwnedNotReadilyMarketableMAIMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_September2019Member": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "September 2019 [Member]", "label": "September 2019 [Member]", "terseLabel": "September 2019" } } }, "localname": "September2019Member", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationPeriodUponTerminationOfService": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Expiration Period Upon Termination Of Service", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Expiration Period Upon Termination Of Service", "terseLabel": "Expiration period of options upon employee's termination of service" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardExpirationPeriodUponTerminationOfService", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "durationItemType" }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceOfCommonStockAboveMinimumThresholdPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent", "terseLabel": "Purchase price of common stock above minimum threshold" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceOfCommonStockAboveMinimumThresholdPercent", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "percentItemType" }, "cdxs_SharebasedCompensationArrangementbySharebasedPaymentAwardEstimatedPerformanceGoalAchievementRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate", "terseLabel": "Estimated performance goal achievement rate" } } }, "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardEstimatedPerformanceGoalAchievementRate", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "percentItemType" }, "cdxs_SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments", "terseLabel": "Number of installments" } } }, "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "integerItemType" }, "cdxs_SharebasedCompensationArrangementbySharebasedPaymentAwardPerformanceAwardsThresholdLevelNumberofSharesMultiplier": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Performance Awards, Threshold Level, Number of Shares, Multiplier", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Performance Awards, Threshold Level, Number of Shares, Multiplier", "terseLabel": "Performance awards, threshold level, number of shares, multiplier" } } }, "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardPerformanceAwardsThresholdLevelNumberofSharesMultiplier", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "pureItemType" }, "cdxs_SharesReceivedInExchangeForServicesRendered": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Shares Received In Exchange For Services Rendered", "label": "Shares Received In Exchange For Services Rendered", "terseLabel": "Number of shares received in exchange for services" } } }, "localname": "SharesReceivedInExchangeForServicesRendered", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "sharesItemType" }, "cdxs_SubleaseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Sublease", "label": "Sublease [Member]", "terseLabel": "Sublease" } } }, "localname": "SubleaseMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_TakedaPharmaceuticalCoLtdMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Takeda Pharmaceutical Co. Ltd.", "label": "Takeda Pharmaceutical Co. Ltd. [Member]", "terseLabel": "Takeda" } } }, "localname": "TakedaPharmaceuticalCoLtdMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "domainItemType" }, "cdxs_TermLoanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Term Loan [Member]", "label": "Term Loan [Member]", "terseLabel": "Term Loan" } } }, "localname": "TermLoanMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_TransactionsWithAstraZenecaPLCMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Transactions With AstraZeneca PLC", "label": "Transactions With AstraZeneca PLC [Member]", "terseLabel": "Transactions with AstraZeneca PLC" } } }, "localname": "TransactionsWithAstraZenecaPLCMember", "nsuri": "http://www.codexis.com/20210630", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsAstraZenecaPLCDetails" ], "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.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "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/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code", "terseLabel": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]", "terseLabel": "Cover page." } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2021", "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/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r522" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r523" ], "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/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One", "terseLabel": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r524" ], "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/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status", "terseLabel": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains.", "label": "Entity [Domain]", "terseLabel": "Entity [Domain]" } } }, "localname": "EntityDomain", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r524" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number", "terseLabel": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r524" ], "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/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code", "terseLabel": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r547" ], "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/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r524" ], "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/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r524" ], "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/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r524" ], "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/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r524" ], "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/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "employerIdItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]", "terseLabel": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "stringItemType" }, "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/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r520" ], "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/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r521" ], "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/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol", "terseLabel": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "tradingSymbolItemType" }, "srt_AmericasMember": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Americas [Member]", "terseLabel": "Americas" } } }, "localname": "AmericasMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r99", "r154", "r173", "r174", "r175", "r176", "r178", "r180", "r184", "r261", "r262", "r263", "r264", "r265", "r266", "r268", "r269", "r271", "r273", "r274" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]", "terseLabel": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r99", "r154", "r173", "r174", "r175", "r176", "r178", "r180", "r184", "r261", "r262", "r263", "r264", "r265", "r266", "r268", "r269", "r271", "r273", "r274" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]", "terseLabel": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "srt_CounterpartyNameAxis": { "auth_ref": [ "r53", "r55", "r97", "r98", "r280", "r296" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Axis]", "terseLabel": "Counterparty Name [Axis]" } } }, "localname": "CounterpartyNameAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "srt_DirectorMember": { "auth_ref": [ "r193" ], "lang": { "en-us": { "role": { "label": "Director [Member]", "terseLabel": "Director" } } }, "localname": "DirectorMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsAstraZenecaPLCDetails" ], "xbrltype": "domainItemType" }, "srt_EquityMethodInvesteeNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Investment, Name [Domain]", "terseLabel": "Investment, Name [Domain]" } } }, "localname": "EquityMethodInvesteeNameDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r191", "r329", "r335", "r490" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "terseLabel": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r279", "r295", "r352", "r354", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r487", "r491", "r517", "r518" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r279", "r295", "r352", "r354", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r487", "r491", "r517", "r518" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r191", "r329", "r335", "r490" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r187", "r329", "r333", "r452", "r486", "r488" ], "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.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r187", "r329", "r333", "r452", "r486", "r488" ], "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.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r279", "r295", "r342", "r352", "r354", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r487", "r491", "r517", "r518" ], "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.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r279", "r295", "r342", "r352", "r354", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r487", "r491", "r517", "r518" ], "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.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "srt_RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis": { "auth_ref": [ "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r516" ], "lang": { "en-us": { "role": { "label": "Name of Property [Axis]", "terseLabel": "Name of Property [Axis]" } } }, "localname": "RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "srt_RealEstateAndAccumulatedDepreciationNameOfPropertyDomain": { "auth_ref": [ "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r516" ], "lang": { "en-us": { "role": { "label": "Name of Property [Domain]", "terseLabel": "Name of Property [Domain]" } } }, "localname": "RealEstateAndAccumulatedDepreciationNameOfPropertyDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "auth_ref": [ "r54", "r55", "r97", "r98", "r280", "r296" ], "lang": { "en-us": { "role": { "label": "Counterparty Name [Domain]", "terseLabel": "Counterparty Name [Domain]" } } }, "localname": "RepurchaseAgreementCounterpartyNameDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "srt_ScenarioForecastMember": { "auth_ref": [ "r109", "r353" ], "lang": { "en-us": { "role": { "label": "Forecast [Member]", "terseLabel": "Forecast" } } }, "localname": "ScenarioForecastMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "srt_ScenarioUnspecifiedDomain": { "auth_ref": [ "r109", "r114", "r353" ], "lang": { "en-us": { "role": { "label": "Scenario [Domain]", "terseLabel": "Scenario [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": { "auth_ref": [ "r211" ], "lang": { "en-us": { "role": { "label": "Investment, Name [Axis]", "terseLabel": "Investment, Name [Axis]" } } }, "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r188", "r189", "r329", "r334", "r489", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r188", "r189", "r329", "r334", "r489", "r501", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]", "verboseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r109", "r114", "r250", "r353", "r439" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]", "terseLabel": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualAxis": { "auth_ref": [ "r193", "r432" ], "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.codexis.com/role/RelatedPartyTransactionsAstraZenecaPLCDetails" ], "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.codexis.com/role/RelatedPartyTransactionsAstraZenecaPLCDetails" ], "xbrltype": "domainItemType" }, "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_AccountsNotesAndLoansReceivableNetCurrent": { "auth_ref": [ "r5", "r20", "r46", "r194", "r195", "r472" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of accounts and financing receivables, classified as current. Includes, but is not limited to, notes and loan receivable.", "label": "Accounts and Financing Receivable, after Allowance for Credit Loss, Current", "totalLabel": "Total financial assets, net" } } }, "localname": "AccountsNotesAndLoansReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r36", "r438" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts Payable, Current", "verboseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableGrossCurrent": { "auth_ref": [ "r194", "r195" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NotesReceivableGross", "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", "terseLabel": "Accounts receivable" } } }, "localname": "AccountsReceivableGrossCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [ "r505" ], "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.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableRelatedParties": { "auth_ref": [ "r19", "r96", "r430", "r433", "r478" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "For an unclassified balance sheet, amount of receivables arising from transactions with related parties.", "label": "Accounts Receivable, Related Parties", "terseLabel": "Accounts receivable from related parties" } } }, "localname": "AccountsReceivableRelatedParties", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsAstraZenecaPLCDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r39" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "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 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", "verboseLabel": "Other accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent": { "auth_ref": [ "r464", "r482" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received.", "label": "Accrued Professional Fees", "terseLabel": "Accrued professional and outside service fees" } } }, "localname": "AccruedProfessionalFeesCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r34", "r238" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails": { "order": 2.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", "negatedTerseLabel": "Less: accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r21", "r372", "r438" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.", "label": "Additional Paid in Capital", "verboseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r101", "r102", "r103", "r369", "r370", "r371", "r389" ], "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.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Share-based Payment Arrangement, Decrease for Tax Withholding Obligation", "negatedTerseLabel": "Taxes paid related to net share settlement of equity awards" } } }, "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationOtherLongtermIncentivePlansRequisiteServicePeriodRecognition": { "auth_ref": [], "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, classified as other.", "label": "APIC, Share-based Payment Arrangement, Other, Increase for Cost Recognition", "terseLabel": "Non-employee stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationOtherLongtermIncentivePlansRequisiteServicePeriodRecognition", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r355", "r357", "r374", "r375" ], "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", "verboseLabel": "Employee stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "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 loss to net cash used in operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock": { "auth_ref": [ "r196", "r217" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allowance for credit loss on financing receivable.", "label": "Financing Receivable, Allowance for Credit Loss [Table Text Block]", "terseLabel": "Analysis of Allowance for Credit Losses" } } }, "localname": "AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_AllowanceForNotesAndLoansReceivableCurrent": { "auth_ref": [ "r26", "r197", "r214" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_AccountsNotesAndLoansReceivableNetCurrent", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on financing receivable, classified as current.", "label": "Financing Receivable, Allowance for Credit Loss, Current", "negatedLabel": "Less: allowances", "terseLabel": "Allowance for credit losses" } } }, "localname": "AllowanceForNotesAndLoansReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r124" ], "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": "Total shares excluded as anti-dilutive (shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/NetLossperShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r124" ], "lang": { "en-us": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]", "terseLabel": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/NetLossperShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/NetLossperShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r124" ], "lang": { "en-us": { "role": { "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.", "label": "Antidilutive Securities, Name [Domain]", "terseLabel": "Antidilutive Securities, Name [Domain]" } } }, "localname": "AntidilutiveSecuritiesNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/NetLossperShareDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AreaOfRealEstateProperty": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area of a real estate property.", "label": "Area of Real Estate Property", "terseLabel": "Area of real estate property (in square feet)" } } }, "localname": "AreaOfRealEstateProperty", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "areaItemType" }, "us-gaap_AssetRetirementObligation": { "auth_ref": [ "r242" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The carrying amount of a liability for an asset retirement obligation. An asset retirement obligation is a legal obligation associated with the disposal or retirement of a tangible long-lived asset that results from the acquisition, construction or development, or the normal operations of a long-lived asset, except for certain obligations of lessees.", "label": "Asset Retirement Obligation", "verboseLabel": "Asset retirement obligations" } } }, "localname": "AssetRetirementObligation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetUnderConstructionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Asset in process of being built.", "label": "Asset under Construction [Member]", "terseLabel": "Asset under Construction" } } }, "localname": "AssetUnderConstructionMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r94", "r162", "r175", "r182", "r212", "r261", "r262", "r263", "r265", "r266", "r267", "r268", "r270", "r272", "r274", "r275", "r384", "r386", "r400", "r436", "r438", "r460", "r473" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "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.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "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.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r6", "r7", "r52", "r94", "r212", "r261", "r262", "r263", "r265", "r266", "r267", "r268", "r270", "r272", "r274", "r275", "r384", "r386", "r400", "r436", "r438" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "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.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsFairValueDisclosure": { "auth_ref": [ "r392" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Fair Value Disclosure", "terseLabel": "Total" } } }, "localname": "AssetsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "auth_ref": [ "r202", "r227" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Amortized Cost", "terseLabel": "Adjusted Cost and Carrying Value" } } }, "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleDebtSecuritiesGrossUnrealizedLoss": { "auth_ref": [ "r204" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of unrealized 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 Loss", "terseLabel": "Other-than-temporary impairment losses" } } }, "localname": "AvailableForSaleDebtSecuritiesGrossUnrealizedLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": { "auth_ref": [ "r205", "r206", "r470" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One", "terseLabel": "Fair Value" } } }, "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "auth_ref": [ "r201", "r203", "r227", "r463" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "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": "Investment in non-marketable debt security", "verboseLabel": "Non-marketable debt security" } } }, "localname": "AvailableForSaleSecuritiesDebtSecurities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r358", "r367" ], "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.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "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]", "verboseLabel": "Basis of Presentation and Principles of Consolidation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "auth_ref": [ "r87", "r88", "r89" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.", "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Capital expenditures incurred but not yet paid" } } }, "localname": "CapitalExpendituresIncurredButNotYetPaid", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligationsIncurred": { "auth_ref": [ "r87", "r88" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in lease obligation from new lease.", "label": "Lease Obligation Incurred", "terseLabel": "Capital lease obligations incurred" } } }, "localname": "CapitalLeaseObligationsIncurred", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostNetCurrent": { "auth_ref": [ "r232" ], "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; classified as current.", "label": "Capitalized Contract Cost, Net, Current", "terseLabel": "Contract costs" } } }, "localname": "CapitalizedContractCostNetCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis": { "auth_ref": [ "r453", "r454", "r455" ], "lang": { "en-us": { "role": { "documentation": "Information by project.", "label": "Project [Axis]", "terseLabel": "Project [Axis]" } } }, "localname": "CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Abstract]", "terseLabel": "Cash reconciliation:" } } }, "localname": "CashAndCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r3", "r32", "r85" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Adjusted Cost", "verboseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "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.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "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": "Estimated Fair Value", "verboseLabel": "Money market funds" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.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.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r76", "r85", "r90" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash, cash equivalents and restricted cash at the end of the period", "periodStartLabel": "Cash, cash equivalents and restricted cash at the beginning of the period", "totalLabel": "Total cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r76", "r401" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "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 decrease in cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashMember": { "auth_ref": [ "r11" ], "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.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfStockDomain": { "auth_ref": [ "r92", "r94", "r117", "r118", "r119", "r121", "r123", "r131", "r132", "r133", "r212", "r261", "r266", "r267", "r268", "r274", "r275", "r293", "r294", "r298", "r302", "r400", "r525" ], "lang": { "en-us": { "role": { "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.", "label": "Class of Stock [Domain]", "terseLabel": "Class of Stock [Domain]" } } }, "localname": "ClassOfStockDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems": { "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": "Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]", "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]" } } }, "localname": "CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r43", "r249", "r465", "r481" ], "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 (Note 10)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "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": [ "r246", "r247", "r248", "r256", "r506" ], "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.codexis.com/role/CommitmentsandContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "auth_ref": [ "r44" ], "lang": { "en-us": { "role": { "documentation": "Aggregate number of common shares reserved for future issuance.", "label": "Common Stock, Capital Shares Reserved for Future Issuance", "terseLabel": "Maximum number of shares to be issued upon exercise of stock options" } } }, "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r101", "r102", "r389" ], "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.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "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 (usd per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "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", "terseLabel": "Common stock, shares authorized (shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "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", "terseLabel": "Common stock, shares, issued (shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r18", "r308" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding (shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r18", "r438" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "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.0001 par value per share; 100,000 shares authorized; 64,623 shares and 64,283 shares issued and outstanding at June\u00a030, 2021 and December\u00a031, 2020, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComputerEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Computer Equipment [Member]", "terseLabel": "Computer equipment and software" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r142", "r143", "r191", "r397", "r398", "r505" ], "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.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r142", "r143", "r191", "r397", "r398", "r497", "r505" ], "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.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r142", "r143", "r191", "r397", "r398", "r497", "r505" ], "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.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "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.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r142", "r143", "r191", "r397", "r398" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk, percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r139", "r142", "r143", "r144", "r397", "r399", "r505" ], "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.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r142", "r143", "r191", "r397", "r398", "r505" ], "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.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConstructionInProgressMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.", "label": "Construction in Progress [Member]", "terseLabel": "Construction in progress" } } }, "localname": "ConstructionInProgressMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r317" ], "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" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetCreditLossExpense": { "auth_ref": [ "r216", "r315", "r328" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on 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, Credit Loss Expense (Reversal)", "terseLabel": "Impairment charges related to contract assets" } } }, "localname": "ContractWithCustomerAssetCreditLossExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerAssetGrossCurrent": { "auth_ref": [ "r311", "r313" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NotesReceivableGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.", "label": "Contract with Customer, Asset, before Allowance for Credit Loss, Current", "terseLabel": "Contract assets" } } }, "localname": "ContractWithCustomerAssetGrossCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails", "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r311", "r312", "r330" ], "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", "netLabel": "Deferred revenue", "verboseLabel": "Contract liabilities: deferred revenue" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails", "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized": { "auth_ref": [ "r316" ], "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized arising from contract liability from change in timeframe for performance obligation to be satisfied.", "label": "Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized", "totalLabel": "Total revenues" } } }, "localname": "ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice": { "auth_ref": [ "r314" ], "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "order": 2.0, "parentTag": "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in estimate of transaction price which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due. Includes, but is not limited to, change in assessment of whether estimate of variable consideration is constrained.", "label": "Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price", "terseLabel": "Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods" } } }, "localname": "ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress": { "auth_ref": [ "r314" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in measure of progress which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Measure of Progress", "terseLabel": "Cumulative catch-up adjustment to revenue, change in measure of progress" } } }, "localname": "ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r311", "r312", "r330" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "auth_ref": [ "r311", "r312", "r330" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "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", "verboseLabel": "Deferred revenue, net of current portion" } } }, "localname": "ContractWithCustomerLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r331" ], "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "order": 1.0, "parentTag": "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "weight": 1.0 } }, "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", "verboseLabel": "Performance obligations satisfied" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConvertibleDebtMember": { "auth_ref": [ "r276", "r277", "r278", "r279", "r281", "r282", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r290", "r291", "r292" ], "lang": { "en-us": { "role": { "documentation": "Borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock.", "label": "Convertible Debt [Member]", "terseLabel": "Convertible Debt" } } }, "localname": "ConvertibleDebtMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CorporateNonSegmentMember": { "auth_ref": [ "r173", "r174", "r175", "r176", "r178", "r184", "r186" ], "lang": { "en-us": { "role": { "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.", "label": "Corporate, Non-Segment [Member]", "terseLabel": "Corporate, non-segment" } } }, "localname": "CorporateNonSegmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r65", "r452" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 3.0, "parentTag": "us-gaap_CostsAndExpenses", "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 product revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostsAndExpenses": { "auth_ref": [ "r63" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Total costs of sales and operating expenses for the period.", "label": "Costs and Expenses", "terseLabel": "Total costs and operating expenses", "totalLabel": "Total costs and operating expenses" } } }, "localname": "CostsAndExpenses", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "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.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "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.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CreditLossFinancialInstrumentTextBlock": { "auth_ref": [ "r215", "r219", "r220", "r222", "r223", "r228", "r229" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security.", "label": "Credit Loss, Financial Instrument [Text Block]", "terseLabel": "Allowance for Credit Losses" } } }, "localname": "CreditLossFinancialInstrumentTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLosses" ], "xbrltype": "textBlockItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r140", "r191" ], "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.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Basis spread on variable rate (percent)" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "auth_ref": [ "r41", "r278" ], "lang": { "en-us": { "role": { "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.", "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Stated interest rate" } } }, "localname": "DebtInstrumentInterestRateStatedPercentage", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleAllowanceForCreditLossWriteoff": { "auth_ref": [ "r230" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of writeoff of allowance for credit 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, Allowance for Credit Loss, Writeoff", "terseLabel": "Credit losses" } } }, "localname": "DebtSecuritiesAvailableForSaleAllowanceForCreditLossWriteoff", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock": { "auth_ref": [ "r207" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure 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 [Table Text Block]", "terseLabel": "Details of Non-marketable Debt Securities" } } }, "localname": "DebtSecuritiesAvailableForSaleTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DemandDepositsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Accounts that may or may not bear interest and that depositor is entitled to withdraw at anytime without prior notice. Checking and negotiable order of withdrawal (NOW) accounts are the most common forms of demand deposits.", "label": "Demand Deposits [Member]", "terseLabel": "Demand Deposits" } } }, "localname": "DemandDepositsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r83", "r236" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 8.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", "negatedTerseLabel": "Unallocated depreciation and amortization", "terseLabel": "Depreciation", "verboseLabel": "Depreciation" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "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.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r329", "r333", "r334", "r335", "r336", "r337", "r338", "r339" ], "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.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r329" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Disaggregation of Revenue" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r376" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-based Payment Arrangement [Text Block]", "terseLabel": "Stock-based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Share-based Payment Arrangement [Abstract]", "terseLabel": "Share-based Payment Arrangement [Abstract]" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_EMEAMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Regions of Europe, Middle East and Africa.", "label": "EMEA [Member]", "terseLabel": "EMEA" } } }, "localname": "EMEAMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "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": [ "r62", "r106", "r107", "r108", "r109", "r110", "r115", "r117", "r121", "r122", "r123", "r127", "r128", "r390", "r391", "r467", "r484" ], "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": "Net income (loss) per share, basic (usd per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r62", "r106", "r107", "r108", "r109", "r110", "r117", "r121", "r122", "r123", "r127", "r128", "r390", "r391", "r467", "r484" ], "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": "Net income (loss) per share, diluted (usd per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r124", "r125", "r126", "r129" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Net Loss per Share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/NetLossperShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EmbeddedDerivativeGainOnEmbeddedDerivative": { "auth_ref": [ "r388" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Increase in the fair value of the embedded derivative or group of embedded derivatives included in earnings in the period.", "label": "Embedded Derivative, Gain on Embedded Derivative", "terseLabel": "Change in fair value of embedded bifurcated derivative recognized in other income" } } }, "localname": "EmbeddedDerivativeGainOnEmbeddedDerivative", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmbeddedDerivativeLossOnEmbeddedDerivative": { "auth_ref": [ "r388" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Decrease in the fair value of the embedded derivative or group of embedded derivatives included in earnings in the period.", "label": "Embedded Derivative, Loss on Embedded Derivative", "terseLabel": "Change in fair value of embedded bifurcated derivative recognized in other expense" } } }, "localname": "EmbeddedDerivativeLossOnEmbeddedDerivative", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r39" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "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", "verboseLabel": "Accrued compensation" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r366" ], "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": "Compensation not yet recognized, share-based awards other than options" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "auth_ref": [ "r366" ], "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": "Compensation not yet recognized, stock options" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [ "r364" ], "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", "verboseLabel": "Stock options" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "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", "r58", "r59", "r60", "r101", "r102", "r103", "r105", "r111", "r113", "r130", "r213", "r308", "r309", "r369", "r370", "r371", "r379", "r380", "r389", "r402", "r403", "r404", "r405", "r406", "r407", "r492", "r493", "r494", "r548" ], "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.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount": { "auth_ref": [ "r208" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in equity security without readily determinable fair value.", "label": "Equity Securities without Readily Determinable Fair Value, Amount", "terseLabel": "Investment in non-marketable equity securities" } } }, "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueTableTextBlock": { "auth_ref": [ "r208", "r209", "r210" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of investment in equity security without readily determinable fair value.", "label": "Equity Securities without Readily Determinable Fair Value [Table Text Block]", "terseLabel": "Carrying Value of Non-marketable Equity Securities" } } }, "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTables" ], "xbrltype": "textBlockItemType" }, "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.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r392", "r393", "r394", "r395" ], "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, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r392", "r393" ], "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]", "verboseLabel": "Summary of Financial Instruments Measured at Fair Value on a Recurring Basis" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r283", "r289", "r290", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r351", "r393", "r440", "r441", "r442" ], "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.codexis.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_FairValueInputsLevel1Member": { "auth_ref": [ "r283", "r343", "r344", "r349", "r351", "r393", "r440" ], "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.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueInputsLevel3Member": { "auth_ref": [ "r283", "r289", "r290", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r351", "r393", "r442" ], "lang": { "en-us": { "role": { "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.", "label": "Fair Value, Inputs, Level 3 [Member]", "terseLabel": "Level\u00a03" } } }, "localname": "FairValueInputsLevel3Member", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementInputsDisclosureTextBlock": { "auth_ref": [ "r396" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of the fair value measurement of assets and liabilities, which includes financial instruments measured at fair value that are classified in shareholders' equity, which may be measured on a recurring or nonrecurring basis.", "label": "Fair Value Measurement and Measurement Inputs, Recurring and Nonrecurring [Text Block]", "verboseLabel": "Fair Value Measurements" } } }, "localname": "FairValueMeasurementInputsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r283", "r289", "r290", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r351", "r440", "r441", "r442" ], "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, Measurements, Fair Value Hierarchy [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinanceLeaseInterestExpense": { "auth_ref": [ "r410", "r415", "r425" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 2.0, "parentTag": "cdxs_FinanceLeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of interest expense on finance lease liability.", "label": "Finance Lease, Interest Expense", "terseLabel": "Interest on lease obligations" } } }, "localname": "FinanceLeaseInterestExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeasePrincipalPayments": { "auth_ref": [ "r411", "r420" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for principal payment on finance lease.", "label": "Finance Lease, Principal Payments", "negatedLabel": "Payments of lease obligations - Finance leases", "terseLabel": "Financing cash flows from finance leases" } } }, "localname": "FinanceLeasePrincipalPayments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAsset": { "auth_ref": [ "r408" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.", "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization", "terseLabel": "Right-of-use assets - Finance leases, net" } } }, "localname": "FinanceLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAssetAmortization": { "auth_ref": [ "r410", "r415", "r425" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 1.0, "parentTag": "cdxs_FinanceLeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.", "label": "Finance Lease, Right-of-Use Asset, Amortization", "terseLabel": "Amortization of right-of-use assets" } } }, "localname": "FinanceLeaseRightOfUseAssetAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinancialAssetNotPastDueMember": { "auth_ref": [ "r218", "r226" ], "lang": { "en-us": { "role": { "documentation": "Financial asset not past due.", "label": "Financial Asset, Not Past Due [Member]", "terseLabel": "Current" } } }, "localname": "FinancialAssetNotPastDueMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract]", "verboseLabel": "Summary of financial instruments measured at fair value on a recurring basis" } } }, "localname": "FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems": { "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": "Financing Receivable, Allowance for Credit Loss [Line Items]", "terseLabel": "Financing Receivable, Allowance for Credit Loss [Line Items]" } } }, "localname": "FinancingReceivableAllowanceForCreditLossesLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivableBeforeAllowanceForCreditLossAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Financing Receivable, before Allowance for Credit Loss [Abstract]", "terseLabel": "Financial assets:" } } }, "localname": "FinancingReceivableBeforeAllowanceForCreditLossAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivables30To59DaysPastDueMember": { "auth_ref": [ "r226" ], "lang": { "en-us": { "role": { "documentation": "Financial asset more than 29 days past due but fewer than 60 days past due.", "label": "Financial Asset, 30 to 59 Days Past Due [Member]", "terseLabel": "31-60 Days" } } }, "localname": "FinancingReceivables30To59DaysPastDueMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancingReceivables60To89DaysPastDueMember": { "auth_ref": [ "r226" ], "lang": { "en-us": { "role": { "documentation": "Financial asset more than 59 days past due but fewer than 90 days past due.", "label": "Financial Asset, 60 to 89 Days Past Due [Member]", "terseLabel": "61-90 Days" } } }, "localname": "FinancingReceivables60To89DaysPastDueMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancingReceivablesEqualToGreaterThan90DaysPastDueMember": { "auth_ref": [ "r226" ], "lang": { "en-us": { "role": { "documentation": "Financial asset equal to or greater than 90 days past due.", "label": "Financial Asset, Equal to or Greater than 90 Days Past Due [Member]", "terseLabel": "91 Days and over" } } }, "localname": "FinancingReceivablesEqualToGreaterThan90DaysPastDueMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancingReceivablesPeriodPastDueAxis": { "auth_ref": [ "r199", "r218", "r226" ], "lang": { "en-us": { "role": { "documentation": "Information by period in which financial asset is past due or not past due.", "label": "Financial Asset, Aging [Axis]", "terseLabel": "Financial Asset, Aging [Axis]" } } }, "localname": "FinancingReceivablesPeriodPastDueAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivablesPeriodPastDueDomain": { "auth_ref": [ "r199", "r218", "r226" ], "lang": { "en-us": { "role": { "documentation": "Period in which financial asset is past due or not past due. For past due, element name and standard label in Financial Asset, [numeric lower end] to [numeric higher end] [date measure] Past Due [Member] or Financial Asset, Greater than [low end numeric value] [date measure] Past Due [Member] or Financial Asset, Less than [high end numeric value] [date measure] Past Due [Member] formats.", "label": "Financial Asset, Aging [Domain]", "terseLabel": "Financial Asset, Aging [Domain]" } } }, "localname": "FinancingReceivablesPeriodPastDueDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GeographicAreasLongLivedAssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Geographic Areas, Long-Lived Assets [Abstract]", "terseLabel": "Geographic Areas, Long-Lived Assets [Abstract]" } } }, "localname": "GeographicAreasLongLivedAssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GeographicDistributionAxis": { "auth_ref": [ "r224", "r468", "r469", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r541", "r542", "r543", "r544", "r545", "r546" ], "lang": { "en-us": { "role": { "documentation": "Information by geographic distribution of business activity identified as either domestic or foreign. Excludes names of countries, states and provinces, and cities.", "label": "Geographic Distribution [Axis]", "terseLabel": "Geographic Distribution [Axis]" } } }, "localname": "GeographicDistributionAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GeographicDistributionDomain": { "auth_ref": [ "r468", "r469", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r541", "r542", "r543", "r544", "r545", "r546" ], "lang": { "en-us": { "role": { "documentation": "Allocation of business activity identified as domestic or foreign. Excludes names of countries, states and provinces, and cities.", "label": "Geographic Distribution [Domain]", "terseLabel": "Geographic Distribution [Domain]" } } }, "localname": "GeographicDistributionDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r233", "r234", "r438", "r459" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 7.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", "terseLabel": "Goodwill", "verboseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r162", "r174", "r178", "r181", "r184" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.", "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest", "totalLabel": "Loss before income taxes", "verboseLabel": "Income (loss) before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "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": [ "r240", "r243" ], "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.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r243" ], "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.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r95", "r112", "r113", "r160", "r378", "r381", "r382", "r485" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "verboseLabel": "Provision for income taxes" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaid": { "auth_ref": [ "r79", "r86" ], "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.", "label": "Income Taxes Paid", "terseLabel": "Income taxes paid" } } }, "localname": "IncomeTaxesPaid", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r82" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 4.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.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r82", "r450" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Contract with Customer, Liability", "verboseLabel": "Deferred revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInFinanceReceivables": { "auth_ref": [ "r82" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in outstanding loans including accrued interest.", "label": "Increase (Decrease) in Finance Receivables", "negatedLabel": "Financial assets, net" } } }, "localname": "IncreaseDecreaseInFinanceReceivables", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r82" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "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.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 7.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", "terseLabel": "Other long-term liabilities" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r82" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "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.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_IndemnificationGuaranteeMember": { "auth_ref": [ "r257", "r260" ], "lang": { "en-us": { "role": { "documentation": "An agreement (contract) that contingently requires the guarantor to make payments to the guaranteed party in compensation for that party's or parties' loss or injury attributable to specified events or actions, such as a patent infringement action against an entity that relied on certain representations as to ownership rights made by a software vendor.", "label": "Indemnification Agreement [Member]", "terseLabel": "Indemnification Agreement" } } }, "localname": "IndemnificationGuaranteeMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r75", "r78", "r86" ], "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.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryFinishedGoods": { "auth_ref": [ "r47" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.", "label": "Inventory, Finished Goods, Gross", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoods", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r4", "r50", "r438" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.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": "Inventories", "verboseLabel": "Inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory, Net [Abstract]", "verboseLabel": "Schedule of Inventory Components" } } }, "localname": "InventoryNetAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InventoryRawMaterials": { "auth_ref": [ "r49" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Raw Materials, Gross", "terseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterials", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryValuationReserves": { "auth_ref": [ "r50", "r231" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation reserve for inventory.", "label": "Inventory Valuation Reserves", "terseLabel": "Inventory reserves" } } }, "localname": "InventoryValuationReserves", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcess": { "auth_ref": [ "r48" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.", "label": "Inventory, Work in Process, Gross", "terseLabel": "Work-in-process" } } }, "localname": "InventoryWorkInProcess", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeAmortizationOfDiscount": { "auth_ref": [ "r68" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accretion of purchase discount on nonoperating securities.", "label": "Investment Income, Amortization of Discount", "terseLabel": "Interest income from amortization of discount" } } }, "localname": "InvestmentIncomeAmortizationOfDiscount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeAmortizationOfPremium": { "auth_ref": [ "r68" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization of purchase premium on nonoperating securities.", "label": "Investment Income, Amortization of Premium", "terseLabel": "Other expenses" } } }, "localname": "InvestmentIncomeAmortizationOfPremium", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeInterest": { "auth_ref": [ "r67", "r155" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.", "label": "Investment Income, Interest", "verboseLabel": "Interest income" } } }, "localname": "InvestmentIncomeInterest", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentOwnedBalanceShares": { "auth_ref": [ "r498", "r500" ], "lang": { "en-us": { "role": { "documentation": "Balance held at close of period in number of shares.", "label": "Investment Owned, Balance, Shares", "terseLabel": "Number of shares purchased" } } }, "localname": "InvestmentOwnedBalanceShares", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_InvestmentsAndOtherNoncurrentAssets": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investments, and noncurrent assets classified as other.", "label": "Investments and Other Noncurrent Assets", "terseLabel": "Investment at cost basis", "verboseLabel": "Investment in non-marketable equity securities" } } }, "localname": "InvestmentsAndOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Investments, Debt and Equity Securities [Abstract]" } } }, "localname": "InvestmentsDebtAndEquitySecuritiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for cash, cash equivalents, investments in debt and equity instruments (including cost and equity investees and related income statement amounts), equity and cost method investments, investments in joint ventures and any other investment.", "label": "Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block]", "terseLabel": "Investments in Non-Marketable Securities" } } }, "localname": "InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecurities" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r423", "r425" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "totalLabel": "Total lease cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Lease, Cost [Abstract]", "terseLabel": "Lease, Cost [Abstract]" } } }, "localname": "LeaseCostAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r423" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Lease Cost" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsGross": { "auth_ref": [ "r9", "r237" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements, Gross", "terseLabel": "Tenant improvement allowance" } } }, "localname": "LeaseholdImprovementsGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r237" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeaseholdsAndLeaseholdImprovementsMember": { "auth_ref": [ "r237" ], "lang": { "en-us": { "role": { "documentation": "Assets held by a lessee under a capital lease and any addition or improvement to assets held under a lease arrangement (including addition or improvement to assets held by lessee under an operating lease arrangement).", "label": "Leaseholds and Leasehold Improvements [Member]", "terseLabel": "Leaseholds and Leasehold Improvements" } } }, "localname": "LeaseholdsAndLeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LesseeFinanceLeaseTermOfContract1": { "auth_ref": [ "r413" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Finance Lease, Term of Contract", "terseLabel": "Term of contract" } } }, "localname": "LesseeFinanceLeaseTermOfContract1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedDiscountRate": { "auth_ref": [ "r414" ], "lang": { "en-us": { "role": { "documentation": "Discount rate used by lessee to determine present value of operating lease payments for lease that has not yet commenced.", "label": "Lessee, Operating Lease, Lease Not yet Commenced, Discount Rate", "terseLabel": "Annual rent increases (as a percent)" } } }, "localname": "LesseeOperatingLeaseLeaseNotYetCommencedDiscountRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "percentItemType" }, "us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedRenewalTerm1": { "auth_ref": [ "r414" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease renewal for lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Lease Not yet Commenced, Renewal Term", "terseLabel": "Renewal term" } } }, "localname": "LesseeOperatingLeaseLeaseNotYetCommencedRenewalTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1": { "auth_ref": [ "r414" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract", "terseLabel": "Lease term" } } }, "localname": "LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r424" ], "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]", "verboseLabel": "Operating Lease Maturity" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r424" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_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": "Future lease commitment", "totalLabel": "Total minimum lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails", "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r424" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "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 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.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r424" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r424" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease 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.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r424" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r424" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails_1": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "terseLabel": "2021 (remaining 6 months)" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r424" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "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", "terseLabel": "Less: imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "auth_ref": [ "r413" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Renewal term" } } }, "localname": "LesseeOperatingLeaseRenewalTerm", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "durationItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r38", "r94", "r176", "r212", "r261", "r262", "r263", "r266", "r267", "r268", "r270", "r272", "r274", "r275", "r385", "r386", "r387", "r400", "r436", "r437" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.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.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r25", "r94", "r212", "r400", "r438", "r462", "r477" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "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.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "verboseLabel": "Liabilities and Stockholders' Equity" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r40", "r94", "r212", "r261", "r262", "r263", "r266", "r267", "r268", "r270", "r272", "r274", "r275", "r385", "r386", "r387", "r400", "r436", "r437", "r438" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "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.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "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.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r37" ], "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", "terseLabel": "Borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LossContingenciesByNatureOfContingencyAxis": { "auth_ref": [ "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r258", "r259" ], "lang": { "en-us": { "role": { "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur.", "label": "Loss Contingency Nature [Axis]", "terseLabel": "Loss Contingency Nature [Axis]" } } }, "localname": "LossContingenciesByNatureOfContingencyAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingencyAccrualCarryingValueCurrent": { "auth_ref": [ "r249" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of loss contingency liability expected to be resolved within one year or the normal operating cycle, if longer.", "label": "Loss Contingency, Accrual, Current", "terseLabel": "Loss contingency accrual" } } }, "localname": "LossContingencyAccrualCarryingValueCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LossContingencyNatureDomain": { "auth_ref": [ "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r258", "r259" ], "lang": { "en-us": { "role": { "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability.", "label": "Loss Contingency, Nature [Domain]", "terseLabel": "Loss Contingency, Nature [Domain]" } } }, "localname": "LossContingencyNatureDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MarketableSecuritiesLineItems": { "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": "Marketable Securities [Line Items]", "terseLabel": "Marketable Securities [Line Items]" } } }, "localname": "MarketableSecuritiesLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTextualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MarketableSecuritiesTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about investment in marketable security.", "label": "Marketable Securities [Table]", "terseLabel": "Marketable Securities [Table]" } } }, "localname": "MarketableSecuritiesTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTextualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r343" ], "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.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r134", "r148" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.", "label": "Nature of Operations [Text Block]", "verboseLabel": "Description of Business" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusiness" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r76" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "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.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r76" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "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.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r76", "r81", "r84" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash used in operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "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.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r2", "r56", "r57", "r60", "r61", "r84", "r94", "r104", "r106", "r107", "r108", "r109", "r112", "r113", "r120", "r162", "r174", "r178", "r181", "r184", "r212", "r261", "r262", "r263", "r266", "r267", "r268", "r270", "r272", "r274", "r275", "r391", "r400", "r466", "r483" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "netLabel": "Net income (loss)", "terseLabel": "Net loss", "totalLabel": "Net loss" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "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": "Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationSharesIssued1": { "auth_ref": [ "r87", "r88", "r89" ], "lang": { "en-us": { "role": { "documentation": "The number of shares issued as [noncash or part noncash] consideration for a business or asset acquired. Noncash is defined as transactions during a period that affect recognized assets or liabilities but that do not result in cash receipts or cash payments in the period. \"Part noncash\" refers to that portion of the transaction not resulting in cash receipts or cash payments in the period.", "label": "Noncash or Part Noncash Acquisition, Noncash Financial or Equity Instrument Consideration, Shares Issued", "terseLabel": "Number of shares received in exchange for services" } } }, "localname": "NoncashOrPartNoncashAcquisitionNoncashFinancialOrEquityInstrumentConsiderationSharesIssued1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_NoncurrentAssets": { "auth_ref": [ "r189" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "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.", "label": "Long-Lived Assets", "terseLabel": "Long-lived assets" } } }, "localname": "NoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonmonetaryTransactionGrossOperatingRevenueRecognized": { "auth_ref": [ "r426" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of gross operating revenue recognized in a nonmonetary transaction.", "label": "Nonmonetary Transaction, Gross Operating Revenue Recognized", "terseLabel": "Research and development revenue from transactions with MAI" } } }, "localname": "NonmonetaryTransactionGrossOperatingRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NotesReceivableGross": { "auth_ref": [ "r199", "r214", "r218", "r221", "r225", "r226", "r537", "r538", "r539" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_AccountsNotesAndLoansReceivableNetCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, before allowance for credit loss, of financing receivable.", "label": "Financing Receivable, before Allowance for Credit Loss", "totalLabel": "Total financial assets" } } }, "localname": "NotesReceivableGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r150" ], "lang": { "en-us": { "role": { "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.", "label": "Number of Operating Segments", "terseLabel": "Number of operating segments" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTextualDetails" ], "xbrltype": "integerItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r150" ], "lang": { "en-us": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTextualDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingCostsAndExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Costs and Expenses [Abstract]", "verboseLabel": "Costs and operating expenses:" } } }, "localname": "OperatingCostsAndExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r162", "r174", "r178", "r181", "r184" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "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": "Loss from operations", "verboseLabel": "Income (loss) from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r416", "r425" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 1.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating Lease, Cost", "terseLabel": "Operating lease cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payment, Due [Abstract]", "terseLabel": "Operating Leases" } } }, "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r409" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "verboseLabel": "Lease obligations" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesMaturityAnalysisofOperatingLeaseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r409" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Current portion of lease obligations - Operating leases" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r409" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Long-term lease obligations - Operating leases" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r412", "r420" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "terseLabel": "Operating cash flows from operating leases" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r408" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right-of-use assets - Operating leases, net" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "auth_ref": [ "r83" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense for right-of-use asset from operating lease.", "label": "Operating Lease, Right-of-Use Asset, Amortization Expense", "terseLabel": "Amortization expense - right-of-use assets - operating and finance leases" } } }, "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r422", "r425" ], "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", "verboseLabel": "Weighted-average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r421", "r425" ], "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": "Weighted-average remaining lease term (in years)" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r173", "r174", "r175", "r176", "r178", "r184" ], "lang": { "en-us": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Operating Segments [Member]", "terseLabel": "Operating Segments", "verboseLabel": "Operating segments" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent": { "auth_ref": [ "r464", "r482" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other.", "label": "Other Accrued Liabilities", "terseLabel": "Other" } } }, "localname": "OtherAccruedLiabilitiesCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r35" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 8.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", "verboseLabel": "Other non-current assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCommitmentsLineItems": { "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": "Other Commitments [Line Items]", "terseLabel": "Other Commitments [Line Items]" } } }, "localname": "OtherCommitmentsLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OtherCommitmentsTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about obligations resulting from other commitments.", "label": "Other Commitments [Table]", "terseLabel": "Other Commitments [Table]" } } }, "localname": "OtherCommitmentsTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesEstimatedMaturityAnalysisDetails", "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r42" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.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.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncashIncome": { "auth_ref": [ "r84" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income or gain included in net income that result in no cash inflow (outflow), classified as other.", "label": "Other Noncash Income", "negatedTerseLabel": "Equity securities earned from research and development activities" } } }, "localname": "OtherNoncashIncome", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r69" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income (expense), net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities).", "label": "Other Operating Activities, Cash Flow Statement", "terseLabel": "Other non-cash items" } } }, "localname": "OtherOperatingActivitiesCashFlowStatement", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PastDueFinancingReceivablesTableTextBlock": { "auth_ref": [ "r198", "r199", "r218", "r226" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of aging analysis for financing receivable.", "label": "Financing Receivable, Past Due [Table Text Block]", "terseLabel": "Summary of Accounts Receivable by Aging" } } }, "localname": "PastDueFinancingReceivablesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PaymentsForRent": { "auth_ref": [ "r80" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Cash payments to lessor's for use of assets under operating leases.", "label": "Payments for Rent", "terseLabel": "Annualized rent" } } }, "localname": "PaymentsForRent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r74" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Payment, Tax Withholding, Share-based Payment Arrangement", "negatedTerseLabel": "Taxes paid related to net share settlement of equity awards" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireOtherInvestments": { "auth_ref": [ "r72" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to acquire investments classified as other.", "label": "Payments to Acquire Other Investments", "negatedTerseLabel": "Payments to acquire other investments", "terseLabel": "Payments to acquire other investments" } } }, "localname": "PaymentsToAcquireOtherInvestments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r71" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PerformanceSharesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement awarded for meeting performance target.", "label": "Performance Shares [Member]", "terseLabel": "Performance Shares" } } }, "localname": "PerformanceSharesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r358", "r367" ], "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.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "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.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r17", "r293" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value (usd per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "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", "terseLabel": "Preferred stock, shares authorized (shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r17", "r293" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock, shares issued (shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "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", "terseLabel": "Preferred stock, shares outstanding (shares)" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnauditedParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r17", "r438" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "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", "terseLabel": "Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r6", "r30", "r31" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "verboseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromCollaborators": { "auth_ref": [ "r77" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cash received from collaborators during the current period.", "label": "Proceeds from Collaborators", "terseLabel": "Non-refundable cash payment" } } }, "localname": "ProceedsFromCollaborators", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "auth_ref": [ "r70" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.", "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from sale of property and equipment" } } }, "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r73", "r368" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from exercises of stock options", "verboseLabel": "Proceeds from exercises of stock options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProjectMember": { "auth_ref": [ "r456" ], "lang": { "en-us": { "role": { "documentation": "Planned program of work.", "label": "Project [Domain]", "terseLabel": "Project [Domain]" } } }, "localname": "ProjectMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r34", "r239" ], "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.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r33", "r237" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails": { "order": 1.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", "terseLabel": "Property and equipment" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "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.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r12", "r13", "r239", "r438", "r471", "r479" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 6.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.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r12", "r239" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of Property and Equipment, Net" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r12", "r237" ], "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.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PurchaseObligation": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "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": "Accrued purchases" } } }, "localname": "PurchaseObligation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Receivables [Abstract]" } } }, "localname": "ReceivablesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock": { "auth_ref": [ "r173", "r178" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues.", "label": "Reconciliation of Revenue from Segments to Consolidated [Table Text Block]", "verboseLabel": "Schedule of Revenues by Geographical Area" } } }, "localname": "ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RelatedPartyTransactionAxis": { "auth_ref": [ "r350", "r429", "r430", "r433" ], "lang": { "en-us": { "role": { "documentation": "Information by type of related party transaction.", "label": "Related Party Transaction [Axis]", "terseLabel": "Related Party Transaction [Axis]" } } }, "localname": "RelatedPartyTransactionAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsAstraZenecaPLCDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionDomain": { "auth_ref": [ "r350" ], "lang": { "en-us": { "role": { "documentation": "Transaction between related party.", "label": "Related Party Transaction [Domain]", "terseLabel": "Related Party Transaction [Domain]" } } }, "localname": "RelatedPartyTransactionDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsAstraZenecaPLCDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RelatedPartyTransactionLineItems": { "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": "Related Party Transaction [Line Items]", "terseLabel": "Related Party Transaction [Line Items]" } } }, "localname": "RelatedPartyTransactionLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsAstraZenecaPLCDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Related Party Transactions [Abstract]" } } }, "localname": "RelatedPartyTransactionsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "auth_ref": [ "r427", "r428", "r430", "r434", "r435" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.", "label": "Related Party Transactions Disclosure [Text Block]", "terseLabel": "Related Party Transactions" } } }, "localname": "RelatedPartyTransactionsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactions" ], "xbrltype": "textBlockItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r377", "r451", "r519" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 1.0, "parentTag": "us-gaap_CostsAndExpenses", "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.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "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.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCash": { "auth_ref": [ "r90", "r458", "r475" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 6.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.", "label": "Restricted Cash", "terseLabel": "Restricted cash, current" } } }, "localname": "RestrictedCash", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalents": { "auth_ref": [ "r11", "r85", "r90", "r458", "r475" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Restricted Cash and Cash Equivalents", "terseLabel": "Restricted cash, current and non-current" } } }, "localname": "RestrictedCashAndCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis": { "auth_ref": [ "r32" ], "lang": { "en-us": { "role": { "documentation": "Information by category of cash or cash equivalent items which are restricted as to withdrawal or usage.", "label": "Restricted Cash and Cash Equivalents [Axis]", "terseLabel": "Restricted Cash and Cash Equivalents [Axis]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "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.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails", "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": { "auth_ref": [ "r8", "r14", "r85", "r90", "r503" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Restricted Cash and Cash Equivalents, Noncurrent", "terseLabel": "Restricted cash" } } }, "localname": "RestrictedCashAndCashEquivalentsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndInvestmentsNoncurrent": { "auth_ref": [ "r502", "r504" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The noncurrent cash, cash equivalents and investments that is restricted as to withdrawal or usage. Restrictions may include legally restricted deposits held as compensating balances against borrowing arrangements, contracts entered into with others, or entity statements of intention with regard to particular deposits classified as long-term; that is not expected to be released from such existing restrictions within one year of the balance sheet date or operating cycle, whichever is longer. Excludes compensating balance arrangements that are not agreements which legally restrict the use of cash amounts shown on the balance sheet. Includes noncurrent cash equivalents and investments that are similarly restricted as to withdrawal, usage or disposal.", "label": "Restricted Cash and Investments, Noncurrent", "terseLabel": "Non-current restricted cash" } } }, "localname": "RestrictedCashAndInvestmentsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "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": "RSUs" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r22", "r309", "r372", "r438", "r476", "r495", "r496" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "verboseLabel": "Accumulated deficit" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r0", "r101", "r102", "r103", "r105", "r111", "r113", "r213", "r369", "r370", "r371", "r379", "r380", "r389", "r492", "r494" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Accumulated Deficit" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "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_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r153", "r154", "r173", "r179", "r180", "r187", "r188", "r191", "r327", "r329", "r452" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Total revenues" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r317", "r318", "r319", "r320", "r321", "r322", "r325", "r326", "r332", "r341" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognition" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromRelatedParties": { "auth_ref": [ "r64", "r264", "r266", "r267", "r273", "r274", "r275", "r499" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.", "label": "Revenue from Related Parties", "terseLabel": "Revenue from related parties" } } }, "localname": "RevenueFromRelatedParties", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsAstraZenecaPLCDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems": { "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, Initial Application Period Cumulative Effect Transition [Line Items]", "terseLabel": "Revenue, Initial Application Period Cumulative Effect Transition [Line Items]" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable": { "auth_ref": [ "r340" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information when using transition method for cumulative effect in initial period of application for revenue from contract with customer.", "label": "Revenue, Initial Application Period Cumulative Effect Transition [Table]", "terseLabel": "Revenue, Initial Application Period Cumulative Effect Transition [Table]" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r323" ], "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 obligation" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r324" ], "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": "Expected timing of satisfaction, period" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r324" ], "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.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock": { "auth_ref": [ "r324" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of expected timing for satisfying remaining performance obligation.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]", "terseLabel": "Performance Obligation, Expected Timing of Satisfaction" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenuesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenues [Abstract]", "verboseLabel": "Revenues:" } } }, "localname": "RevenuesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "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.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SalesRevenueProductLineMember": { "auth_ref": [ "r141" ], "lang": { "en-us": { "role": { "documentation": "Revenue from specified product or service, when it serves as benchmark in concentration of risk calculation. Includes, but is not limited to, revenue from contract with customer and other sources.", "label": "Revenue, Product and Service Benchmark [Member]", "terseLabel": "Revenue, Product and Service Benchmark" } } }, "localname": "SalesRevenueProductLineMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of Other Accrued Liabilities" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "auth_ref": [ "r124" ], "lang": { "en-us": { "role": { "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/NetLossperShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "auth_ref": [ "r124" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "terseLabel": "Shares Not Included in Computation of Diluted Net Loss Per Share" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/NetLossperShareTables" ], "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.codexis.com/role/BalanceSheetsDetailsCashandCashEquivalentsDetails" ], "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": "Schedule of Cash and Cash Equivalents" } } }, "localname": "ScheduleOfCashAndCashEquivalentsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.", "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Table]", "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative [Table]" } } }, "localname": "ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r357", "r365", "r373" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.", "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r357", "r365", "r373" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.", "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "verboseLabel": "Schedule of Stock-based Compensation Expense" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": { "auth_ref": [ "r189" ], "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]", "verboseLabel": "Schedule of Long-Lived Assets by Geographical Area" } } }, "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable": { "auth_ref": [ "r217", "r540" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about allowance for credit loss on financing receivable.", "label": "Financing Receivable, Allowance for Credit Loss [Table]", "terseLabel": "Financing Receivable, Allowance for Credit Loss [Table]" } } }, "localname": "ScheduleOfFinancingReceivableAllowanceForCreditLossesTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock": { "auth_ref": [ "r235" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill and intangible assets, which may be broken down by segment or major class.", "label": "Schedule of Intangible Assets and Goodwill [Table Text Block]", "terseLabel": "Schedule of Intangible Assets and Goodwill" } } }, "localname": "ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r10", "r27", "r28", "r29" ], "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": "Schedule of Inventory Components" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r34", "r239" ], "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.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": { "auth_ref": [ "r431", "r433" ], "lang": { "en-us": { "role": { "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.", "label": "Schedule of Related Party Transactions, by Related Party [Table]", "terseLabel": "Schedule of Related Party Transactions, by Related Party [Table]" } } }, "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyTransactionsAstraZenecaPLCDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "auth_ref": [ "r162", "r165", "r177", "r235" ], "lang": { "en-us": { "role": { "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table]", "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r162", "r165", "r177", "r235" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of Segment Reporting" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r358", "r367" ], "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.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.", "label": "Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]", "terseLabel": "Schedule of Stock-based Compensation Expense by Security Types" } } }, "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "auth_ref": [ "r139", "r142", "r143", "r144", "r397", "r399" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "terseLabel": "Schedule of Customers that Contributed 10% or More of Total Accounts Receivable" } } }, "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SecurityDeposit": { "auth_ref": [ "r51" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a lease.", "label": "Security Deposit", "terseLabel": "Security deposit" } } }, "localname": "SecurityDeposit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SecurityOwnedNotReadilyMarketableAxis": { "auth_ref": [ "r457" ], "lang": { "en-us": { "role": { "documentation": "Information by name of not readily marketable security.", "label": "Security Owned Not Readily Marketable [Axis]", "terseLabel": "Security Owned Not Readily Marketable [Axis]" } } }, "localname": "SecurityOwnedNotReadilyMarketableAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTextualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SecurityOwnedNotReadilyMarketableNameDomain": { "auth_ref": [ "r457" ], "lang": { "en-us": { "role": { "documentation": "Name of the security category or actual security title.", "label": "Security Owned Not Readily Marketable, Name [Domain]", "terseLabel": "Security Owned Not Readily Marketable, Name [Domain]" } } }, "localname": "SecurityOwnedNotReadilyMarketableNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesCarryingValueandFairValueofSecuritiesDetails", "http://www.codexis.com/role/InvestmentsinNonMarketableSecuritiesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r149", "r153", "r154", "r155", "r156", "r157", "r158", "r159", "r160", "r161", "r162", "r163", "r164", "r173", "r174", "r175", "r176", "r178", "r179", "r180", "r181", "r182", "r184", "r191", "r244", "r245", "r486" ], "lang": { "en-us": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]", "terseLabel": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]", "terseLabel": "Segment Reporting [Abstract]" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r149", "r151", "r152", "r162", "r166", "r178", "r182", "r183", "r184", "r185", "r187", "r190", "r191", "r192" ], "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]", "verboseLabel": "Segment, Geographical and Other Revenue Information" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingInformationLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Reporting Information [Line Items]" } } }, "localname": "SegmentReportingInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "auth_ref": [ "r167", "r168", "r169", "r170", "r171", "r172", "r188" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for segment reporting.", "label": "Segment Reporting, Policy [Policy Text Block]", "terseLabel": "Segment Information" } } }, "localname": "SegmentReportingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r66" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited": { "order": 2.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.", "label": "Selling, General and Administrative Expenses [Member]", "verboseLabel": "Selling, general and administrative" } } }, "localname": "SellingGeneralAndAdministrativeExpensesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SeriesAPreferredStockMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Outstanding nonredeemable series A preferred stock or outstanding series A preferred stock. 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": "Series A Preferred Stock [Member]", "terseLabel": "Series A Preferred Stock" } } }, "localname": "SeriesAPreferredStockMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r82" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited": { "order": 10.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.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r359" ], "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": "Award vesting period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "durationItemType" }, "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.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r361" ], "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" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r367" ], "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": "Number of shares available for grant" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r356", "r362" ], "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.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "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", "terseLabel": "Weighted average exercise price of stock options exercised (usd per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "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": "Tranche One" } } }, "localname": "ShareBasedCompensationAwardTrancheOneMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "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": "Tranche Two" } } }, "localname": "ShareBasedCompensationAwardTrancheTwoMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "auth_ref": [ "r359" ], "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 (percent)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "auth_ref": [ "r360" ], "lang": { "en-us": { "role": { "documentation": "Period from grant date that an equity-based award expires, 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, Expiration Period", "terseLabel": "Expiration period" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Purchase price of common stock expressed as a percentage of its fair value.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent", "terseLabel": "Purchase price of common stock" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.", "label": "Shares, Outstanding", "periodEndLabel": "Ending balance (shares)", "periodStartLabel": "Beginning balance (shares)" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "negatedTerseLabel": "Taxes paid related to net share settlement of equity awards (shares)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_ShortTermLeaseCost": { "auth_ref": [ "r417", "r425" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 4.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.", "label": "Short-term Lease, Cost", "terseLabel": "Short-term lease cost" } } }, "localname": "ShortTermLeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r91", "r100" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]", "verboseLabel": "Basis of Presentation and Summary of Significant Accounting Policies" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SignificantSupplyCommitmentRemainingMinimumAmountCommitted": { "auth_ref": [ "r43", "r465", "r480" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The floor amount as of the balance sheet date that the entity must expend to satisfy the terms of disclosed arrangements (excluding long-term commitments) in which the entity must commit resources to supply goods or services to one or more customers.", "label": "Supply Commitment, Remaining Minimum Amount Committed", "terseLabel": "Future Minimum Payment" } } }, "localname": "SignificantSupplyCommitmentRemainingMinimumAmountCommitted", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r1", "r149", "r153", "r154", "r155", "r156", "r157", "r158", "r159", "r160", "r161", "r162", "r163", "r164", "r173", "r174", "r175", "r176", "r178", "r179", "r180", "r181", "r182", "r184", "r191", "r235", "r241", "r244", "r245", "r486" ], "lang": { "en-us": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]", "terseLabel": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementClassOfStockAxis": { "auth_ref": [ "r16", "r17", "r18", "r92", "r94", "r117", "r118", "r119", "r121", "r123", "r131", "r132", "r133", "r212", "r261", "r266", "r267", "r268", "r274", "r275", "r293", "r294", "r298", "r302", "r308", "r400", "r525" ], "lang": { "en-us": { "role": { "documentation": "Information by the different classes of stock of the entity.", "label": "Class of Stock [Axis]", "terseLabel": "Class of Stock [Axis]" } } }, "localname": "StatementClassOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/RelatedPartyTransactionsMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r0", "r45", "r58", "r59", "r60", "r101", "r102", "r103", "r105", "r111", "r113", "r130", "r213", "r308", "r309", "r369", "r370", "r371", "r379", "r380", "r389", "r402", "r403", "r404", "r405", "r406", "r407", "r492", "r493", "r494", "r548" ], "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.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "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.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "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": [ "r101", "r102", "r103", "r130", "r452" ], "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.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_StockCompensationPlanMember": { "auth_ref": [ "r124" ], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement in which award of equity shares are granted. Arrangement includes, but is not limited to, grantor incurring liability for product and service based on price of its shares.", "label": "Share-based Payment Arrangement [Member]", "terseLabel": "Shares Issuable Under the Equity Incentive Plan [Member]" } } }, "localname": "StockCompensationPlanMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/NetLossperShareDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "auth_ref": [ "r17", "r18", "r308", "r309" ], "lang": { "en-us": { "role": { "documentation": "Number of new stock issued during the period.", "label": "Stock Issued During Period, Shares, New Issues", "verboseLabel": "Shares issued (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesNewIssues", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesOther": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares of stock issued attributable to transactions classified as other.", "label": "Stock Issued During Period, Shares, Other", "terseLabel": "Release of stock awards (shares)" } } }, "localname": "StockIssuedDuringPeriodSharesOther", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r17", "r18", "r308", "r309", "r363" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "terseLabel": "Stock options exercised (shares)", "verboseLabel": "Exercise of stock options (shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r45", "r308", "r309" ], "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", "verboseLabel": "Exercise of stock options" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r18", "r23", "r24", "r94", "r200", "r212", "r400", "r438" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "verboseLabel": "Stockholders' equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r93", "r294", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r309", "r310" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.", "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Capital Stock" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStock" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubleaseIncome": { "auth_ref": [ "r419", "r425" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 3.0, "parentTag": "us-gaap_LeaseCost", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of sublease income excluding finance and operating lease expense.", "label": "Sublease Income", "negatedLabel": "Sublease income" } } }, "localname": "SubleaseIncome", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Different names of stock transactions and the different attributes of each transaction.", "label": "Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table]", "terseLabel": "Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table]" } } }, "localname": "SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsidiarySaleOfStockLineItems": { "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": "Subsidiary, Sale of Stock [Line Items]", "terseLabel": "Subsidiary, Sale of Stock [Line Items]" } } }, "localname": "SubsidiarySaleOfStockLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental disclosure of cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_SupplyCommitmentArrangementMember": { "auth_ref": [ "r15", "r461", "r474" ], "lang": { "en-us": { "role": { "documentation": "This item is intended to be populated, by the entity, with Members identifying each supply commitment about which information required or determined to be disclosed is being provided. If only one such commitment exists, this item may be used to capture such information; if multiple commitments exist, this item is the dimensional default, which will aggregate such information, as appropriate.", "label": "Supply Commitment Arrangement [Domain]", "terseLabel": "Supply Commitment Arrangement [Domain]" } } }, "localname": "SupplyCommitmentArrangementMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SupplyCommitmentAxis": { "auth_ref": [ "r15", "r461", "r474" ], "lang": { "en-us": { "role": { "documentation": "Information by arrangements in which the entity has committed resources to supply goods or services to a customer.", "label": "Supply Commitment [Axis]", "terseLabel": "Supply Commitment [Axis]" } } }, "localname": "SupplyCommitmentAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SupplyCommitmentMember": { "auth_ref": [ "r15", "r461", "r474" ], "lang": { "en-us": { "role": { "documentation": "Supply arrangement in which the entity has agreed to commit resources to supply goods or services to a customer. Excludes long-term commitments.", "label": "Supply Commitment [Member]", "terseLabel": "Supply Commitment" } } }, "localname": "SupplyCommitmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SupplyCommitmentTableTextBlock": { "auth_ref": [ "r15" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of arrangements in which the entity has committed resources to supply goods or services to a customer. May include identification of the goods or services to be furnished, identity of the purchasing party, pricing, effects on pricing for failing to deliver the [minimum] quantities required to be furnished, cancellation rights, and termination provisions.", "label": "Supply Commitment [Table Text Block]", "terseLabel": "Schedule of Supply and Service Commitments" } } }, "localname": "SupplyCommitmentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_UnbilledReceivablesCurrent": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NotesReceivableGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.", "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled receivables" } } }, "localname": "UnbilledReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsUnaudited", "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r135", "r136", "r137", "r138", "r145", "r146", "r147" ], "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.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_VariableLeaseCost": { "auth_ref": [ "r418", "r425" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Variable Lease, Cost", "terseLabel": "Variable lease cost" } } }, "localname": "VariableLeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_VestingAxis": { "auth_ref": [ "r367" ], "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.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VestingDomain": { "auth_ref": [ "r367" ], "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.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r116", "r123" ], "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": "Weighted average common stock shares used in computing net income (loss) per share, diluted (shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r115", "r123" ], "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted average common stock shares used in computing net income (loss) per share, basic (shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperationsUnaudited" ], "xbrltype": "sharesItemType" } }, "unitCount": 9 } }, "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": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760" }, "r10": { "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" }, "r100": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r101": { "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" }, "r102": { "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" }, "r103": { "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" }, "r104": { "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" }, "r105": { "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" }, "r106": { "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" }, "r107": { "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" }, "r108": { "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" }, "r109": { "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" }, "r11": { "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" }, "r110": { "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" }, "r111": { "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" }, "r112": { "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" }, "r113": { "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" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.M.Q2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=122038215&loc=d3e31137-122693" }, "r115": { "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" }, "r116": { "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" }, "r117": { "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" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1278-109256" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "55", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e2626-109256" }, "r12": { "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" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256" }, "r121": { "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" }, "r122": { "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" }, "r123": { "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" }, "r124": { "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" }, "r125": { "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" }, "r126": { "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" }, "r127": { "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" }, "r128": { "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" }, "r129": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r13": { "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" }, "r130": { "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" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r135": { "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" }, "r136": { "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" }, "r137": { "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" }, "r138": { "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" }, "r139": { "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" }, "r14": { "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" }, "r140": { "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" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r142": { "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" }, "r143": { "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" }, "r144": { "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" }, "r145": { "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" }, "r146": { "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" }, "r147": { "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" }, "r148": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "http://asc.fasb.org/topic&trid=2134479" }, "r149": { "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" }, "r15": { "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" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8672-108599" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "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" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r162": { "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" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8813-108599" }, "r166": { "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" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599" }, "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": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r178": { "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" }, "r179": { "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" }, "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": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r181": { "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" }, "r182": { "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" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8475-108599" }, "r187": { "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" }, "r188": { "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" }, "r189": { "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" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(a)(2))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "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" }, "r191": { "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" }, "r192": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "11B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524" }, "r197": { "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" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5111-111524" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953401-111524" }, "r2": { "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" }, "r20": { "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" }, "r200": { "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" }, "r201": { "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" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r203": { "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" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27198-111563" }, "r207": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "320", "URI": "http://asc.fasb.org/topic&trid=2196928" }, "r208": { "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" }, "r209": { "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" }, "r21": { "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" }, "r210": { "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" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "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", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447" }, "r217": { "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" }, "r218": { "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" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919269-210447" }, "r22": { "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" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919272-210447" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919230-210447" }, "r222": { "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" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255953&loc=SL82919236-210447" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124267575&loc=SL82921835-210448" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "79", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124267575&loc=SL82922352-210448" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "80", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124267575&loc=SL82922355-210448" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "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": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(g)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124269663&loc=SL82922900-210455" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "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", "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": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "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": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "410", "URI": "http://asc.fasb.org/extlink&oid=6392692&loc=d3e7535-110849" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r249": { "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" }, "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": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "15", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123389529&loc=d3e10037-110241" }, "r258": { "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" }, "r259": { "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" }, "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": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=123408193&loc=d3e13051-110250" }, "r261": { "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" }, "r262": { "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" }, "r263": { "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" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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" }, "r27": { "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" }, "r270": { "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" }, "r271": { "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" }, "r272": { "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" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r274": { "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" }, "r275": { "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" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466302&loc=d3e4852-112606" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r28": { "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" }, "r280": { "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "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" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r29": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "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" }, "r293": { "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" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r295": { "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" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r3": { "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" }, "r30": { "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" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496171-112644" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496180-112644" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496189-112644" }, "r308": { "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" }, "r309": { "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" }, "r31": { "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" }, "r310": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045" }, "r317": { "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" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r32": { "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" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r323": { "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" }, "r324": { "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" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130558-203045" }, "r327": { "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" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130543-203045" }, "r329": { "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" }, "r33": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130550-203045" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r34": { "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" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(i)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123338486&loc=SL49131195-203048" }, "r341": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r35": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r36": { "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" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r37": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r377": { "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" }, "r378": { "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" }, "r379": { "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" }, "r38": { "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" }, "r380": { "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" }, "r381": { "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" }, "r382": { "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" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "808", "URI": "http://asc.fasb.org/extlink&oid=6931272&loc=SL5834143-161434" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "15", "Topic": "815", "URI": "http://asc.fasb.org/subtopic&trid=2229187" }, "r389": { "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" }, "r39": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "820", "URI": "http://asc.fasb.org/topic&trid=2155941" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "r4": { "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" }, "r40": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918638-209977" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977" }, "r412": { "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" }, "r413": { "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" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918673-209980" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r416": { "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" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r42": { "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" }, "r420": { "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" }, "r421": { "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" }, "r422": { "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" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r424": { "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" }, "r425": { "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" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "845", "URI": "http://asc.fasb.org/extlink&oid=123385986&loc=d3e32049-108421" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r429": { "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" }, "r43": { "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" }, "r430": { "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" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r432": { "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" }, "r433": { "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" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864" }, "r435": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "850", "URI": "http://asc.fasb.org/topic&trid=2122745" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662" }, "r44": { "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" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "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" }, "r45": { "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" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=123371682&loc=d3e55415-109406" }, "r451": { "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" }, "r452": { "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" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-10(a)(32))", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123726172&loc=d3e511914-122862" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-10(c)(3)(ii)(A))", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123726172&loc=d3e511914-122862" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-10(c)(7)(ii))", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123726172&loc=d3e511914-122862" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=SL6806780-109447" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "820", "Topic": "940", "URI": "http://asc.fasb.org/extlink&oid=35710923&loc=d3e45360-110995" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(1)(a))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r459": { "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" }, "r46": { "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" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r467": { "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" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r469": { "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" }, "r47": { "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" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "3A", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(a)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=SL120269850-112803" }, "r471": { "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" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(5))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r473": { "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" }, "r474": { "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" }, "r475": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(2))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r476": { "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" }, "r477": { "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" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r479": { "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" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r480": { "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" }, "r481": { "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" }, "r482": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.15(a))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r484": { "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" }, "r485": { "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" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "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" }, "r49": { "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" }, "r490": { "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" }, "r491": { "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" }, "r492": { "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" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(c)", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=99383244&loc=d3e12121-115841" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07.1(c))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401555&loc=SL114874292-224272" }, "r5": { "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" }, "r50": { "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" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column B))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=122147990&loc=d3e611197-123010" }, "r501": { "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" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=120413173&loc=SL6242262-115580" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=120413173&loc=SL116631458-115580" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=120413209&loc=SL6242269-115581" }, "r505": { "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" }, "r506": { "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" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.8,17)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r510": { "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" }, "r511": { "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" }, "r512": { "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" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 5))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r517": { "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" }, "r518": { "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" }, "r519": { "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" }, "r52": { "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" }, "r520": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r521": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r522": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a" }, "r523": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r524": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r525": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402" }, "r526": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)" }, "r527": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)" }, "r528": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(3)" }, "r529": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(4)" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313" }, "r530": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(5)" }, "r531": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)(i)" }, "r532": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)(ii)" }, "r533": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(i)" }, "r534": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(ii)" }, "r535": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(iii)" }, "r536": { "Name": "Regulation S-K (SK)", "Number": "229", "Publisher": "SEC", "Section": "1402", "Subsection": "Instruction 5" }, "r537": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1404" }, "r538": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1405", "Subparagraph": "(1)" }, "r539": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1405", "Subparagraph": "(2)" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226049-175313" }, "r540": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1405" }, "r541": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(1)" }, "r542": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(2)" }, "r543": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(3)" }, "r544": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(4)" }, "r545": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(5)" }, "r546": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1406" }, "r547": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r548": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313" }, "r56": { "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" }, "r57": { "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" }, "r58": { "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" }, "r59": { "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" }, "r6": { "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" }, "r60": { "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" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r62": { "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" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1(e))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r65": { "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" }, "r66": { "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" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7(b))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r68": { "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" }, "r69": { "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" }, "r7": { "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" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585" }, "r71": { "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" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" }, "r73": { "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" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585" }, "r75": { "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" }, "r76": { "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" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585" }, "r78": { "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" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6812-107765" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585" }, "r81": { "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" }, "r82": { "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" }, "r83": { "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" }, "r84": { "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" }, "r85": { "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" }, "r86": { "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" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4304-108586" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4313-108586" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4332-108586" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6812-107765" }, "r90": { "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" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18726-107790" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(d))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(e)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r94": { "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" }, "r95": { "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" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(k)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(2)(ii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r99": { "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" } }, "version": "2.1" } ZIP 85 0001200375-21-000038-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001200375-21-000038-xbrl.zip M4$L#!!0 ( (J#!E.>_N%YBH0" $0I'P 1 8V1X>MWNMEIU#Y.2N]EF4P6[J&.$";+_PI59D9J01 MUD!+P@9^_8T4@XW+51X*)#U">$#2,^K9.R-V9$9&_O1_3ON]UGL:C;O#P;\> MR(?B0>O_//GI_VFW_^?GG1>M]6$ZZ=-@TGHZ(IQ0;GWH3@Y;;S*-W[7*:-AO MO1F.WG7?8[L]/>;I\/ALU'U[.&DIH>1G&T>/=;(E%A?;MGC1!J-<&U/*[1@E M1!-SAA+\=?\/!^'&O.WCWKP>'D\GQXT>//GSX\/ TCGH/AZ.W MCY00^E'=''%,#RYW/QFWWR(>7Q]1U]N>%2_85O(MI97AYS^[A(?]/00 M&4)X--UZM>MX-/G]F?G#+YRU>_I'=RWUH^Z STH5JNN;&'>_= O\'>6C_]EZ ML9L.J8_M[F \P4&Z_K9I>#*8C,ZNCYQ>94SIX=OA^T>7&Z?W=GU /AW?N$X: M9CKMCOEW?[JCL%I\_ J3-I_LQOY7)__X#1Y-1C@8E^&HCQ,F8_V"IBW\IP^8 M[ZK[)QA^_JVZXR$HZ?[LB(L]/KG1+^_\M;M4;66OF3,9_>$5PR/>>KGC'S.E MLO;3[YR[-X&Y/)E]=+'Q:M=,W2\#R!L^@O>XAX.W_WI @_:KW0?<0@CSDY_Z M-,%6/;1-_SGIOO_7@Z?#P83;?7OO[)@?9[IX]Z\'$SJ=/)K>WJ,G_^M__:^? M)MU)CYY4,K2O0/_IT<6'/SVZ.'4#X8# MXAOHGCZN.]+HXF4W9QI,7_+V#AN?43==7/]TLD/E7P^Z0"E%IP0H$FM\)_V1R(.L%\O3=W'&P.^O[.G_'5&V-L<,&O_+YT]:'4S MGSKKUV=Q??C^A=IYOZ^W3O+1QON#Y^%H^VA#=M0KU7FSK[?7-\76^:_GG?6= M[M;S7XX.WORJMLZW3CM[/_>WUWN]%[K3VS\?\OO;YYOG_>>[>]OO]AZVA?[[^I]_[KY3&O^5IF<+ WU/M[K^2^>J4[1QNB M\X;OL5_OL7.T_>97Z!RMG76.\N'!WKX\>.;/7NQM3+9VQ>F+/;Z?\W>_:0,. M$AOH7*)I@S.J'82Q;>=- .4Q6Z\?/!%L=VI+<^:G1SJVGO7P M[0K:KT%[_A':M=]B$DX9[]LFI,*P)FI']JAM9)^=A/8*LWGPI&!O3#-$]$J' M/.N.$_;V"4?/^)/Q"MNO82L^Q599H;+PKAV4J<+*AG: Z-I UAFG75'1/GA2 MG__BW6,?+7'OZH[A_9" M&_'1IY/'F8.&/I_Q,./9IZ _/1F-;C3GC4%>YWU7F'\-<_4IYA(8;*M+.WN/ M;0@F,>8)VU)QE*1+0(3RX(E4C_1WM>B8 PD34T3B*P!YZX.TF121* G,;YM? M1+MJ_,?Y9#0%_ KMRW#I\0Z]I\$)[7#TT1UT!V^YH4\/9;F^'7O=MU,UO7%Z M3(G#S+UNGW?9+KO\Z;A@JMLN+(.<+T/..T]#/_6?#;:/=@X9[7[GS>:'SOD: M;!WQN=\\.V0$&:W-L_WS-<6_Y?;>OGJA=P[W^Z>][7ZGNW74>;=UWND>K/_Z MX6!]IW?P?)\1?G?:.=\2G?[!X=:;'=ZVIJ^.X6N='*A7=E]MGFVI7\^W%+-J M_6=FUNMW?$]J>V]#\_U6)IX>//_EW=9Z+A?LF++DPV\F%-*&@TK46&6:$&V4 M$MJD1,I"\>:2'SRQWT./1 $"9HC2%- J^NRRB<7ZJ/E?*5^AQQDW]Q4[YLF. M\VMV8-!2!"?:68-H0]*JC9%RFP4!9BS(=KX:D.]A1TY:>E0FZ>P 0XDVYJ)) M:,MO9)8K=BPX.^0U.Z0@K6UQ;9?J:P5BIC3FS MH_N)VA 8A)$^MQ&)U88/_ IR:BL9)0 1)!G14#L@8'\!)1)5! M))]<7OF3!6?'1[41)*3D',O+;LKCP+9QQ0)S#:G%:W4QD)RXJ/:P"*\TT*UR;#& .EE.T;E MVU%E9<$$#CW%]ZD- 25 UIBL1< D(P%'QI:9%JT!A2NUL=CL./M$;41M(UK+ M\0DIX.A5%B:&H'8R 14WV*<2)$4(SP=_H3XT':4H*V64-RP8L@E#,L M0CP:\"MV+#H[Y">12C0B!M_6@*PVLE'L671N"TP",YN.*+Y7;3C-7J08J;T& M"!(CH&3[(;U-S,6,*[6QD)SXJ#82:N$(=-ODH)D3Z-N8E6@[EQW%&G5&_P6U M\>AFWLJ("HV(L1I_(=VF)H$]'D^3L)@TK6E2V./)V3&C/^[VCWLU=VGZV>&H MCZ;MITM3C2Z)>$.)'AO6N3D33])FK M=]U3.DCXY"I) M3LBKXSYNN[[-_,FNMEWSDFYNN7I_=9%'-Q[4U7E.!MV+AS8^1'ZHUX^A3S@^ M&=&3R\M/-UZ=XFK;U?MZCB_BD$U)43DI0K80 #RIY$V.6F%0R:I+@^&%6H#' M?Y%<-[E\HKXMU/6)+K=\YQ,]F;+YYB.[S,=[_&IW_;N?IHC M:7Y-.F-DP?V)^%^UI?LK/[WN:-YY LH$TLJ7"Y" ['P))?E>('XU5="%/ M^,:U7*PG(-I2M;7\ZWQBO[=;F^+UU\O=]WQ;G^XZM=HX&8Y^D'J_.[Y^N$Z# M(7OA+YWV6PW$C5,\NGGW7V.^1 &B:"]]<5 *![,"*$H55#3!&'-ISV&&]OSR M:]/;FMIS\3;SQ4Z/>]W4G6Q1/_(EW7B2>CT>3QR]'PWR2)MNC71J][R9: M.^VRP:TN\&K3+O9H?''P3X^^>,[KAW5]Z1_P+# +SW(#01T9M0C<4,$ "N-U M(84N(EC%X%X@**X0%"L$_PQ!\>T(BEM#L.BL=48PMO8O9>%5,=GD9,FS:RYN(!@="_Y2<@*7H43!@9NT$*V$$, G==D&Y:H-?EL;_%8$;Z\- M^J@ 65)G;0&TT2%XXRRRH$Y%:I&:[P=W:$PX2H?(#XG>4V]X7,][V5^PC([1 MD$F&I(N!VR*J'(5.$#PH8XTEI.8[QGE".A=/:5.(RD29C !(&KTT!)0-RU4R M6E+S/>6<6^GL76;WQBCJ=/A.8@IT0F. M1"][/?7=]_E]K\6]&NW:G=1)0GS,QG].ZLS<8?]X.."WXPOS>[4;?]X?#G8G MP_3N]NWMS>Y8_<.=D3>[!!PY\.20G2&0=]%1 )3>^EPP2+0[J4)Z$)@B9B$XW!)1WZ3G#8B$NE8Y\0L'Z S!NCMR8ZME8D5/3@E@_2]A#(1"@ZE50,L.@.04-!8Y5)'#J"7AIHYJ2S;PDFS);C M^E)D\*QB.-B/)DJ5R87"-I+1B M@%B$3I+>!'QP6S1XH"@Z\A,L&%?N@ M&-'/#I]Y/0%?O C%%"27 7WAN$1YQR:^D-?@50.&TQ?)V,]_V"1AS&3!(Y$! MPYK*&8XQ$91S$4M>0D#GTY,P%W!#0*;HE@_<&?8$TQ7L6$D!N0 MQ;U(IF[^.=R&I,E6.547U#'55&R@FQM*2J#%($CU"HYJ3@9=7#3$3L9 MEL!'SDAERG!K[E%:ZT*2'*0Z=H9.ANR#,RZQOU3)70PU+ 4TS&C%6)A8D#J@P+"AT<1&M$!P7 MY-GA,Z\GD(C5M0630Z' MW S?TWCR$=]//R7J8/_3V<];PQZEDQZ.UL9COD:O2^/-0?H*U-_/M*<]'(^W MR]3TWV39+H-%X[67TS*'(\I-&E14F*(3M92P42!JT0JK$LG"$5I,3N"E3; + M;!-6-/I+%LO.?O9^\.B-DUH LGZ,$8+5*4<9G2=25[G6L*):PZEV,Q,<;L=B M,5NB#$E[#JS &PP)11V#8:4J8@KY\QE,*QHUG49_87X5W)+%O1OPM[D<#=UIV6;;XM3E\%5]YSRT^%XPJQZ-3@>#=]3?CD:,AX3IM/&:>J= M9,K/1L/^6G_(GYU/2XK_?':YS]GVB%\=49I\0 M -8:Q%Q63&JT=9H+IS0X#"4B1VT.2.D0I _2Q&"]DBFI!GB\Q;00ZW*/&KE+ULKG4]7EG!62J]-BJST M#4654 EIDG>U8ZL)UG>:/W"%Z7,:OF78#NN@V06>=?/:=/E?7-(^T+F8]UIT MPX08=33(!@&"2]JR)%-9B\0!XXHX3;(]\RFMK:2*2B(47R"9&)6.SCIO/ "2 M$?>*0LU$,'NG6?9$1FI5F:LHCN A+GWBC7NFJ\+6R!O':0=(S6QH+*>R<-A-24GL7%\![S MB3U\DLI9LNPX0.J,-9TG)%(Y6O8C31FY^A,$KQKNQM;&VG)ZC[G(#E>7?590 MC$$'I42?2"-%D<"(^F)%G"9YC_GD?BFI$0@E>PB./U0LJBYSD+0*&@PL0>SQ M'11J)(+%:>LM*K1%@TV-]-IZ;;Q5Q:@KP;K(-2X7E$(SU:RS+Z/I M)+#UT<(4B:!5"#Y$;5G!%F<<7!="7!&G$;9G/O5UL2M7%"%T\JVVC"$BCHA6'2O5%&B@Q8 M+-K4U>1L S,K$1>B&P#$ZCY#FYA.+7D4JF6C,J620-89S%0S %J:H%&IW,0 M?L6D1ENGN7 J> C*H2TF:U NAQ*4=5:SE@+GI6R QUM,"S$77V-KMHCP==#8 M0Q'22V7($__UH2X.OV1HWAL-$9(E!"% 0\T9B8%_)VE5((T8I6Z Y5_,5CH7 MFPO9,WZE)+:V8*6),CM,*D3^D3:;)4/SWOA2;Y15)A55M3X:Q;Y4DC+(+ZP7 MY!M@?1=TJMF2N^V =:!%>(\Q@#48?0G:.QN-,C%3$Q9B75#BW!N%4!<^U"9[ M2#H >8%@J%:+%4E0\@GO%84:B6!RL5B4A4A&D-+Y(*2+(5%2I(1N@BI84".P MY')2J6Q"UE[FJ $"LHXTW@5-I1BOKJ<(K(C3".\QGYY%&[(1@4P.$HP6'GR( MRD&=\IJN5H*_+Q1J)H+>:$7%&E(2=,80B'+.A>..9(03S??_RS]'<3[#4T% M#*7Z# N.&SXEZ3T(C\G8(,**.$WR'O-1KIB24T;6F*,FGV(PA!YEYJ#$*M64 M4?/%F*,X%P1-CHR?2AEM8/]/F"/6!8\ %20L35A^?$&-P)+''M8)R;PA]A0( MPJ%WUBK+!*(<2>"*.(WR'G.A4)G6T I&%Z79YN3 D07CYD<1"WBO:)0(Q%T M017EDG':),@FH\Y*D)%D@C]F:PX)_YD*(**%$6!U08U6(H^,7NR]64)1EMG.,-]]O#E[),Q=<)R MBN HH,_*!*VU4ZA,4>,@H&#::$T*P:'S.BW!(-F] M<1ISFFT6I"Q9ZP@<=J@0,D7G8V I@A"N%^*]!_QI)'R1HT-A8HI($@20MSY( MFTD1B9+ _+:YR*[^5N<(3LZ.*?]QJ[_,F=^A/G8'W<';ES0JPU$?!XFV8Z_[ M%B>\^\;I,:4)Y;UNGW?9+KO\Z;A@JMMVKP"]N,N?[N;$#_.PGN=26K@IH>[V M2M?/]9,'^$.MH3M@SO.^OU=%5UM^I"N= KNU#%&: EI%GUTVL5@?-?\K947P MYA)<75G,^TSPG+3T+/"3S@[JVHHVYJ))U!5]BLQR1?#F$ERO"%XKQH., ,8: M?I6,]J#J:J$E$.L3JU<6O,$$AQ7!:SU[M"X4(X(G0- 1LW3&)100%0BZ#P1? M%"Q0DG.^&&)3 X9BE R'3E$&[UVFYGK36Y@(O'369Q4@U0#)(T@R;':4 S+& M!W 24640R2>75XQ?(L:O(J::H.D5BTA6DTX1J#HOI% RUM?E#Z77:<7X)6+\ M*H2J265&F)"3SUY;D&SQ!;*\*1(DRQVMFJLP5XQ?Q51?9+S4 9F'S@DL;.-3 MH"ACR5&3+RY8?2\9ORC@""@!LL9D+=:R&Y'#7HTV4HK6@,)Y@[-T)F$5Z-1 M)RMKLB["1X"22O0QF"1$M![ %;MBW2K8N'W6&0_2EA*TS1J2"UX$H9SA&,2C M ;]BW4KPW\68B69G6HS4ODY@EQ@!)=L[Z6U2@O+*PZY$]QVP#ISW.5D%)BE0 MQJ 5:#0%%M^.1=Y5 OHB+Y%U!=\:GR%W>R>3[GO:I70RZDZZ--XX3;V33/G9 M:-A_.NP?GTRF,&Z7#1Q5D,>,\NXACNCGLR^?X.;TE=W),+VKY^&K3T_TLH># MNT]-GOWB6TH67XR2F4H$5F'HHH2A\5QI"MT4&0R*5!CO^R MY9UM?QA0[@PG.X3<*,^V(H M4C:BL 23&4K(47A5T%HR+,K Y :)]>;!/7L)7G*4%H4(4@5@&+P-W@F9LU6* M0[8%GAK6')3OIO,W0T+C,Q$5*%DP;%!$ J.M!DH7V1[\O+5< 7<+P(FV5&TM M;P&X(&U0J=8LUQDHFN"%!I%--M[89!>G0QR4]+4!9;",92BY &8'!@)O#4 P2H?%GE.S#T M)PE(JKI-UDK@3$3G4K(Q)1/@U.+SY0E!JVB1]B[Y: F+8F=)B)*\S4%'7MH:<\2!MDI1C3 ,22:*%V,PE, 751:OGZ^:X,Y'+RGT:3+&]8ISJ#JW^Q[ M]8H+3CA=^V\SQ)R0.*(@:U7DJ!.B6;Y>O;F!._L^//+.8+(I)H&@ T0 D3 4 M;4M4 +1\XV_S 7U%>0%[APP=7#?CD:\O>=G-5< MK0DC4U&93N?[^6SO[/C308X7&(N6=2QD,1^:8P>N0@Y&2$71+TI:N=GY!.*;#82]O M]H]'P_?3PJ]-&5T0*AD-IGB7!615ZJ"AU]&#T! TF25I4/.#ZO9:E?$I"%]4 M@,("W1,6-GY EG%##K_"DK6JBS1F&C7-14E6<-%2T3 M+EF+FBU,MZCWE D"C2MU62-KI(^*7W.D*WS46<.2M*:IDM@NI9OH>COO^^QD M-.A.3D9-J?'@P4SK*;$V%V!C"%(#OU22K DIP9(TJKFB=7MMBP-:DB:@R87] M4I!1UK MIL1_0YU*YTUIP-C9HF-U>^TJ>BVR=@Q&+."D8!_FT!JK1/::8-II)(, I186 M*\:H@_U/S=U:O>>[F5_V$009:I>Z4K?18&I177 ^%6$A(* *C(I-% LFZ^$2 MA$4V;G,$X<>MU@F[P"D"@Y-Z+]+:,GNJ2UR60;0".M5[;#@[>7N)7WVYU!]W^2?^V M4NJ^Q)#.M$#(Y*1V-BX[25PA::V(F8-QD,R+G)%D(B5#XG>I 23Y RBOU['M M'_>&9_1I3JU*]I/.D.WGY6&6):1 +'E#\M#W%Q M:F\X4C$N091Z0^ W&&&C;JU%MT4RE<<>(UW=E^M M+--=T,DG!1@Q2NO5N M?]>_,@T4/]GANWM98M"J3M P+,\K.T.)(9/645CKT#5@_/H/Z/E),6%5PB7HTKD7,)++ MV:,H&$ "HO?:HN-7VH&O20"+[^F_/$2FY,O;4YU+)B:"(ZN=1",+ 6GC9;(E M2*]2L2&;N:],L'@:X@\X)E[^O-T0S%%9IPJ)6(C]O5;1 "7,9$%HRP+@$G.] MN+DC"X/Y[JNU06;D[WH,OJ*O;R<;I0Z-JU!G+N4$P>2@HD7PY-C@>Z+?J;X5 M#6Z5!OV$WT0#YVW\!9\42:)$*GH%]B*!5RQBVU@LJLC 5,'9.'9Q:XX](X68(\B8(I0L M8S32:!*R,,=2^%TE@!4-;I4&S7?LWU?BX+9L%A32/FAKB@'M,P9-WF0*=2@L M 39(CJX\[8S,Y_SEJ( <$E@7G<[ 3/(R*F(#G4C>I3OYP*@8$$\$+C890"ZU0)A^+:U(^\<(#/)?1#$N&8Q\#%K$N M-TA>665$"KG.%08I&E08:^$!GL_",UG:F#V'NB9 -@H%1BT)BG>R(,=0Y^-&R*4X77(HT8"$9?/0BP'U7'PU.;;FSES]O+Z67],$D#NQC?0+(^7G#&:\TD^B75Q:"()@D")X*V"[%)=U@F06^WR^,K9M\W9 M>\Q<_+96.MDK=98FHG#C"*"NUD'*E.P2GAM'()0+K*R"")IHX06 M6J&"A1QS2,$:+8RI%5-,,0WH-ULB#4ZCD6'Y,=L]B;VZ-'M# %-:%PF@DI 9HM#HP1#+2O2N%"OU)6"P MO+9Q5H#!;:T7.2PC&M '[ VG7^K+RQM<[+I==BYVO>@N_FZ="F2#%05%B@8< MB&!L]DED)@:027'QE]3]N.#&4QS70@#U5UU7]SWV^$SC+W]ZROL>O+&RX 8*8$FC<'[F(LQS@6.)M7BBIZ&0G>;8XI6.8[VR9?$ MT:'U0:F25)8A6"?< H\IWJCG^9R&;T=X?-A-V/O4WN+@*8YZ0\:OQY<9C@9= M; @P4A8.&4A$+05(Y[V2.E,M,6DRFC3MB9%N%L[RNYZ ='_%^WR6T9RBLRB- MSAS^&I9W"A$*KLJ*@G=9!);ADSF(\KIO,^?0)_)45W_D;IUA28%T)61*: M$&)@I6DD1IGQDCEPQ9S%:$2?,^<;.^\_;W%_92Z(*3&AB9:$9.809B&%*FR& MK/:EX.)6IK\U@7[E,.[:2]Q2T5DO<\HA<_K-YO]X]'P_50'_.72FO>5 M2#I@9.^@2/L,TVFU)2<)QC"3$MJT9$1:&X]I\FJ0ZX@0/[312;JU9:+O(WF\ M#R)H"PH%_W/1:V%340IE01:K#2@BW #HYE]V5XI,HGC PC&)!0[S4RZ9"@.> M4.G2 )Q7UF+A*7?=!3FBX^&HEO2NGWRYZ_%ZEYHU_-U=CBBD30C1JY1 R1!0 M4LPE"C0DK%W@%=<:P)T[Z15QKB1PMM2*A! TUJG-)2,6=,:B=HN+V'45NI/C MX][9TV&_WYW40S^K4??9UK]J8RZ&]MZ.:*J.:R/\=,CO>-3M<0!I&P*^% =^40F%:]3$$YHWX#%\A8(_%TZGDR/J L&-(0 (+/*T5I!$"&X$L%D MJ\@4J8T#%/>, (L"2T2R0CGE,!KPZ()0'$S6REJ*2,-5A^,"P_)T1+D[>8:I MV[N9.[A'H_Z+X=VN050[\&[+/=I:#8N2SF2 O:+W!8(0QL22I->AF4A\'*1[ M/^R]9[%W&8!-T<0F$L,H$B$;7! B0)*.0,H:+BH\7V+1G!=(/=$I_^C"^ MTBE]2RG)F%4@;8.F@*"R0QD+6,HQ)1U(ECD\MP:9F?GCIS/*4#/JK"8@5U!H MZW76PL280VDZ?C,W3O-'U!H*"H1-=&B0>K2^.>S#DY.1K1=/G[\&<";@TS] 5_XHK;X\Q,@IF2XNL0&U)/R MTF6P6F,,/C@%ML2B9&K2DED[-.WG>,EU,ZZ7@_C M<#3%ZWI]EJMXZ#:Z[YX.3_@1CX[KG7RV$-O6L$?II(>CVGG8CSTFV>8@+>.4 M+R1EA2 R+E3Y7U '%8PO-K!M\*))2T:LF+50L]$DVRP17(Z^SJ0P$3.[&&?K M$G!&V4:M K=BUD)5 '/>E1B"(L]*)B8,'%^($I+QII;+# VJ&;5BUD+5KTHI MRZ@@,9\$2!31\]\8#2HE3,IZI;,6@%G?_ BN$XR?]G \WB[3"D6?+RLTXFNN MO1Q1H1''?M-=EE'G20_)F9*-R FR<.BPE@/+4-?[H]2D)3M7S%Y@9L]!9UJL MBU;:E'T"*0R2*4IX:U$+&:U?ZAF=%H&B3ZE) M:VRLF+W S)Z]S@ZB3@)BYA;MZ\I-7LD4^1<9UB0JE$MFVY4:63'[KS#;SER- M.$=:*)?(*P-&2J_K7"Y1%[ARS..PN,,K"]()<#?S,3G.4=98+,H#*(PB)+(% M!(HD2./B3D]?/%1N;^9Y\=J )QWJ4*0O$JTA5)EECQ19B":LAUKAV>M.>K1= M-@>Y^[Z;3Z[F,-=-Z]T1IERX]4YOGGZ4DWN]=%E&Z.'NE &C#45.GT(( M[WTWW5B)X&+3+O;H5F9VU^E[PUXW3R/H38XX/ROAL\UP8DW_VKWX!LNYEID! M)<@ZDT7AF 813)1&!793Q5(CUKR^Y[29BTAF>KA:&L1&RXQ)WJOBE<%:+B0( M_JSYUN:J2VU:Q>L]]8;3"<$[_')P\K4TST;R:"[F1[#;DC9"+D6"CSDXF2DK MQ]+(9DNE^>;GWO%H+O8H2&G(0\*<#,MKB&R.ZOHA6C@#1ML&V*/?]7[_?#+N M#F@\OL+M$U(]'8[H\N-EI-!<3!%'YY -QV4664KG$CW) *B]LTX)TX2U1NX" MRUOE[<_=X>20KW],)Y-N^C8&-Y),*:(BKPT3BOU:EFA !U>>9..22T(9%PN 3B%DG7QP MF#TZHT,#*+3R+8M")F/0!/)4(A7(: ,6TDZ'Z M%;9JP_/S*,'PL[$S:0,E M"5+F@"5FQ3CFNJ$G6&@R56?2(XLK+$2(X LPY!8LSU81!+1"6.3@6!-\%HW82KK/>\:G\_\@1*33S[' M* U8&5 DCR:GP/\HR";,)KSGM)E+P@@A&>T\6*T4AP@E:)>5CYYB1O8H39A0 MM>H)7P#S@QP&9(C1A9A!>PA%24U:).N*( W--S_WCD=SL4>>:E4FJ0KX#.AC ML,3\(2_0!4S.-L >K7J]YFN*@B^>E$TR&@2;5/">_P43D8D5K6D A5:]7HM" M)NEDME*XY&M";:[K>I8:E6FV2[Y(=T_)U$@L3;)%)LVJ-@4PJ42MK:R9:"BM MTM(V0*.L?,M\Y8DB4%IXE5SV$+4/9(3C4"D5X+>Q-(!"*]^R*&3*.20.E()/ M*H+ $*0*4.LBRBB*-.J>DJF16,H@BW,H6'P*2, 2(81<*G9%ZF3BDNB$N8RH MS$'UF5+JE.=0&$LVZ]$J#(7(%FND=TU0"HN)YGS*H5'1))#%'@A JFTTU/FY MF?6@,<8U9+1S"X^&HZLB[S5]WF0C@+QC;QND-BIGB"BI2=GS(CA/,D*(/FB3?!9-R:CZ*H6^-M&Y.2UFQ>4_ M[)?0&+U+1)ZH3FG"K*PSK#,2ED+@ET5CK+B\_!HCL"A.+(TM"H[]I, 21"1- MM<7E MY;?+$*.)L3B;I(5L%0(63((DI2@]F8;TL*ZXO%AM(8"/I%P4B2+F++.6RZ(Q5EQ> M?HV!T>A:F2X%4@!*AU@@)*>+2!E-8Y)U5EQ>+"[/16,(,CZ *R7DQ-H9@PX! M,"IO19$.FM"/L3 L^Z9&]>R^<'GV&D/':".2T 027"8LRB"+"[(VV9*:D/>V MXO)"4[ZU\."HRP0#(I M\$5[C=Y8@1<23+LL1^<\@M6DNIKG["C291]SW&WOV0RO-)WB6%NACEA4\@ MD)GL

%AK_>T7C9::Q4U;9NG*B"\QA(WU,3IBH2>7 6H,:0.-% M(-@J,6[."1C6".F++$$)$,8$RB9;#$''.@5S:1*6YS#0M[+&LZ.Q3E:[(((' MBI"-QH*RRM:+PP-/ZN$._&>E!_I:BPB2DJ45Q2$BC) M(*$6-,#LHS5$2Z.-YS D/))XL_5AZ-SAZ_ MVKU-U.YD?7 R*7%X;:)V&H2-6+25_*H(HQU9O[BKORX$$+>W["H_&9]40% 6 M0,>(DM5*2A:B#YD;R^*WB&\IU/.21F4XZB.;N(W!^5E_: M7#NQ\%7$.L/WU+M92JPIEL)I(52(:"A%(*)@HI$!HT;(,:JXN)9BQ8J[LQ60 M5;(D(=4T3V5C2#:QS>#X,?FBW#VS%8O25H%4<9B#==DQ*L[GF'6R2L:$1"K= MK[:Z*&U%*4 L,8," !M5$":Q/^7GYV4VTB]N6[EZ\L^Z ]90_.0_=F",7TX? MP$L<3]9//NMON-P=>VOC,4TZP\GE7@UI102U-"]Z7SMSK<9 Q<:,,@07&*0% MMFU_#:\;NVNQ-S1A'<_&S0)/6:^$R26&X"$D1*\C9>+&AY$?L[L7X%D&SS<0 MO&Q42C:P_PJ:?9E!DG7)#JUT#%!K(]X'\#;^'S$;&"'.T=XB"(YD$I M4^:HL1191 P'$&0L-%))TH!\ L<-C3)Z=VB2 %;(.B"Q5@H3J)R(6.IU<(< MU04UEQ2O.3J]V^RY*8$H4E"B &M_S[],9G7)RM\46-K&-D>G=WO@6912!64Q M0 &TV3O%<36Q\$RFUE2]%^#-T^G]()2/NJ>/1S0>GHP2C2_>'A+FZ?WD[OLG M/_%_5P6\'5E3G%>@^0]$$1/E6EK?B.(#_5:1_7C,>'+68PS[W4'[D+IO#R>/ M03UTYGCRSP_=/#E\S)'C__=@NNN3G\;'.'CR4QP]XA-.X>TZ/I>4;G+[]<''3CL_3ZP[HZDLP\?BV7W4V]S;6 M6[M[:WL;NS?O>0'O=G?CZ:N=S;W-C=W66F>]M?$_3_^]UGF^T7JZO;6UN;N[ MN=V9XU=0W_05WN#XD-O:9#CX1VO]X=.'+0Z/(/SA;?=Q]):)-QD>/]9\_D4! MXMGVSM;__B]IQ3]_XG8V& XZ)WT^4VI=-L<=*M/^KY2B4Z+6O0&+*7CG L;.OM]=]9WNUO-?C@[>_*JVSK=..WL_][?7 M>[T7NM/;/Q_R^]SK'+WN=\[?GG76M^HQ8O_HY^Z^>OVN<\1'[+WZ<'#TUAR\ M]J@?/#_H'1YMZZ\WK+A]WMG_4ZW6>/^MM/7_];JN_H?;/ M?^YNK>^_S\]?0_[W+[T#U7L?CXZ/.OW7[_C(_M91.CUX4^_QE^[VFU=B_PU? MY\VO9_M[!T=;SS<_='K^;&O]5_5;$<9;EWS;4<$V^%3:4V8+?-'O\9>>"+Y/G;%H[>M;8']/>KVYQ4IW-U%W$X M8JO=YIOIX?&8'E^]^&?NCH][>,8>87K.Z4'_O/Q"<3B9#/OU._WS/8TFW82] MRW8R;3(7FR\-=@@/O='59D_8.4SRU84OS?G#J3E_-,F_WP9L]^T?;A4/Y1]N M^[.S!OU0 'S3:1]-[_CBKOFYU*?WKP?ZP=4!QY@S&Y?'ZOBT)6^:BQZ5WSV: M?C?G'GT["=9&'$^U7@VZ:9BIM;7[1S9$?(T&%Q[SMBW'=&QYPD?SEV:9]3@. MA[V(O=YP$H>G7S(LOY[@B&UH[VR'CH>C22-MS+-N?/[*LDTQV\]?F?V]=+I_ MG@3O^^Y@_9W:7O_E\*#_ZVGGO,/G^?5#I[]Q>/FSUG_4/UC?TEMH4G?4UM?_:?WBQMS;9VA6G_/LWGT,) M4J>V#$&T.WL;>R\V&_M;+S9CP[(QS1X$O6X")$ MVKA(=6RD+?AAO7&Z=;[YFRU2D5:N;2'9-AAGVIB1HS'**8-RV2K[X,DO)P.Z M8*X6_VC5Y_V'3;LAS!R.5C)D)4/F*$/V1GS[W6D2>.-UR![;DS>=_M;YAN[L M/3MD-W:V?W[8WS_/AYV]>K^=PX/G6^+@^>]TR.G6T9K[9_OO/MU%CJ4Z3Z/A M4H? DNN0O9VUSNYF51N+)43"+,S]Y\'GG^N0R76CNQ(B933LMRZ>Q5__OS49 MWMJYOL6A+M 3?CKL][OCVB7=*EWVIX.3VBO\^/8EWD=+NC'M67[&5^M,+]9( M"_J7>HM.?[,Z*578 DIE31N2C.WH$-K>LM\K1- MU"D*:[EUF&J<,IUVQ_^XL*R;@_1P@1K"M]G7OVV<8II,&= :EM;H&OD6CEOC M8TIU^#"WNH-6=S)NI<-IO/WW)C?O/V[PC8G8_$.C]0^%;'^V33TT_L>._-.; MM0_!?UM\^>.!X 77?O?,A\>S[P6831@XKC,0CD?#][7AWNR!NC#A;(PNEUQF MZ32=K_#T8E)CM5F-M.B7,>$Y?_YF0W%X3L^YG3KO'>X76-%]_W-TX[_7UY M\&;G:/NSF+ 8GPM9U4X<];$8LJGM)<9VK<.J?)T<$5@,K5,//^"([CXHO# C M,Q]NFS+[LR#BA[[3TK?6SQOC'IYN7J;BI&F#;'!@,>MFN'G=#*U)%(1W;54R MQR002KN6I6]'G[0-/KNL](,G3K9Y'Q5"^-.&>-N^9C9M\LO\_=O4OK>&H]9T MMEGKZ&34'>=NFO9'L*CK?NH+IKN-WN*@>SY]__>5?6H PIL/=Q[N/FQM](][ MPS.&^*8Y:76&#__^'9UI7U+I,Q>_3K@?$;]*/'3@;EVF2O50^W#[I]4/I5)W M(M7-74AU8[[MT7[1?(8?-1@7KG^N8>2^BL_WRTU=\\WS__I=OI;YCM]=P_V-O0!V_V/U<%\N_ M-\W6\WVQ];Q>KU./5_M[[Z"C#GI;_#T.>C?$^>==/379Y&SKB-7'T>'A]CJ? M9YV?T]XO?,\[[_B<>FO]X-W^T>O#K6=>;._]RL]P[8RO*7F_#[^AI10]V+;U M.;6AL-@(+E([:%NLC4EJYQ\\44*T7M)@&,=I.&FMC[KO?R?Z_W'W'=27G'G* M+[='>\,/@Q5QYD2<)'^C!'4.MF>F.&J#C*7M4Z)VC,E+(]!8R@^>[%#^,!SF M5L5L!HSY[DZ#2TI-Y>3VZ"7OR=*QR;T%S>;56_C-Q"R=CK[M"P/&57R6 /NOCGZ3,KB7]ONR NF_;+(1N!WD'WN.'=@+-KV+]> M]S_4+@8="=L*/=MX<+;M/;=*&[( *4%K%1\\"< ?'_7PS=IYYFQ]ANCTDM2 MU3Z&XQ&[BNXQ]EIT2NEDPIJ(/^8 E<:K'H:%!Y(-0JM:A+_:B?!',]86*[2; MCA!^'./^[W%K0CTZ/AP.KO)+_E'[S'HG%;X6C@A;-3GP<>MO=VBFJR9WT J:0AC!<:U :-H>RE-FY]K#,@X48UL0$G^6/P. MG>_/?VB(^=AE)S?J3KI\QHN<"1I1;AV?C,8G-7EB,FSQ'M.^6:G^%O]>761- M%%Q+D\??]=UFVRW+"#X4%X+TNY,2]$,9_.UWH+J'SMQ^OZPV#QU\6PK%5T:* M+C&I*N4Q>_G6M,I9JQ+PGY>;:D;E9UN^6QK<31[PMZF#O>ZD-TT.VL!TV'K: MP_'X&]3//7@N(ZPW>RO/8G1QWJ5\3IW+W+(I?39.TR$.WO('@]:;PRY_LG-M M/K]G@/9/'NG5PQ'UT3SX46 :]8AWS_IQV/O;-X5:/TC&+S[5;P/IT@-]^6)+ M82!F-!GHHS"]E!]G4L6I>6ZD,+WHRIFF>NRMG1T?UVN_/N1S?M:5<\S7VC);Z[_TM]9?\762..CS[S>;?.^;9YWS+=BO MW_/-L_Y6SY_=R.BR4?E"JIV5A39 I+8OR;9%#!0!*)@D+^8>L)G:G0S3NW^T MCG'4>H^]$VK]OU.1).M4C];X\,=2OE9-XZZ:QJ5;OC")JW;Q#>UBX[I=4.2G M[57F=F%R&V0V[6!T:6L3:I40X'8#W"[6_V=W]I1?#HDTIVFCQ++K]Z-^5U[D M2I0U=K;'K%O,QZ1$0T($'63;(AEN,26T0_2B;9)VI#-J&9%#!0[].SC.^)_6 M\]XP8J^U2SU*DU8M7D.3KP\7?..\R#G-MM@6/&[]35[.$CW$\7167VYAK\>[U/G*M3_E/R?=VILR&;8B7>[ M9[[L4+F><3HM08XT?-&^N,TY;F;<.WDYW/1Y1HFD7KU07 MYYB6=1BW_L9GY@;4&I]P>#(^'-8I+U?S.B>'.)D>_;'_N/4!;][T=*+B].#+ MK_3W?[1PD%M_4Y]\[\AMD7>*1Y4&?-!T?SZRWL_ER:9UT*=W,KU='$]:05R< M(>/9^.$?3O&\Z\'$IR>C$=_;Q03SZFLG.#D9-])R_*5Y8OHW= ZS*:ZF?"#_ M)VP[.%3M)$4(P@BO:L+0/HT_;^)?FI([ZXH%ZF(XZ_]G[]V;VCJR]>&OHN), MG4FJM)B^7YSY444,\Z]9H?-FW:]"H0<"/33V*>D]9@D BK MVHAZW4Y6A=KGC9#4HO/&3M:0C*O=8V8^I^"P>-7_)+^1NA9'WTJ<%QJ\HO/,WYA8NCZ=[=-#T<_B7QAOZO MC\>H$_.=IWM$L,^.45]__T P0YYQD2@TQSGA:$%I3D 0PQS"7BLA"Z/.S*B% M5Q^>5Q.!F48[C3LTC'.)5WLFDV/FEE[6 &_]:R,M8;CUC?Y)(N1TE]Z%FI5X MYR1-PGDSJ[[ISTIP:$:FP^QU:G*DE0Q.FMWC6VM ML7;;'QMK=PYAK5)HU^X8P5K.%Q_O YA8(!<>T$FM?'W5,J\)7E=3)C//=-EU M(A:?TL+$.M:+3^A^N#F0=[];GWIAB^*7)=E]*NVB G3FL8_=WOEM@=]9N^N] M''U@);6.D07HP-']@]=X]]/1Y_WWN6+8'VE<.SFF&N^2'7)(#O'>UL>ONS?3_\=)3^?8=R;/;UBF&&,TVQ M"4 9UL L(9"DHP Y08A50:EL&.AO'$QRZ^J27YY:7$H_/%#_CB?Y _"B4,: M(T#1WYMI3NFNS4ZZ9&ZV7#VI=6O=,91 \E\!,R% MV/*'JOYK/$P%MSI&N\\50-N_SBTVQ>KIO%+ M6@N5&758!',*H^;=7J3#T*^-^?VQ6?QMGN55)N^YW%SX@Y'.)@TN $9< M,< M@95.0Q!8.R\]59+_E(&+:VD:!UP]F6FS-MZG__1Q$L?^LWIHY/;S:Z M8Q&MWXF+:PU)3[M#3>=%+^3PC2_A1HO2L<>N,[7?;9X.[OU*70M'X MMM:JPY_'O?'Q[&, VPOF,YB8QOK"M+^:\_[:OQZPI^NM)'5'G:U,K MU^X>Q(1S=)WKQ93JE6D\:WL(OFP<[1YU^42^3[8)K^?PH M=PG5-]OH]FSAOS9?;5>TLO=N]_?M-[?Y ZZIA'C8WOG'!:M^GAD\1Y&K)1GV M[YJP-P>-G?7&'SM[FWLO=S;_;*0ST_Z;W]0S M'J\_H(/E1[;L&!\R,LPL]X[#&4EG_E&9^'P4#6N-XUXV+/S/SX\/&"7UZ]+( M7540':8O_?*N8\Y\:Q#\K__^E[E^ZGF8!?R ?L6R(&98$"^[20'O9/]'>E5M MF%4 S>^FG=9):+P]#F'0O]>JN(?8;K$\5"G%=Q-8D>=([9%5@N3IBI'?" MCF!*@E=G_N-M.Y]+^/QO;_SVKBLH7J*Z( MC'F!ZLJ+44\)U9>F?]SXH]W]6O;2U9&L+ !==3$2DK,W!FDX@V[C#J3>9K0H M*%T9\>KY4+I:IDY23)TU6'8R';1V3<=\K,CBG_W&5JOOSOK]')^5L^(W.Z9] MWF]5._^873+]# .'\V?>A/Y9NQRT5U;^Y%GQ#BV\4X-UIW$5P)-C,*MPO(I( MTA_:%[]G'FIW^V<'&FU;_BEN:^(Y:]>-WTBO Q(HAN74P/>,?YO;WH(NQI9[VQ?_#_;;^Y&O,TWRHKT4\E M^NDI<2]&Z4SX9_B8SOG5OEG5*RT;YPH)C\UI[E\QUM@LM%&+E2?6-O+AO/&' M<8-NKS#&"LGM>3%&<3W48^'IM8UWG8F.HV]->Y@C/ P FNQ_D4_Q[_I5Z[V1 M4E+X987$_+SXI;@8:K'P,%G;V K1G+4'C7>GN;A Z+2ZO0E:*12R.I)\7A12 M' GU6'A\;6,W732I)C$DC63"*UFX8W5$^+RX@Q?NJ,7"4VL;^U5EOIW.L")5 MNDIAC=41WO-B#5%8HPX+C^"UC>UOQRW;*J';JR0SIF8AB_D+S!1$32T=MK;Q M-LV=&12U?;6DQGX8F'Q'H>Z?%!E[CG4AR=UU(:>OJ9AK)BR@F"1:OZV6Y,]F M["="G>5K#U777?\LDHE,5E_*__RX M.C#G-G$$X:>/V.A+(9I;#DL4]7YK(V M@YVJJDR]'^)*6:2:#W6GTS@X[IZE2_BT1+:_N7 Z:/R5#NE5^>?&YDEN:-"_ M?(XE5V>4ZTB*^U1G%&R="[+P.HJ8KPM\O_Z8/WZ/#XM0+GJP4DQ72W(I><]+ M+998;:L_7/_59IOKQS8N2L>LK_]./CRK-=+F&R8:@V\N-];Z8MI7%/:KN^)4#X\:*[":_S'7$_YVW413IT>[LV?*6=]? M:YB"K*%(4.T)PHQQK%APQ&H:J#,^N#AJF%(U.!HW3 $Z1;^4LSY\-.;T15YB MFQV?_[,]7E^;@Y>FU\LMP_[.+3LNVZ;01VZ;LOM2G[B3/SK[)^DS)X?\\.3O MS_NO_CA.WSG??_^:'9Z\:1T=.'+X_'YT>?=K_^2=\<'YY\:^]_>O=U M[^#SMZ.3W6_[!YMD?^LUWG^UP_?(?UI[!SO?]U_M?3KZY-.UMB^_D^YU=D3> MB;V#3;Q_\,?)X?=MOKMUR/:VWK'#3Y_IXV4YC_3WNGNJA,O?;_D M)1ZD(HEVP&C)@%'G<@]Q"4I;'EC4R@J?>(GI)L:R1KRT($5^);2_-Z$_Z+6J M-I]9_VLVW%#%OU.U)[/-PZV$N\JT=']UZ2KWC"<^TT\AF1E(9N_EA/+#A/"8 MQP"2.I)(1@?02C"(+'@6M'-&R;4-KOB\!/,#D#^4XC/M,?>Y8_+^JD+!Y.(P M.=[X+0V(VK33&\(H,!0=J( I<&&)QM;AJ-*B$E35")//R>2ST_F25GKVRN9^ MSFG^X:0JDE4YK7RP@T9_F.MR?B\U8-ISURI3SA*L)IM?3*N=1?)'MY=3',?Y M1UM)1./?"D_-PE-O)W0';7P2G"!@)$' "!*@O(Z@I<$&$4^,I^F TB1*U^AX MLFAGR'.'\A(,#07*#P/EL?@%6 M,3,)QT0PEG#L(M@H/!"#+,EB#8P/<3QWW%U-75UUURG>=6RKW0Y^PCYQ/\7B M.1QOEJ!87,AC?+PI+'0?%IIT8Q&>EB;7!H(@%IAG''1(I*0$Y5)SZ3C)Q@G2 M9+4*LRO&B953)PIZ%X7>L0YAO'!>J8Q>'($%%D 3C/.IP#""-18^)O2BIF:D M1NA]3H:)X2Q/_CSH#DR[$:^YM.:Q6$R5;_@D>6L)6D?5 /F:1;4PUBQQ_0>; MF:V&.L?FAV =D8$BB"JI'4PQ"]HJ##H&3I7"T2FUMD%%DU&ZH(//U/A8(>O& M\\7\$G25@OE%8/[\$O.<(6*I#& ,)L"B"V!SR+T7.F(C@]8VY*; 32KFUE.6 MA?GG9 FYJ<3\^.>?H=]_T3#M=O=KKBGTS*PFOSQ"2M#FQ5S_T>U5[+79\7]V MTS.,6:R4*%; ^'%C'2H>)Z40AHP$A@P0F@DI*A^'@%"&.&RNT=O4!ZW,*YYU5 MG;C=8M)L=,)W)X4-JJB*FCE2&%\KE3D&9"S%.PHCQM"EAB+&JA@(53P%C%"2)0 MD9.ED=,16)0DG4>R"S6.6+X4"GELF=6?0[;6>FWVD7KK* MA1C.$R45+IJ)BW8GU1%M!0N8() 1:V F4D@*B@2I$-%2*,]S6S3<1+)DN3Q= MP"[*1%)0.0\J)SPOBB811 >$*950Z3U8H@P(8S0V#JMHS-J&%D\U;Z7N2L!? MO7!JD@85OIWFG@S#KN/=JH6?NU(PN62T/)Z*,!+2]E!&Z3!3]5@<%C,OIYC[ M<-3K2D)=JR!?;!R/IW!*@EY1X/QPYL+26&ED\ZJQ8_+!*?>Y3.#B_ MJ%-?PB\>/?QB**G^A4%VS$W#TU%AJ)D8RDTJ'#PH+KVB().0@#FIP&JF@4MI M*2$H4JDJFRRM4VWK$I6Q<@I'P?$#X'BL:2AMA"%1 7*2YWRS #;D9IU!$64D ME@95F@;C=<+QA9P;I$1KM8/IA_ER5)TU/2U S M+@7R9Y9');3]^*X?*F8JQ#03,7V<5#!LVC8<81Q"$"$14Z"@C4L_1&ZD(1&U M5JYM$-3$9.X8LV+2J"V$EZ!A% @O%,)CW8*XP$QP'(17N3J'C^F,0!40ZY2E M,;H@8X(P;E)5S!@U4"Z&W7#"W*K%>6X>3*$"HF/1[ M(R5HJB4PAX3QT@5.]-H&GM]?6'1,T6& M8OFK;3J#S8[?OI!,26.;D84^72D:2KWQAD8$BG@*+/?=M9$[,%HA9H,1-G<% MQ[A):)V.*,7*4!==H2#X41!\/J'I6X-CL, 5HCD.FX"R'(/C"G-! V8Q:?JZ M*>3<4=C%QC +_%YUN_YKJ]TN)H3'4QLN9% (9B:"N5*;$QG)N%+I>)(6)3"" MU+,E?*84@D7)9= MLU+ C(N@"/(@1+0>>:RX]HEBT-P$4^P%M07GHGP+!9P+ >>$-< $+;W0H*3/ MS4\5!A.=!^T#PAYKBQS*A2OK%#+T_ I%W+[UWSLK=JI\\;K-Q#\>[O&?"LLN MK1Q&8=R9&/=*>4[*.<;:"2#2"& N\L2X2H.D/%J%N2(V,RXF38H7%4)>F[YK M/[&>%$8KC/8XA3\*H\W*:&,=DCG,@S,8O' YM2U(4-@ZH(B+*!&-CN#$: 0W M!9N[X-BR&.U)F9CDK3C\LV5LJUTEWE;1*V\'7??YN-M.$]O_9V.[2LZ]T]PT MQ51,R(@F*?CN64[ZO2ZD.\_,BSAW/\PHGX$SKY$7]UH+T_I+'O,: MSZG.\44[D,:I.<])^/,O&E\_VWDAHB=)1$OL>%6(:#XB&I_P MI"?I%,<0>,-T.N%A!Y9' ]9[JH/&)(I\PFMJ.;?%JJ9^@A50ZWIGN7IC]R37 M5#=YZDL@X>,I0]LGI^WN>0AO0ML,@I\X:A8;VV(9IJ_GZ;)<*PMBA>@B914+QP%$\4BO9,*,,-:&4,,(X$ M:*0T.(LP(C*8*O1 +J)E9OU"#U="J1C&()J1:C%A"BQ!B(]J9LGB*%PT)Q== M*9X4G/8*.0F:. P,405&QPC.F\B3'"-&*B=%H5H57BE1BBNG413T+@R]$W63 MA$@\RQ5H+W)*(W-@*'<0#)5&Q81MD3O>HB:1=8+O<[)/7/@33[N]"H7=.*R: MU.C:-+;*7'%;N<9BPJA+I<8+QCHO?'4?OKI2;$FE'48EE2,==6CVZR %RF@/ M*%),'(_449?-J6)^NBKVB]I">.F5&@N$YX7P1!EHY(3-24W:69-+-1I0P@:0 M2:A8"VJIL16$B:P1A)^3\6(KQ)"6N6_TPI?0.;L1Z%)./]0?=D] K;#0/&WV_4I4)!66C8AZ4]AZ8(QILE!QR;J4-$CM-*C:B>.Z. M>\5\45L@+T&A*$!^""!/!%H0[ SQ%K1-/YAA&&P2(1@=O%(_E&5I,Y^%W?5%5/L(C6UBY0"-_=DKRO5IS#C M(3&4 B=I9B\107N-(&A!- ]1B6B'.31SIR87TTAML?S8II&"Y?MC>:R):"T0 M3N<.4%%J8#E85!/KP29&M@(A392OTE#$W$Z7^EE'ZJQK_-GM?(1!Z)V4H(Z: M:QQW>(0+/]V3GZZ4=I(!1>DX!A:8 ::BSM;;] I)8;@35E?\A)I:E\".IPOC MQPOL*#"^/XPG8SL0PE%ST%B*!./<23=*"1Q3)9-N80RAN9Y1D\[OA:E?<$>= M]8QA0DI[K&V4E)1:*!59+!-&UT)#]Z2AUU>T"1MMB%Z#9\("PS:=>SB-$ 5G MA$6,0DZZQTVBYLYR+9:+VL)W&_"X#M161MKY"4QH*F)P"AF29\P#)1- M8D R:1@(5?"5=2I\__Q".4H(1_T5C ER*I0T$R6]F]0HG&-$IIT$$'4D-P[V MH!17X#!&5@7-A6%K&TPW.5U4U'J)W7A*4%]N[$:!^JQ0'VL?P43EF$Z'AV!S M1+A42?N((6D?UBKLD5.4KVUPW.1L[I#P$K2QN#39[LE):Y"[W Y+,F>G8AIZ MZ+AX@-##Z=9ZJS-<9\&$V^F_]UHM.J_W_U@:]LW#357KYE)L=?^49 M"]*G0/J5(J'6OO&?C&KU;5#U55_5)* M?5%[M&]]N;CVZ!*0/_\"JVI,CR#OOWH7@9?]+/EFXQ\_HKB_0N_ML>F%A2C: M.WM_7*>ZR]%4R_ OT]OOO1WD6G9_F_99&-]]I&FCPG]3\-_'P>[+$?^]U.CH M_XZ1._F[8][KL_V3H^,]\J:]_WZ'[[\Z_+Y_\)JEN3@^.MA.\_7W\?Y!>O_5 M7AI/^_C_ON]\^X"DQ)AX#E@:#?291H,Q>G@E\Y\ CEC22X2C]:S4_N67?C:'QJGIM?XDB7; M. V]1C_+]K?&G>NO>K^_N*4WM9G@ZJJLEF!_\VQPW.TEIO;%M,2+('_#9K>MICLVPK*<57T\F*J5T<* =X4-V MTQ@94,ABXI @V*FU#=Y,[#8%N0V75\-<"K;Y*-26-$N7E^/7;L_W0V>:M;C3 M[Y]-K,.RRRYS'1[2#]QH'94+X"U*Z]#&Q&O!1$#>BB1\JB5QC\-K93&MW&(2 MW*@H.0:M7%I,+(<&6&Q!)SZST0M*HYEU,3T:,^V?#?H#T\E'[[*B'FU%"1\] MC0B(H>D0@'/(:BXP:)%EA%B,HF K0T]E1=5@14ECA4A+!Y+>E5:42LO*YEPK M@SBRUCMA3,M;4ZR#1 MVL;__H\BF/SVJ!&!EZM_M0)Z5P2TBXFA*:!]0-!.I *II*MS1\!:FSM-J0 Y M3@YX5%2Q)#1I51U!NVR_:OW<<-G'W^W,XX-;F =E.)3B/ED<1C_?K>=^^GB^ M^VDS/8\CN^^/6KM;;S[O;3F>?S_:^OWS_OO_?-H[.$2[)X?H_[YOLP^(Q$2^ MPH.(P>;>$1QT.C(!0<@2+JR6EMS+ ;/M$Y)FF(X&D^>#-!0''$ M(&!/'*UE,2UY,DHD@F _@!,T=9;+WA@4,$0GO!0^,^G32%JPIR,V, MG;L)M^.7HC\6(EO9M>?X!X=SS_1(P*.@$I%I"5H3!"B$$"U7,>@EN0\+D:W\ M8O*6!J)H6DP4AZ0P.@/:8P%1*:H"8LYP7A%9^M#T1':[@[!A!HW_G'7"T-)* M4;.1=\?J4UO!A1,;>J.W"3NA8E 1YVBTZ V+2>-D+J'K4>N2W<^!^.CE!5<$ ME???6 LJ%XO*L9^06:&8(1PL0AH2!G.5<>Q>%MY(1A^J%RN?4"G(S#3E/ MMVDW3DW+0ZO3<.:T-3#M4C7P\8KZC*7R5Q+*3N?E4"2%AF:@H;VM*WT@ Z9: M88U!$E:.#31>\2SMX%O0M"[X02X;6, MV9(B!#3FS&AEXJ$WCHU*UEDS<#:JQ+.G9VC4#'[T) Y,&Z[=-KY-FM#\AJ*VAG HUS41-5[L^ MLG3"R=&/SE&;RXD14$:9]&NDC$K+K2-K&U3JIN0W6QO9'FBM6H M2]R_I6[4/.:*YUNU= FVC,DB7]N5J H_S<1/5WHV(F(C,S11DV Q:1O.9FMJ M!$5(3)3BL-;I((0%:4HY=_726>&Q0C:.YPOY)1A "N3GA_Q8)3$Z'2JX(B"$ MMWFZ1\/]_A/ MA;R7VU!BL^,+E<])Y5>Z8 KNL?6<0 B")"JW/G?<%L"%I5QK+*PG:QL$DR;% M-U,':EI[?D'6I,)UA>L>L:-&X;J%<-U8;95&<$:E REQXKIH%%@4.1CBK"!) MJ4VK.K<*Q4W!%A7]LRRU]6(@%TN;5$QV.Q'.4D]\/'R:!NB[9[8=;HQ_B@L] M[#VK2?C7P*0/WI*B-C&A+B0X]Q9--&J=_X1J=%5:)L<3/W;UY8?'%\0X,2WAF%G+]#X*\:F$9P-[O[*B>E] M;'4J<5US!S_,9&/T,UHG>8CT6KCXQ,\\^(H[,9=!\"@5833]RRRR+N2*?IBC MJ'3X@*MF"-67CGOCI?PQ@.T%\QE,3 _XPK2_FO/^VK^N3DN:D]& &%F7>8'< M-8-W3=G&OVTO7?0N"<_RM>5CXH:8Y*UB>MGUX5NKWVSL=-S=B[D^H[U YLM) M9+Z]Q&.C&QNC=M_I [5_GE_>79#.KW>.=83O$3.H1X'X':/?Z30.CKMGZ1H^ MK:#M;RZD_>*OT&M4"4:-S9.T(0_Z\SY:M:U#:7E[=;_CVF!YR_8E,$2-CU.C.H[?7J[>NJ1_#]SA9 MQUC<^39:QW>^]Z/+XO1%+N]UV1^_1Q4K@UVIP8JI!W2+7G>!D%R&LAZ?_(G) MMQ9]B]14A]C;#R>7SZ2G>:8AX3W.4]T@^*&9^KB75.;=]+GC?F,[;;V^RA]L M4-276P^A/S^_U7C;9#+^H!Y[M%+_Z$X<6 M03=/=&[*HGK 1;5R.E.]FT#^_&!9">=-^!(Z9Z$_5^?'A:WYAVP+N=J#?%HC M? )8KV7:\<\-QJ-6H%U_Y@:-WA#\\^1F/;*_=\H'GM[A>]LC/I)/=\IGF\&I MBPUB*%*%590L1F$#8L%BHHGEFG/^8:L*8&$(P]R1+*.-Y8]>]R0WLLZC>]\: M'+\\ZP^Z)Z&W_]^WV6ZZYZ7#]^3H\^ZK-]FY2_=.7G\]/'A] MOOOI[];>]]_;>Z_VCG=?O3O?/6A_VGW_]\EUA^]1^OS1J^S]M[9SO MO=^AZ3OHD&Q_/3K8^;;_?O?;T?NC>.GL?8N^?H@J<"QP@!B(!^:1 ,V- <.9 M5\%0'X-9V\"L*;&L48+F@D*/"U\]4;ZB-G&490%9QIE!7-&TOHVTA@F2J&S( M5^B"KU#AJWKSU?=+OA+>"2*D D*5 *:E!",8!X-9B^X9Q$37S'BD2N>=IJ0?%- MDI%[AHEZM!%WA$5U]WW_]P2/BB!,< M4. 1F(H63)2)NK@,T3&J@_9K&X0U-5M4%DAAK,)8#\U85GJC8O2.2<^B118K M+)@5F&G-E",C!0L7!6LE&(M.,!9%QB-D%=BP-,GB^559 MPDQTUE/!&.54:\6E,-Y2%S%%KAC<5H=?]UY.&-QD2+P9ALA9K-K0-"5]W.*JI?;0@P*#U!;APVA)NL>.( M,4>-PCQD\1-- JF S&"*2Y9B1! M7#4YNUDZL$#\R4#<\^B5=I8YS1F37%EE/0XT(F&LE<4(LEH0GS2"$"*ML,9# M,"@F8&,&5J17R,1(A)$NYMYE!#41K?\N_@2L(+=;BFIM_!C6#QI9.OKW,G6L M6M6SQ5,L,M)PQJGG.#"'B*:&&J8-LPI3)EBQ@ZP0Q;Z=M(.XZ#!5%(1F#%B@ M I0W#**S46-ILK 3P?)F$OZJ5$M;?P!!V48E@ZTU!B8B!*T M#4F1"(HEK<)HE?W3C#:9XH4>"CW)42"6XG2VL.EHKXV//*1EPY 1AA%; M[#8K10^7=IO=UQ\$3=)4-H",6 &S'D%2XBVW,1TFJF.%;@JZXKK#$S#J MKZ\MN?S L!-T=5K#J?&R$;Z>YWM5\F;!UR=(LU[CW-9X (E6 M._UQCNHL.M+35H.6:5O-PMF/K[I=7Y7L#;TO+1?Z;[MM7[2=6;2=R=Q-8P,3 MSG@@T25=AV(/)F(!"CL4A311"91SH2A6M0_4?3:=<5?;#EI@O"@83Y@[#1$: M*P.*\P3CX P8PS@$@660VFOBU-H&;@I=&EP_81@OTV998+PH&.,)VP.W0EJG M-43G+3#) RAD(C#.$+61,N3\VH9J\ODCNPN0ZPOD95H7"Y 7!>1)(Z(323!& M6:"(R 3?*,&02, FWJ5&\)0 M7FZ$5H'RPJ \-DX0ZZQ524!41IMMC!$L=0(""])$81$UPVPV-7^89H%R?:&\ MW(BJ N6%0?G"0(%WOW[@U!#,G03I' :FA,M'&@V&"16)I$PY4=4BHGKNX(@" MYOJ">;GQ3P7,"P,SG0 SSMG$WA%0Z50$#-/%)G>004900F?*XLJP.DTPX*&$?IHZLL%U(O*K:\ M^'!JB.EE6BX*IA\"TV,3AF;1I,,K 5UEFA+CP>2ZT39:KM))AV-"*KM&F(H%$(% /CN;N##QIT#!:(4]QC$CDRV7$HFVG/KCVJ MGX!-H]8)6C^JNN-^D*8U3^C%,TZ:77:V2 YH&U%JOW#J+.7<#S8SGPZ-&IL? MF!95&6E(QR"=.#4JT"$1:XB<,B4)90Q5&;&:SAU?/BM*5L@C](R1O^P$DX+\ M>9!_?HE\ZIE*)UZ3H%YYB$(NL463-B5<3+]IARVO/$1(SMW)H2#_*2)_V3DI M!?ES(/^BO-[>P>X'&71TT5I ,4I@.AA0D6F0P6N:1*BT\&L;7#;QPB(P"_2? M%/27G<52H#\/],_'T$]J/!:Y7Y.5,I6BBI.7 M"CC/J*SQG]U^OQ%[W9,+TTJW4XH;3\S/+\NUJ?33 Z=7,[#M_H5%;*?CNB5*6JX[$3-W4M'Y=D5IC MI1#A Q' DPKA0 >A0#&9A:&M!?8"]"6) *0%H/&CD+0R 1KF,<6KVV()D8W M@^H+ 3QS EB A:40P&,0P&4S@^\?O^U]_6!8.G8EC0VD( R8]A(2*PB@-B!K M$3+$Y )FEQ6,:]E)=-$+_4&C5:&UU ]Y0)O*59[2&)0I8SD>7.I-$D>HZTB0&H%^G,A%@Z/7&=B9(9%IW$1OG<7J^4!WG" M2%V \:,@]6&0.K9N.(=SPWH%T@D,C%$&U@L/RB/#(Y?:$9P]R06H3Q>H"S!2 M%* ^"%#'5HCM#XS&=%BT.N$S]Z+VC(#1+@"VB5 ]9I03NK9!56E)_82AN@!+ M0H'JPT#U? Q53C0.B.($4(2 211!505&+8O,Z8B(0@FJI/XEM9Z ,6 %8S#V M!\>A-[($-'X9);;\VFQTPOT*BSZ+5,&%&P8J*>QU.]VKAM22!W@?@MR]8AZP M)A)N' 0=62Y4EOA1*@)(TR Q$<&[N+8Q/SV6S-[ZPG7AUH$"U\7"=6PC,$(* MZ0@!)FCZ@;4 *SP"2@.7-ND@U)CL]BAP73&X/E8D0P'N P)WTF: .)'($ &. M$I $'$H9+[- 8>W9'?4"+1/P&ZP@D$$5>Z&#;';"Q?6@X'Y M5DIBK%3^QCA8VU MRBTE,&W26THE%VIYYM3R*$DLA5IJ3"T3-BND,;;2,/ R8&!4"S">*1#8NKPD MM#!JF!^G;M8B6Q5J>0)&K14,AOFKU_W2ZF=R2D"?WZRUNH;_QTV2&?'KR,#_ M>^B$V"I1@K-QYKM) Q*65'GB"!"++3#C+5@K&0CK&),.14?CVH8J3O6G"],' MR) I,%T(3,?F&.3304E*"3*)*M>LYV")MD P"YI%I'P5RWM+\8\"U"<#U ?( MD"E 7010)\T;P0=MG0F@8\S=)3R!I.Y80-@RP3'B+F;SQLWZ' 6H3P:H#Y ? M4X"Z$*!.& L,2D>0F/LZ<<\34#7++0L4J$2NZ7R2A*Z3YDM+#Y@2YG(K'^R% M0:/=[=\X_]_;;/1S4JS='/SC@1Z^WCM![8-WTM(LY9;NN4D<3EI'/+4BB4N! MX0KG($@.1@<'D48C@^)125R%UXAY*BW-A(U']E,5=BOL]L@11(7=YF*WL5') M,BJX\P@4RYV[4&!@J34@%$D+VE)J$LL%MAMWJRVZ.$,15VFX?= MKA7,141$8H,!QW.'(HQ\3O%60!ACR@LA L+#6",Z3_99H;A"VBO2E37&-"*C1-O>^>V7:X$8HVSQW**)_H*&L+KF?A.VBVRSUQ3H+R)UU$K9-KY/FK7]Q MWZWA"KO4O5#1O:;0O3Y.N@80)EZ@F%8H%AR8C %4) &,08C;P*(*\<=! X^] M"'[/A%.6P/V7@+5>&^4D$$<-,*$)6&$T*$.=%"+@$-':!EJ_)2IO?DU\A4P* M96.JT[/=9V.:T\]3..F!.6GLTTG\HP1Q.DVU+ M2UL"13>9>Q%$1G3@2()3U@*+5H,)3(,-VE-%N'."YXWIEBC4LC&5C6F%-J8Y M771E8WI83IH,C-<$*8&E 1F12]IR3(IR4 ZDD%QFYX-3\EX[T]+60-F9YE\% MZ7!+#=8,HF,D*RDNG9B%!R0M9\A19@C)6Q,I6U/9FFKS;/?9FN9TK9:MZ8%) MZ?Q*@6(B'=$@B3; +,H=51$'QR5A$>MT@++WVIJ6M@;*UC3_*K T",0D H=S MYI[%"*Q@ 0(E-"#%*:6LVIIN1D/6>6M:.0]?_095X(>3-H8SWSDYLZ.W'2EWK[Y\- M^H,DM33;5]7W$@4YA>+V:?M*"2-KI512 V-2 1-6@Z:8 #(Q*=_146'0"BZ4 MD4I_8[V4I7+_I6*#)DA8!R$[QI@G2<4/T8)06AO*%8\>KVT(UF1T"B5_F6TR M+TEVD4:HLCQ[ WU /S8$^H1HA1%#LC1F/8&),$BE1.XL< \8D<#7\&% M4O:&Q2^5J"33FED@/N9Z,#S7I>82"'6>44)0L$F-X+J92*OL#<]K;UA )FC9 M&VH!^"M]":5EECH'F*@<*T4XF$A8^E6;J!25(5>B7[F54C:'!U@K1LL0$6,@ MF G (F5@O$VK!GG!C3/I+!BJDP.]I8]EV1V>].ZP@"3:LCO4 _&3]0&Q(!SK M!':,LUDIP=Y@K!/VI:5&$<6-7L&54G:'!U@KD5,K"/6@#?:08YAR5!,%%ZR+ M*L<2>)'.#JJI;RFE4_O=8>6<1/4;/?ZUZ9Q77NKN(%U]T&T,CD/C M8A-;Z,CT5 ,[ZY@SW\I>]J2"^5PUNWI5E2PQ^<^QU3$=US+M-+#TAZK]UN6F M>WVZ1Y=F9%TFEOGMM-MOY;WZ12^TS:#U)?SVM>4'QQ?'AXDO#C?8%VC\%6/3 M&)(.=N=73DSO8ZM3%7?05T]*CRII=G5R)G_FP5=*(^8R"!ZE(HRF?YE%U@4O M*,4<1:7#!RS6+KYT?$G?ITD_!=L+YC.8F![PA6E_->?]M7]=G98T)]?$<-<, MWC5E&_^VO731NX0\R]=J $AYJYA>=GWXUNHW&SL=MS[SHRY_M!?8?#F)S;>7 MB&QT8_JMZSX?=]L^]/K_; P[Y]7^R7YY=T% O]XYUA'21QRA'@7L=XQ^I],X M..Z>I6OX_KP/4.UA8T*L2M>D!VF;TWYXK-\B8OW: MJ>XW?'M$!UJM(ZTS(XQ."*,;C\ABO2*+:Z>JX7M4K@NF[GP;K>-[OD>UN-_6Z]QHKQ.A&KL@@P61>83G79VX]W!"TI0EC? M^.@M5NLANSV2V?H&::/A9EJ%D5;;Y9UQH+--6:_[];JA?[7F9#,--JO=26E.6X/\3IFLX60Y=W9RUJY4L*T06ZXU*%,SG)J#;EXH/]1$ M[V8NS.:Q3$T9TOZXTW/<"Z&1V&=PW&^$I-/[QG_..J%!4;.1'=T+6D97=F&FF)N?/_ SFK7-DP2611'3@CYZ!^Y_:)%>A$P7(?YRRV=PRR7E M53UJV,;OIFTZ+C1,937:/.VUV@T\]?Y3@F#F"8+!E BB%4**6.:LM3R;@+UC MT4JDF?^P4\6[48KO'=%0WYB%O=8H9N'39WJT]??Q+MGYOD=VV>&GU_SHTR[? M>[7S[?"3_YS^AH_>;[/#@_]\'LUPP]/ MWGT_>K5-#M\??C_ZY+[NOG^-;L0LO'K]=7?KD!^=[+!#\N8DW0?M?FJWC@[V M/A\>'!T??=I+X]_\=K3U)NZ>H_,J7N$M^OJ!,Q^#Q@0<#@Z8TP)TD@\$8CR* M4=D0_# 11LW=^[U^T6MS@[5VS/? Q5?JR4,WVUG @+ \^2N&% MW850IJ7D-@E(1&75%*!' 0;-#"$)5C.&6"6"(I1$GWN*DTE3Z>OFZT#EE1: MK'#1L^>B&:@H"*&TE%QK+U@PWBHN#<':L?1'1VQ1B6K 0-]V7UYFNY,HC3:. M@Q$A) Y"%)1T"M*?#$MZ$4I$M+:!!6U*JFND%,ULQJZU+_5VW&U_"SW7ZH=L MQ!Z6!.N>YFF?RE%X[U#X'QFQ;YG$)VG$YNE(8*)VSNG(:#K@"1,Y3O_XF*.: M[11EGVXAK9U^_RSXK;->FKN_TF-T1]EWU9O[0]%>R-P74IN!U/9>3MBTM>%* M46_ HESKA;L(AA@-0B.'+=%4,KFVH?F\;'8[HSRH6O6\,?R__Z,()K\5,=5; M3#.HBT9J;;UU2'+&J$V_.$DYLB%0RZF:IKS>5#S[MVF?A4*S"Z#9L3G-BNAP M(+E\GO? &,NF_$ @.(DQLX)1'M7;R MC*Z,4EP8 QAIG'OY$4C29!#2^L)2"ZJUKAO3/HA'H6^9J&OMQ.G<:$H,90AT-9P8#8*4+G6'@G.6QN2RFA((B]2 M(]MBP>S#:8E%3$5,14Q%3$5,Q>]UI]_KY+3=/0]AJ%6#-<.2/2>GH=,W63/"7:?F=SJC&076HK2CU MY02CO@G_/6OU6X/P-O2^M%P8'H#?!-?]V*FN4EGVRBEXEE-P:\)9@HP,S.%L MPJMZBO( )A@#Q%-G@_6"(+&V09I2SAUD4\B@<'81TV.[2PIGKRAG3SI>O,&! M$J5!6X6 2<1!BZ@!Q^"DIUX[S>O'VL_!];+7[4!XD&/B$[5O_+16;CW,&T5* M14I/1$J/&09W?Z6B\G;^V>U\'(3>R4XG5WUJ?0E_M=,\_%3?**K&+*K&.#45 M[QV\XQ^4WN,@5+ MBMRK[I*9\H]N+XG^?6MPG'.#TS2F/U3O_GZ=- OQS4!\^Y.9=38*H;P(8%#2 M3IG'"E30&DP4-D07DVC-VL;-4+[I2Q44JWAQ7A0Q%3$5,14Q/6$Q/0L735*Y MV]U^28=9P2C3(J8BIB*F(J9ZF!)NJ7CHL&?*Y6JKFBEAK1+<2L=D0,0J)J>P M(\Q>^C!M:#L=UST)?Z9=K1@19C$BO)VL>FB%IY0Y<%3FNA$^@(TF@):<"L*1 M=T&N;; FN<5TNLHU#PM\%^E!*?!=*GPGH^*D2Z2+E0!F8@3FV(C0WF[_#(8%C,,QA09B(U'*F&&%6 M&.V9XV94#G6>^.'2#&>N:J@'FX/=UB6U46,)"HB!#<$ "S'I)HIXX-YZ1Y@* M%J.J'8X@=$$1OU,WXWM,>^ #0KQV3#I])>?9'GY%>>VF]G9_4BN%G!=,77L3 MN0K1848$ X%L.E89F;0RHP,DQ=JYW(V$6K: ]CJ%M0IKU>>I9V M';AED;KH M(F=1!JTIBX:GPXH3AC&Z"%6L$-K5/I5H;5":S5XZEEL:<8+B76,6*N$B4"LY183'Z2.UJH@[^:U MTOSG$0AN?ZRQI=W'I$T( ]&* \N% 11"$ISUUJ1]B8KH<_L?W91\ 3%UA=L* MM]7@J6=Q$UA#$W%I3Q!FC&/%@B-6TT"=20P5B\I6!T:K_O\VL]KF!R&8\C8& M<)JF0RAQ 8RR I(@N7(<<6-8[B:44^97PX V\AU7<+[:M3&ET;;-:3^\N'CQFV_U3]OF_$6K4_%Y M]:7?KMZ0G]X 4G6_X=N_?6WYP?$+K=:1UGD3&'GC1C<>OHO7J_WA&NZ'[U&Y MGJCESK?1.K[G>U2+>WWS1X/5ZU+JE1DK4_<=S_+'FK;Z%1DKQNM$K,HBP&1= M8#K596_?#PE:TH:H;WST%DU_R&Z/I/7*6[7>E]V3DZ3L5NKF%/[X:::LU_UZ MW06_6G,RSG1N_-OV_K619+[9V-XEKLR0[R$T$OL,CON-T/%I 4V& M!Z$%+:.;>NW5T]@M![*:KZMA9,TTT5/3///SFKO-DX2:13'4@CYZ!P'P'Q' M3VT+#W8JG&LEE5NNXBV?0U;@U3C5S=->J]W 4V]$)>A^GFA4XG 4@CG)O&** M,<4YPX*((!VBW*'*GHX0I;A$HUXUIW_:I+OD*-WSCT^'WS^F]UY_VSWXN[7W M/8WCX) =GORGM9NNL?OI3?NZ.7UWRWT_.OG[T^[[O4_[6\?'>UO;W_;>[Z3K M_7V\]^FX=7BR<[[[_?/YWJN_X^[Y1+$-R96/BFI05%!@SA'0DE*(/A#$D=5( MVK4-KIL(RQK5&%H0<.<&:^V8;WIWWVV/N*(\=-.I=W\2>AZ>N^51#;JD&A>E M5$(38-(P8,(X,,024(QJ:S73L0I[+RQ36&9%6,9C[B/G$3DA6<3:2DYXS(TG MD15"\46H.H6 YB2@<7L4*82A$C,(Q%:%Q22H$!Q80PS7WDL5_-H&8[J)JJ$0U8*#).@M&.XUUOH>=:_9!MV%7WH4;W-$][*2']T#9L%172D4<3I&=& M12L=45($F0!!F2)5Z1AT43H&39F%O-/OGP6_==9+R%S M7SAM!D[;FZP?K9513#H,@3$%# D/2E '1$44@F6!"[FV0>8V9Y>"JDO&\*,7 M5"UB6G21!V-]$$R9$#CCQ%K)K6*&$2FMB7YA/%OUJ"PTNP":'5O3L.(J)(F M"SPICH8*4%$24$F$B#,L&7-K&YBKPK,K!N#"LRLAIEEX5BB,JXQ?)QC61DGE MI$QZ$HU4,6P+S]:-9R>/Z-H9;FB0P*-EP )*1W2#."C%N/52>(YPW9CV.429 MO0GM8":/YW,T>"H19G4]G5?=[PI]S4)?;Z\$F+FD&I)T&N?I!_-.@+5! /:1 M<629%,BL;:@GZ&]]XI@M!>^+F(J8BIB*F(K?:\%^KY/3=O<\A*%6#54_XO2P MX]Z:Q?]5;#I%3$5,]3NO/HB+8^K(F/NW>/]I'_?*LE=.P;.<@EL3SA(KI K& M8Y",&V!44M#,*[ $*\)X,)KGDF5-3>?NY%[(H'!V$=-CNTL*9Z\H9T\Z7A@B M:9-V!KC'")@4#FQ@&+@4WAA$&26V?JS]'%PO>]T.A ;AIQI'439F43;&N:EX[V#G M_(-3WB)N PBE K!@.%@K&$1'E,6,IRMTO0IT M?7DVW/N4_O;Z@P^!"1K3T3!P!XPI!LJ& )X[+KBQ*EA=+\)^#N[# _,M72S7 M^6WTPK"6[:#;Z(1!HXHF:_3#8- .&6LY@TKE.: Z: M"0M)6!ZLUP:DDM[R* 6F:FV#WNQC-'-KMH+B0K9%3/_D44MAJ7#4!#AC'IB@$I04"B*2!&FN**6V5@!^#LZQJYV19FW1 M]Z 6I.E:K*\(S*F/-"Q8"IT(YHBY2R;E0U=YXX\](S:2YJ MFRQI$9%VB;Y\MAPES<0X#"8K*D0$JC66T5)2]4S"9%%QX=-AXY'-Q?=^B*DP M7CLJG;[B]\S/OZ+<=E.#NS^QE9K?BZ6O<1\F(X)"T7,(S&!@DEI0%#E0B@>K M8SHN4[: /DRS+OI"7H6\ZD5>2EH22,3,RY@=\Y:FH1EAN>0F&*07H9457IN3 MU\:1%"Q*Q8(6H%PTP&(Z:AJ,*! B!;;*4>/HV@;CN(G5@^MEA=T*N]7X#8F00(3"5 M !*TMC]@N$)L2R.V29>!H\3C@ AXXB0P[V4ZFBH!(ABGO'&16;>VH5E3JI4Y MGXZ\"A<#&:UE77'7HEV&2[K&Q)S1-"N^>V;;X<:DE5&64=9^E!4Z_S4PZ8/I MO[[U9>/?ZRL8\Y\:U"58NGXT!D69>E4O%KEXL56QW1< MR[33P-(?J@CH2]*^+H#1I1E9ESS=_K3;KQ)77U2)?:TOX;>O+3\XOM ,)KXX M$AD:?\78-(:SP=U?&0D[KQY=(TGSJY,S^?/X):]9OC;UEQ]NQN6M,_ZRZ\.W5K_9 MV.FX]9D?=?FCO8#9RTF8O;T$5W;T3ZJI_VP,%=7:/]DO[RZXY-<[QUH'AKYC M]#N=QL%Q]RQ=P_?O?H#;AEMM1V,FJS:U-.RV.>V'%QI\9(1?4TZK^PW?'H%?JW6A6,;_*/9E=.,1-:Q7U'!-G1Z^1^4ZP^K. MM]$ZON=[5)-[??-'@]7K$K,'&"MG=]_S_F-]F'E]F+%R(59DK!BO8[TR@R7K MG$XWV-O/F 3]X) Y@[[]TX_J&Q^]Q8(V9+=',B7=H&@TW#I/3KJ=X>8X1?3; M-%/6ZWZ]'O"V6G,R+C[3J'2V7$<#6IWA+Z-*-&6N1G/EW-G)V;#$R%:(+=<: ME*D9%6'IIG7R8[7S;N+"?";K6*W#<&^?GK>M;XU$/8/C?B,D]=U?B<3%"UI$ M5Q7(G\<.UGQ)#2-8IXE2_ND#/Z-9VSQ)4%D4+2WHHW>@GOT(]8N0Z4+%7^[W MA.[W'!+MKZ5^F,Z9Z9TW\-1;SK/)9)NSNN^M&1X.2V81L4*YR%# AE+L#6=1 M.^Y=)$-7-"84EPR/:Y[H-+;O[\[W7KU#N^3P:_[.+OE/:W_KW?G1P7].CMX? MI7ONM7:W_OYTPQ-]\([N'>R@HX/7WX_2V/:V/G\_/-EA>P?_:>^>'+6/3O[S MZ9#L?-U[OQ=WSR\S/,[W#MR''.6)N*!@C [ M#=@"!?IAR):&BPHRNFGK$G4 MS6(A)8=\-:%[2PKJO7'[3.)$EH9.-(E.1:U%5@G TF)@Q$K0E!% GCI"$%+4 MJ07D,!1@UA>8/A%P2%C$7#'KA,8NO2!,,!.]97(1&VK![)R8)9.8Q4%%@K0' MF3@46!(?F.H54E@S(P@2?&V#4]'DN"!WQ9 [4^!Y@FX")W'*.!:$L!0;B1&A M1B&BC+X;NB7P?/D89I,89D0&@;0$2SD#QJD#ZQP"2CEW@6"LE5S;H$(T&=;U MJ.I0X+OHW@.M 6C'0=6?WM$/P5)D%#?@ M-9' A-$)M3( BEP$S3EF(7YJG MO?0B>&"+G B,1R8M,NGDB*U2V&HM>.2*6&>8KXI+882'Q:7PE#4*=OK]L^"W MSGIIZH;]5H9FN>K-_:%D+T3N"ZO-P&I[+Z\:Z$S@6E#+P0I.(0L2E)4>D-4A MFLBM3!.\0?#2\HA19$@*;E6 M<0JFG4UUO$G"52ODPL$+X."K)AV3L_*P!*$^LP501'8+)#9*% M5(6%5PO?A85704HSL# +SEE)$"-(IR.@TTI*+2.E2+JD2:'"PBO$PE?/]T+A M=)BA-!WH103FB <3G0'$M">1DJ!\-/X>8FS>A'RP^KB^ MD8F6LP?=<9[W7Z;E=SJCU.[J1&NO=YQ]$_Y[UNJW!N%MZ'UIN3 \_;X)KONQ M4UVELNR5(_ L1^#655<*B>G4JVP %:D$9@T#RUT I)WTCMF D%O;X+?6="UT M4&LZ**2]"E*JJ2NED':]2/NJYR4:ZPS2&C"W$1BR./$W3V! F&#%A9'6UH^U MGX/G9:_;@? @Q\1BWBA&J"*E(J45.R8N2JVHO)U_=CL?!Z%WLM/))6]:7\)? M[30//]4XBK(QB[(QSI_$>P>OR0?NN8S*FT# MDY(\N6)$4.AZ%:2TW -BH>O5H^O+L^'>P3NT]_$#)PHQIA@P(16P:##8M)&# M9A$+@VSZ+ZD;83\']^&!^98NEBN;-JI& NE4..@V.F'0J*+)&OTP&+2KXNDY M<"]4&:CS1.X]:[O:W94!EA2Z5]TE,^4?W5Z2_/O6X#CG%J=93'^HWOW].FD6 MXIN-^*X&\VFA, D!-"(<&$JOK%$2M/3$XVB04FIM@[/Y6],5VWBM%=0BI;HP M;6W\SF^&V^U!MQ#Q@QH,*B+.=>H$EPXT8128LS11,C*@OH<#DMA*"; M"FCAXKJBO'#Q*DAI%BY^)'=RX>(E60,J3S%RG!&M#$2!&#!%,22EF(&@6!!K MC?22UXJ,GX63.!WYV]U^R<JG'YZ_2$HQ0PU%F*N M:,.DMJ"UY&"#D8S+$+W,?AO:I/1F=;%2Y/0I('@!9[*"X*4B^.IQB[NTF5I# M@=M<$D5K!$8@ Y(G3G;1(B)BO2#\'!ROUUH0#7O>K=^_ =$"34S3]7M[;**; M>@;9TX);%;"2*G$49M*;_/WM?WMPVKNS[551^M]Z=J1(\V$@ M,^>ERI/MYKRQG4D\-R_Y)X6-EAQ9\M42Q_GTKP&0%&7+L15ODLUS:F9L4R)! MH/O7>S/< M3OZS-2,C)1I1;!CJ;HTC:3"+FO="" M6PMN:_#6*V!;\#0#$\(Y)[2XUBGED-$%6T2ML:0-IB@,!EDA0YZ&I. M:L TQ@U@&C'!&,6&:E"])=YZ1G+:%6(SG&AE *%:14G+642MY:!WI=_\IS[: M>$L&K^)&,S/PG8I?VV<^@6=&4OQMJN&#\%_7__KL7_"OZH8-L@[EJ'Y< ORS M?YGQ;\]JIKK#K\65G7L_>/.!/IGXWZL?_G#]R'T;A$+_TQ[$>'_:' M*+%>X*[S3!F?ER[_<=IWT][O2F[GD@>)4H;WR@>GJV0["IMS&)*N,;'-B;ST M,MXF/WF-*?I3W_S18M6V(/P.UIKQRY_Y\VN]FWV]F[5F>;XA:R5DFZB-62S= MSMCU%KM"_SI:-1Z?G M8_J;M2?S[@V=*+A"&3KJ#],O92N'=J_*O;)V=CQ+%?HO?-&W_6F[-64/@Q'0 M2:=I%?YG)]F%"SNT'+C(CZR"#JO' MWS[O$3WO*503GLMNU<.9'I]UR+5%3INN?X,D5EPXREV>%P5UG&"EL:(FE[X0 MQ# E<'#!$T4H(VT2ZSD/_"=XSAOZ\> CWSWZ=V_OQ=_?/AWU^GO?X>_T'3S+ MXMT7AW3OX%/OO =^[_@?NGOTJ;=W='BV>_P2[[UX=;S_^@V#O[-/K_^F>]__ M/MU_\9'L';\J=AMM@G:/WGQFSG**Z0I#Y#UK&L@(-T.LNWGF6R M*X58H_YHM\2Z-V;7^T._ZW'K]6.$R]YP,X%H22#PIU'HB43[[@UK9>8(;DN5"6>":%YDX0Y:02 MF; &:VJ%EK>A[+0(=$,$HDT$$J+ N0^*CK(9XMHSI%5&D(+?BT)JC$/)#N!4 M5P5;H<6A%HJRX&H3>J\?T3B343* MN62&.X6$+$*3 ^Z0H;E$CBI*#2%"!41BG'8YOIBVOLE=#EHPVAPP6J7I"A4R MRXGEF13<%P!!&K-"&)UCK"UWK5*T!A#42,)\<_:9"Y-SC3,$QZ81)\PC@PE' MWA.BM*&TX'SK&<%9-R/KY 1Z"KT:7G[S8]N?^.#+CO/3.J.3L.UM"_P[]F1; MSXFAC@G.,1>L,,[EN<'$_G6QUY*Y%M150;>_YHF/;&,:]%@(I1SWBF<%(>5(@(['Q'/N<%@4H5A<+ M9=J6OFO-Q6WCY4TXI54J$G//"^P(-C+CSG)9< +&CW528X5M<5M &^?LMCA[ M"SB[X%*S.3&%L@851F#$M=&@/&*#L&>9E9@K[<& )>K&BF/+PBW0MJ=T Z 5 M!'MJ&-%"&R[ LG-%YI54'.M<TK\".,NSYNMGUTC?/7Y1XMM6P"M;2GU,9V M?C*V&P\O.9WVU,9[6:=&>4GM*:V:.W8D/_V=F)QZ,YF7\ M8;3XFV%9N1]M-G-^=.*[,$-^TI_Z]W[\%>S'9-^]\W9T.(QWB9ZKULA;Q-=@B\.'F_A8*WAH 7M33BE M^XT'M*"]H:"]&%F0FF<<2X(*$W)E7^-AH=3/SY^,PP=C?I?_=L![,.5&D>K M;*RB;,Q+,,G>P2[]#"8@EQ)L0L'#3$AM.5*9R)#E@@KME)0XF(AM%'"S8* % MZTTXI8=,%VO!>A/ NK8,]XZ^G.V=?I8F*PKI9.\ MM"?M4[N\%/^>$M/B4P).OAJ-X>0_]*>]4/X*NPA_B%?_/ ^9+>RM!GL+J6J4 MZ4PP+Y'*0Z^0#!MDA/<(%R3WS#C"0U&^O AZ*P]9:OWB:ZV>MJ>T+DB[-C'G M=TG<'HQ:(+Y39T$*)S-KG94&T5P5B%/,D+&91IH9KK7(M!%DZQGI8GXQ:[C% MXG7E\A:+-^&45L'B!PHEMUA\3[Z &"6&0Y4%EABT8@Q@3!Q%2@F)S.THV/_%TBT5EE;05G;?[[85K2@AF;P+^2(SA'W M.4>2YAKEH)=CG#$B70:Z&NLJ=;'?^B9W%6TY^!9MLI:#[Y6#%\VM#"N>N4(A MG&4.<84U,DY;Y$*[^4Q9RHU;+Q9^"H'7<].E5AQG>* M<*-N89!5BULM;JW/6Z^ 6U(8ZFE!N!,%Q\09!DO3N)R9&LG;=T_Q/$%B,NI,\9@@W+)+&AMTB%% M"X=X[AS)B,B\ HAC6=[E^"+$K9S!T*);BVYK\-8K@%O&/-.,*6:-#)/ M?"Y M]UP*X;Q2Y@?@UF+:O6':/$CP_1#O[7QF0N?,:HV\"K4*.N?($&.1SXEB)%>& M2[_U3/&ND)MAD)91A&H5)3'G$;:6H]X*S5A7Z=LZ?TL&K^)&,S/PBZ_9/O"1 M/3#2WF]3#9^"_[K^UV?_@G]5=VO0<2A!]>,2TI_]RXQ_>U9ST76_=H^2@ 9) M\-[[CK:A<8P>GL&K=X:C*=Q].NI,>[Y3+?]^H]IQ8;.AGKG^-':U&3H_3/UM MAA%78FECT1_JH>WK 2P,_A!S?R_=[O+6G&Z+#!Y_,IK$.N#?8YUD_ZO_X[3O MIKU*.C:^F&#H=SS_BC:PAMGT\J\IH4=F[/47I MXP=_UX%2? M3;9^6]P6V)-SQW#9#MXR3RW[VAHPI%AZ3,]'SG_K3[J=-T.[_=/P<:F8OK_7 MJ)CV>9-IW]>L&B+ES_6DUWDU&)U>SKCKJ,9W,Y-?EUI MY5&(G)-#\ 8#?3+QOU<__.'ZDY.!/ON]/XSKB%_ZHT25$H\"]YQ3F.+STN4Y M8VWCQ%QE D;YY/+R=KQT3L%+US*U3>7EE_$VN?3:CVY+Y#:@RD_=]L?7,G9' MB\VO==LKDERN5$[4A8\NL9T3%3U,YMD%IHAD];[_K;,+G^I-.B^!W5V=^K)@ M/%QS1PS&/;FM%UY--]_\C<.KL,%Z%QY= M[YWW3_P8U&FP(H(KX2OHRW[R^TV*D*YV*CSTO);5"?^6$B*3=U6M"T&L5HAV MX\+8=7O1E=W(Z^ LOOWTDY/O[[]"/]]&7W>^]X]_5'OG?P[LO^AX_9IP-[NDM??=E[_:FW>P0K M^[[#:L_Q\:NCCW3OR\>#WN#CP/SOXT\O8*T';_C'HT/\$;[W MZ84K=L]*K_%[?/JYL,I:GF6H@(-"W'.#3.8$'%0NE1)99FA*+6>,K460LT#:870"D)H[WU#(_:Y5M3D%%&O3!A. MC)$FW(%,AMP\1M);^ND5;<\NU=M;QNF?/GF7.N(5I9*"Z+,") MRU KJ)%A>0ZZ(IR6EX(0;;>>J9M/#E]3'7'==8*=XQ&LY7ND\H[_%MJM^0[J MQ%U"HP*!5MC1DXD'%1(U5<-AE=GA.P.O)_[R)E:/LIG#FBH4M6?_KW F[\*" M]XM_)GXGG&#SJ%^FDVYQ;154#I)E5A2Y0SG-.>)"$B0YYDAJB:G*6:8S M$94.K-:HO7[;J&7ME(Z6M]>$M^^N>>! .C/3>@7U' M,;.F/_7'/Z<@;*QA\U#9R$MPI_:;[M3*6BAH#/6,=9EC"T>KP%$S^<+PS#)- M%'(>= >>VPQ)D4G$9"X\Q48I J8-(Q<-FTW.17[L9,J1@/M'AW"WQ2S=E)T17!.# MOC;]09NQ>VUBR^5VMMY'_JINGY+.N1L2MEM=Z=":F@N6(RT)BP<'YVHY MQZ'O?I=F:V(JWJ9BN?YZQIOA5S"?1N,VE'6?H:R+H-,XAQ9M5D*;-TW=P<&) M%-04*(,30AQS@HP&XY9;K3)>9$HIOO6,D)N4R+=QK?7EU%NO!FHY]58YM:$7 M<,@< M>$WLG-95L79IN-?OH=NR_ .R_%Q5H2SS/O,.20D6!L\]1LIBA7!FM1%$D]SI MT*5$LAMW(&H]'#(>A#3,&.X19P;4NK,6!O>F-@J:M"^6G.\"G M.&-G[+_ZX>SG(BY/P:"ZAXC+6,F'_K3W?#:!7?'C"H7.6@Q:"8-L4\7( MO2A\D6=(2.' ,'(2 >[X,*-$: 9J1\'=UC.:7U0PVFYICX5_'[9RI&7M6V7M MN7J!"ZF-U](W"@H='"V_'H:]]Y]^?9/W"P8$%=[,?08MM*V';8 M5%L(%T7AI$5>P^GQ@BAD%+7(@DG%"<\)EQ),)]X5[!9RX5>9X+PI?I,GC L/ M-42QQ84[PH6YSB-EGF6%4*'#FP9% M"[?D<%D/!6CY?/50&3:YE0F*Y;NO/KW\MNW).UGD4YK%^78VMCTP#CNCHG,R M#AKQ]"PF+_G_F?5C,^$V(+@.35W>ZK,X,/5@M&/A9,;^;7E8;P=Z.-T9NI?5 M>;4R;169=K2SD"(MP%8'^84$#R,;O2B0L3G\I(V7!A)?Q-@KX.'GZ M/AUT+4_?'4\W2JVH%(XYAYP1&'&)&=(JST*,GQI?*,EBZC2HJ8\P]+?VZL=X M!!OG)FF>P01H_)85D:<05+CUH&!U*J_@4-[#F>P7+3+=#C(M-)(KB''8^PP) MEGG0-FB&9*'!@C;,&"Z+ A!JZQE=IS3)-AZXUO' R_H4MPQ]APP]5S6R0F/J ML4"4API+7TBD<68189P5CECNX/@>>:_B== M1W?'%?9/S'V<'U#KGE\-BQJ=YK[OXOV=SUYG5%!*4,X5":48H9L5-8@(RB3U MUBD!> 3GM!Z&3^O,>$S.C):9;\K,9PO,C 4NA,4['RK*VLQQ0[:>T1L&:^X%$&[)J;(>*L_R MA*)R"- M)!2MDN7UT-.?[B&AZ-%$]/PW/[;]T*%Y5,!"1O9+9W02N/6)]4!: MUZRB9EP@G,Y^.IR7Y;&Y5I:M),L6^BT*K;)".XLR[$*;9IPAHW&!L+/"2LZX M$T4PV'/11O@>+SO?>K/FEF=OG6<;4Q\\SX@'A3-GOD"<^3 -RDKX55.#B2.4 M!R>;$FO$L4\I>E=YF8,Z,? Q;]G HF+/Q4D'=#ON@ZEPH@?5$;8PM1),+;159,[EV$J-&-C)B%/*D<*\0+)0',[4>4G\ MK24:M!&^1^T*:UGV#EEVKED(XI0JL$.Y*R1H%H(B0ZE#E&("2$R(HR$6_PAC M=^NN4QSH;S[,>NB']D.Q1VAG.@KCK#N3GA[[SL1/IP,?,X9 ZR@SAO2I'KLG MYL18]]JHLL/KP0A.-+0XZ8T&88=?C<;OPT'^"9#FGC>:=+=PMA*<+?1+Y-AF M+,\ERC(.<)9CC:34&7(^D[G*..,J=GFE^.(XB;:U\V/@\(=(+FHY_*XY?*ZP MY":GC"J#=)AUSW5!D>2D0#1G&17$%U3%CJB8K\FIH:IM*\)/XM=!N4?-""&XYRKVFB-.,(DVY0 7! MU')FK&-JZQD7%T=M_YQ_Y$EU+MI CE^/*5DM[]\=[\]UET)F)E,^1YFFP/M< M<*3@C) LLH)KGWD1^C$J?)'W;Z\QT3KY8=9=CW%EB]*0-AUTFF[2;(*OY2OP M0 CXA%+PL9],QWT;/#3A>IM,O2')U 'QPC\OY^?YKC[*<&%GZ!;_T/CD6]B3 MD;O8S-8.9N&<7GZS/3T\]._ ,'Q9%-ZV%:RK >="LT?F<^LD%HA(0M-\<5T( M@K#CKF!Y(8T/;AW5I?AB"'S-$C#;C.R-U)=:5'DDJ-*HB\?.4* )9#-#$&D4I[ ;X7'1N?4YY_?!)@DE)&?=IG? M"!U;L%L)[+XL3!)SSMG0!$1(G@'8L0(9P3P"U,N4*S"VR@+89;@KR8W3"-O< MG+7E<4>%S')B>28%]P736F-6"&!PC+7E+O X42V/;PZ/SQ4:+QS+&#;(%<8C M[G*'E#(<:9(+S)4'5 _^)=JE],8#/]8OJ^=QZ2X^3&K_D=9R*PVF+X6X==O M_[B[UW\LR Y*&@,35CD <,XS(KFWU"CFF=6 U$74WFZ6TM0B^[TA^_>%#M \ MSS.6.X,*G]$PL!Y,56(UM*0Z6^F^UD(KLLXARRT%RE88!\^4S6* ; MS\+%H!W+JO3SZE05:\(#]K? OQ+P?VR.("![IY\Y*S+)K436&5 T,5MUL4>=&J'.V@#K.$U5(HI 1'B.N+$>*6H$,6+LYS:51 MA=MZ=K&G^,8W<5L/Z+B&NQ9V'44G;6-*PM MK5J^44?A=6D:_.3[ C_7)_UP M\/[;B1^Z_G0&UC4]GHF,F(Q8ZC(0KHS) M-1*OK3K?PM ]JO,M#-VUGA_J+%3&.9%(ZMP@C@N,M/,"3BBWCF7*%BX/-?YK MA$)/*>*_,YGXZ:0S]M;WOX*&5XS&(0/;Z['M157?^:]^,(HSA^'"5S^<^0Y< M'?HV/^!IQ.SNHT6D==\FOR=2?%=2XJO1^%U)ASM#]V).A>\2$;Z,--@B\TK( MO-!YR6A&A&(.89=AQ!G%R)C<(DF9TH4U>9;CT#F.93<&YS;!H 6K35$1?Q1] M:G'JWG"JH4$R[WPN+7)YJ-155"/# :<8#IO>7):-*/F;&Q\350W1^G?3?M5>S1^&): MP>]X_A5M)J/!;'KY5X[U^+ _C+G)YW15ZT-VS?V/O*=AB6)Q]_17GM$&PQ&I\%['XFSZDPZZ>A@!XR&MC_HQTSL*D7[FI6:8W\R&H??3OO37G\8 M:S5G0ST#TSI\9#1T?CA)/\6B@=C#W>A!' 4SZ?E@B.@X,^;?LZ%/C,MPMQ/4 MROC -FAZ7NX\704W-1E1>@$T+DSF063Y1BX&>XSZ8U.AQUM1E]CM[)K+64R MA?_4@3R;^]^J'/ZH,H?XP'E/\TA\E-Y9\ M'$CU',9$4DN7YU2\C1,EET9K^>3R\G:\= [YTK5,;5-Y^66\32Z]]J/;$KG- M./^IV_[X6L;N:+'Y=6_[&/+,UC(8N5SU6RZ]ZW=2UWFGA,CK%&(-\-8!9+M& MQ+0EA&L1PM)2JRNKT]:;2H+8NZT77JU&;?,W#M\Y:ZU%?O Z9Y=>P,SY>G[TR?Z_'X##;TO_5@YA^)*P>>??3O 7SN MVQY]D^U]?W?\Z>ACMO_ZU9>/WW?./AZ\ZGUZ_>DHK/>"*^?[2[I[_$_VZ>@E M^WCTA<']C_>.OO"/']X=[;[X=V_WPZLOGXYW\=[K?Q>[_=*-\QZ??@:ZY40S M@YPQ!O&L<$CAC" X1^^DE]06P>%,53=;,H[H<;3[_REIW6)ABX4/T=&CQ<); MQL+O-18:Y8FE.D?WUWBVZ9KN=F-4TG$;5.R9UE[\_K=&8ZZ5N7NB0]#C[(MT3NIXU-$V=><<5 M$TAZ31 W1"#%*$O^S7EH7O3TMJ6?AV67BN(&$" M6TX41S+3#/&@*NG"Z\C1N=:9XC9.KLWEC5OWWCD+/P(5:/,\C0;<>)6#L-/$ MW58+X=85N50//Y?W^Z-.QS_O#KC&/2[O4WPKM[_;):ZXRC4EABIA_"%RKCLW M^E\% @^0U3Q_^+53L^]YA>^][VAK1\?PZ! ^"VTTX.9E,O.5J^O_GVZ>@3K&FO@&>?[;YX\]ESRQS6 M.6)>L9 QP9$D*H3X;,$5<;G.>;)9^\.9=SO!XG2>9"XK;"$8X3F5AC*%,;$^ M5Z!+AL][L!I/ EJ,9Z"'O8!?Q_V3JO;IS]D$CGTRJ:R>\HS/80Y<*Y^:BJ;2 MZ5SYY,65FIPS2I4P7('=18GVU *9:$)<)G*EKI:Z_8 N0)SR'CABN=!]$^NL M)OX6=)MN_&JHZ:3XC^=):^K&7\D?U9]/_?F_S";U7X*#O_SK:#:N_CH&.W=< M@G&4/-TH>N*G^Z%J;&8F?=?7XSZL'XY2GZ]5F_0GEPNJ]3R5#SX.71F!O=RM MNGG$%Y[XP:#CA]_/PL/"'T:PY^-0#3CU_2'L4D^#?>4'H#&..U]#NE?8.-C- MCAWT8Q2E'W8(K+182SCQT\ S\,*SX*+QD^T.//IK']ZBOJ4.-89?]63:[0Q@ ML_S@#,ACJD].0O4=W-G&J3#Q62B,>H\-!^';;F8#381%GH(>/0:JFL0QUK.X MWJ\>*,_;WA"V]!">W.V<]OJV%S[;TU_#W&OX0,EOH]D$GMH_CD6/8=G]4'T8 M;A1^2*P/[T4QIMWPOJ"R ],'\H0]AQ6$CX4A]%&'GQT;V!M8\A#64&]FMP/" MJA=>%AYR ELQU>.SBN+JUTE$-^R!WYMG%O;:C?OAM/KA3V<=[;Z&RM"(!]N= M]_&R[NMZ"4IV!G(' H0SCI7$U5&> M=4[@;8+/-V$XT/]Q(/\Y>T?Z!CKPTWYXZW3.4S"KMCO[<&G)G3J!;4:G/K:@ M/&MR%6 "[%/1M^GTIP!I_4,/E(+"CKGN.8+3@\/1&'CLN$2WL3[I.X #,-=\ M*B0&/<""PA4^"^P).E?T7@?2TU- -3,+DJU\B0AAJ9BEB2T5( [Z9AS>'#Y= M[=A7D"PZDO-!%)2+JQO-IO#;!/8UU@_/@09N"C32+XNUO>M'W^LD-FL: M]W MX)5+[?#"HP)?&5^?5=B3>/]X:$ 6J'R!R13Y(FQD8)02]<^J^NII>-,@ 9L; MXH>]!G^"\ ^^M[@&>&20IHMO!PL[!13HMBQX?RP86>(0*"-(^/)TX"B.00(! M\99<".P292;0VV 6O*>=\0@$&-@R/7@DFO;&H]EA#TZR \HQ2-*J"3 0W>@8 M/C7Q_S/SL1LPG.WX4 ^#%=3SQWU@IK/X24!T6+"%TU^ XR2DH[@ 3<2.1F-X M>E2T@( JUNP/0;;"'Y.([8*V"'LZ&J.3V1A.S]?B]+8$Y:6.Y_LZV]"AP8Y@ M4WJP@8!6-F#1RL!)P&WT MX"P<+RQU5N@ =Z6:%4[()U@Y#BN8@!:B^\.J2438YZHK!%#.P']+YPPKC(C6 M#\LX#'H>@'3H(P'JU"P^W?D)L% D4ECZ,8!-C3C>)B$0T#8&E6S"BD@M826Z M@3YI#5&QA!O5;]L9@=YV#'OLYB\X2=!78FG2!,(BTFUL1**Y$GD%'MT=43P0 M4#TXE=<0M=UY68NFYNEU+)!$M+O@H)*B'0X+'GP&IPF2%BXG O$:4 3.] A( MJ1OA)-)&!2 )M.#F@<3 M"AMN73V >$Z#80[]G!ON"]L3#*% J$@V'0?=!2@ MLRAF(W,-$YQ6E \L.AZ%E8S]9#8HC:/AW MZ0?&BP YBPP/"P'SIP+V!8X."6\1::LE#B:C +6CTW+CZF=&,(F<-QW#H1;) MJ"FMJVHUR?8[!QJE\?*HT'9<*MW'@ MBM#4_A1L!53K1RYVO(?=F?CDUIC;]G/F"'Z4_DE8XD6%%W"C5.@KC0H^/@9( MBCI,_12X=TM%ZT)%W:#"-%F!.K:XI_A6_6,8SN)OR\JR>=%D1XF-2TD,54&7+N5?"?+] M8:2MSF7D?4%-[]::W+*[-ZZ>?Z=E:XD30OPXCA")[-'X4K+QY^N"_0)IV4ESEI ?C93Z$$ZQ M/TVJ_8*'TK7PLC;PLDQ(E62MG<5-J MW_;8'^OH4J\];*:,5@'5V]DD,5KM1ZZ^EHQ\G_3HZ,#J=@X'(Q,8?^%!G92K M$CT#LTGRD,]?J+OHQH9=^]JWOGJC_G*,*AW>"Y)YN[-3^R4&9W/7+N!G"A65 M@+?@1F])>QU)&\#Z"DIJ>!Y!GH0O!,J:!MND25HA9 &GN\F SX]M8Y4E9@. M-!8Z/%9$'S2RW>!7")WLA]-!NLVN/NM03%2DJY@=$54PN*WNO*W6?3!_EX/* M^@FD^E6 B@)+>8H\6OEHZB/L 2*5A0\],G^ MR(AJRH12L2GZ?N""2M.;P;,[/:\'TY[58_]H%/$=D&FA=_)P'MH$?U#O+QT?R\XO8/H2K)R MKJ,%F3FK/!L&;*O@W3R7L!&7,/[BIPNAH D\(D1#$ZM61#N96\S%: 1&7.%3 ML'4X"2E2'1N#.FE0I&\&"1I.D^[%5([E;]<4_"&J":H!J(>%[TR"\]*6[M'@ MX)U'21H+/!\@G8>K.K]4LOSU^UJ41 5]-( GCG5PZ/1 RX8GE 52U3?>/G_W MV__ O^JOA<6%J&M_.AXUO BNKP^'H): K=T,FD X![P.$W+ND?G1=[.["@0]BHN/C8US:4@2U;N!VA=-\J?E@^ M?!+FC08K=C#09E0>TCE!L3, 9HF?_NNOY[55WPA)I1AVXP% V$VZ6:"7YJ;/ M2;T[-ZF[*?)9]$,B\6_A364\.[!'TV:!$QC3"<*58_[7$UN,0J@PY7=TR-1)4E)!=JD^B MNE-[=9M!WI@TN2PALG9B)94"X#Q(L&#]+\NO=./98>.^R0^6Q!U\_'"LCSNG M>C(7(O!V*7EP&A).JU#?2<\/SP8@3$9#4,ATYY>MM__WGZU?HV\B*+-P7_A# M]#Z',"R\6DQQGCO_77\2*Q7#-Y+K+3RME'DQLALCM^.0IA N3";E,N 0AR O M;=^5BP@#,H(:%>7H]&P\FL3?@F^MC-]&X;MOIZ-2<1#+Y._KY)MYT73K[Y_4 MTO,*;X>?3 ?_^W]1QOZX^,E%,_S]"-8T+3\;IHJ\#6<=\L&:-WF_O;/=C:7A M/M#*EV$_]5[0A.N^3**^?'-XPI8MVGK_X?R@GA*=8 M2;GA5Y'?5>0 9QTW^94WXUF@MJ2>7;XR4/V#3S[H[>'51R=5G'!D0DI-H!K_ M#32/27_N[&RR4%)HFJG'U7MM@S840SQ7GGAIB<2BE!\H5S]XB64G\/[Y3KWM M)[/Q9*:3#EJG7(>E_^">0>5OK">@R:@SB&;&H6\Q_D&3<2ZQP%)AP$*.>V28 M'S-F-!?@$\'E.^F596_1/'Q>F8>[(9<5>&UO-AVG2'H=Q- A]S59%6 8)Y9; M;E@LA!BN3=H-Q-!@(YX""6K7 (2J9B*D"L5DH$"9Y_B@&YE2$"R[:3$G8V]A M>U.RP+G(1Q**]>7)%*P.7Y9$+$.=E/L&MA58E"%>"D;D,.4@1+D2MP9$)=@K M(2URR>JBF$L>B.@]B)'EIH%)2=B%8'^-QM.4(E>^=)7X6P/F7)ZF=^9WG_MXONF-+NA74=1\F^N)IJ#=U:<%PZ M-+>N#@D^B')3^^4^6@"+( U@$[V._ADW=V#,G3#1\],41X.SR6@"?!_(:!1Q MLSZ&^'S=,8/1R%5A\$I1L(\G GZ5MV$7^"8@S04ZJX8U7J+H[.Z\N8S2=FNO M3I@ >0RH5A(8*(?PM:W+Q"&09RG>VFS3-1-PJ0PL:1V+3IY:SM5)F'6.24R= M#%=#)D_\VN1L& H?0^@)9%S96AG /I)-N/<"52U'QI']TGD[ \+4"R"8* ^^ MOI2V3LHON,ZEG9PF &M^:T1QEC!'%;2&0,_.2+G#O"G,BL C+9 MOJPM%R#IH)1[W3)7?.@3"=30%+W5Z5O=SK]'O6%GKQ_Z%27S^2U060AO)17V M>:_OB\[+;R &8]'&?D@@#V7%1Z"A LD!+=:*OQGI<8S]I2S84:D@[IR,^X.H M>W87 4P/FUKE:G"&E=0R$X1AKCDQ)CA0F76&&"&]IZ+LS\E;.+OUW@P?\7[\ MV]]D#SZ_M_,9*^LX\10IJQWB%!=($461I]AR+#'/9!:@#01^^.<>H0VHPA!E MF224<9EI6"#F/L\+3K"QRI7-.'C5C(.WT';W)$/V__Z,<>8URR62U@L@&:*0 MXEF."J)\KFVN0"O9>H:W+\Z$ZI0(]VC,FM F+#66H9VM]_XPZ8NO??!;G_12 M+2 <:2F3CEA'F"US"L?#;?.F^?]^;4K-^GR%COKTEW@3["J3Z,V;L9!%+EY MOY:Z*KOV($W2]BT9W[P0M[N7MXIW_+T_!9O)7N,]WS;*K%\F0V3S^D#<)$-] M4RW=M8O*W3C?/"F/P1FLIR$C-Z2)5&'HJKE W0QA4N6.Q(QP[ZZ=A'XG.>B7 ME8!=4DH2RXJOG7.57BK2<],E7F99)8_YQ=2JJO%#^6O,F.I/HD]O,=.J\=5& MTM7<)7AIVE5W:=[5A_E+G<^T*HFBF2$SJ==W21K6/"*;(O-[K]_'QU9I4==, MA[I0;;4\,:H;G.2A7"\X6WY[UW2XI,JIY-D_'@'@C.)9+Z15K1]RKB@-]J+[ M^,^%$.8&RH/4Z &(,&69Q09*<1D]:?AJ82&PB.A^*(G$+82S0CQM7);-Q]Y2L"4A/!=]$@NT ;^' M)3M_,AB=I0ST'[N2)R=@$1:QME(',P6V(N!=5$]U#9RUFP2,6A325B([_/#U MYQFM(:$@&$" KK#B$&#MQS3%@+G'Q[/AZ- /^Q;^\FC,HGD*3XS2KI#'$Y-T M-B=G1P^'L,TV^,,JE6BA#G\*)HS)+&>ZZGM_7.RXXYFR==U,"H=%<][>GCH MWPQW :UC3]NW@8^!BYZP,VSG^_[!F\^Y%#ZS5"%&A4%L$ZL4HC;7"M1"3'_!]ANFCI9!!+8[OQS,J?)('7F;/9#OM23 M8&2XV*L+#NTD6"[Q[*MDAF(6+]N=%\DU6Z4#!#\S/"B Y!6V3'=.0N?-FK "^-NI'KM)&8.HE(V8Y DF )F_ MNL;F;EGBT73/TC0C<74UL()1-*K$VJ";EPV-:W\%* 6E-V:7VD# MDO1%NENW\S:TBYO_&E-W@[T7^&3_M=H6X)5B4)SYU!] M-41C7\ MHQ$AXGL,[&C]E4['.F^![W_\)J39<6TXEX\AC!59CKCR2 MFABD%3%*,YUI56P]D]O9Y7D3G?VBG-E1@5("L$2G%=57=-R?S/OWEI#KNHGR M8Q>WT)FT9K!FM"I:>8P R/=TG+H0JSK+JO6(X(G?2[(^*R5""0)^X&W9%;IR MI50=@&KOD/]V$KAGVO/GBIU*,5MB=_4F,4MBD=/& 4P.RPJ"NLKB.LAZSQD2 MET:/EL\IJH;8@-T?A?D[?ZC'Z53V__O-"T34ADF/,I0TF9G0\3 B?G_R)84" M@^\T(O:TKJU9=,F5R=GUNW<"V80P:3*1+OPY-M<^"2)E&%M,+(R;.)F9X#8N MXX]1HP+$C!T>;"\4Y@S#?("HCL:'1V]E:H,&*TN]K\N2 '\< @P^L$WPDU3A ML-@]O3K 43T":AX1U8DE_]E^OUT^_*PQRZ5<3NAV6CE*TWL6LS#[)=A^#8$Z M7;H!40^J6YG&N.Z\L>GQ"2#*0MI-MVZ '/)QZA574>ERTD_=/KF\O3^)?5*& ME1.IH14WPCJA*T,<&5.)Y1A$!K@8CJ8AJ@3B>!8JC 9GU9@$[\[7T;A9HQ@D MQMQCZ*0H];;RI2LL*;=HV6>K=Q\N#FSIQJ!F(^TJ+3^L$A29$-J/G=''PR8' M)M#5Y5B'*<#>,,V>&<;7[$_#OD>_>O36E8^N%UD1W7Q)@Q%(R7 4AU$OA475 M(S!B$S[0MNJ_5*D)&P8#!U5*2FD9I;$B3>BO"LD;C012,_A1;3U4!7"#LT:U M<-WK>I[FT&"?_QJ=^AA^+O7/1+M1GQHNZ9 =0S6CPS((6"^IG!J2I&5L5P_7+64 M*1GRTO*V7[;>_6]]?/+'BZU?YRDXD:F;>VPJ?@D8NHC*A\%0',9FL2'^-*]A M&YY=O2>-$PI:R&EO=!Q#MC4=^(OA_J3O-&\=Z:.G4U1F&/31!BN57O4Z])-L MN(@(_6\AZ63:"XT-@QX3*](8:./)+CR8 \@"QM8H$XYN"82>A\UYU_D*6B_L M;^H&6@'D DDN0=1N8_3&(IC:$(",6%H#:-F#830L4I^K3<.)-)4N2LCN G 7 M#?B=RXAEY/C+UG[\ 4@\7:Z$27U0X6[S5I1!R%0?J0X;Y+INI)0=GXSB<*"@ M?)9Y>($$WGEW&@R^YS&T_QQ4/""[85\'"["*M<24)SVI*+A,J"RYL$$[VTO^ M%JFXRC2K>T:'R4KUFOJA=<=L#2B6*[F)=UX$O,8N"X M_6:9<*.EPUD^OW&A/-?7UQ)0%)6])U]O VB&\=DYZ3"^01>>D/P 6#3Z%Z;S'*<7; M*WCFUY-3EWN3K_8.Q^R06DQ=HGL.^O\#!Q3V#\X2M' 3!X^%AEVU'INFBSD_ MT&>3U(@F%7&DXYL&M3^-1XJ.EJA*Z.- &).JI5])3I6#!;2LX]B)+G4XZY6> MI%KN+%@L\.#CF&M;J75SG JBL/)D?@VU,>.Y#[&B^B!+HC\Q:(_))^K&L1MT MK70W9$EX>FVBQ';IZ>7/*0A!@@U![I=:3,PQ#I,6+B!HI5PLT?"[\ZT/\Z$N M.:+*Q5H=8VIN76].:'H2IKX ZDQ@;94.GB"EVH-Q@"-=N0H")8U'@S36#:29 M=@L+CA^/OJ0PU]-^J;?]*Z!72-89!^:?32/4)N]","8 K _G$?8E]W5)($=L MC/I^V1HR6 5QJ%)4Z@]C%\-Z1EN)&/#8:B!2T@.*YHJ 7@[#KDP3W(7LG'XP M!W3WGY<>W:-71Y]>_TWV7QSB_8._OWV"?^ >O8\?WM"/1U_PQ^-W1_NO_[N_ M?_#R]+Q'=_?#WI=/+_[A^R_^SO9>O!KLO7@)ZWW5^WCT"3[_KO_I]2[_].%- MMGOP9RCRI7L[GUUN,RJ50 *; G&7&20ER9'&GEJ5$:/(A8BISW&6TTQK#]*0 M%DK)/%>Y=8I;+ C(Q'-SK?\,@XMCIEKR9,T](.]GQ\=E'Y3&(77FI]2ICNDG MAF!?O2$*P;GS*G?4:$<,$TYX;Y**<(=T&O=IOSA'HV?IWT^8 M3O'NX6>BJ)0VYXCYG""NX2>5AYX%.!-864ZT*)P?<.,Z(/HGDSE6&ZSU\0?GE5:X+OZZGN#4<<*$XG.D5\+YB+J5ESS$.V889D\!G-\>AD MOJFENO//,"XD/B?N]$Y$A]"T\?7.SMNM7VO=KJP+"IK[>#8H;>FQ/XRIJZ5; M:1H[*(,!.;>V7WZS,74U-(4Z[D\FL1/TUON7S[>JQL\AS?^XH?TV=20#2J0; MP:V"9Z4J?0M9E$GEFW]01PMB.A]2%I6H\ HI%AUG;H:4Z_HQDWIKJ\*R:BD_ M=SZ37F4;1>4LM8PX BU\L6=$=6O;O.&R535>*3@:_=RG?1W=KE;MENATJ<%% MI=@E2\76;[JP,)-:-<#+>3\-%O5%0WE!K+4I;3].:2,/DM)V/5Q<,5/M2H7C MG#S3CH+B3YG+2,$9$48H61 F#,XQ-I14X2\<(P:@XD@W!184TP* M7!A"L&&Y82MDQ-T762QGS/EL8K Z8W)*="BN""+EP-04[KD43LM0_FR\F'L0 MX:?[LY#:F32TXJ84*K7B5,G6KP3:PHCFG\/@5>,,\2/)NDWI4+&BN*X'2G,I MP][,)N52D]%7>2FN?PZEN#T_$2">\P]0/ 9S0J3AI,3CU,0A3&8()=A@?<2= M'C<;?@]'"QN?Q.^D$AE7G4DXV:I;6^-ZR)L[CCK"I!\$P@7_P*:%-IZ7/AU0 MB>"5HY2L')+SK0PYGQITEJ*?3O\RRFR08%!60Z+8JSB&)PGMJL=W^'HDNY.& MMMOM]%)4M'3USY]9)AL*7X#2O7@NX6(3TJHB@NJ[9*LM52W_V.*C# M,1XQU*G&)X",BQF;-1.GH'&DB4ZA^^,RI#Y?5Z7YA-> NP<0*X5%B62+J2.A M+G$Q;O63J-@ C]@XJC<:!!?H?\;YV-.S&P%N#)D"IQ3U4.UX9-?[?A(PE<9> MO7N RB#:JHWMQP'"*>WT:^WYKCZ=$MG.*L=Y=3/8N/[(=1HC4$-QYCBITH\U M4G2UUO3S_%DI&M/2$)Y5.)FF#I3C=6)R30BHQF[#G7/=AOLQ\#<8I%,JC>G* M/$FV4J,;7Q,3?(B,#JL!TK;I2+C:=WVW+K-_)GZ_>%E)UJ?G&J.[.Y\QM5F> MN0Q9,!\0MPI,'U88I#/FM2 Z(^R"2W8C75W_3"( U<>]@>+YG)X>Q,QLV)"H MRSP(EVG#I5H4$P:"KAWMBGK _"RJ3L8)E M-M>"AE3I=4$L@QX?UU;(^49%EW7@,MPR6U[>.^5/)119$>OC09%*J>7.%.D43TR3B(+#*5ZARI\KJ]J0J M]H>A\\9H'-=].!JYF,T$WROGP$V;R30 MO!F27$(::_6CF?>+;Y[:@>I8\5/ MMQ'''93"(8Z3+#%V,AG9E&P23\Q5+26G^ENY 0#1=CJ+6D\2L2E&FNIP*O-U MM/#V46<(,=FJ6">U4 J3_CKA$['&J-2=KR2L-4O071@&J >1UDJRBG<*?51* M6JZWN7M^F.&EV8-V5(\L+'-C4#W-+U%\]T89PMU54X3/)2?^1"[OW-E\63IO MG1C)RUCU$@HOE<;Q4Y1 M[/V=S\QHC2WAR'$J$)>\0 9KB9@L>!8J&45Q8?&!_'(Q. +L%Q[_^OF9[]#[D?/:+LRK5O7'Z08 UM[#S MD'M8M@">1)UU6);_3LK%UYFD.A;13VJK-20T+[Y0/[W0-+Q0:G!;LG?4*DIZ M#YISU;^&5%[F8!*"^'8I)#+VT_&H+MF/CO9D@L7[U>$\6'!]TS*8L5@!^%.: MRJ8%.!:Z6P45,2(.0,E%(*$8D4:_H/7@DN?QU%-0JO,FM>P,!_&0#!'47MBU MJPCM@ 5B8*^W;4,(>R@\C?_BR"#5 46T@A$.H0[)+D;_Y[G4%6$B(2K6! MJ:];<#?%6"E\.^8_!3=)E>UN1R=U ")Y>!:E:54"LPH[)FYLF?!V5)R2"R_5 M<*(]=Q;2H,K36;]7_^&+OHH&:/\XU5BD#B=PY\O?-W8#3IM2%B1$M HSI&.% M_*1FCXF?IB:\H]@$J78I53L%7X]RJ6* LM$O7*F+-F*&RC80X2!6;X0'G/:; MV1<7^PLG)^_BZ>ECO[I2>L;P^W]Y%^:CEG>H>@U']>9ET$7F^6;[I_"G ME+HQ7XXD&>)A.6_"H8R7:4+!:*@RIA;?%"Y4*=X1WE^-O:^K/=.CT/-Y$M6' M<7\*IDLHSQYT]D^JT%3JYS"F3B7+YB#'KHZ6C\I(N%O#AQL:ED"1J9)^=EAMG MP\:-JK%-2;DT517%0ORC[+9C:[4SEK@.DI$[SY4X]TIQRD0=AX47&ONRH']) MP*V9-WK^/E':3N;*<)3'59*3KQCK).@1O7+NP+*6<'5I.%RO6:_;N50[E<26P:0J6Y&*1-6G34 6_'&+HD5V =C:2K MQ/7.[' VF9:.BDN=%#A?+WG=%,CAQ\20S^/@B4E5)I0& ):RYYQ4IOC7:TC8 MSL^*V.;.-;?X@JA-HS+ZH=CJS7 R'<_F]+7P;/V#QS^DG.RFQCIN9GV9N1&* M!;Z%38DA_H;7LI$56+V^;;R^"\?8/[<'S0^<&VTZ3V)QC3-,[A? -I^ H'S* MPD9&277VGY,XTB,!5FRX4I7O=Q?ET2ABEXWE;['7;#"PW#+)5M=QE.\*?CSVL-_:/ MB,I,ORX#;)C?W;GZ$?M% 9E\'84:QK/4&#/)5]T?QXRG>NC($E5DSLDT6T/? M[%P:->"B1*O]V+%H<-=QJ1\#Y@9UWJ0]K+*DI#6/)Y:^_A_XG05-_.T'#?(MX&0=T4C4K@O?^>O/G_KMH#@S3E^:7QK&_ M5^@D].VD[CILD@NW2@I9UE=VZ=%<)?V"V5"#>]E^KRE1@/L#ST:3J1'K3Y$3 MVOVQ9+N&L#JY&'.Y8 8M[&=#XSAO']6&UKG-.;>U8U^/I9U;2:>]U/0_]'&. M(FT9H127/7QUPPG?J^&T:3&6);68%9=8?Z[B<:[1&OFU,7 M4V1CR0\7^S.>W^5P__2)(>+$P37)!_U^VXU MS^'H#=\[L'C_Q1>\>_2IO_?][V_QOP<[_./!N_['(_O]T\&_OWPZ&GRYD(]Z M=$C"?(;]@[_/]H[?L+T7+\-_R>Z+7F_O];_A7GN#W>-WQ_L?WA6[1V_.=D\_ MPYYEV$B*L%$.P387R(A,(L,P$SJS7A;Z?#YJX93@6@LEJ>-,P1>]I3[\K)D6 M7)[/1RU/ )22N@KG)YIY7?W4Q54ZG154VT(90SA60K),,*]>>7G3#D' A1=^,Q?_*A--AU.^_A"'H>OMG9F?3+ISWO@0[ZZ[U6&"S2 M_GY14OY!V-PG#.-X]^_/H9&0M8XCRXA&W#*%C#$.>9Q13@S&N;IN!? F##E] MGSAI 2A2?XJ$*< HR1<[@Z>XR3Q7NF3$2K,-O6A1;-9_,O&_5S_\ >Q\,M!G MO_>'\='Q2W\LJE%+1H3&34N7YVK=-DZJW70,_[CJR>7E[7CIMZF[>(V*;4+R M2R_C;7+IM1_=EL""R.5?_=%M?WPM8Y<_] :+S52V.8N]FYV5E&W.8ELR"#LK MKW7;WR(F)%P Z D ]7^VV-;W-3 II_M)2$T2%P,NU$ M1V.G>MDUV4!YK0U\Z\=1)0A>LY=I\- UZ.E:[_^D]G$O#@G_LQ\]KZ TSL+X MJ'8G?V(G#T9@V]\&ICW&S6G9M677]=K)B^QZA9B]: Q;ZST8PS]X[8$O+IB/ M=_/25QO4\:UWPURJI:ZQWZ]#19=MP:V1UU5[?)-[M(ML%[GYBUP9I4J7W2:A M5&K7>IU_OTU(=B$XLFB37VM3<&<3MN8_;O2*S5<;A[NNU;O]:W%Z?"<,IXY! MA=G$;2U&&9S40H0 OG(YU]AH96Q&B"#.:\N+O(PR\(4H@_,VS%R=_)\M! R3 M/,IPKV_3WX>S8S>:EM=7#"S'[E]ABW=BRT+O#O2WK33Q+3+F)H8I>A^/OPWV MCSZ2O>-/@]W7+V%->T>?#MX-]E__S?>^?R$?/_S]_>/Q1WC6Q].][V]X]1UX MUNP3_2??._J'?CK^Y_3C :R/[@WV7O_#/[TX9/L'_]W[]&*O_^D(WNMHA^T> M]8K=,_SMKX.7T]WW^/2S(DKE&E.D.%>(DS"@2A<,9=+CPG)3:*U:2FDIY?2S MR7,F)Y[I*5TB'LE,L.)*8S;>D9X5Q!1I2%4!//LPA^2.+D)N ;Y MO2+(KJ0QG'OD>:VC%76/5M2I7#JN'9:<4X"_G(HB_$(\R3VS*P+8=P\JDY[T M6NRZ=^SZ/I=RAN7:4(6DPB#E-)%(4<:0)+:@C'!'/&V)Y(D3B3,:1!M(-$) M'^),6&0(X8@+JXE0-!-AU$!9N-1*N%;"K=6[K0!>1 ,P%4P260A>%+GQF'M# MJ*(F4UF6M2KZ1B$8J1$L,QFFV O +6M S!E ,$\<,EBP7$CEI/.7JN@M7K5X MM9YXQ93CCN58 3IQZZGABEGFC'364:),4]50QS4,N] MS1$WE*#@CT(Z'&YN'"C864LI+:6H'!3Q%?&K=2L\ M&'1E-71I2N#_U"&>41!RRH(^+BE&)N/<9D0[(E>+L+1$\OB(!"PT561&H5P4 M''%?2&1R3!$SW.$\%SGFM/4]M1)NXR4<,T5N#/?8\(QK0"Y6>*J%T3RG&O.L MU= W"L&^ 7JE$/'.9\<,DS0W2!>% !U=YDA3+Q#F0G!6Y%()?YF._G" =4M9 MJ F#U)J#T+O+YC7"_\;+4[KJ/:&K[-S);I/3<>RL0*PA&7' 'P%44B'BLK;"RD"NZH5I*>:24 MXN DG?0*464\XEAR9 J:(9II*SDV0AN\]2SORES>NI+^ [ES5TKZ=1.OG[QH MH+DPO! Y*YCFSA"=99HX*C7VA4Y:T?"D1$-F,T^$401T0>H,!GY7DM,L MSW*O?%8YU2(V(^L2GJXT-+MJI>^=E^V1YJ<=OWW?S2(S4#-4X71*N.">\J4 M(E*1S*A<4F(M;1VY&X38[YN-33)"M3V2TEKJW2UG&=TW!;&'QR,&@QM3EVUF$J.,7<.%D48710$6S6S+%L!N47#I>SQI"'RD^(>UT!G/ MF,N(YP"&*HQ)XTIS(PGC>9O LUGX-X_G$T9,ACU# C1]Q#W32#N?(2IT+N&T MA6(YJ(%9%P[_K@'P4:#?4P? QXN!,G=>*;!ZE5&<2M@:6C >JD\M-BQOG9>; MA8&--@O$,"(*AZ0%*Y@7C"%%C$%"4:^-*3QV)$0K,GSCE*:GH@.V*/A849 * M++56)N-@'8&-I#*B,%&YHTXR6I@6!3<*!>%1A?&K-M4;!%P2>%@C:7A%CC8$]R3I260EHAI):L8)*3%@4W"P6;@6RK M..$8U+_,"XJX\PZIV*-$6LVXHI3;++:35/EMM9.\ZS]/>Y[WJ3K?ZWN';_2'SH_!!:5<4D/@0L[H"3#2N?9;K#$ M-CEW28=%+')"),NLR;G.O*%64TPR*T7HM]CF.&R03;/?[-]""^$M=Q;EV!>( M"^R0$2'S2[-".YH+3F7(<1!XG3)SV^3[V^[D!9R;*6.8R33'.5?"LCQT^' , M6Z=-R]\;Q=_-$3[>8:D8%1BKW"EDK,L\S+F5AMI[1+N$W]MRN'W_? MF*?7SHZYOO]UV2L^&K@*':0-)9H7LN V,X:R(+5D)CG7/L,M7&T47,U3CJCU MML"<(R:<"YGG+/1.Q8@KJJEE&!=AXEC6A7-NX:J%JTV!*R<%ST,T/%VU'^LV"JWD:3U9PI;C" M*#,RU&$+B0RV K0KK@L@94TD"=J58"UU4]939W(P#]NRN4V" MK6;W!%PXI:SBB!KL$"^H19(S@O(<>^^H43;G8>H/YQ=['V[\F+*6OVO^YL)Q MD%U9IL-,>2.M9]J#OLTS''YH^7NC^'L>4K.9H@4+6DA.,\2EQDAJ+Y'.+2ZD MH)IZ%YP^@C["D?(M?]?=CRAAFGL-7^2\D-04U%,#*BI5C&>\C4%M%G_/8U"2 M923/- M=K@O$G1)(%CI'PCMF*:$R)OGG79*KEK\?+W\7@N4RUU3G!0.0EPIK MYD,,QV+0UZELW0H;Q=^-+O96A6G1.8M&Z%S8&MW8.=:0.VLHPZX3T) MY@9%/#<94I:&01@NSTCNM%?!\&!=SO$:A3/;8IM;9G%29!A;[GWF, ?^U+4L&I*7T7B-$G>M(Y-)TTZ@G]0C<'$ M&*X-3>#3OZML S9#@L& ;2J=)L;VWKN&M7ZUYN6-G[I@YGGJ'4;7WZO<_0+< M?7;5Y$+@)BIF2$@Z$A0Z!?%).Z*R\3IYG6,P*\C&AC/^6V7O)69O4)+F%,'2 MA$Q.O:'*,!-%LEIG4_O;+AB/M\9.<.&4-2$3ZF5IC* 4\38",2FC=BD,-0#U M!%]^%@]..!-*>'3VH)@N_8T*9409* KJNMH6%HS%KXYQ:4L5*@+&. M(( #R8HQKWSQ\?,2O:/AT=[]RN'SR^&@90B.\2"$!!N5@YBS2@F\0O$NT2DY MO,KH+\?T(\X(0[0WJ'ME(:EC549_!>R=N6#>66T- M T@*A3B3P)JDN1(BQEJC<\%XO#ET_B&?K^]Z2B7WBA&P# AH0TO\CB$N0@Z: MNL"IF[\3O#:;K,TF:U7EVFSR=2#VNW&_2.8>A&&2:*EH*?J!*I?TFCCE,JIB M7''CE[S=Y+W&4VO/5Y2LO2A?%TI>&:9X0.JPD1/@$F5;QQ.QD#*1*29A1)9, MT]J-LN)@Q<':DW+I<'#4H$ H*B\2:1R*2V0G*=C*M]32L.5ARL?4V7#@A3 MGA&G/>*@8%%;*JUQJ78VK3A8<;!V-ETZ'!R/FK N><=D)EQ9()#!$.NB(CHF M9CEH[DVHQ%*)94 L+EHMN$J$@G$$M%?$J^"(3R@E692*-'=W]L%=E'/T]L:X M\B=]<:=IU#>K;J+UF?694_9Z_?>QPR]>I&"/I8D?N-ZW=G?(4GQ(Y^6;UYZ' M(^FXHWYZ<_'BM]CN'W7#"[Z;72S(4\5MKG.;0-N''[\VVD['N\5 M@62-#H62423G/;OOS MSZ2X^Z&/&*RTVO]H_& 7YKK]](W9ABXX^3;FH(NMHH[LA[-*]^G2M#)U;F ML<1SZZG[2[GSI9;/W&OY_DR]@8;5#:GQKGM^=G S$/NA\W]5Z]@Z_"=U&O]I M'Q[OI9X[2BGLFMEU_E:R9OL^MPUSE["8-YT^X>] MQE'O,)Z$XW[#=5%F3;U_VB&]N0\5W;4$,R.O!V>%UD'60;Z*03YW@Z:70*FA M4?T^/_\<(EECY$1Y3&G,)77U+J.7@GFOM?V.:'3V?;!]L_FEL[ M^]<==,V-=Z+%WW]OGK_?Q[&(UH>_#YH'?QQL;X6SUE9QUN%]]M_]:!VT\F6> MT%\4Q_YN5QDN-61*E%2: #.&&&H223&SY)BEW.65MQQ6+3RZU>?\%<&ND+6D MD$6#M$&P;)BAD*,R,>DDA:%T.K\W&TRD8&9K@A,7A3$L % M<<()8CWG>#IIY6=8.K/"586KYZHR)*(0T8%4V4*,U/ LHXQ!)0,64I6P%@NS MV#AF29U8D) (-=X2B"P0CW(TH3H#B,!2P,VL$E:%K#F8VQ20Y2*W7@KM<8I@ ME/>2&:&,D$8A>/&+RJ:L1FTN!&2)<<@*5$@IA"=.E0KEPE'B8T0Q2UJP.3G0 M"L4LNZKH/+5-J8A5$>NG?989H%8HJ,S,@>#6&NN%"D)D+350-R5B59WPQ1V=RCJ&TA\^> M>F:8 J\86 MF5,>P"EB+@EE7;>G.W_W8#4&#\%82SUDBX(,B-DA-*##G5;#" M,SM_$M:,@C:&*&3G'(8^IWYRO; WB-N(R""=PZ.#U#UNX)_>[1[0RS5Y]66S M6&2D5BZ68LO+.!^=8YB[ER*BH!JW% :_6[Y,N0^8#T\EIHA&D"-"8B(O9 M$"V"B#QS%5+I;4-7C>9S5#=[U@$GKY['!?-*HH2M>8I@1/9":BJR23PJ+VTU M6B\6CT\XVH*Q"KCP))2^-B 2)99J082B2B?\&S@OU2Z4KNVKEIC%41+UO'C, M)04(PADF$Z0HN>5)"I8JBR\4BT_XI3QDY%-!B=)&$5 N$..S)L8F$:FAB.@& MCW&S*J$>XTO,X\C)N/E92 X*E 5G\3 /J71.5Q89NMH9%HK')QPY1ADH\C@1 MUE$"4@3B@T'Z5KBURFMN&%UY:U:U?G2_A,KB\\OB13&+9XVR5RT>7^Z\\ M/K\\'F6.Q@8/P4H +8TW/K(D,E7.(])7'E\H'K_F+F .^5B5, S.BH\S$R-3 M(CK2$!B-5@2[\I;352H>'4-66]7-6:NZU^#"O>?DEP:MK0'+M5-91@%<1XM' MN-)**!9!&\:J866!T/JO2?](="" )DN<,0C6$C@QBGF2A 9N8Z;)P,I;(5<- M>_(N=8L4J5(!\!4!H I*!&J2C-1 ILPP+I-)^-=8B&G:!*T*@"\+@!/.(YIR M="%:HI64! PK#>BD(UPE'7(4,F0[(^=1Q;^*?_,SZRGP#U((J)47*XTMOA=K MM+8Z"T%UD%;1BG\+A7]L,J?><.!>$B$ \2]308P3C-BHA'>,69',REL0J_#T M;8HK %8 G$L M$$EAW=!7%T9%'.P@M$-I6 *P ^"H!$*)!R,L9%:4,BDG/HG:!6X]_ MF(JR N!" >"$4S9;)K3+BL2$8B X)HB7GA->PN)QHZEQ?%9.V0J %0#G9]93 MY>/2Q+U@3CL/FED7LTS66*!..=2?*@ N% !.>JP5J*B\]B4.!45 [30BH+)$ MR^1P,U-P5JR\Y795B9N-G^81 6]O\L1^UN7IN8J97NOI\\2W?_HGU E4(GFM M$W@-%8?_[.$1W3MK?$N'WWKN:*^,JX'O?$_'_8=51O^%V%GO4>\Q]_=X[HX( M8^W\!I>TNS%UD47-8$@O@0OK*(GC2*\BYP9M!Q\2L+AL&N)M4UP:/=!(KK@, MF9<4)">YS98E+AV^4(8F4UVABZ,';E[5"A"MC?7=E&6DTDI"2Q0(!"F(%2D3 M*YV@RD4=$EUYJU:E?G2=D_E+3JB(M:2(95TI(TZ-<=Z"DLZ;;(71RDLN/2)/ M1:R%0JSS<<0RCJ= $;$2M8A8@I42X](0KK2/T8F@TZ\MYH(3Y./%-5&(P92EF85L2IB+0AB M<1ZEC<*PZ 6 ==9[:70Q>" ]\V0K8BT48LEQQ++).I^S*'U;) %M#9F"NQ?!6/A)&"IZQDX@P/8&=M2C'&;&@*DNJ:0KE(V/77 MI-\0!%,IYD@2]0'U0R&(S\X2(PU+.09%G2B%"^W,$HCF*$J^LOBE0F4I>)N+ M&J5 HW"2 C,&J'%!*DMM9?&%8O$)1YMF/MLD G%.%A;WR-W129*L3%H+ZGTI M7"A6X?$FH,KB\\OBP86@N63%(P4^(503KIR4? H"CW##F2 0DD)1G1OB/9@L@I7&II6WI%#(3RT 3X(H1 M[ZPG3,L0E3 ( *&(ZMS.*IN]LO@9L! 5FX7!@@Q7=-+2T1SE!ZDO*952V;HYZD"^PK6/]S M_?='^ I>17<$;7GF.DB-@BI$&9V(G";)DK1&QE@;F2T0=#6WUH\OH O'=;IK MG.-"A$2"YL62J PQ%"QQTJLF!)-QNLI5[62VQ$Q>3$W&^$ACCJ"<=+28 MF'0TX#,NP+3>@O/4.XRNOU?Y^P7X^VR,OQF%:*RQ)/)23]IF1TS@B0@JG,U" MIL38"C*RX8S_5AE\F1D\0J8I,YHY*"&= )6\"49E<,X47C,M;5PH(W5S? MM=93C[H&R+U'%]^-H_1!"FU#"%XT G54@1^*X30 MW'&9:RNS16/SJ\.<[N)AG3@+GF2:$Q[FCA&78R 6/+6HC*G(!I$]G,]31&+E M\5E7OZ4N(,QGY'*-1$"1R85(W)5*@4:$:9.[JJS^W/FN)%XUG9GT+*E(N*U+6!J9+AI1G$TCII5=*651'RN9J M?2CZ]?,T/JUB8T7*!4;*VAYUN9!RVCNEQ(>=W3[B(3*O! E.8&-6RCB:.*(MTY4,YFJJ5\ MKE:JLX+*V[NI_JR9ZC1]UV;5U;$^LS[S_L\<'#R\'SP6L-_[C.JX;TK5N?+?/P%Z( M$9/9L!.SGX%5>/(LNNT *N?.\7HW_K?M?+O3/C[;*MNQA8_]3^.SS!P*W MV.X?==S9FW9W,*7!1;^-N&EX3):3\/H!.N"OX<>_G;;C\5Z1%-?H4%H&WPT;4S?_B94FNX^7=^3-?8G9_][+8,UB2(!]WVYY]):_; M_B)L<)8]86_1R@+2<^H]CWIBKS&>OE4[^>.DFQJ"KC8*-M^C8_.K6Z -A)4# MGWH-P0:+1"<6Z;EK5KR$ OO[).1.&^Q[IP:RU$:,Z2:_-!8,ZDLW6&%1%F$ MDAF4#KFW(HG@8@IY]^.C(P/N%!8_] [[_=]/>CW$D"4Q5;S#,:W_V#[_=MHZ M7^<[&Y_.41C 8\[-O^C9J$C8Z:Y&05Y2E8E5T1(P/!$O MLR>)26[!&=##?DZ2/]J:.Q6/S'G?E(IRKPCE@BI>_N2U"QJB-M8FAK_EA/"G M>%(#E*.,"U91;IY0CEZB7$Z,@4.4XPJ*TRIDXC-JT]Q1S\NV)I!#E%,+@7+/ MW6?E)1CTRRV:_F/JU"T;&-\VQ:6!W&<0+"_HZ_,5>56D22X1_*1U M)"GN"420Q":$7:.$U%;J(+D8EHUG2UA3NJ+1DJ+1,PB %8UFA4974I^+*D1C M"AJQ3"!!(I8S5K1M%>W\.BR5#-$HU=E9!PX;![5TG/)@'2INY8^ M7*R[IBZ[HX%?_#S%"TKZ'0FIE8XK:#X -,_&1#CO'9?1&<*I5@0$!>(YPB>E M,J'X9E-B8>6MF96>O$ VOXHZ\S2W9Q'?*NH\*>I4JDE**(@Y]*D/1,O M,B6.YV"8#$PSO?+6SE.']M=@@[L4T\9B:-X@C^2$]!XOZA-5J]PKT8-?R-U[ M&1-8\74*?&W]/B;5.6HB]<(0:UTDX+0DE@5-N,LZ11H-E;,M<\6A) M\>B%'+,5CQZ(1V/RGE'16LT(Y.0)T,"($Y(128'%F+5+RA>'K+;SU$-Z,E'@ M6HK 99C]D&W>_E_?^_?;1\3@OT1<]M?4V'.Q,14+&L:"C[CN"DHC,FV"UL89 MD84!=I'#!G?DL'ULO9]@1AQX* QY>MB+_=2]=YC$[RB.MH__>]COO_MQE+K] M=,F:=#%9\\&I ZWS)M^E5M$H:";:6UK4J=(;#G4J;IU(5D?%69Q.\G/:29 B M2I8@4&Z%$PZL V^8 6CK ^XHQ90W>8GV68CE'(F.2*4-8BBFA,+2I @$#>I M]#*(Z;;YD1FI=9N?9)L#SS%)F8A-@"=F])EX,$"8 UEZ<=/@V'-6]JK;_"3; MG(WV-')-4*(-I!19():+3$*TQH1$3:!NY6WW\(9 ]( WAL']C?;!D6OW#E#J M:(0]E$A0DNBECCM.L7%\V,CMKNN&MNN,4@$:@^2IA/_W4AKD6/7;/QH'N+U[ M_49"X24V)O)+!E\I.+%VKZCPWZ[?.?-8%SM M?])5"E71%<8N'"5@T:M+G.\?=DZ.[[[D-B%L/#'EA:0P!M?6:^SGWF7J]9'[ MEHCO)?>=N(R#?>,ZI^ZLO_+OR2GB_*XMZ32K<5,DO4VN'?Z\MJLC#G8RR M]9XA26LCI$81)"HE8D*][2%#>.[]N)81@RQRX/!+$2$6N:;[#5^Y0;9BH?ZA M=C+! AP\5_AJF@PQ7!:_#Z M] /?&:SWQ0WPT\-OW>*766M,4N:M-/G+%-E'T.2++_?7\>48$,I5HNU%/X'K M:;#WU%)7GCM/UIHU/DSTG#9-5H@UKN^7(CIEYJGA#\N^_46:+,#B#%;8!5K9 M)QOL\R0@VX7)K[V!3[YJ,Y45R1G^^ M<=I?*"1'>,/#6%32-_>AH?NFYLQWIOH],_BG+Q4U36&>Y5E+>H^U?)4+4XGL MJ8CL-01ZKQ_@! :FHU)@< C9MU;F<<<#*/<)E83N2+&]PO9[X?K4N9C3TN&# MFTK60<[U(%]#*-_0^'37SS]3;V#0[X;4./0XVH&YI-_HX[_]W$ZQQOB]DIB: M1WIZ9Q=<,Q+W/U]*^\L1;7/0/&OR3V)[?V\?GX__?\)QEOM\_-$\^"2:'[ZP M'?Q]9^OSWO5HF^WSC^<[&[&]^:$)FU^;T-K89MO[WUAS_]W9SD8XW=GZNX/W M[;0^O,^77;%*M(VT8!R5@OB@.(&4 _%4, )*.&4$ ,MIY2U;Y:)&_U6D6A2D M>F3H446JN4&J\TND"M%G!S01B;M56M'S$NH@2,S!B2!THAQ*7"#7\Y2Q6Y&J M(M6\=-*K2/642,5&2'6.<]G5"7=2J$ DA(A@91+Q0EA"J6;4\4P--46L$G,5 MQ%S!JH+5$W-UA;\1!-^H&72XNGVYQ;Y5/%OH0GQLK M[N\G!R?#P.W?W7'8^W*T'O?Q.R7D?.MP=/@/">9C]]V(4C;SUA6E_%D(I0H% M4P@%EWV^BT'%,L^T#HE8I$T"W Q# 1A((-/,O- 53&H"/KHBC[SIZ-4/)@[ M6VG%@Y? @RL#*Q=4ZF@R43298K/0Q$&FQ$CO'./&N6@'-HNY4A(J'BRK1;+B MP4O@P809,^BL#4,,2(FAB" X(S994QH\6Z%#%)JR@8@@JHBPQ)#PO':_ROX<'C2X^K6S-/\-0VLFL"'(5;WM'O;Y[8>!]BZ N- 8^A]DDQ!_]2VP\O0T; M<=[KE[LY1@*;EQ3PU\7^3[I/RD<5$J>!Q/:8J<1080P(24 KQ,,,D3@I$!Y% MD8^I@. TU9206"N0.#*/J(]9,:U)":+ @+,$ ]) MHFX4D_,9A)-TY:U%9:ABP!)CP'/81RH&S!4&3(9V(00XQ3/)2D<"-&?B+0B2 M40X4P'''M5]Y*_2JEA4'EA@'9F 4J3BP6#@P82,I-A"K&"?2&4^*!D!,5)JD MJ%4LN,]H7'G+S2J"PQSAP&M(:-PZ/':=RY)&TQJC[I4DNL2QJ_>?_])@^?S$ MQ(SLVF4A<@^OFP;2:XCLE(@^G@B)8GR*F5'B;*0$;#!D8/&AV3'-@XQ>,H1S MN8ID,B.K][T9;<[C^2M@OCK G)^@H0J8SPJ85^8P+T*F(29BG%($= %,E16) MP% QSE8%55JHPJI5LW(35L"L@#E/$Y\SJV$%S#D$S$O;X>;&%[:;&*=*E69; M05@")EEB,N4$0'B>O,_X<^4MB%4PLH)F!"%*X3N=LXH-1V=O4C1<%;WOIZ!"_B:,>93D/ M&\7<'',\Q*ET#X\OYG49Y]MO%"\R/K.-&^,ZC7C2&XT-'W'838VSY'IE2)W4 M[Z\VW*A$+W[XC^NU!TN%M^JW$0*'75/<\7&O[4^&JXA3[QV>N4[Q1:^6NXR% M%W?3*0IEXTN0?J1>:/=_TB+G6G.HA: L[SK#OC07';$&*^,3DMM@WE=[[5V9 M.Z[A_DG\5K(;RC7_''8N>MD,=[7L]HC"!B=/?QC7'48B:K_1/_'[2* 7O7\N M5K6L:"&*7FG2-1!(^HVCDU[_Q'4'W^VE?J'K]C_CQ'%GKZ)K76$N6^D\;],7 M5"#6Z%")F+;K"]-KECY)NP\)XBFZOHB['UH'^ZBN+^9)^NF\^,K>(JM>\!W* M6>E!WYQN >RSM+VY5X>2^2OQ/Y1$$1\+PMZS=\*RK@5.G[_NZ8O7/7T8-#]$ M<:F7!@TJ9[L:CX:]15_A0?S;J^LG\F?O,)[!]?['E"PG/]O0>9H);#,[#_Z7SGX!W=W.KL M-3<"M,X_X_/_P&O>'S2_;I\V-]X)',OWG0^?SJ][!EH;K8/MK4]R\^N[4QRG M:'WX>[]9S%)?MW_L[*^?-K<"SOOS]YV-5FZ.EZ]RVCKEK"%>ZN)*%8DX2SD1 ME@F7A D,1.EM8CCCO\TH 'MN?*F_R-*H6%>Q[GK$7K)@703/9 ;!O8DZ2I^5 M\0+_S_ENK*NH]N2H=A55IX2!1(4E093G5AF>;4+=4XF? MB&3WCFJK$/<$$">N2J;:X!081;00@8 7G!3!FEC$N C*@G:#-B]F9BG "X%R M3^B*JBIM56DO\%-PI[1%8<*:! Z$=Y%IJ8.CX#G05/%S/O'SQZ4=;WW7NIC M)TT\=Z4(/92$",Y(]LDG@1^F' N"6KTP*N\]'=R+@$*?4S^Y7M@;N.LB\D+G M\*A$*DU1+G*YB\ XEK0V6284X$ F[QFBD B>66-T3#]112L$O1P$C9=V5)! M1Y3>4%A+!$![8DN:@;?!@^/*.6 %@*2:LIK3T\EC4]1F6F[N"P8W)\F2.Z-"+/N111'$4QF1[:@FSDA*E +M!/,(G0\-3WE!UGN*(,O7PLY, M6$<9UYJZC.=EL,DSGZ,7R61ME:C2ZGSR]+BY2F:-?&L$@2 =@>10>2M6)>7/S].O([U1<17NEA7N M0N1*1I&I\0 Y9&^\E8%2KPR SJK"W7S"W95)U%$OO4Z*.+#%7D,S<=)YPB%3 MJ7G6>(@5N /YZ IQ%>XJW"TVW$D#3.5LA8H"@K:&6LJUY(8;)\'\!.XJICTY MIEW9H(,S(;AH"(IJ&C%-4H(". *;SKZ4\M/>FY6WBCUYE%Q%M(IH\XUH6A3. MD$P8 2@ . ^.H1#'C J)&!0.2".!(W8_(KGY=8?>SL'7\Z;'_ ^6]_E]OXWN%'.^>NGT]:')I[G93S?<7Q![FQ\ ME\V#]P<[6\W3;3S;\;6^GGSVRY$:9V(0(Q%=00,=\0GX0GGT;%8 M]$O%AZ(44G2*ZT40RBK*[$WRU"HP*1@;E$*Z+#W0?5;I>OGGUDTN&5+Z-5X9 M;L"O[SXY&N,YUQ$B$]2#3L$Q%8U+ #0+QTLZ^1/+IK>3PWR]5F1M_ M74QXKABN4/\EYMR KK'?^-\2-LCI;Y__6N\/7K+?_C5>!QI5D9S:I6;T6F.CW1F, M=XKI/'XJ%V_?F%$9\>TC76T<=4[Z#=?I-,IQ7"C0=2[O.KS?H'CXZ>%))S;V M<"P-GU)W\B&NWS\IM?QQ,CCM4MSZ"(^:;JFX?>L(]UP>P'/G@CO=OS+".*T$V+F;VU^7,YF]B/YW&Q^Y% ?Q">1?D MNCI!K(V[B76<8([P-KV+VNGNZ C7<8A^HY+[Q[WD^B>]LQ'9'*3CO<.XVD@_ M1OT"+LFKM"0I-]T_"WL4DQK@ MU]^5?;U\/&JSR%[7J/6GPNIH=8&OZ5*(_>BP/V# -X.>!GC+J_KK_S,)X".1 MDUY=XCQJSCBU.R^YC:3&"ZF^$$TQ>6V]QG[N72KM1TA1Q"--?">#PK5O7.?4 MG?57_CTY19S?M26=9C5N,MAM2L,#>/76$_X>)_;32NE_A;T43SII,Q=XNJ#B M*W!Z-^2U^!Y9Z?6EV"UR08L%X"6$/-*RY*+_B)7#5;N YV3F(E7M7LC'&R,Y_LR 0#$R:8!\8]/=)"LS[H M)SHW<5$/--2,XJ):!ZW];6CRSYWMK;_;.X.VNJV]G:_X$U]O\^T?.SCF[?/O M-^*BFGR;M_:_G>]\^'NO]?6/3FOC([[SOH/7L-8&SJV,9Q_'LW6M6)F020!7 ME C-@4"FCCB:!1$NY9"%HIRS$A4EU,UJ+H_AND00P&!#>6JSC@7'K!N;1R[J)Q[E56GQ1&)QX]\=D@Y^JHB6,QDP@J6NE% M]CX7SL6-KYP[_YR;99!*2BL@<@AX %NJDV>9<4V-UOY6MT?EW,7AW(O +&.N(UX(1 )]H!!:XKL?NXC O%RFQ(%WB.4'FRB;.DM T M&M )]WET[+)Z["XH\XIQYM4Z^YRU)4)*3TJ]6.+ 2P)4&&4YAQSIO4[>R8C@ M7\8"W_#/WQ7I\+B(8*"SB A^UL!?^>2!OQ^[_Z3^<:E4WO_8W4C^>+T;AZ:( MC]W^<>]D\,GOKK^'[Y=_RF?_((?ANU^ZO82;=)XB?O9Y]/*#:W?[)<0S]>#YM9G9,W.7G._*38_((MMO3O;WOJCO?/UX^GU M((/6_I?3DO^SL_%)['S8_M'Z\.ET\^N[L^9Y &1%UD1V;A[\T<$QY.;^%VA^ MVXT4A(Q4$):AE#7,CI3](9%&:1GJITG=B FU+"I3,K*\2( :+.H\@BG<41M0 M!.8W@A+&=J^$ +0.NZ3I>M_3T#\_'K5V>ZCQ3\)9?SF4NR)J"L_,;US?M24J M%+^XT7U?4R-T7+_?SF<-W%UR<#6Q6"9V%5VWVCC=:Y?N!+W4<"&4HW(4PUE" M/OYQ[4ZYBN ;I(_+0?I^M?]JZ/CT/2B84V&\<>ER7?P;3.>[A,HU$EB.DX#3HLS",/^WC.='.*&#A)2?=L8O:7107 M^F-A@?\'@> MX">-;P67&[C?G0$VE[T83!,WN[R+(\8%.FGW]P9-*TJLZ$_I:;1CKM$_0FD. M%Q]!H]BM\T50Z##\S2&0<2G;^>3'EZ$7T@'/L7B%T9!&P^9 M0B*7A-M+1RB>EK$-!%5#<1[-PPGQW^&"(NK&P"KL,0KB0<]NEK./PR6N-SY-C MN-KA>ST >>/P(#7^=[0V_QHLSL)1^L?A7AX/ C7*+O3OBC1H%#EHM;!T61K$ MC;)R_V>:C&F'VBU($25+$"BWP@D'%N5DPP0H^)4+04ZA$5V=[A\'VX0J#BJ2 MYR,%:*/=#Q,JCWIMTK6[2LXB;78* 10:FH8J'B2(5ZIX!JHX;Z[O&F-MZ79&'##$Z1=E%//SD_SE:GIM#'XA:?@D+? MC<[QC;%J;1UN@L^*N>,):!*4+J,C%@!DFCA?&ED8%/I MD"GUVEW%#"_BM OQ3)SNY;T7SK6\_=Q^3HA]' $7BT8EX+L)F+;6=Z,,C$E% M2< -0@(6"+@^&\(99\++E%P4*V\9G8* 1V+I;<3[7#1Z"^K_1'1>O5"LPI[K M?DNWZ,UX(. D+E6=,?7G2NM9:WR=$%"?CTT^MMY/\ FN6BB\>UR)O\M"K'>[)ZYSS6I/ M7QT7?836IUW*4N!@-3&2&(X'@(48DK,2XJ[-UU=I\>=]I4*7H(*6-;, MFI2(Y;Z4_G2&^,0X2@%:>QLT;I1?>=L]O,7W,*1-C_J9=3'+9(T%6@J;)+!4EU:2:L2*VD-<0$L"0KU9NN$YW-)!973I]AC M%8QE$@R)21H"(@ABD+^)1IW368,"AHO35=]]%C2OG#Y3*M 1Y4"MAZ8O B C ML9:AL*%SO0;IL]7NLFH]"FE)",ATD [T*JF+3SA+YE^%QC?LA$=ZU3U*9%(.XG[(PBS>N&\)7)^TW M(S?[DVDE]#'UIIXVOFKRN%J_B+1X?]C["\EWJ[Q^U7%2Z[NLR!\@$W%@*($D M,ZH?^*MB/GF$&&5*K<6Y*\8R],J,@A+Z#>\ZI:3U9?R(B_LG_6%807_H] FN MUSL;1*$,[(#EK4FSX,\7_1"[0HO4:Y>?4U3R3, MI(S(0PI%+%C5A,6IBG%]NK>G04]8UQZ7#_V:$OGOM[CK%RC\^P4*_WZ!P@/= ML";Y/_$&%"W\EJ5^#:G^K9\=Y_%DX!MDC;/D>@/9-_5GUZ/Y57=KJ:U:'IR! M=4T[N::[#/7P% N6EL+/_44/?A@F6QV4^WU'#06_M[5.-S<^X;/?M[?/UU%S M^<)W]LO8OK/M@\_MZ\E69>R;6Q_/4 MOV.;)8'KPQ_CU0EPOE_.=G&O? 9A2>8YEB*4AG@>)*%4@$A22"X&W4MOR[:: M<=^6>>I\54&O@MXEZ#F3I+51>JDU2)=,-,Q$"RY'*1SP)P"]*\";A+\*=M.! MW?D$V$F5K60Z$6,*V#FK"?YN"0?+) -K:(!*&:^1,JSP,3+/2%2<$8@V$!N\ M(#DXEE6PX*V?=T%IDC*:0]O) $F*4H@M-, M2O97L%*@,F^*"(X4N! "=K5<5M!; M"K5HBGA,#S,0@4NSD[H36GA"/D$;#. M$Z-]( Z8,[CES FW2!!XNXU!5AO#;&T,=]9$G)LZ.X\KIS9J8K"P!=6N:3YI M.)UK59O:DT7WC@99VZESUMA+G3@HLN2Z@[IAP]R4$NA3#HGGKC[MU?C>CB*>[VYXR%F%Z4[!H]:5!GQ'7PN]UA-;9!S^#1AZ6# M<.I/E$'##X#7S("8X2)]SNE=NM-MHEN_ULU*$8E=4FAL6"AEK%3;L*;;Q?<&A>+*S'OE\8-H<%_$]K7&UHUD^E\NT&!:5TV0 MR\0'4XP#5?;X<&S\@^T=5=1KXQ.V^CDL+21&.NN9WS M%5W_Z;3Y:9>I+'50DCB;4%=3U!#'.2,HGAH6O+9*J.G<:UI2H30%T ""<\=2 MR,'DR+7@,82:]S>'5,"ER]E 1HW=##)\%?$I6.)23,4IJKRSTU&!<2YDI";O M*62>C'>HXH#6SN5@:X&)N:0"$%%[*AB)R197.\* X2P3+;W*QH&IZ=4DD:1 <9:[&9>:2"9")5U!%FC2"01"+.1T9"4$PJRWRD M9E:9@S]+^7M<'9+!5QZ;^O<2*L93%W0?JF!3<4?-0L03DK$0)6(C YX)6,1& MKT3)H99<,L-,DNYZM7;/O,7-"D9E!<$"@JFEBCG!M:.2T^M9BU,E$#Y N[B1 M"_BSHN]W5W[_Y;06*;U0K7&K%RD/<*&ZRJNEZ7T^XX[.4U@8%RHJXNYLQ=>U M#C,.A%K\()$;I]%3=/-Z5 -G^_W]S_>+Y]_D[<<-(>_-UI;7WCVULX_@_;@',Z:'Y]O[>S\?VL]?7] M_O;7YEES'T>[%7/S+WIVV444G/3>(B!"=-3+A"I8\@8BQD&D *)0"%J1G$PU24?2:4 MI9G(=K)LKDL6\Y+& S(Y4'9&X$]U!GX_*\,+/\SV<]OM+[TZA+G M<2E/CN^^Y#9SZRT]/)_;WLK4Y.J,_]SK72F?WQ+QO>2^$Y=QL&]P MO#]\V"D]>^7._A>QL_^? MSG53]?;YQQ\[!^_XYM>_#[;Y-FU]0"C^\,?WUM;.]YV#TK.W@]?'@^:'OW-K MJTEWDTHV))4)A>*^0: E'E>89*IT#$P;Y6\8JE.4V6>&.Q BJ]7\^2E=\E& M;ASBS35#]57N2V-L&Q[21?273W[J^HM71WV_GX[[H^G$S>[GB]"B04+ *R8I MMINM94R4>'Z3#)*48L0$&XD+7#(EN)8 -RHPSKVC[19O2__"W3)LRH+"8#>T M7:?1OFIU/ P7.TV]RXB\6"+?QF/.NH-8NXG M(M(L3M[I"YZF48!:TP\S#6Q M7!Z/.MBG&NS]BH"^&E\29_/F&;%/6\]R>;9NS/:V .G0]]O680ST?5Q^,\LQ M7[*UXW7M'KIV0WX3=0$?L(!;A\>N\^J\T\W#;CJ[2++).)=^H]8HJ.FZ=[HG M+%.6!^.\%1&2E]90 33**(U40:49.(%_=_V]]6XL_Q1/!6J(1=^\M$];YNMPY^+S?VO@B6U\_XKB_ MR^ONB-;&3KO)WYWB9]#4M8VR5FKN:?<]77FXM35"Q[IXJB>&, M_U9IN-)PI>%*PW.PFZ^3AJ=JTIVS%):G8 !0S'0^@5$2P"INK)A%H=HJ/8%$.?&:2Q*"=Y$[3D&(Q9(YGZG'U$$[QLX+]'+[98G# MNTWRTZW!K3 ]?XCUL%/W]CU_TK/UOL5[ZC;5;5J$\[^V,%C0X_^,LLOCOS:V MJ%1QDRIJ4XM**_>EE;EJ:%'EA?F5%UX< ^K)\%!NOS(70,K.29^(S13E!5"& M6 ^)."XL)"%DSG%&7?]FR,NO(61@N+IW_;P91O$8.\UKM^@NKU$W4 B\Y)+3 M'$%+[[0.0?F $$V-Y&X6(#W(9*A&W,>A%^7A9A?-24O$AG/F:FMGM6S.:NO["5! M!9ZIT\1PR 1$8L0G46HV@N!>&F]"KGW3ZS&]I,?TG!F,*K[-!M^N+$3>4)Y4 M%D3($$GI)T1L,(EH&6R$['AV@R!FOBHT7Q1=9/K^0@]+UKFE(,P#2E#69S[F MF9,%=]30] MO62465F?HJ*@K#,JVRMCPF@]?)([W M;+L8D3Y\$9M?<7P;G>\WC4B=3NL\T-:'SYWF/L[IP]]XC^]BIQ3__="D>%^Y M??Z.;G[]/)D)KR/G7$A&:+*9 &6>E-X]!-\7#DS.((M#F^M5J?2,$J>QEU)'<\Q"B8C!V6B5Y*:X'-T M^*[5O$J>\RMY7KDO%<]<.:I)"E81B-P2(R 3Z5/B46J0Z?DDSUF!7DV)?^Z4 M^ 4\?A^5;_&P0_;%?-A-* MV21<\MH%#5$;:Q/#WW*BWBF>5.7EN>7E*VF>,09<&%9RHC0!DRVQ/ BBD1RL MCI%2Z>>/EVNZZIRDJU:;RYR#=!)&!^-50H=*ESC:A,P1$\8&6F-$@5%L_&4@W+%>1>W$6R+,3\ MJBEYDS5E]90T1&D+@(1,N;")07EE)-1':&QJY,\[.RAKR*OR_ M%=F6#]F>PU14D6TVR'9E&\HA:XJJ" G9*T0VU$>LM8HD'K50B'0QE,KGW"Q, MC&'-4GT]S[PE2_5Z>_/%:'$]UIDZ-[J33OS^I0F\47JXC_I91_SN\6&C?7"$ MUY:NUXW3PY-.;/C4"!W7[[=S&[\U:FD]3-D1:XV-DT&_Z]+B^GBOEU+#=9%? MVS\:!SC.O7XCX7+$QD3[U\%7"G2O-DY3(R*K3G$H"..T=BIP[R0H 4YZIKVG M)ED0F8=1\W>8:/Y^=3I\;+V?.!YPC4,Y(DZ15/JI>_U\F'087' M$A\C%9E9ACLWG9ZCK:9:0.8I@H_!)0"3E"K%721X.=IX5C?^93>>H["6+.?$ M*!H(Z.+G178E20KA6) L6SN=,=IHZ8(*/E 'PH('H,'9+%3& 4(:;#R]X'A: M-_Z%-MX8'82. A59;0@P[XF-2A-+8[""&:G3=#7O64" 5UIGH2FBA?/*VVR8 MTTQ9S24?;3RK&_^R&Y^!YVP0Y94QEN I+(G-'HB*68&1V6C.5]YV#Q]0I_S& M&\BI8.5Y)(C@*^^+%*E$1(%/,UI\F',K/=3=GFJWK=;46:D(ST82 M<,(0CSM%4C0)G*6)>S''2D+=[:EV.YB4G'>RY+CE.!T>'/=<[&S=NC,0$I*<[K2-KC6)*":[7.RLVCDMS MRN%)[R]28>8KQ9S!'W2BPP8<9),>I MH=&W_.[0^M-K;6^MR>ZNUM[GQZ;2Y MT90[6SN%WUCK_/OY]OD7T3S8N<%KFUO?Z#;_8Z^YT=EK\G?0VE@_;9YW.JV# MPF]?Q.96:[^U% LKB@I0RN\(H8+RE1W @10C8\\R%Z M(@FFN%X0CT4&(FG SU T*N5T96(Y!"FH BL1;1,"V!&N^G'O)*V\'2U[8[CN MC='"W["83A#^-;H?D?PO'SPY4,Z-C;KHE2D XKU!^&!1*P4HU@E1NFC=;J8M M?/",=MK!'=^TC_$("/=@E9*!V!A+0;RQ'V5]A+\633MK,MZ=#;A6< M>[T\]>ZT^0V!E]D04T1ZP',+;+0HIYI,8D:29<;FE,5U'IE_?\& ZM+53C=< MOYQRQ68_*BPU;KB_J&$W^FA4R&ZUT&._W2]G'EY;W 'YL-A,RL'YO^TNOG-X M@H.,_7^]:4R2]>WK,W*OU>*@"U;"L@YVF8J#/DTNPTR*2-K[S.GV:^"..V_^DWPJU$;%VBZ+C73^5&ZR\_5_VKVM6R)>)NUZ2 M'D'+VB#(Y2R%Y2D8 ".5\PF,D@!6<6/%+!H$W6YB6C_^?61KGZ_F\0^T-HUB ML)O0//_^HW7^QT%KZ^_OS?U/?+,T"_KP13:W<(Q?WXEF\9Q\W?YQ/0:[>$TV MM_#SXDWY^@G'N2WQ^Z<[6WB_#Q]_;&^%TYVO7]C._OO).J]*9^=Y5(1I80G( MXD7-V1"KM)=9!\]T>+;&I4O1#JWB7,6Y5U%9<$&P[OPJDRYIG;2WA&5E" A$ M/>LJHEIEND?AW%7&L#2)T0! G>"0# , M93HOB,[*)@HEK![FO79_Q;F*S367>40@U;@0V0D<@$$L@7BP&IB ML@R6!>O3H)GW F'="^40/WMB[6M]X.W=;6^/:[FX RG'RQNAKD4"D:<(!9)K MYM*N/%50VMV69O934W.C_'D2"_GX5'X2U_30@8_9R&-'49K]093F6F,=Y^Z^I<;O M.)J"F2>NTVBZXXOXY1*M%=U9_U^-=K_1/3PN =?O"&U;'6:PE_J8/UG=BY7$6_R?:802[P15PD:4/ D,Y "]U8D$1P*&7<9 MFN23*5]J,062AX=OGF^?[EK!K552$NLY*E J:N)$L(0;[S5J4H$.%2B[)F^( M% VDQ4[9Y5/7Q[T]..JU^\-(QX.;_#HM=3S,#%FI8U;4@9^=[0HI*#5,$:V2 M),!<)J74$$FH-R"3:JHT'Y@1U]C=U'$)&E.2 .#N0N(A[ADFP.7,2M4+L,=03BWQ/A!$>DDL"N$)2 _LS['F* MD^EAQI1*';.CCD!W>? VBBB)E$H1"%FA!",%*?FL&5E5)ZH'QI U-?N3R6:4 M2B*5VB4M9[=(KL/#9-H#Z3X9.O.=2O>Q^P^.Z;"'&NU])G-'.M9SI=Q=C/;L M]Y->#U^]]F2['ZU/NP*O\P+/0E#:EF0[1QSC*)8+IQ$2K;-1WTBV>PFCPABI M39$%=T&5"Y/BIM2:,;PF8H&<92+6%&;KEXX8?ZG\IH5=B4^V^^R5VWS_,4BZN2U:7\A028/."_I;$'X_W__#W]\VM^+WY MH7SOT^GV^=_X+[[^BL(4+]5Z.@>;'[Z<7_?'E[G@^&6+?SK=*8+7QG_V6^6: M@S\ZVP>?Q,Y6/-C\N@T[6ZW<_&LLGAP$BF*:1J)944%%0"E,&4I8I,FF(!(X MNO(6[/PV%9JOR*,*8,L*8 _O65 !;.8 =A4D+J-302-BR6P<0;2*Q # MQ+ M$3F+(J+VJ.>X*]JMX41SG01_3^;Z>MC[3E"+/>H=AM2_(21>SH[?.KO[-\A= M% 29N0A4%OAC]\_A\E8(F09"QG/JA$RX$ZX4+E0"@4,'8JG1!/$^F6BSI,ZM MO+5F.@AY.FEFBE;4R\U0,S^2*T,]@J&NSF1EK3%& ^&2XTEL@1/4,3A)J%FP M[&4$JE;>&O[\#/4:+#/OV]UV?R_%QK?#PWB?4_=>LUX^])CY<7RQ\!_*NE?T MF 8]SL:.XZQ3]H)3PE!X)Q"2();'2!)3$B+3&1S#XUC$*+\&<2Z12 M#Q?QYL_;8B*NK? KL5B^/L/DP^68>P=R7:)H*QU7[)P".UN_CPDVJ PQ:5(@ M(!1%[.2H%F6922EV[B$KBILWZ RMIS0UO)!7Y5?.DXHX2XHX,Q?.*JQ,#2M7 M(AGXTB#!4**,E0225L1K;HG5'*4RQ<%"T9?4S6R&EP65VGSY>G+Q]>8:4_>! MF9=DS/&XR78W=$[BH"$QWNV?-'VNPM/G6%X"48E('S0O^3P:[.N-3I_(F_IT MUORVRX7-SBE!O#$V>9I80:E@CP M0(G-294R1%PFW.BH+$JFMR0A_"0O9?I6(VN_BN>?"^2;,EWAS][A$1Z#9X-Y MES28H]*D;+713<>/2%]X"51_XIR)BX7ZL^.ZQ^O=>+E6KSA;XG1S?3=:RF5V MFO!,>3&Y ?& O.H"6(1&QW"MKW?12HC'(7(5$D1@7%N\2@LN(BJ=S@5U/;MB M@DC3!)%.E?CPL_9@M_?%FY3^@*_I01V5&Q4^+I,<_F=EXL(1)-"K2YQ'6?7D M^.Y+;N.N\5#S%V(OIJ^MU]C/O=Z5//HM$=]+[CMQ&0?[QG5.W5E_Y=^34\3Y M75O2:5;C)M:\_;^^]^_K&WIWU[=[='&[];I?TNU/AKY2,VYJQLV2Y9G4C)N: M<7.Q O]UB&BNZ#)7)W1-O*EQZ[]0LIU6CD(25D<\4HTQ3B>:C(;R"F*<@7OH M3LE]T"A[.2R[!^\[S:]XO_U/##\[;^U_.M_9B"C'O\>Q?3S?V=]K[VR][VQN M;-^P[&Y__?)C^[R)X_L;9?LF;VVTOK?XN]/F5YS#?NM@\\,?>.\O@)+_9'). MMEY&Z131+!@"$!D*_=P2[@T#F;C+&M5R;E85?_+ZYT_K2JH).A7H'@MT"H$- M>$@"0( RWC.7O<0_!>)"E<#E=U>;1L8^W(\&3BEO7'OF@P.17P<*4!REPKXV.%"+/ MEBEKA#= !5B19)4RYHR%Q_I)*9<YJK#1&H=(C5OG,FMO-D?VF M*> >1>,&! MT9Q-=J5;[BJ'F\7$JWUB:3C8@'1>.!8C4%#>6B8 7W*6E+0A0!4GYHR#K\2) MS#4U*3G"P)=N)"&@.*$4<29*(X5A3)KYX^#789[H]H][)T/F:W<;1[W#;[W[ ME31[I5H-")V8M$[&S %!R+/R*[5:)!2:98TZF2\8&H\Z,8S'Z!@EBF?4:A)% M02+F0'+@000;>;*#-&4M'@U#U2XQOQR,F@ +PGBJE8<@M&$AX%\K@U1&YEP% MB3GCX"M!@G/-K>7(LLP!@< -,31+(G50",?:>: K;_FJD+,JBUKM$O?CO]OS M;!YCCWA M4@?8:',Q)^$)(@+V/0EN+ '%B/%5SB_6O_V]=KR\!$9_!-6F9O2G8?0I)0BS M&*0B2*9($ \Q(J:**BD/II"^ MM/S$&\]_N7%]N?2W2W'ZQ138?"2HWIZIVVLH4T12)(W*V8D<(R.\15Q%(J5T M5$:WLD[(*F5WCO-[9LZJ&N9JF%LBQUP-&N7.-U%G,G?04>J^LJ.>J,2PO*+$\.W=]==XQKT5)5ZV4U2RG M[=Y&_'D<3]ZK="J<69^6D _Y2L]UP= M<1M@J3RPWSBQ_5&AQ/[%,HD5FSR;:G6,KPGUC*K5,U@T M=W)C+&.]O)V#7HR-0[CNH-^(1QG3QL4$KU%'L%[)\Y7\U/YYC75\,-*\F<2> MU:.>VU)?L\KE'1:B7N9JF?&#@L K6\R:9I^ 9E]#WLF,C?*NLE'NK=#9B_:_ MW6SR+\;YAJVR@@L6!(G<8VJ8998;RYTFC$L^:L/ 9]HP7-6B:YH"7XAK[0/= M_0;CV/EPUOSR_K"Y">,Y_'JP^^7OSO:7#Z>[]!U<_^%L]]LNGG>MY39>S<-6 M!\;W<_?+[DEK<_?TZ^%[N.:S^+KY][?=W+AAL]5N??LX6SR,,,RCU@XIE13B M%AOD9 A()QT]-MA'K5;6%;FOA)IKH_ZS+.%: ]?+ RXO-2'>!5@0R8FQ6FFO ME+::):8Y<06X\!BX< U<#PE<4[T%F3..NH ,5@YQ;1TRW AD=#!&-:;?'-#+"--S<_+RGC8W:Q8 (; GB MG$>D)1=(*\:I=@:$3NYWM\KN?M19 UL-;,LSZQL FR(X4L>(S>G""E2RD$0T MVG!LI>5TK)&16B-[!/1BY^CU?2](9JV/'AF:K4E&/7(^241(5-%IQ:T#]#(8 M/POL6ARCP>ZI#?3-@QR>01Q&/<2'&^*"4)8K&U<^FSZT?W6[X:3=Z3RSIK/C M83<.;&C8AK>]WFEN/?K#=H;QIJW$'Z'A]'B\K[:]]#;\N\>2(H(&@["(%'&7 MNR6$9%!2D27J'==&/T;P?+US-]TY(;%4@BMDLK^::VN189@APAP16!%-9%Q9 M9VL7/3Z/VPI\^0%W>W 0>XT-[WO#&!K_;EO7[K0'[=B_ P(_; ?N3_X@AF$G M;J?1J*<&O9,EXFONQ-WZL,>B%A&,(.0-)X@K@9'!P2/""2QS\(E1.M]9^TF$ M9D5Z=D1ZG?-=O%$S[V<6I5KW5*Y[*M<]E>N>RC?QAXVE\_&PYP]L'QY<=U1^ MJ/F_&,_H8R3RCNAQV\'*O"2/Z<=OVW^]._NZ _]]VX+G?OC9.MP5VYM_M^%^ MEI\'^MCA[EE37/"8_M7D\)Y.=#EMDZVOWR% MT79FNR@+QR@1UB-+.$.<"8>TTQ)QGCP1)'A#P\JZ6"7XOJIA+DWV;MU$N<:V MYK;'MCM@V5>DW44.<<4@&F1 W-J%\9(>LXM&97)X@EXM2JT0]^&'0/9\' MO>@R,Q.UL]=-L=^'W;"=X@SK#@?]=@!S._9^Y 9&*<:ZG?(35\3+._7/U$:] MASUY.^SU8JD]T.H>^>J/&L5N@F+3X='6$XN-\XCCR'(G1(^<4 XIJQ+3BF/) M9>ZC!M)HB1J?U*V+GI_N4;/S@['S5-"PDA8KQU#402 >$T&6L]PYW2MG!)8V MF-Q^0.AE8N=?Z!UC!S<,-EZ- (]UY4L;\(MP*):3EU=6Q/A1-+99'"_+?/&0 MLL;Q.^+X3",HKB4CB5HD0HB(YT:W6FJ#O/-2" <2.1 P+NLN4"^886^OD]4, M^T@,>ZYX8<=B"EHCP%>>%2\)#,LL2DH%$Y2BB8(P%F29^LF_!G?/U56%=[H# MV[FIQOLZ4S%N-OD7 \*/Y^>Z",TU&M\$C:>]6L%&:PV7* H2$*<\XW(TB"8K ME?+!T-Q'TZQB_>!5@Y?)WW7K2;QV<'NY^/9XCK\:W^Z*;^?:IN+2^, )BJ6H M"=,.&1DXLM9+9QQW3,J5=8)7J7HV9=$7)Z.)Y2L8_ SRJRX=Y6R*U4Q(^]4I M5X4_B5!1BJ0TY0S^QQUV/@;)&!$X:1/WN%FY/+9^%(N'"879PFT MNH/8T&N-!P[MWVSW?:?;'_;B=GK;/_%/VX_A M'WM::AHO2[S_]JG3:_?3_=W?EP^O6;%ZUO7P]:]!W+][7^ M^L_WKSM>S,?[-\^V8$SO#W9WMDZW=_X^:&W^#>_^3EN'[]CNCL]CQ%^_?.RT M .< ,TES8R]QG4@ 7!,A@ ;'%46@;V/0X'B,E-#6)EHO6,4*>I$Z#IZ?G\@$\#6%[D;%59^GQC+C+&=-+(''M4N_/K5\\. M55 P*4R*GG&XR3%'0[(XM[; 25BB5IYGWDWN!C X;6P=Y9#K]H_8R&T"[I)T M\Q09'%M'#=!XS&JC.^PU7-?V2L)&:/>B'W1[_<9O.7=CY<_\Q5%&3RG?Y[]7?E]K[(QO*!?TA\?P MN)BKWN9W].)QQ_JJ/'I[D.OA#F!$L-AYE' 7;BQ<_.H]__M_:4KQ'^6R_&GY MF_SQ>^/DH.T/2L'TF( :RVWP@J;MP2/QD'W)(+,7RV?#V+OL%^>!JP0VE6I]E$FS.2>ZKEC M7FD,NHU]6,M>;E9Y6B)T!O" G#$S&D8>4BSOOE;6VA)1V>QF9Y)IAYCKUE>K M6-8U+T^AK4;WN*S7ZJA*?EZ!]F2?9RX9[=<1^I\A,&UJQS#_B.K/3*:3^I9% M/8.O>K$_ ,0;3&X:+?-O*Q\_;?17?E]P1;8MJ@L^EPN :(ME *-#U3[NPS O MO^^?B_3PBN^7.[7-,M%#B:3J_A;?]@=.UHG'GNL/.PDJ,N83_ OL@- M H"0(NB<[:P@QZFA,K3R+0*OQ[6#(Y)K<79'B.Y A67,Y(R427U9$RH8PNOGMXV#T:4\0/ MV^Z4O+1,JNU^?UBV;(;_1T3=[N<]L)V\^OF;_O P/_*W]N^-2RW4ZLUS1JK3 M# >FP IUB2N"+17*2B$I#II%3K*12@SH:'3:2-UJO;^!E7JN@4VK AL]X,/] MTF7BS],+2EJ!\U99M>U4ONUOC)?G?;?W5^;AB9&+7YDBU]S9X,T/>T*#J2J, MR<52(N*$>V0"I\B##JVY\<[(7']S51NU2CB_F,E<440EAWYKMW^OS-?,F",J M!:[\!J(K4]D(!JX02O"7'0#G]N*L."G$OG'<:W>JYU.Z6E%R?FV1,C8-\L- MBK6/0&]?S8U+0 *O-DH69@&+7F&*%'/7DC_&F!ZJ5X((/>S"!?#'T1*2_]O" MXT4C?FN/L\)7T?/'F.-A8P!R?C\<@ VS->+X5TS76[RUOT>BT2D!73/J]>C MSZ2 *.M_5INS]6Z=9 :S:)%1*[,U(C7(+AKW2/F&9:Q?;7&8R2!]=LEYJ M/B*UN]1ZN"^@'0X.NCV0<&%IBD8\/B4VV?:'O62HE+!OB.43#RX8SL[ G!_O M(VQ>= SCE76]=K%I]:1*Q(@4[61-?RW<"X3VXG[.:._-8.VGZ(>]*N5]PQ<= MEAC&BL8$A%#:>$P;);.73\CX&>I/YT)F OT7U/E+6'FUJ.P@C@9#L#%/Y[_, MRG7^N0$__RF_9Y7X2E5^8I=.$FQ'7V4YF;6ZB1ISVW)E:69 M1FO#Z9K*^=#'W7XQ^-[TLL\+9G]>V M81,4CCPH:I61TA/BF/?8DOB+"KU%A5V@/;A?:P]N7GL8IS[^D^=<'/%C??L7_6W-^3RA#)*4;..84XB"]DM)3(@.'A*5-6D-QK>8$J^]^3 MBC:VW3LO#W?!=S!2;7/[QOQ])11'!M85Q'F%:,P^AEO2)B?*.,.Y]-EOCXU) M&NPI'6.R)IDH:]I<#MK\3D#'#5)&21WHN,HPQ+%,R)HH$%<@3Q(6QN7P2GVQ M9/1=2+.HK"%6)C\H<^YTRK_7V$JKF?2*:QN .M]EQ_>=T_-$H>H4?R(\P@X& MO;8;%@KMG@ )C[2T;K^?\Z*.]J_C)UA(T2KEK&/L B.>$R#B$&PD/E)B//SE MKT_1/OSLOQG17C?]IYN]N%M9EXK]03^W-^SGTXY!%V:ROQ][!R!GX+L1YQ;& M?<44"_-I;NP1IF0 70=IPRGBT?/<=J3Y2OO3455J[.NA'-(A8_[\;ZD_#W3W:T=!)?#Z(;K M_HC-]E'[<'@X(=\:6[]M\>;)'L91:XP32C$W&F&Y0Y+6"GE.E0N!<$$\4.I5 MI#H+KOF3X@[HE'*QTSB[UO@T([['GMI\/C,YEMF/1[$'Y'W:.+"@D=K&H?V9 M=ZXX7_,+K@K82"$JXV/4G 7.DG22$V*,X)$:81-;2(Q3SBO0K_V;,.R=='NA M'X_N3<:_R][BF*:1C\5I-Y)5=O]5*U8?2"O' MOC(&.&Z0LA*H122.C6,BK M5.\A@DC+#-B-W,NDHPG,&Q:[;W1*!JJ@K!L/>80"?AWK?'YJ -F(%#C1"'Z/_W) MJ7.Q&=.D1%$;S-,J2BJT^U5T?;$R0[2#@]716>+"6U=+9,OP:&P:5%)U*NAF M'-\U.<^>XYLG$+UW,P[F]:_/L#@[YVNSG3Y5*_/:6.1L'\,\1'/3G[1@#, N M5L3DF$B()@SLPJ0$>X SD-.@NH'^)D,N;%91?F&-BZ)Y=.H5)VL^-@LJ\EJM M!'2.#2Q!0K;7:5\S@F^Y#P@^GD>Y57;.YYGHN&=V9 !X!H*J.P*T<_NL.HVL M=*QS6^U<+0>\*)&B5]MI)@D2$NB F'+AN4V:RJ@)U<(ZI52MGS]A!#X&/4MH MJ;P'[4K:"'H65A9I+04BAHM(DK7"^#$,9 %X 02.R^I5 O!FBM6M:.-*U M6O68,H,W-_9H%%AADI +!(B%&(>L 64K:!\BMX+97.B77:Q^,'$A70SFRY]F MJ)GH3/ETR +F9&H#P+%'1VV F[[MG8X?,KXRNYSBD2][.S(/>Q4V70U*VE-N MG75$Z004CS6+*6G0&#E))+'%-F -2H\#2F?;&WO12H&=$<@+DMN !%#EC;4H M@EYBA-4,C*\II\$]8M*M2*,V]AX3E=Z=-/?WN*?6@IQ !DL'QAX+2'M-4;2, M1A]2""%=XA[X%1+=!Q#E#([J9I]#LJ8R)(JUUA_"-V--*\?"$?5'_SRX9F+Y MC2\=OR<_>JU"RQR%?*Z53'EF M]D(.,?)34%:HOST8Q,FI4#DZGV3(K>8L\@A$"BP!A'4: M"E,,0(_[=G11#!:E+4TRO6!89;G;TV$<^4R\VY_ ?'7!%:$6[:,^@$'GL!P5 MS^9E&$9M @N%&I$5 9.<"9$QAZ545IG%M8'F\S**S@ASN-3;=96*X"Y1$:I8 M^6[:.A]\_]5F;+0VMVCSPYZW/*24*"(L1PX)H1'L5$ J,2)=Q%$8T!T')]V+ M&&<*L"($FHQF/]7G!,A *!R,#]'I%9=)( MFV@0YY0@HVE /.A\5A"LTV9E72R*AQB#9X'V:0P<1SF>'QW>$4B;7XY&6V4PQ 5E%'<)86* IC*EA MOZ"=42AB:O?R:>6L;3%%4K.6Q.J\O9(S0H[;<-T55L2U-("M=(7\'XUG"2H&)-\X@/;27,/+[>, XI*1P]04.'Z MWF"D$EX8QU204GEG?M7H 3>=-RCD"YITP6;"H<>5B"A;.2;W,"!WQ^W.T4$%]K M;$S-SL5.]V01=XZ>"I\-.U?KP M%DC!$6NM=PHYQT&8O/SOO )C-;E**6W",K2/\U'DZU65=S[PUH>]J*2QV9-/>8Z3 MD,PAET+.<#9:.A<9"2#%CA9HRB->6].B>BQJ8&:9WE<; M)[&R<^/(/_#;2NF\/NT"RL P_GA4Y*2(]$D,V]C@G0CE*==!$=NS,/;# H0, MTZ9+R)P[%'KP#% -9LNPQ*,SX"30%O;+X_=[W7Y.5\\;L0K_ M?LNI.;".KEWJLMCC.!RT?;]Q/'2@263/2W[HH*2IYI?LM_VBQ^=UF']$ ,H! MK2>C=;[=IC@XK2*T!M$?','N[I^.,EPG3\YYMR$S=?5+^F@0ODQZ4W3T:6E]QZ+P!H3BBG3G1#* EDU$1'3DOMFB!Y5 M"-KB9 TGW%JMF;0*?F.*:Z-87.S0H/<#U>_&.S*%V7_!S*9$V4?X^A5;&-\V M:'-C+^:F@]%+1)T7B"?.D#%4("&\=SE&1R? 9L(N]H;X[UO$.!H5)5/$"I(B MSP\G7B9#-/5)FB!D31)/3!*X!6-NPO1C4NZ-04:#$$^, M2VY-9-J&E76IK\@[FK%E1O(:X+@S@N"1SS97B1BY90&Q#DVSW9_K#'E(M* M"(8<91)QYS$R0CJ$H]!<" *;EO."KXUVU\*WC?,_KJBOM)"L>(TNP1L#S"MD$2I9G2E&M M.4Z:7.+&O=(!-XMADP/AJJSKI9!X"[V-,YUSN)*Q[+*SIIL26DGI M&+MA+J,U>@_'"N/PJ)ESA.>H%.;Z>8N4PEP#;8%2F#]^ J6P/^SG\) 8QDIA M&=4"Q0WTP9.<%W2NFMGPPXZCT^"])9DVYO[!&> MS[D31?#/Z 152V6199H'H4 1=X"(^F*EV"=2Z8*-Q@7'B?..IT"<$T2PB$D" M-/6&%DF+QY+V G75DO;AZ>H#;N[O >F$&"E#QNL<_F,)HM5H(E/M\3ZTF0Y-.OPO[;_9&]>XX?PR,+YN\@5NV$\E55L>K-KG,I+O\9KY-+OKGHLX6N@8=[JL5=_)]CE+UVZP8*]60^6J^L^ M=D'GRC&'@,B(#WGE+QK9/[]^]?/-62>3,M>95*64/]&T+N@DN$H-S&4BFJ5: M3.-=Z0%1>I0PO'KI7"]NX*7-4I_KLGQJ_[SUHKQN1IAJCWN#QL1+3@Y9+[ZO M&5^GL?"+6CE2XJ#)3T^ZM(Y:JEE?>G8R[(>Y@Q/,@_%<*J=8X!1C M31Q5TIH4N3*!C0].^"6)2HA=KX[3Y."#/4]WT\'NX<_.]K<_O^]^^7C0VMR@ MNU^V,(SK MX>;FUX/=;Q]PZZ^O[>;9P;?=P[^_-[]]_;:[L_]S^Z_F26NSE9IM_//?.^\& MS4\XGYAXKQA.2'+N$$\B(!>X0"S@G(=DO50Y:=:H"T$J MP?>Q&M'L9<+9-%:$C&Q-GK!O:0N6):#^(1Q+E&N1J$&?!QJ4 /9 MHP#9V03(I! *(,RBP+U'7&"%'"8[4N5^MRKT>7DU&0 M& 67UCJ>JUM3207V)BB*-2=X/FRTUN4>!!+78.D8B3UJ1Q(F[AJ.N5OX>$2Y/ MIWQXW#-O.;$($),@3@/H@(E2A#W@)M9,"1U6UNDJY7?VXBV&A0?5[^9>>>E! MUZMG86:P39PJ(T&+$40[!U*2"VM2LL2:< T75'9A:8,92LI)$7WRPLILO/$%U4-J%GXQ+"R5LAIKPSSE/(<.ZT2C$ESI$*A@ MM';!+!L+S[A@4O:4$2N15L$A'D5$QDF,E)?)*QH,E6)EG:]R40OBE\S%FD=. M=.3!&6ZI<;GXN6(IF.0$)_P:_H6:BQ^5BV=<#XXPDK#&*#@/LEABC@SC)-=[ MBUPFX;"P*^MLE9([.Q\>G(N7UK^P. *JS%Q5.8#+[&JHMGGZYTYW8#NW=#J- M,E88S#]TASG_93R#VCE];POT8J0+SBVWN6!!D,A]+FIOF>7&VJ6 M2KJTWDYY:F OL*;REU8@'D$_M5Q$I((.CN$4@Y0KZV)5L'L.GKTK"[U8&*V1]-6J MI(K@2!TC8.4[KD G#4E$HPW'5EI.7>T\7C8P95-@>KJG"1,6.[#N@Y>()VN1 MT_ ;#MB!J:$MIC&? 1%\YY/<)5=+']7W_*]2 VA]O*2C,ED+"FW=H&;<4I;G M6EPX\KSI>2GHM'$4YCXI3= WB' M54_VT^-XCR6]GGT=+[8FC7@^U:8TO=U37U9IK&>ULM>N$O>$0K0N=/1R2EO5 M%;\>I>)7S3*OI]I07:?I(>LTO=K%JX)TR8%99(UVJ48KQ7/]GJ\VH_=OGNMUUX9Q-_ MW?G 6U\^B^:W7;&]\['S=?,[:9T=P#V?Z;Q7^^OFQ^]?OQVT6S"_YMG'3FMS MGWS=^7[:^O9=Y/=L[WQFVW_!YSM?9TN$$>F(]BHA8H3)'NT<:$$\"H1KD?V: MP?O(FH@1=P8C[2U'SBN=O R,N1SJH$2-9366O6XL4RD2"? 5&/&< MF&1"L)'X2(GQ\%==#FSI8&Z2B]K:^;RG,$L>YP0#*A+B$3/0VC1&%@LG2<") MIA(>R^Y>%*+&NAKKGC?61:M4,-Q%ZBC7TABE@P_8$*QYM)[505?+AG5L&NL\ M8<)Y0A"V'+!.,(*T] G("F/XOW1:X8QUA,CGC74OP*/Y# N+?1SWTOSX:>." M1[,N>S &T:2DE-[J:#CF)G!--)7!"4,",>IX"\PYY;SSB MR7!D7(S(!A]Y"7H+?&5=FHOMD9>MK$%=G.3V*8]8JABII@X4'D:=D58Q:92B M@>+$?.VB>A(N/7=1V22X34H@QSQ'W!"#=)(8&:!-@:.VF&5W.ZFY] 5SJ8A$ M:!M 6AK-DS"6!I8=E21:;,6D'&?M?%D:!IYQOGAN'!$\(.()\+#U&%FA&;)& ML91-E6!I-D@HN_.A6),Y_Y0*=CHM8M, M"!-KA\&3<.F4PT#)I#SH)1*;A#B!WS1C'#%E8*\4C0P#EU)S7VF M! SJG1)1&>ZH<,'ZZ')]K&2L\Z)V&"P; \\X#*(5EI!<^M\:^&$XK9JW&95\ M"(EY59D:F->R]@5S,3/<"JU((%%SJXBU)L:03*"$,J)HW9GL25AUQBL@@V*@ M^"@4H\B-9EU$ALJ$F&"6@B".A(.XE?2^PJIJG\#+BB;XY\_M.HC@4@2D#CML M'1B8/G'##"@S&%LOB%0L$1EKG\ 3(."G*9\ EA$;G#@2*47$M0--!403\D8Q MXL$@3$SGQHQW+KI:'VPL+Y=J(SS1U'E%'3=$:!X"*"G*:F^5LJ+V"3P)EY[[ M!+B,PG%*$0"G!:,"8^0TY3DVD@;)?')2K:QS47<3>\%>T MI#PH[T!]Y1:D;.T36#8&GO$)Z!2H44Z@J'(E218MLA8;1)+$23&0P554L\&U MK'W!7!R25\X%9Z@('"=KM?7611*M(RHP70<1+!L7S[@+>&!2A<10T"EW]@P, MF609XBX0RZUE(I"2FR#NG'-:!Q'<-HB@[CM6%R:O"Y/7?<=>DAR:+N'BG3'< M2(F29@9426N0IC0@ 3O) R%81UKW':N;/-186O<=J[%T$9:>N]8B,=A9HI!2 M#-1XS#"R2D<4)%$T69YB=H#7?<=J+*VQM.X^5F/I12R=[CY&]IQBU&$;$(F6 M YY&!KJIH2@Y(GRT(GCGEZ7[6(VG-9Z^=#RM&Y ]-SR=;D#&]A*/D>! $=@6 M+.>>6N2D#X@E[(Q7E@CIZP9DSZ%5V15-QZB:="Y[1"@I_:@V2@>HW#NCHA:& M5QO3I>RGQW3I&<5C#785D*X7?7?_"&[*E'QUHZS5QE$!4APC[:/BP&UU3WZ$?LPG8T3VPO]0+R'7K%O]X\\.>R)5>(F> B!2HS;B$-$X:41TB2,2HC[9) 6\(-R)2).(D61Z\2N771F3E';(MG_6"+^(J7GK/O5 M0NI+J9/ ZS"#;[6@*^ML[6+&WSS./R7[S7+>G]O]1J5>P^C\L-<#8Z4! MWP'A#6(Q''*WV4[\$3OY#^L/VO![[BN[UOATF7*^E%PPYKF62BB(< M=0Z2"0X9:H A6)1 :B%1*BOQ#/0(0BT+5TN(I"IHZ6C,P?9.82V(SI89-B9? M/]M!_*T];N>.W64C+GJ IHE_CO:K#?GU^V;'QX4Q2>5TU6"Y\MIZB7.]3TUX M"-[(EF[:_!+N]^QIYO ^Z!#-F>ZS1W-IE M/RMD_?L]/MUJO;^)OS^3_589YN:PUS[:_P?6JEMIBOUIC]-X@\-$2<2O#)): M9[M[-!&M#7$H;P?89E@C2Z1!TF@J21)>:[*R3@E=E0L.1RL+Z$;$<,>SGYH8 M'H@8MC>;>PQS&[7&N755;G(@%3+26X29)9;QZ 168"[05<47V.K5=J^"9MC/ MGNTV*."GJXWA,9!$Y8!LQ-$J]QMVT+"-"JMB0/9'[-G]./F^<0RRJB#OE88L M;&;9R?N%&WJ]$\2-7L\>[1>[HO_GZ?DU_]C3_%FQ1^>(J[]U5-'?E]'$-ZIY MC[__)\_ZU1)@<\>?[ 4@.@I(@+SB+">D>01J"$$Q$&4D%8!69F5=K^$%%FO& MHMO0RQT1J::7)Z,7MN>Y!I7)620 HA#'1"+K6$1$2"L)==HDO+(N%]++<>Q5 MF#4/62?MP4$YI?.V?P!8U/4QAOXOX>B>@\9NXF#[9S3&][WNX=5B[8D=84]@ M=C5_[OD@1-1"9M^S13S0B SS%+'L? ZY6K*5V0%]Q7''+\'EGD-TI[$S1-R(OH0*;DHU7'$G):-+;*1V!ZQ2V_@8]_.4*F_&IX$=E EE M1S&8OH>-3XA5X)Z-X$_OWN;0C0!2X.2@[0^R>7MH3QO]V.EDYS 8R-7Q^2J( M@)ABKS<^3U\%1G4#N-"#33%H5V$;6;P/X+?C8<\?@& O<) ):71.E+&BWTC MHHT!3#_[M,N_;=".P?@&R_RPV\LZ+[P)#)7^6F/G('M9IR;4GTS(10\(T(AP M<2'*/,,FC%U5%OQ:8ZOZ._]1[':X*>;QMX_@O;!'5Q) X[>5=YL;*[]7:_5/ M.PO*3S"'#OS[O^WA\1^-MUVXYI]/;U=^GUU"^ AF"Z)RV -EWG>&_3PX4%F. M!JM9Y\^?AW;?]^)@#*KP:7\(MPX*30P.X._11H0(8SZ$_;ZX:JOG.]4%G0AV M_BJOILV5#[4-@3K#$R$.B^#!FN&66XFI'DEB,9;$@I$9] 7*]&_"L'?2[85^ M/!K#KP\_^V\^ :YNIX*ZE:[VVA#V;!_#/$1STY^T-C?(]H<]P;37!G.P'8N3 MTQMD*/'P6V()"VH=#2OK@P.@-I2/"^9]E%DQ@X4<[?I!,0M]1:*CPQV@3K K M,S%8((2?[>A11NZGV8)XS_ MV,XP_U[L8P"B[)"P1U.J^ZL3RSN[>'MGB[9@3*TSF,^'/>\35;D'$><1B$:S M@*RA'BGIM#.)"V] D1=X[6(?A(F.!B10^2#R;QEJIE%\K?&Y %6FGXPK_2EB M6LW =0XIQ45:/0C0"*3>=[ %BDNBWW"G@%JGC<,X..B&"J[:?: 0 ,X2(>!B MAM?__;\TI?@/^#(_:_2$,;27+\D?&2=#3(!O&98;'X>=V.!$C/"T2*B)@&EL M^!(S2 QC!6"!SK+C]EJJR!+):A#5L*R-H^X )!N(H%ZU:&75\[*>KWK^JR!^ M*'Z[R;9-[5HE(3,6E#/)2EB A*Q<3@4X;*_3AL7LIC>-W]J_E\_:(^8KPJ'^T;O'AYF9(D:/J<@E7P\0$MI%MYZA'A#>O[5'SQ\/8PZN8(>M]R! MRKN+8,WZ0'GT6J/QKITC%QK'M@=2.1/B^6S&3YA>E#+#$Z"-03S*J]E.;5^] M,@M(N*$[];@%KYZ,O&@F^6%%!D\_:;5ZSHAFYY9XS$Q'W89O]_SP$%23H\P> ML(BS6PG\T.]V0E:+\KH/Q@,L,TJ#$:6'/-%*A6B7+8C527)_ZII+5"&X/K5[ M_4%&Z8[-!'6N%0&SCC2]M:PEVJS@%(([AA7.&VP+1 !)C';K4@$"..]B;^4> M](HY8;)88KR=C*H/6H6'>8(.M9W^ZG7[_7Q9?];U@^CK%B _6Q_V%(W!RN!1 MQ": %"$N1[D01)3U,>"$K0.MXZ(;Z+_'7+J?%[<@0O_<_SQ%R9>1,9#6F*5 MY8W'8\[WL3>P[4G<=[_HX86-QM17J3 WHSDEL'+")Y:#$JPQUBD1M+'2&2,= MX?="P.CXK*, 5P&>Q[T_N:OP="_#_]"9&6 M:U*,().N$R)*MK60A68VID3RX8.#%@F$A4@1.3^(7U8KF;!>C=CQZ$F\8RE+O^3WO>91<"B\\DC&?]#B="YK"[DLFM,(1 M:VO2ROI1]X($OBR<89$K 12YWB04:J%&V+@L@_%F23$4NUP#+1%*")>.:4R, MD\1)KY*B6"\.S:^=5 ] 7=_/6AM[B4B+971(FICK\DB;;8R(K+0D21V#CO+Z M3JI>/+25LO;#MCLY87?*]Y/)Z*+2U;CH[[EFJ+)^=J'*!#]XK'(Q>0;%P@&3 MYVU9Z?UXY-NQOWP!R]MOQ_0/G_WU@0&=_VR>?6U_W?EXV/K2.MC=@7MWWK'M M'7_V=>>@O7L6OL_3/[S_^]?- '3^[JQU^'>G]=^GS0][0-LX!"<1,1A,&@<_M(<_N8W<)@924+GYD.#@K#!.*0 L MP[T4FH&E&@" #;!(<.I"R/+Y/A0];68G;A'"_.OWSXY78N":G('KF>9<"VL$ MEW E\/H[9709J\+^C[<=?QB\OF>J_#6+W(-KP/T/; UNI7US' MP(@E&2][S&,XZ7:!6MJ#T]7&6U@4$'I';;O:.#G( OH$C&?OA\>G#7M\W.O^ M+ E"G=-1 8I+U;[_28/Y##EG&<"'"103S@71 #W4&1:9MR!5+\M-I3<(X=@ MFW [?8RV\ZZX-O_I=6'S!J=+H]L]-OHT=SZ(/9>(9BH2%(C3@#TR(2>%04G8 M&(4543G0YI1:9?BR]MC]3#TQNS2*MZ.;4GOD^P>)VP7VZ/9.&T#=OIS$'PX[ M@_8Q"&(W;'=RR9!^\9>WJW. ?CYS=\,^4&J_GYWKW_,CFW$ F]7M %L>-?[= M3K&Q=01RHSC;]6?@?E,!-V)W-DY9$NGICBEA]=!)=__/*V M8MJ5WV%?$W!#T#! M9_YD3^8B#I'&7"0G.P0E1DX1BSQH]9XF$QP#"J9ZE5Z7@BM:'<.@'8!9@0L] M4XH;_\2CKNO[[J"QV6O_B*N78F3CMTS0HV-*>,*_9N_^E%\R.J?\O0K3N#7M M&6(%%5)0L,>$NRR^N:>\.M-?:V1![@0E#21"(YI!^KB)8 M*]I+A(E67 6A 0=6UIE:-0MHK_$KL@.9?4MRF[USEM3*=9?08Z'#_/V"!Q3= M !23SCA(KS$)V??J13J_A:K N.'68N(9Y=E)1"6C&O8A9]%1 MYVIB?P!B/P-5P6CGL<<"89X(1S'0--K#5N;LMN0/0"DP:;P]B M'PP7^SW>B.3G;IVAN_F3EJ77RS^#Z50%R41@F.SFLF!]]4[/LP2!J+N5AG,7 MP4&)B)3$&#S+6K>RQ$BA#$Y2>,Z-*KR$,9D]X:QYZ6Y&_];I7BX(DEMD(DU8 M[@J50_F2C4AP8J/E.:)=YF[O"P7']7B) $-\LD#<]N1&C#2^9XZ#1J<]%PBQ MGVL$WI$,-4D$"\%D;GNN=+ N"*:HDT8Q*XBIR? AK+\-UMS?LS2 @4TY8HXR MQ'42R&(9<@R_!FA@RZRCW2=#- MG\T/>QHD5S+1($E;V,"!Q03LSAY(T\=X"$/H#B/1E.N!C@M+N>OG-A9,^M1_AAE.(V?=9GM MM4B3S?< (<31)=-ANO^>X&8NP9OI&+:D K_^6N.?^;/3N>&N7GA>M9NC/^;' M.-F::C!3E8E&N3!J&MG+8\>(OG!:"Y[7'3_*E(C2 PML]XL OF[JQ:-X8CM5 M$OR]^):O&4=0SGC_'?O]&"=G 65'J@3!G>Z[,K'6*-#PM6+SMPV\O;'GO=(* MUADQE4#94 DCQTU",7IB>%)"96SN'L6+R/P;^7U9I-W^>,HC_ M=M69YTU\:0L2F')(];RH7D0>'RN"W8'1OSI:>'?:VM\3H.@[G>-&-/6(2] Y MC4P2*2V")9I&0H8Z=K8_IM"U0&0STXB@X?6PZ6R#% MG#XV@&%40>RNT]X?)5S]6)3A=YZ\7S%9OSRY%W^T86F* 32J'AJFGQ6MSUKQ M<;=7QCBRV#.R'V:.K#3[*F:E7<4(GAYULOH-3GU*AM;EX_[QK5%? Y ML]$IZQ4/2AL3"?R5 X^MI%%6)CRAPV8Z%J.0*J#D M- 6EWU'DDN&(^9@#^[U5YI+:(%>4BKDD]K=@QV;T,:M5HZ_(Q+=7DA\SVHW" M/4J(4Y7&V>D>[:.B*G3:UDVY+#)V#8_L$"SK6"6GYB2>\EMI@%,@S=E.B47I M'\0X .C;\./R"Z.DG^E2_AG&K@2JW)_DJ'M80'HT@NOF5U11"L_0O33OII@1 M+A//4.6J&9?<*2M9V@KENT+LM*LZ%9TX&)2,Y ;L NQ;7L1..PY+LN&XI$BN M?5$RHL;^BOE[^N6L&S:M9SNE!+.;W#+>[W[C(';". 76V:/OX_TZSPV[63DK M:21.%GL'UA''1LB@/0Z2,!Z%=_<@J ,,M&C1!*&<,LO0?Y4^_L=796.VII)%D.V00_*GID8F#]E +@^ ., C8SX M$EA:&?$ M)]@?&]MK]/MSYQE3U6S *R'56J,HIOS+DWV97 "#\^N.AT1N!&",55O>AG2[R+OQ[I.F'RY.*]/CX<%YD"9[)0'&56'J,B486 M,XNXS76;G<-($&QS/0HG)MHPDZYX- MN> @\,KL*$*2RPF/CA',B=*:$A:BQ$:*8$&09+8EJCKD_W6ILUE.'2UL6=?L M_MM.;T>U[LBK9LP//[L0YCEQ-'8;SPI/PAC-TX=E]KQ1^?GK3<1&2EY!\H+$2QPGH1U@5K+$\@0ZH&F2<[, ]JC)3,O M_T+UK67'J-M%=7QQ;J=N53KE\E0^?7S*;.8(*LREUTYQI"6L-L_AW\Y(@A3# MV$81->Q4%A/\4@UR^LC\0MG)4CIJ9-R>CBWBSU)$#Y'8.2C6O,?Y-(5\N M>>=]]EM4#7-+#;PYE K#$HGB0)[GTXAS)*RJ(<]%.TV.W$K0S5BOSC1:"]JE M),Z3YL8>F![2:2H0W Y:;\JEE6PI+6HM4Q9^9JWWSL(574.XMH^JW2R'NM$? M'(%BN#\M:/---Y&:^>3&N^2-2HD'$H'AC#-)44$L:!!V)#7Y6&K.QV?64O-> M]+E.\ZUTM+EO%-\1=O$2FJ>"\KI@_X:39YZ MF[.H:WW8,XER$2E&N;5-+A 4D=8VYVIB##8TD=['FXBZ*C3PHI2[-+"V+JKV MBZ)JY%D655M8D^*7-2;F:E(P0ZQD1$40>7 ]7.Z=)<:ED*5L_%*&D3L*[^2Z.Z^XQ,O/UOZ>M-$Y31AR(8!6Q35%5EF# M$A K+"N5&L3=7,F6Y?>@593F88]S0&8Y\^S/'*X?P@7#WJ00YLC5,776O9!* MIT_+RYE(EJF=JGQ3=U)PI8HSJJII3ALI_:IV6)88W4ZG>])O_%9.9;M#F&KH M__YFS 2#\L )HO="[*%RYGO!A%_)YK=>GR^*J9E;KFJ2Z8,J=F"X(B4>:\ 79728\\@D_)"U!_C MU=K'THF6]S-G1L4\?',K4IN;^ZT(:O2,!R+7>H3/>80W9L;%ID"C_,N6G"LW M#G.:U=FD;5:)G$?=A(;]4<97_R%DZTW6$C>> [S]UZ7+1&]&.FI$.GAZNF5; MEFJ^-\FSLLH*+E@0)'*/2_Z->!V+P3>?I [6,>TW;ZW(\E MUVJ:GB>GJ>QYNI_XUH$Q M?OS^]=O[P^V_FGA\#[QK^)5^ELUO?\)8_>GNM^_XZ^8'TMIL=5ITZP3N/-W^ M L_]Z^-A\\LNWSW[F)JG^/3?.^\&S4^8-3<_\SW"+:4J-_#0)I_%LH"!R\P".\(,V=#;I'*+;>)8Q,= ;QQ RR404D,(E4,>LU%BOK7-1X4>/% M_>+%K8ZE:[QX=+R@Y_K%[LE>+I] ,,M]0UT$O/ 6.>UM&9E75P, M]:KQXE9X<:,IOAAL4 1'ZABQN7BN F4B)!&--AQ;:3D=ZQ*DUB6>%AOXN2ZQ MA?=6I"BU@:\\6UDWYI(+Q/%^[S\!IM ME3#]_B G(%\(WWEJI^XB96<.K9\UI-V#.V4Z7OTL]KK!]@^N KKQ?K^K"I?4 MX'8#<&N]G7:L>+*GL B*&X4BRZEA8!TAYW+7:F-*[1O#.,\G\9H2^L?]:#\U M=RV'\Z'FHSOQT:S#@>DD*>4*.94\&!!<(@=;AH+/;88Y5=+%E?5%-3MJ#EIR M<[R63X_*5W1&/N$HF#1"(4P22"4N&7*>Z5R?S9% -8L\/I%\NLK5M8"[%EKJ MSYJW'M2:U3AV$U=<>V*MGNP9 M2T1*!$0_,0(L51J1D<8BG'A4F"7I0GRT$(":E1[5?*U9Z1Y8"4]8*5<-9\)D M/[;+K?TD1E:[@ #NN\6L0B&*1"DO%PYX=@VVI:IYZ.ONUYJE[X"D^S5-.6"RVYA7CM&EVS M]9!K7+E](/G)GE,N">L%$B&?<+HHD28!(V9]HB#"&8T40&45LXNR^ND\837[ M+I]56K/OH\=UG^Q1%;!SU"!E4D0\ZIAC- TBPD7B"<5)B8I]+_;IJ=GWQ;#O M/9_HUNS[*&'61:OWU@#2!HF43 3QD!322G@48*-L\ IV-F=QK6)Y,3&CYN 7 MP\'W8'?7'/SHP="%@Q6-BG*GD(@^()XL1TYXAARV@0<9D^ R<_ BR_S9'R9? MVPU02E<^!1-^.F]%-'66W!BO^;T.2:Z):XQI0<7:[&E$;&U!24('0\X/6%G_ MC?P^5U/U(4X<;IBL]O*0^-Z3X0L!YK+2-=S>,3S[9(\Y(,#@$A(B]V"(R2$G M64"2>JF2TUB9'%)Z9Z"]Q[R3FD&7SU=1,^C#Q'V?[(6("1%:H!CRX3D3H QI MS)")8(UR9I4O#HF+Q^@U@[X8!KWW=.^:0>\K@+P8+#1X&1B5P)DF=TAT$;EH M-0K8!>!1[;7%M1!]V3QZ[W'J-8_>5WAZX5&KM#"P#RCIZ!&7RB"7)$.:44:# MD\';7*SE8F3GLT^P7NK @D]#-VYD[+N'L8XI6')+_#IY:N,]W2I;6J/635#K MTY1M#@J?$$Y&%)EWB LED,;6(H)UC$)R 9K&Y6EI]5G&B^';>PXFJ/GV(?CV MW&1WT8 F:!.B'FLP![Q$EA.&/)AP3K!DF&0UW[X"OGVDO/":;^_"MS.6/)-" M$^<(D(XGB /F(N,C1P'VS0::_/$$Q\$U=A68]L3IL#4V'9+;#OW6DG*K,8B(2(5 M1]R1A*P5 OD<;F(HCAC'@FV&U]A68]OKQK;'S ^JL>TVV+;]::;(X\E>M"X& MJ0T*#/-<81TC;>$WXZBE.@GMHBA9!537^%;CV^O&M\?,GJKQ[9;XQJ?P[72/ MP+Y0^($,C@KQ$"-R,C@4$K>&":Q(U 7?S)TSEQ\+WT:>T_% 1L0L"G@]06&P M>RXNQF!50C>?"MQ?O^AZB,]UB(76_S6P<-78]PP_QJ\YM+W]]E%YF@:L'ST! M9=GZANBQP&T?A7@T>(-,>>R]BABQIG_I=Z=7^=W)+U+QGNJPX,I!7SGFWQ\F MY=%<8\27)F&.N]/T&R?MP4$C?]_/38Z[, OX,C8.X8^<@-MYV#^'-IXT#&QJ/IYIMM=[/Z&8P M Y_ULQ/ JWX\FE?._F-[[8Q)%Y4T_#R5M$[\?Q]/OWX)QXYR">___G4S?&^= MO3MK'?[=:?VU2W;I^P,8YT%SQXO66:NS#>-MT8^IN;.+MW>V:.OL VF>;9TU M]_"Z2U=80Q87#.%W@\=WB]M_>WMUZQX*622"KGLBN(($TH0988+&W"*LJ; M\>T=W8'UWM[?WD:39.3)(1V\1SQRC2S->VN\Q$0XPZU?63_J+JCI>>,/&C]& M.S&M@ZU=7XD:Z4SK_]?U_K5^Z6TCW;\RC4&!F-?_^9J8U\?*1]E(+H,;FRJ5 M10(J3L<>]^.;\2]_A';_N&-/W[2/BJ92;OIC]JT+=*GRPNKK/T[:87"0O4QK MN/(TC<*=1F\>?;U6OIKS+E3?:;HF%;GT:[QVV^\ 6F]UYU6#);"\7%SKL;^( M_5JR3*WRQ#?M ;S-7Z_1OK6#6SK*U;'Q]RYYW'69UZE M5[^HD%M@>;:WRFO(Y/M2_H@!61B5W8^-7CRT[:/SFL'%6/VM?51LS?Z%4,Q[ MC5^^QC.N5Y)\Z6.:1UI*:W@(]_LY<\)9!KJ&"103S@71H*=09UADWH+VD?:V MSK61>?4C#'MYGZXN=3;>\XUJRS^.=[Q\F7.7R?-42$:>_ ^GH'#0UN;7=O/P M ]W>R9Y[SYM?/N.OAW_#O?\Y:!YN_?SZ[<_#>4]^:W/K9^ML%[<.MTZ_;NZ* MUE\?\WA_YO?N'H(R\^7=Z>ZW]X?-O[ZFYG3.GPM*4DDPP@&#^B*T15HEA4*B M3!M)& YJ95VN37SXHXU?K[CJ;JASQ\#CI4 =4&8\S&G0 #*]73IQ7?)@H=4# M]HB+O7F'Q0T0YMS>N9 ;<26J;(YV]"-LZ#^QET7_Q.!!M :87P/,= AK2CHY MP0T*RN'*/M).4"12:1\;F-(B \R2%!1Z"A;X[XLH>IV#&?.\3"XIUSAGS\GD M>E:#E?=I'][ 6+KT4G,GP?^8!M<%-EUL<7UJ_ZR.L_J->!1B:/P]/(H-AE=O MH@0MF:YS0PO\K>T?-(YM.]RSY7W'/D[+3SM9*[F+YL$Z7;M=_]A0?D?KP>+RV0\V:37V[M=$FCU&=-N'_L MZ2'@4?^%A'1^Q\UOW\^:=/=T=^?[R==\$K6YRUN'[\3NV>>SULZ'GU^__'W0 M.MLB\W;:]LZ'T^T=>-.WOP^V=_[\WOKKW4GKVS[=W>E\:^TT26OS?6?W\!UK M?OO/K)W& Q$F!(^BSIV(A29(&V*1ID32Y A/N&IC8>ZKC]2UIKT5&#V'V V'E.H?!,<988Z<4?@H$/8: M_.E5@]E%VFNJ6L_>17>]8Q[22T;P15-\,3C]2'70IILC_]-K QD?VTX-XKF.IBQ2Y40"352F7/0B<62HSXII2KF>(>/V_LH9WL^I08U*-2H]OO98X\\] MXL]480K-O(P:M$8;0(EDRB,;&$4N4@];A3UA?F5=+E-WA05GAG/A&E>%[=Q* M7,[GU/;[,G33L8]N#?G3R^'7CMGYVN__X\R?+6H/*%>?%,U&[4Q'!CXB:)1]IHR2)Y?.SBF<8 M7FUDTEIM=(>]QN&(7AKVR'9.^^URL3TZ&MH.X.LXX":&:9,!KA@ MXRQ'L0@/$M=\;\O[T@R4&\__Q5@OMXN\O&%AEBN4R+%=4\5\P^IOI_?M;.+L MEJCQ%V'L[)ZUP*C9WH3GGFV=-#<_G.W2+?YU\\^#UL[73G/G/X>[M/6]M?G] MYX7PS&]-!D8-;WWY ;-QDEKL_5M]]O!]^9?,-_#SS];7[Y^VZ4?\/;.^]GX M;THB-5(GE"(#8XS;(QNKV?*\$V;(2MW/2K0'M)H V?6B&.<&Y3 @RT@K$07M# M3I22H\9Y%QV-V&1 $]HL41NAUZ:J\5I5>TV =M"++Z7QTN- 6NOM%*098J4( MTB$!FAKB)!F4RR8C921E,>%$2>Z@O*KHDN0.ODH=3=0ZVBN"M/?=8>ULNQ&B M33O;A!;.<4Y0L#$@KK%%1LB$!"/2:YW1KEB=6MZY)'RMI-VRI]Q![$6;!K%7 MJVK/%-=\^-F_&M1VNG_&?VP[;.1]KF'M-K V[4P3L'-6^0B*FF:(N$I5I9UZOR)2IJRXUFI4/F8?NH?3@<%VX^'DGTI];;[G:&7(/?_2AU M->K=!/6F/6[&*6RH ,N4Y*I[W#JZUO9<(>)^GHD;?_?1PZ<9A_JM&OQN@W_:T M)>E$Q+BX(73 BIE!=R95VL"G9?W1MKG>^Z^):UO*Z#D90B MNLJ# MXP9T6+8JY7,+_QL/9$3.[&4V<9M>M,O;>SU%BL]<;Z?Y=+3%*4H7FPT\;M+2 MI>7P+J0NE#F^'PZ&O5CE+>3V2H?M0;:K?]5985$R%J6C%@I/L5=;1R5Y*K5[ M_4'C?X:V-\C=N](H)>LD-DK62&4M=1MVY$BR^[T8\WRKWE\;']^A3S!VP(KNK6QV @$2- Q8QND5JNZ*O.7>^9.?ZLEV6;KW_]^U?HEUVM3 M_!M<57XBO_W:@GO5=VJ=] =%ON1"KU:RON Z\,CQR: SS.4.]N1DT#\#H3"* MW?/KQU<-_YM&%^22%,EY*YR,()=(C#9@@FE2.$JF4[*U7&*,S,HEO(!8VAY$ MNYO>1]M],QSEIL'8V(Y>>VYB4G=?_\-WM T4-"[*X1&1$W'F>RQP#8DEY MI@)H&!JD"Y.;XHJ>4JT!4%95>Y#TXH[3KJVMU5&P+G3< B[F+^B$W(U M9*L'OU[^ZI;-Y9'EEO 4_[. %JA)\,$XP53D/-'H/$O::IU8B@IDV=7(7H0IFK&.&TLATX)$(;5/PA L! M9.&M] U5W M5[&V?M?,@>N$P\![BS ?$@Q;($B]1Z NP+'Y6-"[:.SYTCKNE('K=-CJU"H' M'&\FJ?C?7-Q=*AH!Y68(+TN!2NHN4*$ZN9I9V>[YZ&LOH.T'$G7US\XL>'YD_U;L;!\$FY)QBB#G MA$:<1XL,3QRIZ!B.-AJKN78BMOI MH&5,WPV\W/FOG?YH/XY>U5I(F)UAL?;#*^Y ">VSW7<'2@3,@^6(:V,03XXB MXZ1"#(O(05,)$4?00R_1P?^.FTX4S@>$&)0"]T1<'C \:0WQO_.]/>K&$GCZ$>N&_>[IZ/J/7&6!SG8&>"0# M=*:&L=JOF;^/)JZ<$WL8D8-#^()*AM8+V_UFSX<;_YI_1'B^"UNZR&Y<]C-< M-2ZQ^OO"J5;,Q7+>,B,JTB0YU]8([RPQ+@5FK:3A8G>7X( 8*4Z>:.NRE[B&OQ81"+TZ]WF%]9GK[T\['&U^:'[I[D%>[UWYR-8B_LU(K< M<_7A[;UC.X<'Q"2F7';?69(5J(B1P;FW,A?&,L6CR!&B?B]>!HY^VR MH856)D;9O'\!SJ'3#UF@K"AH@!")WVQWC6=,WH$2_OG>SFU9B741! <.&LY? M:8F< E5::&*"UJ"^,+"GQ-5S(HNWM+@':M]CJ+T&@!!V(27B=M"PD.[P(?K2 M?^YU+(KU,]8=_N'M[0.>*%/:: 1J*@$<2!0./KOQA03U4#L1M,VZPT\,Z=:P MWE8XEK*O%WU .:XTJB-/8&H!-DRI)E\W\20-<_BS>'CRI^M@T9R=WK6] *IP M*'YPD$?E1B%F\ %E-B.1'?U0='6&E]WT\)'* W;2[^2@5ZR<7H.8W>^P^FI] MV3^:0UH *Z/*D0JW'PSB\*1?]7VKOK([3EZX,+[]2I/BIPT@UR+*N-UKQ>&H MA/#"U3T>BZ/N1GT>JTV$3RW0R_'"_M36<]ZB]1VJV#1]7*'CTU*Y\JE=%I,I+?<:>H]I\082Z(+R6$K(I8RWBRE\[KQ&<^]W6.>P/WQ M'6E_WX?['WW>^?[^:&?OZ&C_^U^?VQ\_'>]__L^7??KF6YN^P1<3/O,$[D^O M__F^\_E]9_?/-MOY\PW9_?./S^WC]MFGXT^=G8_O/^_O;7_?WWL_W^Z1$$E8 M4!)AGHN6J#1(&T&0!?-)"R 02Y8W6V/-JI;61B8T#1_7 /6:AH^/#GRS->K1 M.79IXR7;A)-M=+2FX6,#:4W#QQ5$ MM%EWF^-469<;9##.<^:Q0C8[W@A)4>(8B4PX(QKA=QXST"AIMT8T6>+THZ;S MX[H#W+/N_/A0^-:9:]%-DJ'.(!4$R?B6D)5<(,(<=909%67N'X%!92-/3V5; M:5Q[Z-:/MXX"/>O8<1,X;AI+%WCPKVXIG-ZOO,SUX MAK=IPO.($]$_UDUVJA8[P].3DUP'#V9);FI2.I@,!K9W6#<&J3.G>QDLNT P MIX-AZ MW-&H?'&Y ]QIO(!QNY^K;I17,]M2!=8RO5].73L9]'/;S=QS!.X]KB(;CDY# M)Y>.S1Q<3OV%?1A>_;4S2=[C.>]%&-E1&1V?DX8'L;Q2Y6H?V_/6(/[WM#.8 MJ#\EO[Q>P-P]4AQ7L8TZQWG1^<*JX4K=F^CJPQC.KNHK;$HMA?(QC3.>)YG+ M\&L='X5-?^@GH9'[YVBF%-LN+3> M:*6,2HQAY861^&)!9I'7%VHE"I5,CV\O0\L>?,/OW;[_LIXB]]8%$[M[7[[M M@.#$5(/^(Q#&TB/N@<4<-@DY#A*3.ND#\QM &=Z>P$Z.!J?QD4!GKU1?Y.SY M3.U5TOND-]!_3W/7H5$I0<]%$1:H]M .2AIS9K5^05P_9=RM5MT/;6QT3-IV M#&+J9O:PI>GNL"J_F.LC I?6+3@*6/1'L70\FFUC.H\+PUE@F&&_06?XI?#M M+&-7+4>NJ0]8FUQ_*;>H4>N4Z\_N8;&"7?^E=UJL?#*%">9F*?@7-*;6]J2? MW][Y27R2U0DWVYGI1KP&R?V,-Z+&\W:-Y[55?;_%&FOE9&M?J3-?[(Q9B3G0 M]E*UGV,]M%0:@JR:% 7=.K?W?BS*-3Z8;3!/NK"?1#:^SL;7>:^^3J62YTHF M);CBAEECG4_!VF25D):IZWV=%RPI>.A.@@WHC2X:5>_'%6 U$E?#*ZKW 5>> MBHOS;'_OKR\[>]WC]L=_SO8_OX>?P]&G/]MG7'9Q?G' M4?OX'=G]N'_V:>^/SLZ?[^ Y__BR_SU?__N7]MX^:>]]83O?N[DNCQU'P0)7=>$DD72?_YI.>WO-ZQLF4)>Z\E^D*X_!> M@_E/;',_Q)/16!,AIDF#N$^Q(;$743O-J=! M1J)T9B6*A8--WB%ELS7D#[(U;N&&?;1+ M[Y:X<6&8TH\"Q:N=MO&J]'EK_5$W<5NSI(VWO=9?I[W88G@S6TSJJEE)52>[ MZ4RCV=DR%YY^,ABI>(T_QB'A&&KYF4IM2R7;\P)9829,^Q M_J_][M?2KQ .:MJ2L?7+QOO)6_^NWZI.<>,VI*:D#01'ST(4W-JD=>(&8R%< M\D0STY#:0Y':]^WON^\.&!762Z(14!:0&@^YWZ_(O3^E%<&PQ&/<>"E^0&EU M4]=J+M5IE?[A8^=K2;-PX_VN1JI,^_W><)"&R;/# (PE%88[P1QF%GB#.$R( M,Y[EC*6*7-"U=#-3*_)W'.2HJST$^G@#.D@'UKA=+_O]9-7/>(#&]^T\R"U/ M" K84J1@BQ%GA"(;5$0.1\J3(2(%LO%27Z:)_RVS?>J-O8H@MEK;)3,NB]%* M":UD:6ZW"G@UCHS6;Y'R%BYBMK2%[?5!=1K8;[UI,_(+,K5T?LU)@/FR5K_* MFYS(R''A5^LZ3"L3AWKG5=;>R:"34QW[K5T_ZF6Q#O/*.+C=P MG\Q.&H]-FO1CK28QP4/F3QT.HJT[\O[2^75!7KV#%C&/WWG9;\L\NVQ OJV7 MGD?;?,CC%L.4BY\SI_YS!IJ"L1G \Z@CQK*FH#ARSH+A1FET6E(3)' JVU*7 MZTV!5P=PRG#,^>2'IZ4G\R_;O[;> A&=M?)VMW[)6;^Q&KAU A9+9WA4--WR MD7:_%\_+=7I%ES&X+QG)I)T<\%P-=7];D'M_G "_!!V>_\I M.;[=F)^5/&>:VR<[AP>&NUSD,_Y8&2-07SN9E-R->2^O?)S_,[QR7>-U5^,*ZE*?6M%Y MU3\^*?8"2)H!''@J,<9?O8?HGUD85.7ID[K2\M[W1Z7V&] M)<*YF7TX&>PR3@'&1W$7SM)D3N="<2'9AO]9X3N1= MYCZNBERZ2@;8:AI+)OBQEH[Z/0"&23G8)2_,V DQF;=3>4?H5JNT/9[[;,I: M&T#R29G0'*:6P&7?SF"FT'*FS"VC]@FPJJ],AN,\A>Y[=3"A.%!JCU'LCHO3 M!K&J3VNE4T#(RQZDB0US _-EQJ&TU;J)&K+: ;Q_QT,XB+]S=6_,L+N&==>9 M3K(C$01"'O2;M2.@MZP(Y0 >G%6NWQUTRI2Z>H03H&BEBF6Q6R47=LB,G MTQVYD;*YVJ><74#'549'T2W6\Y!GJZ[SU*[#'MRCJ,AC+6XLI4&K&;2^VNYI MX=Q, [/:][KBMDL0ZK!]W.G497L#O/2MEIOLXJ69Y1- M7BM*RNC\)"=:C&N3\@Z,[W)>Z6/U.J;+N+2*B5XV?A:XZ;BNO3,(-<_XKNT< MUV7TQU60K:[['>O(%Y9?"N@S_W4[H!S&4/;,>C\X+:/A6E]Z_6^7GSEO.'SY MMR.P;N $^\-R&WAJ5SN"\M2P7LOE4[?9OG'P[)/Q8V5Y@UIW6VCX8#248^E# ME#P%[;RQ8'E:3:WG5H>K4Z=N.)=T$JZ$AWE5U(7#V//GVWDK;/>5'0S.X:7_ M9*I\54'5LQU.NKMW>+:S?> #UT%+AVB2 G&N/7+:&128DE9&9W44&R][_'#-?1632X]K^>59H*+>;X@4-1-%/ER1D2H*$52FG*6 MVT(Z['P,DC$B<-(F'F0/_8)3Z[+T>/A)7@5;=_I@4!*R]_\OKOW!7Y^>[;_ M_9#O?'[_^=/Q6[[S\3^I_1D89OM 6R$X\QXQ+13B)&JDC>%(2(\%@)0(P5R< M/>\X'(*5C!JL>7+,.64P\38R(:,2[F*7BOH06N446K/'<#DG;98=KC2 ?OKE MZZDKM?M@-YQV[:"U/1R".=/M1)#!;WM^W9R.X^RV2"&>6 Y-%(HUV1O?ANF4)O)\ZRW6^]&'ZWW:S4?:B7LQK"]N'Q96^? M'!CA;9 NH22=15P8AK34%CG*,)>28Z95KFL16FWB*R)]K>I,LPX(E/%_AKFM M5':T;6<1FN(@T]6P$%06L8MDD('JY13VR6F15;-HHZ0^DL2,?K:[1& A)?!(@4^1<02L\1+?S?=Q[Z54_Q#?9P31M5KU4"2'SF.B?BH@K7-!9A"&V=44K MI)SOEV^0IPL2Q7^[EW7?4+)E.W$4V'LC=&*L.=? (913Y*/JC'JSDL#B M.L?9E(ZMUSL 5?TN\/\@2[O8^WZ>5Y1O<@;R#&RU@EPY"@#&1*WF7!AP/@W[ MW!0-"RN,FUG4 8>I ,U)EM-[+B9.<1Z')A0!^+:<..>XD MB-/EBU.\N_>6[L":=EZ_.=\%.U;[9 TS2%*K$;=8(.MB0L0XR4+P4I. M3Y[FV1+VSNM;\??@.\(YH&X3!&(O"4 MDTP- OW% ^@!)P<%I$)\23+]"9& 2I9=MA94J$(PLTV+Q^E$52W!C'-KZM&H M-;I1'O16=7SKG+6./A $]#:= O).6Z!8&Q%( MG8"L\E0)*:/'9K%&8UH!%!H:M8'S]]9(PW R7FB1#,BT^OQ)<_XK!P*EZX!G,B<5.P__."4LI%CZPGRB!-S-\2U%A9=^^KY?Y MMO>F]@_\T1_4O?3AS9PH](SY9>?S-ES;/H-[DQU8P\ZW T5!#>3,@]6K ^+9 MF+$8F$:FI+$"@6\=V7BI"-\DZO(PJ4+2BU$$T=PKD8+ P?. E576< HF@B(I M!RQ_HO\U%'&/"/KVV\Z[ Y.H\AY;Y,!8RVX1T/F<- @$)[:&6"),Z:7%J=YD M_'(_K07<(C&8)3[@=)Y MY:ES[CVEU$0N!0_26TPT<8IA$YWVGBQ'[VQ._?:GGF(*(4B)/.4"3EU:9"B< M?\*6"HD9]5K>4-5<-F0NK';^L-:BI%(N1KT&>R GH,[$ MFC0?'KZEE)\QFG+%R.X@)\C4OVQ/RW?J5_X8%Q7M#MZ4$.*TWN]5;N\3BGG5 M[U7<\#9GG@7R;.E]%^C]@!J20%D72$LG017P!EF3&&+1N<@('*<&7!.;G+-- MQ2XW.+LY70\[.8TW5G'CNES@IYDN5;JKKU,TIYG#5;1X',#(S)!UAFN_^YL= M+N3!Q X$KV0F4$Q 80:%-GKJ#(O,6Z#0=$TGOT4*!&9G4E0?+O4 MB#UC-^6;;[OO#BPH1<:!FAIM;IE#%$?6>XLT3J @19J\:"T,9' ;RD"64@:JP["F%!&FM._G],_R[(7!"]5+J$\YA3Q!+:K M\2PAP:-EP1L7*,DY+S]S3-O1HDUPYAO,K*J[YL@N&*Q3D6&P^Z*F B"-:):; MEF">A%$ 968)F):3Z_-*/@)ZORK%R7$P&1W[;.EYSB7S_>W9[O:!PL9:F8"8 M0VXI*JA'H#=%9+4.RMK<;*8$F:^0M[.@MDB,(]?M2R%MHIIS:ATV/LK$L<4> M ]K="--^XMENCO\&Q_\]>[ C*%K)>T2% &C#0B%M+4.>Y$AZDLR17%[1Z5X^ M?M!TPEBW&7NO[6TZ?2W@LK@G++D%-17)6$(E%PMUGAM5@9 D.]L'H)60)*) MD7&'N H460*$)7-TWU&K 6"NH:1%M:*E(,CB\J,Y\IDCI^UW!R1HR3AS".P1 MC'*70*1=[EX*F^H3XY8+?77 OC43J_?U5E?M*%IA' 3+9E3JSTP#'=1NH;NC MS-6JU$-I3'42W*02]?(#9B-Q$@.[/L/T1X;F$ZA(WAX"77R*O>AMZ^]_OUJS M7+:_[7'K[ZW6JZ/8.]QL?3OJEW.NJ->VCN.X=4[V'US.2P?X&W6ZL\4Y=3K[ MA4W)=YLFP/\GQX8G.?*;K3J*GX/$F37>]BK\RXRW-\V [DR*@(@HE;G#?C>T M7*?O+1S5^7 T;L8SS!&12PO(#1I*^Q=@XWZW"VNLLY>SF\0>QG$OH F?STPA MSPGXMT_Z2YH)KB,SN517)V*EB)8&SCW! 6/WDUC%0N,.ZCR(/P"99LH4.S-) MSH\\S>"1G=0>[[P[@'-02A"*M-<@!J(!T2#RZ#5"05)0II*2&R_I%=G-XZ'- M"^L"7'(AE8N&1L]-L,8GG)S'@4O/0.7X2>1B(:7@YS3P_!0!?[;S[< QK;WU M# D+A\^)2,AA4 !C$,H'EURD+"L"EV/Z\PX20,"?).C-HL\=D6,*WLWH<=EU8YLI26%L^2#-0 M>\%86F+;"[Z,MAN_],#[$PVJ]_QQ_ MVCLZVJ=MNO/ZK\ZGX[]@3:&S\^=.MWWXTBT5(E%Q)E@NF+?3#J MS=]L_1G[AP-[?7W,Z9*WOYV0+T$P$\2P>8&Q$WDR&G-<@MK MV%XF0H^%2KG[M>)@M&H2N8;39#X9XI6Y2)5KZ5=;*F5/: M1?9RW]ZBNY^"G(W#87:^7)^I5#WT17/U-AQX^P*/TJ!Y-TVJ.>J36!UE[:%9 MM;WWYOQ 8H]!:%@D:4XZ)@Y4-1,24IRRI$%W%CGF.?IV15.QR='7QSM\T?J[ M:N506@.^J5L&9#&1.YUV6[]W2N](8.'34<>#D9?[?/O2N*(_/I5RP+F17VGG M/&C]LO%J]W5[X]?<[JZT@KBZST5UKTLKJOI+#(!B!L (90A3R)U3\YWZ@T/; MJSNAYA8% "I^,GRF7#!9$ZB I]U1H?'38=5IO*P%5M:J>TJ'0^V"@< M!Y/&A.S&<,IH3P5W?!UZ*E^]$S_7!>9WPC+IA-(:K"S/5;(Z2(>52))*3570 M=2E55M3@DX.3W.(SHK'9-^F(6'J) I>7IK:;XPE>G1RUZ,P$#*8M4RK/UWBX M]G!4MRX=]]@M;WS+W=[K40$EA)6QHUI+-23N,FH-6QNOQJNL[KNUD2=C@J4; MCZOVH;,WA)_[Q['U2^X+^FOM5YL)=PQR@F=]]61PV*5OS8' 2UBS7JK)U;1T M(]J846GJ40 YFZ^^PF_NT[H[%2NC'ZIP'\6L'=J<*",\2X14KN%X8Y3Z> M5\BB>DPFD/D@]V[.GMQO$;Z[_N;"+C?ZYJW+M/,$NGU?H59 -6'ZJ!ZK5;7B3JY'W9IME;+ MBPQTY]4'6X?=OLN]V^>64(-=Z>)Y.JR^9U;>31Z@!(GFZUXZ@QGG:H&@W!8^ M ]+XV?-OLY4STX[AI4]=T:Y+'&JN*5G]@?JA"O&.&Y)E9?JTR-=:"@//G>:Q M,/ DU;94S;F'*9T1N%R^HNH 7C_^ MA?V>??K91YX<;^NT8/W.GQ_*-_S]ZOV__@M_Y8LJXH2-^=H9#?IU=''2K35T M[&$/-(N.KP8)3=YPG>J;I\5.U?2(HDP\@52:*VW1]8/UK$,4HAEEVBUBO00V)CLW-Q.M<+@]##WF@^= MC$T5\3H 9+BZTGT;L7*/8N6JKHUUX_\*.Z3&93#-5^"+:C##AP[LBQW4&N4<@7R+ M977+!_A15AH'@G1 M.HYP]QQ&R.< JGD1:[4<+^,]BR283,G(E%Q9'EG65E\)9-GKPR-U8%U'L7?> MSJD_K^: _++]E:0Q;VRFR>/U0<*HZU'"5DPI;)YV3PLO% "M:P8^Y M8*PCU71^DB>I@=J6?RQRZN9EWDZJR:6]? MVZDS6/,HI6(:3C\PGO3]Q/C5!D.]OZ,[A@;/)21$(DC%2Q"4E MR#J>D DR*JT5CTI<$P:9\>1-''@7QF..;:_\6J^:< ]73$-GE> I)E?E/\J^ MJ*JQP"0J4>7&Y8E&E5.R?"'P]200D7ELQM.4S8V0"3/GRY10R>S7V*\6Q/-T MF&=6&@9 RC,30&<]/A7P37^?S($9SYC^?9S"]WJ:PC?Q90WBX6G1!6IG5B4S MI][.>N@EV!F#OAT/U$I73;ZRWU"9!>?B\>>-@U_BZ(U!2"NEL3C)+2TY4/4&U MFKU:WZHFX F)9ABKI%=M4HQ/;W/Z/=4$T+'7>G*K/#9KKH_0S,>K1@+UL\X< MW-A?/9Q(#3_O#I_JI<.<3PJO=\>T,N/CGKJV]XZJ<5EY$96J5"BSR+_C/MSF M.&;UZ#"==B?[!9>GSD03'(RS//(CC(_AX_K\D?Q7#:C;OI8H;33-;*[^?U MF\\XTTFTMP^2Y<$E@Q&',T+<4H:L30)91F6*G*?9.9LT4YF<#MU3I%G43QXT!HMP^W*RAM2V54 M+T_=K8.PQ>H">"LF4K@0!'4Q#\0>OSBR9[".7XKLJHIKAK^^N*%N #M::W=C MD,T&.2JC(D^&\<7XA]] ASKIVO,7G5[9G_*AW^83>J_P.Y4#K-ZN8=$SPHY /8"MTC!P_'];G,I$9>NI2=G M^>K+RN_(36KJUH68 ( M[_4>M?PO@D;'=N/TEON:V.:G?]Y#+K9^_O<^[V7 MO6ZVLP&15=CY!D16"4065FN\CW$&3:YX[&Y,E]-4'E'-J\L\AR]N1607GO=6 M=%3?X_X(]2$6V:RP6>'JKO"NYEF-8ZW\KZJB+2L!:9?\UI7V4J?:U '1^U + M%]DXW%HI,7#UGOW/Q5U:Z EGGVR0[[I*C[9 HYD2ELL]/DR0W&)GC?."$$5" MM)XG^;,IJ[=LN'95,\XW9W6&^G:I_8EASYZM3"NV6X;ECO:/S[J[QV_PSL?V M67MO_WSW]0T)'G#QWR=K%!ADVE/)$*<5)R914 M"4EO%>)25JW"<[,_)5RNI7=AXR7AFXJHG[91ST!!7WA)EJ%".Y5HE M30G]K9%OC7Q;H4=; +ITXD8[%:1S %< 79PEA07#D3EB-&_4\[7"+SK!KQ2% MI(2#^1:40""5,,@W:Q%6#HX<1[#%KE?/GPI:/1E0>I+8PTS@@4ELA!'<1^JX M89X%IX,/E)AP3UW[&^RY'^SA$^SAD1J&.2C8T4O$'24H^Y60S8@BG@JPQC9>\DV!+X^=6TQJ-<*I$4Z+ M0(Y2!+LH#/&8\:B\P4([ZR(.R4C0@Q>$G,:F?S2T.6N_PF<%<;8/+%CKA-*0 MYUN"9#(^(*C%PAL-F3Q%,G%8F22<05(ECGA,&CF)*6*.!RRE MDIC393E_5D\P-3Z>IR7*M. 41ZE$P"GWU;5<."*H\=:GB7NZT9[7!Z@Z$Z 2 M'JA#!X$4U1FH8D*&LPQLOY::6>NEQW!\(KOO2\1O)<#-^IU*YW'Z$)9:;F! KA"6!:HMC M"D(U_+Y>_#[-W)"<4V6#1-8("I)!@SKL@T="42Z\-D$ZTE!*0RG?#F)4$@>J MD-44*"4%AYQT'B4?F,C9$(P#I;!&,CPOR>!!@11.1NFDS8BA:=*@+-@RA@A> M:_A]K?A]FA-# +:=$08ID@3B,FN">?RR(L8;9R+Q*>?$X$W%9,/?3Y:_(S5@ M/9K 2"Y),<$Z#Q:"C=)0K@FEC3]TK?A[FDU@ ^5>18>\)P$L/4.1!G,>&6DI MPR&*1!?3_!I*>:*4$K#U*95TR-SQVG&---8$.8H]QLHS;''6_#"FC>;W?"2# MB#R9W V=17Z[3\B "8B8LB)%"Z?IZ,9+M0B]D"5H5X&&1N.7S>.G^91*.HDT]@BHJE G'F+K(@: M!9$P2Y93X/_B&>"2K1"'+ZE=S2IG3Y1>8^-4B3LU>+L3OBW:P^W)@9\A!!B" M>QN\X#YQ!P+16.D85H(+UO3Q6"?P^S 3'B'1!A@:8/#.TJB9 ' M>RD0*S@S*BG)(Z/)L 88U@H8IG%4KPV/AF@D#6%@+4F'M.<*,:JPX<9DEUJ> M8K8)BF&## TR7$(&F80ESD2;;.3PGS7&1@NXP+%)QMK&D[)6R#"-JRGO3#", M(Q]#1-P*@XPA 1%M!$M@98C@L^=4X#LG6*PH,-RA)7(#&3_JL2:45Q[GOEN) M<^:-"0SDD+*YP:A@IH&,M8*,N="E&I$Y9'CZRA%!0-Z0SWUX5; MG@9H--!PIZB] #D3=4PN)AZL-#9%IIAQ.D7':@=$ PWK PW3N RS(48F'$I$ MN:Q/<&2\$$C(H!CE,FI5=3$S3*BAD@N.Y)8B61G$+MG-N"<+(LJ(V M:VHP/6DN7G)0]KJ^9 T#+XN!IV%7[)3C5 G$.(Z(JTB0"U*B*&44,F:_.;^^ M^5C#PD^%A1\R?-KP\;+X>!HE588R;ZE T?%(0@F#J.4X.0063T RIA"<3 03O_&2;$ICUK:] MYW/CR26'#!L=^+[9<2XH*!E) 60F'!M#G 2-+$\>.1EL%)$R*#59LGG MJ>P^9 RO8=CE,>PT5.<]%29IB7 DV6S5$6DG..+,DB"-%%2G6TG0=6A%>V,G M>NA\O0!#*%__0A9?_&HUJ!V?QU*7)+:TN,&J?COI#SN9-EX,8M>..E_C;SDB MB]@6R1^_N+UV&/,=-E[^0GZ=D!'L=5,)N_8Q@C%U E2_GM+FFRJ:W #V H"] M.]L550 D>X>SES$/^L81]"L1%,(4CM5'K65R&R_%)A9W3JQH2MI7EI$?MG:K M8>2E,?),NU,'YT.81"(PA[BG$1DA&<+&,2M,&I8 M>8FL/-/C+2DJDO0(:QZSH0SZM;,1":^2YV IXV2K'F]ZE<3R0_=X6\4(Q8?8 MA1X54AB!)DT.<&X6TM@%9;WS*4W2]MED,J[M[1=:"HY\TXSYD M0*)AW/M@W-D)69Y2P2-R@N;43"*097DV:M(R&".MYF;C)=UD:L%>SPU_KG.< MH6'"^V?"V:@"!7U7L1P6C-F,)9XC2YU!P)J.PM$E(TC6AQ>,\Z\V$SY/M?7W_L7MM/W:#0.GS[=/XT)V%XI,#IRC1H;1A_-?SU#>,_%./O MS)@I@03E.$?!-)NY1YPYB;3(<[ =EV"[,!XE/)>56*$2C!Q.?$(.LEA(1GIW6VBDBV,9+N4E(P_@- MXS]^^Z:&\>_$^&\GC(_!EL=,!61 O",N0.P;8Q)B&AOO4K \MUDC8I-HNBZ< M_] 5$X_ FF][OG\<6[]T^\/AKZTTZ!^/(QW]WNTB'#^)Y]YZ:L[/<6_5]O9_ MEC8Q:/[9GPK6/V089W<2$M(R M.!2Y<]2%(&G Q;[CR\K;O!EO/'*R2@-N3QOPCPEXG!UA.O.&EE^7=6^"M$].//_<, MM)=GIJ0L(;[6*"F/ 5HSL38C"%>*8*24U(A'$9!U6B,,MEA@A%+MLN=M4\C+ M2777*BD-+#6P]"RB?PT8+<$Q-!, 3")I)VD"%2KG^#KIP&2*'B5.J%-,)HQ9 M1B,F%O4,K0,D/5?S:!&=8PDAOHG.T?#R\GEY&M,+C@8BHT.*>H6X-A0YC062 M+@;K )R]UQLO*5E KW@<.^@1AK,\TICSP4D?6"#6A4MKV%W'BI-R6YK*[>7,BM M<$?>-4"9-5CBLP="#$:>S)-OHXK MIW@R #8HF7E5V^+C/BST>WGA/C+UFGL\ITXT#ZSUS@/YZQG:;D!\(1!OSVJS M'K.DL$K("(X1-YB!7BLD,MRPH!EQVH*%K?CEVHN%'3:KZ'1M[M$ U;*UT@:H ME@94L]JF![LZ>&61C)X@[H1#UE*+A%)&!*XQCH!4 B\AKVX='W;/;:Z:>RRWTFF]LQSN_OA/1G(]BF-Y&C;]8] _?@7KZ?1. M86]W)Q5AOQ=\J*[;R^C0[O3Z@\[H_"VL?1"'H^U>F+_+F_^>PMOM.#KJPSM? MX9+<6*]QU2PF/-_-:OE&*N(#YHAKBG.*!4/&.8:\ !T'U!I+ND5$]<7 M]M2L77EU94IMKXX74+&,*0*ZBHZ:YQ\+WN#[B>^>@[XH]Z5.ZQRU.K?#R MOT86+AQGA,U,%CVV@\-.KX(26O%WOO)"TC LHFM/AO'%^(??0F=XTK7G+SJ] M(E3+AWZK;U9AR8LKLM0*"E5O__:M$T9'+XS9$I+D]/;:.U1_@GON@%8/JG MEQ)QY>2C"\:@CUE3?QRS2%T]YKESUCJ&JXZ&K=@+,;3^.NW%%L.;K>PLNX%' M^WGN#)[;F;OFUZR0KO'CDH+'.C%]HQ/[.PZ*M=WSL?6F]_W\^)8AF1OO2K/G M+W?Z7V.W]7NG/SJ* WL23V%AS:[?]ZZ7T3N/G5 MK''U0[^/7V/O- Y?/'9VQHUXI *'$D%16TJL"J1= M'] /IW[4&E30]AB]AY]PV/NJ)USIR/8"@6UF"?56<1<3XTD'ZZ3*[<8) M9M<*;*,AGNUX!T'L_/J/G9&1Z].A[!3[?_[#VL?O\.YK6,_'?\2GSW]U]C_^<;3S^8O8/_ZKNT/_ZER* M2W\/Q^W/;_FG/7_^Z?4[OO-Z_^S37O>X??S7T?['-W1WK]O9/_Z'P>=3^QR? MUT/F"3S+@=14*)XPDD(JQ(G62&,=40R)1$L,IC;/R>6;AK,5&I3; %8#6#_( MQ/'">$:2)AKS%*0.44660@S"$6_=@H#U/8+HM,.C!JL>'*OP+%8E+3S15*/@ MG<[=0QFRS.;D3$I!-BGIX-7#5[=+UXIPL$>9%@D8CFCQFCC MF/2,)244QW9!O&JLP4>#JK-VW95]9Z^-#^"<3"I#L72TB$?ED,;$P"$*Y5W@ M5#C1F(,-6JW HRU2F)R -_HB&FT:[6#+(Z,Y %:K*5 MU! 45 +UBG.%3!0:&0X'+"/W$N/54Z^6E.^Q)G'2]W$8[< ?E1YP 3BDVS_) M]8]W"IP^ZSZ7BZ!?2,YJ(20)@26I*HC2D0S!IGV/J@W\ZK^5 C<9ZH M:!52#K0TCD-$-B2-%/,LT$2ECWSC)<&;6BUK@O4J]D]X[BS.B),"]'-%8^": M)<>$PBSI2(-TPC3^[O5B\;D(G==&*DV MI;KSV.*&PU>6PZ.-@BG-):.4)S,2 M-<_*.&+&8L0%\\AY#>0MX6BE4U03G$=V HT'/YD.3P; M92&?.+>)>P&RVW"*K656L6"P;CA\K3C\0N@D>%#+*$9>:8VX=R#%&38(PQ$[ M%:F@48$4)YM4Z(;'GRR/6Z=3X,XIXP)GFIM$"8L,>ZD2CHPW/+YF/#X;:]!) M8Q*C0<8+!K8X9$ICO K79&1L \L&"L,M8KV3@IU@C[/LQ'&H*F@A-F M-8@B01*LO":!TR"-8BG7\C!0*G0BJD&-M4*-N8A'#FS8 M8/($8^81%]XA*S1'6L8@-?P7K-UXR=DFU_>N3#P[Y'C:L"&\3,0SY[PW0%C) M,2:)%IQ:(BDCLO&_K!5LS$516,)PG,PA%FU G+J$M.44L,/B:+#SQK$2*&7* M/$5MHX&%.P17.6584Z^"YHYI$P56+N09T?"K2PTLK!4LS(=>&,%S3W6-M[/*_NG1E'6OW4.KG_+IZ+ M*%M/6I]ZR!!Q/M_=]&>_'X;;O? A#KYV?!Q^Z'=#HS8MHC9=:&_I%*C"DD:D M H^(!Z+ VA(8L418##CD0%_.915,KE#!;Z2YE8A';Y$U M02/)+O5]\_!\*!(S#,8/\*\#30IQ MX3 RU!B$O8I$X"2HL8UB_?39^"'CA@TO+X^79\.#5 K"I O O%$CGBA%FOB$ MK/<"$\X8-7+U!/)#!P!#Y^OXWO4M4+[^A2S^_]7J-S<^CZ4N26QI<8-5_7;2 M'W8R;;P8Q*X==;[&WW(4&+$MDC]^<7OM,.8[;+S\A?PZ(2/8ZZ9L=^WC$F/J M!+!^/:7--U4$NX'L!2![]T([/$.])38YI#AV.4'4(1,56%124.*MLB(C-B&; M C>==)XN,S]LP5G#S$MCYOG2L@!(G,>[R*AE5K\XLL8F1+4'.\IDG':%F96Y M<[9WP\PKR\P/6P?6,//2F'DN2N$LD9R:@)*0"7$''&T# 1G-*0F",LJCWWA) MV2;#I&'F)\O,#UN=U3#STIAY+E+!?1+<*HJ\YL#,. $SYY CY]R$2 -W7):N MT]*L4AN!XH=9S+7 M-)%-@E>I#>5#MZA;Q:C%A]B%%P\W6X>Q%P>V6Z(7-AQW>IWA:%!"!L\O@-$$ MG%IH0YD8C;HA#VEF%:/!)4T/@ M'-7&2[%I]+(JVILLDM5CZH<,9#1,?1],/1_1L)'EKN_(^SRZ/G&,+*AE*#@> M&+"WH3G#DVQ2>F2-SG[@\)=PF M!/J8EUKQ*$FE?Y,[ART;KEY9KG[(0$?#U??#U;,1#\>5D-@91&6,B,=HD8D> M(R$8O*&H@S>+J^SN,WG6N$SCT6;R#.-A#N[!0U[?M>U>F[;=(+#[?/M;/G0_ MIERA5J/>L(&]!6"OO;<]FH.]2#R-#K07KVE W$B O608$DF8:"/3,2LS5&YB M>N?&#XNRR1KE=#Q?UG_(X$+#^G=D_9VYC"VJC$AY^!8HKV#'4(8TG"&RD@LC ME26:$+!C&+#^G=T3*\KZ]]?R^MGCPD/WA&IPX2ZX,*<22.XHC@QQFPP"+'!( M)X81BX0RC(W57&R\9&83\Z>J$C2X\"1"' TNW!$7=N?\GB2H@'DHU5:( QP@ MIX- V@: =L&E(PGT!;,IQ;+J-58-%QK67Y= 2,/Z=_42Y#\?,OO_\WUG^R"Y M*#C1&HR%I$ IX Y9HQU2\'+.4FR$L)7C?D;I>!)!%,:9+@S,KR= M108:G$HF.&2LS/VME,U-8Q-8#T81"?#@*0%S@6Q2O:R:[-4;?W/'.I)'X,ZW M/=\_CJU?NOWA\-=6&O2/QQ&5?N]VD92?1(YO/=/HY]"W:GO[/_(AL, -2ICG<6<2-,$4)6)6)J4( M$8J*C9=F4^EG-3VU@;>G#6^_/&Q,; C/"S\U0/>@0#<3'^,'E"3&B5/(R0"* MK\9 4,L9J)+3207!M'=$YGY^S>U=]U@D9&M6H48V6&/YK5*/' ,+=.=5( MAP1*K07++X$-&&+(?04$8B%*(@PW(-A*"83B3TPU:C"NP;@'B'-.,*X!LJ4[ MLV8"F[O;!XR*:)TA2$7M$%?)(0=GAJ1+R5&>4DPYVTDU-M[SMO$6 8 EA#,; M)>=QL.'M+#9HXU12*2 .UCGBV(4\2\\BY2T@O+!!2IK5',GO4\UYM*#FW4?Z M/ JGONH/3OK "K$N%EO+;G?T(<;U+);TPH#N0O_4=>.\T+K+[9_"$I]DR]=% MQ!TQ)"EEL=$)<\^YCL:$E,5;(LP+=R_ACB:-YTZR[NV,9_,=/=!212>31Y9( MB3BC&&DX*62]TSPJS%SD(.GD)F.7NS??7-2M<./F-0":-5AB@X4B)]/@_C/!D *Y1DQ:J_]7$?%OJ]O' ? MR8O-/9Y3&Z '5GYOC/.O9\B^P?B%,+X]K^\F&W62F"%O91X?)@(RGE@4/354 M8QMCT7&G.Y].Y1P.H9="7+X966BR"Z8ZM3E=*,[-D]]R!K[K'< M\K GEFZQ\.,_'>'U&![H:9SUCT'_^!6LI],[A;W=G931_5[PH;IN+Z-#N]/K M#SJC\[>P]D$7>0%..4:X&T"Q;4?[1R)5& MKJR -[^1*ZLK5Z9VV;MO[>__'!CG19":(L^(1)R(B$QB$GFKB;:<4FID$2Q2 MWR5%Z('['HP74O.-*2BYBEZ;YAYWR?N\$"&^/E?(PL7 MCI/(9L;5'MO!8:=7;I@3T>:FUQ(]UEPZO0!BX@4RRQ]F>Y,$.KJ4<;$/JV/0 MK&.TQJ.I2W R3(=33WK5ES>&/Q_5._U ///=TQ!_'/ML]5,K=7JVYV.K&V$W MAEOS>8272:"2 .7!GAX5T$>E@HN9J)U>=82G,Z'L16A@$^Y0*7BUSW&SFH0P M.HJ#L1?RE_KB7S=;O3BZ@P/Y*O??:5@%O*9HX_Z63@MPZRO.()O MG3 Z&I= SWRPIB@\_8AUH*NW?S-_ M'TW4I!-[&)$;1/L%V02+?6&[W^SY<.-?\X\(SW=A2Q?9C9H),U?6F_'R_W,# M^(HK%GCA5"O5WI 04N!>^N"XCT%;I6)@CA#.%5&F,GW@,S%L9S-%&B.XULQ$ M[;CQVIDHI<+1@SS"VJ:-:[Z',2:%LSPR(7E2TD3#*!;>6>;A=W?EH\Z T(6' M_S$FS6S'0]/&WE$$FP[X^%N>05+D;.MDT/_:"? =PU'??T$9B+*GM*UUNXHNTZ%E1_<_WV5GGK M@NU3O\>VF&+7OHVWR"W?$^SZ+_W1)W^T6+U%A5R3M9HMJF]WU\?85\UONYZG MLE9-;\<%/UXKQW1-]K6AUWM;J[@99?TDEK^ 5B,? MQP^MKIYK=C2(L74,UQV!<=?+NL!?I[W88GASSB_X@ = R1W*>M=K]W,8^":Y M&C]]VF8SRV;B16AVG=QMJWDNZD;G\G<PL*:7;_O79_WM#7;?<_;76:R/G:=S1/9RP:D&Y!^'KO> M@/0C@_0SR,O_<(WC_3[R\F^=KK-*R8(_CW8L.5MP)5(%;_C4B_1\)T1$S;T- M7G"?N$N:&BL=PTIPP<8S+?@RZD _'-E!_#W3^*L9$G\:R7R?=X[V]]Z03WN' ML+[V^:>]]T>['_\1.]_]]T_';_BGCSO'.Z__^+SS^O?CB\E\;?K'47OO/]W= MU_MD__M?W9T_WXA/>U_8SO>=X_V]H^X^WX+1*N6'-_C6X-L$WQ(-/ CM ML;2)FY"@3S.?DD*$<(:X$A;IA -B6&FMK10.XXV7BM_[ M2/ &Q!H06TD0"T)YY3$5RB7.F3.1HDH):*&O&@ ,1XE(@2[Z1GP5(I-EX:?KG1;0-BC=_L M^?C-A+#"1!V3BXD'*XU-D2EFG$[1L3K ^6,H:_QF#XQR4U5-D4 ,:&+(6U#0 MM-%?"#;G?3JJ$!Z77>\P:D&Y!^\MO=M&IH6C6L8+#_B4;Z M=0P,"T(3UX%;[8R,"<>HL57&>B67.;+[24?ZWWW?_WSX;7^OV]G]\WW^C/AT M_)_.SNLW9^WC-MZA^QQ^)I\^_^?+Q4C_SNN=SN[KWX]V/[[EG_YLTYW7W>-/ M'^'Y]MZ<[W]_Q^![X6=XAH_O9ULUT/9K?^ C')VC#OE$!>))6J2=PHAI*KS6 M,@J6"YTW";[W4/^32&EJ(.[I09S1244P]F92)%F42(N=$!: M48R2".EV!3LWNN=GPK8/6ND>Z(P)[Q,Q(/T]]YPX9-C3!(M.+5$ M4D9N,DZ]@;D'A;E)2X>=SV_^?_;>M+MM6UT4_BMVDX3=^=UOF2!(&@QD41M4HJM_/K[/ X:+(EQXXEF1T26^( X)GGZ:>0 M)A&()6X*;)9*;;!=P5;US(B)) R)Q;ENPA6VQ80MCWN>/,X6U':LP.9^'-#( M"4+A6GX4,YY0^#5*UN!Q+2-[#$:6-AA98%ENY,>>Z?M1 HQ,6"8C)#)Y +"* M1)PDB4#7VZ-WV6K96,O&MI*-$3=) L<.PX1R"FPK\FP6)D)XB>>2P&]5M>WC M<&=-5.R4!_8\+G $\N@Z0D:'E=U#L;NV]T/[PO:%>_/");T?D!&A'$J' M$RD$2I%U-AF R..S,HH*SB/?MJAMA=1C/ Q\/_03Q[%\[H:>M30^-"=Z>$_$ MD[XHSI.C;(@IT+E\[WGR+BV^_#'%/U\#4\SR"WCM'_V,?]E-:=07_WHW_?@A M'D4V]-'K7=HH6?Y,/P[^A#7%Z=F;LSY(INGEQ=GGC\>]Y.SB ME7/^]R,?Y1!SJG4;XQX;&X+QGL$X!Y$]%C'J90:Q?C;@KT&6"R-+C&R2 M&V/,MC=R\54,)["4:P%?L0*N[O>SZ^)%>00[TX#%H5UJWZ^IR:U]76C7I;O2 MU^71%NL$M%TL]7](^XEF'?[>M(YX*W)<%+N2_$=6^ACO2MZ#'&K<$P_:12+< M@[*I]8[VHI<+L49?C@=O&/%\COA'-S[9DV-[_)XE^WADUAI']BP/IL6E']WE M9GDYK7+Z.UON]2^-(N/P>TIIMQX5OC<4,)P,(I'/3T\3B2,LYGB$6I0)+#T( M[9C2F'N)Z[K^'=/3['FWRXRO!7TLM3I(*K^_:>^FJT4Y_@?_.)>#U[VS8WCO MYW]__GC\MW7^ ;[[_,61CO\/)S>7V AZ<$+F'?\?+^+T\L,KZ]3^=WKVX>S+ MV?'?[L7/D:S^O_8@GX0_42\6%HU#&_X,?8.:S->$SLL"GS89R $C9* Q;;GNYYC2.QZ.8>\RR*",62T(K$H[@;N!&<4+O&"';2I?'DRZI]:W2 M9#W![=@2KAE9"35I&( F2R/7Y+['>>11GK@$1,MB#XO6I_2HD2W7%F[D^Q;( M^B!V(N$Z+&2N[Y*0ADFKFCTE\DWZ< M)OU8) H88;8I/,\UJ>\R,XI]R[23A%$11S2.'\D%H^9>V>3P)9^'I-^9G1U-Q24B# $X]8'7=VS+#,2 MOF=:KF#"8X(&E(&N?I>M^SS]ZJ];OWKKVG@ =FD)-PBIGR1AS&D4L= )0\HB M.P#EC_BT]:L_&;L\/ZIT=>?L\Y>;3R3V$FZ'EAD2#SNKVJX96#0P8\;]R >0 M"9*T^9HMO]EJ?N-$D11_1NU;,GY#=.S6^NOGWR M'+8OT3X//$L;H416R-I\X&\)4\CA.<[E*S@&(;1: QVS0JC+PK9 MQ7"(+0NW1;MOG_'(SUC2&7;_FF[J+PLC%URD7V5?S8CU&?#A CMOPB7CGC!& ML)PL+HQ1+@HAG[6D*^<=9W2P0WT[/:\;!/;N=)=\M+Z=[D-TE[P_[=;=_+9$ MC;I/8\G#DL;>532F:>M!1>OW]!"SMJ>#1-!UUSKCLMNA\;U-V)I[?V9G> P( MB6J]X1!YCFUGMK8SVWWRPT.;NI9'!>$V#1(G<%C@>A:+J._CYW>#LS?_T/.+/U)8&[SGK/_QP^7-^8>S_KP9>'GQZN;\ M&$S'SQ][I_9KN._2^GAQY<*^^A^/3V_ /.Q__/S*A34GY6@]F; E6,B9<+D9 MV0$QJ4^)R6+*3!ZQ,/%C7U@)6R.YM6U[U%;T?0=__=?SR3S8,.U5V,Q)7#NP M DXM!HPTB$,J;.ISZL3$:;GHDW'19G]+2I. !U9LLLCQ3,I"UPR3P#?=B(:N M[7%NVWX(C-(E0<1]RXT<8<>53\.IZ1!9X-@.>9CH^3H(UBOS=,3?;('I M$Q99MA.;U 5Y2>T$A::%#FY@VQYG$1%V6TS96AE/EYN]DXI26\ORF',.(A)Y M3#AAXB546#2@CNLD,?S) L=C7JM7/IEHJ?MNN7]:HWW0#RVVL3#!DB#T+<"X=N4!Y39 ME''A)R1QD\#Q?<9;._SI^&6SAR?A41"1V#4=T,E-ZOO"C*S0,6UFNV[@"&"< MHJTT>,Z5!DLRZS4NG$U 8*1<_8[$GPXGDCR7Y97K7' \ZT:F.;'A=_U:$R&N M<\_564;Y;R_ORE=_]L_52$KMKH]YI*.L2!$&+W+1!V!\%75^/?+PQHUZ)59] M"XN*K#\9K[YE61U%4UX]42$%MHUIGD[SSUY>)Z5? 7/+!?MBL@06^X+UK]FT M./AM=HNPO[DCW>0T%JM*EH%/_3E'-4IR>6'HTB!P0A%$-.1!% K/\RW!@4"M M@"5+E[ Y4CT"B.037Z1C0 A^>SJS!-H;D5WE;-1#]FZ<#),L'ZAC6)."G-G- MKH# #*>::_0J.(]\V\*NA=1C/ Q\/_03Q[%\[H:>M=19.*N4O!/P1)[V4[GR M\^2=^"J&$_$ZSP;OQ=4 UE%<9*"YR!Q(-A;Q!;S]CW[&O^RFGM(7_WHW_?@A M'D4V]O;FK'\Z.)V"'O/YXW$O M.;MX1<\//UDBIJYMAYA4$)K4"WR3A7%B6F!9"Q*3P"+^@2% FQO!*8_SB7@B MCE(CIY$KF!8&RP4 #6":)JF(C6@JBZT F IM=?$5+PTI-D3A.RS28EQ^IVJP M@!J-7](A?))-8(UQ\6M5E+4S)5<.[5+;VYV2*R>@N[/81ZL/VZF3]1^BF&TK M[(LU[>O_^C_$LWY?:4?L:'7=12\7PCB%ZWJ%\0ID_Y@1M0RH1[UWQJ$PA!.0GA63?C%\/)(,[& M^OM%QUSEB#O*,&K(QQ_2<:^,O'Z,ZS=FH\APCJLT\__.+B^ MR\^'\/>A_?%SKW?^ >.)[P8?C_^^.?UP2N YLT66@A#B$]LQ;8Y%EG&$;4,9 M-^V8A\*+'9]3Z^"EVP$X+X01EQN]]V%X&Q#*0\;76G:UI^S*)0'U$A8'@>-3 MCJV,O2AA=A#XQ*4A3^YHEMZRJ^UB5W7*0VSC:!U&S, CP*X\'(:=1([I$R>) MB!]:7A($,0%(1FR3.HYELBB)3#L1PHDXV=P*AB[WRX4;L(F5'B2WL*,(I*0YU:>NNVB'N--.W MP24.)5$8FLQSN$GMD)J1;46F'U%*!0$V94G[CWCA]W*F6[C#8RE3ZT8OGCU] MAQS 3Q)0H$E,B<]"P5C /"\.&1%"A*U_9Z?HN_;O6,)WL/>'&;B!#_0="9.1 M@)E1S".:1 E)2'CPTNDX2UJSM/2]-_3-&>>^[1)TA-!()"QT!1 XB2W&/=NV M6X?(3M'WC$/$=RT[\,&'A[=RX&PKN=VIYD3H9YK M)2*FH26H$%846%Y @M@1H>\G 6\="#O$G)KMJT"A#$("G$D$O@/:A^V8@<^Y M&5B^QQR?NY&#L[F=#J7?K7UL7SBF)?!*^[ =$K'0#P-"J?"B$+11&F+/"\]Q MXCAJ/0@[1>"U!X$'-(PBH.W($I9)@R0Q(\=/S# ([9#%) B(>_"2=GSJM_2] MO_0--$P3;/)K)3;U')\:#$+F4>40XII-X 9 X MC\P@8!RL"^X*YGHD##TL;^G8WF(/VI;&]X;&?1(2DL2.$U&7 G\ PT:;U(.P4C<]X$ AQ0A=@:5JV#6*.R:(O0\0F-?D,@_>!ET;'L/ M4Q"VVG%PD8U9O^JLL:F?9KT!<_N6"K;9YO>&05O,9RYUG=@E@G++#AWF &=F M- H(Z&.T]:+L$(-N#KA,:,08#LU(F$^!.[O49+8++-I*G#@A02A\''#I=@#X M#^3@77LRY5-&=UKNUW*_.HCM!83P*(8#\2@)6> 'W/<#%CB)$U#2NIAVB_O5 M+B:')1$%<65Z;HR=T'QN,D&9B1W0N.WA]-\8AP=U0N^[?4PM]VNYW_;L>@/N M=Z\.C2WWVU;N5SO@/G_YY":.2YA-3-#T0/T+W<@,6"C,*"2VPT(_9GYP\)(Z M'?I@\?V6 ;8,< MVO9%WTA)VY!"P@2/J@_X7)ZX(@6 LYC%JM_E-N\4 :^_D MM]-/KBW\, P9SM9U<=0N,$":$-/SD\"E@HD$NV;88<=S=D,#U([+L^"L;7OV5?A4QLNEQ<3(\&<)FTGC" M^J^S'$AR> 1'.,Y34?PQ53].GW%3_SB(#^R1R3QCZ.(HT#,[0= MCWLXK,;G6]&4_$0W'Y=-POL9-O5'2!M,@AH;DE?-R'$\"?RG&HX7.]]NW/.[ MEAVT3;&I^Y!-L==@NEO2C#3HNFNU(RV[*!MK-G3=WY,X%ES@5"[#(?(TGE^7 MUG_ K +F^'[,QFV(N;6R;^OTYGN<^)[-+(M1XB;,$F!IVZ!.<.JYKO?IY+N] MBV?9D$_R'!B%TLOVQ'+&X71\>CHXL4^/7TW/+_#SL][IY_[G4["&+R].;^#= M-JPE7;"<+Z[G%R?NV9O7L#YXQH?3Z>EQW#O]]@KV>0G[_C,Y MG9D='5LV M>C]D.5][9^PY:C;<&N M-^!HPH6-QZX;.;Y#+2]BB>,1^"FQ7,<77B YVL+,S9:C_4".5H>"730P?9>; MH<-CD\)O)K-B8H:)YU-+!/"_*SD:R*B=X&C+'8%!ZPA\]BZLD^&8#:]26+9B M&H?#^$V6Q==IOW^!FWG&GBAZ_O"6ET[ZYH5RK:Y/U7#!;XB_:*>?63BWV0!_ M6GDI<;?-5[7>"*'# L=CSGCNY.S,[_)@/>3!KC&W:;>&-KT5N53SAUP8KX;? MIH/U1AD]R+2=_3C!L^RKZ!M_I-FX)W(0QA-86'N&FYVAK %Z=E[I4MW]GMEA MK0NH=0'=W7W&M@)NAXS:'J5.%#'B,3#E/!H%8>QQ\@!.[1*7]\3U<^5>7OS] M[>.;CY\_?KZWR\Q4]/[YTYUT_L-[>V?'9EX^# ML\'9YQ-Z]D::?? S=R\_?^R?'Y^EY\=7].QS/SE-K6G#]4,2F_#$I(EEPQ\1 M-P-JA:;E!PY-0B["@&U6+V)1[M#(H6$<4L?B08N';3C@ 6WG6RK,' M;\826:XOJ*# T"B+19@$-( /B$V#D!!GM3QKV==#L"^K8E\V8]2EL6/:/O P MZEF.R1*1F)85VY:3<#_F_F99[HYEV6'$7,$CBJVWW<@E(8L<1N,HLJ/50JL% M[<."-O2]T+4B9@*+L4QJ);X9D< S!>B/KF^'[1RZ3Z;>.ZB:7^E M$XUM[@E".19CVUX4_C[<;'M^$$>QPSV;1)P)8?/6VMH"J$HQY9JCYMQX3Q5QD6;M;&K M2[PUL>3'QNFMKJMBMYM&Z<.@&UJKOUX2GIVC&T)O(9PUCDWFW^#AH;!(AQ.F M> EFY$C638 3>6[B!S9UX%\:61$7L>.1TXB.?&/\_'BE7UY\6XP MGSF$V4#XS,N+R^M369W\BEQ^NZ*GGWM?SK[U>KB>TXN/O;,W'Y/3SZ?7G^ $ M10C&F>D&H6-2:@=FE+C4Q"F:3H*8%MA*=0%L%/$A*AY"D(C8210F!!2?@ :4 M.%Y,/#MR/<^WO/D\HT-,X9$A8]!=# 4+ X&!P>/Y##0M'B4&S]&! L^=;]^J M!+9J[Z^SO,9"49P/-28.K]X)+M*OR "*[/.).[XE[- S18(>HM@! ME=MR/=.UK"")@\!U>;P5>6P7/:&3TS!E3/WY\H+#.OXAZ8-92;G% [#GF2Q X8"OZS*O.LGG'; MY(8H$?3[&-M.TSCW0N$P$6'G%AK[01@* K\E HC?LX6W;CRYI?''HO&Z^#%) MB"T(<B=5$NNBBGGQ(2.J[#N!E; ME&*IK6M&5IB8W.$1]RT&QL&""WSM8,P*)_66>#B+VL5I,,ZQ!V!AY!5R8!DO MN\*K.1N+JRR?KG)KWBM"]6-]H6'8]2W_/JY0:G6]X'ZNT+M\EMZ#^RS#KF<] MCG_U,=8:A.L5S[9KW>6U/L4)A):];679*)?7=50_L??Y[GC_'?[YMBC[_N6P MVI/PL$TK]^1L'&)ZEG',IFV-]68'YQ$S; _N'@<7$GEJLA%%!NO:GN-[/C!0 M0T(CUD<7[/,+<"Y:9FW/@#8X^JB!$]NFC"513&U*J1?9H>7RD,!C2$!BEP0/ M4,52HG7MC'J39T6Q7W&4?Z>G']Y].;7_MB\')[+*X>S;Z][IAU?6Y>#=E[/C M7N_C\:%]_N'LRT(/PQO915#O\X<-\-/#^%SZWS-Z^_G!Y? M8GQFKJ;<]9GCL\@DS+--*B)AABP(3&8+WZ:)B"P2'KPD?H>29Q4O;?E;R]_J MMKB4>PD!LJ#"HI[#0I%X49;?L MK65OSY*]Q:[-N1>&GA\Z5-@N$X1[?N+83A12U[V%O;4\[/%X&*UGKP0)L"D_ M,NTP3$S@6L*,0.Z8GN]&KNUX.$+GX*43A,^)@[5?/-N)?693,_%CVP1>:9DA<0(S]AU0U:-0 $!!S0L[-%ALHK6-7')Y/JC; MMA9IE]@N<3N><:_,Y%W*26^O?.9%">V5+0+LQ)7MP3[S*Y=T I-__/"R!ZH& ME=VC["$@]TWJOCWA^^'[RH3=T [;M;9K7?>IZY/[T^_*6:^@YP?FW-O^MO7+ M6;-BH1TEUU8MM%4+.W-P;=7"CZM:6%_;;0^Z+4W8JM*$9Q#ZW,\ )^$Q#<(D M(8D54NK:820L+_*);R4)I<$M\W[: &+/@S][IQ]> M?[G\?&6=?3NQS]Z\2R\_GWU>"'!^AC6^>?WE[-NE<_;M70]^'EP.7MU0D,G88GKT<0GS/;#F"5!;%F^<%QW[8YQ+=MY M0+93%P8$GN7;H>.9C/F621UNFY&;4#-.+):0(+)<[AR\I ^6>-;RG);G//Y MRR04(A*A;274C_T _G+C@,0V0=Q>>^IARW,>DN?4"?MA%,!_@6VZ%O=-&D>! M&08Q,R-N.31Q ?YQ?/#2;SE.RW%VA.-XC! [M#T6TH0R+PY\FU N/(=Q-_0= MMI[=]4WD6]B>)L,M=US,B! MGWS?C@+?!P8FZQZ=3A ^5&.*QTM[]W8Y[;U]QLX_XWNDYV.ON$U]?.97M@CP MS*]L$: ]V/;*'Y15OC!18NF\:?W,%<,(7OY/E/_VOG-0WM2K3(H1NQ)FE OVQ60)[/ %ZU^S:7'PV^RYP*',P6&3(UP/ MYJL&.?RPP>++#]]XFOFY8=@-7.<^Q1-P8[#>X/E-GAKXW=#>:)[]73FX:_J^ M /Q/E+!]#W.*MW]?IX=GAFU>GK\XN_ON]<7SR_NB?]^]/SL^, MP[-C^/_PK\OW)^^-\]?&ZY.SP[.CD\._C*/SL^.3B_*:=Z_>__/7A;SD_.VK M=X?XQ?O%_,.%^J/-6,0CG(I\XHMT# #@&T^M@1< KQS *O^[,(#*^:0HT&6( M::[P57]:I(61)48VR1OCND$8QE+XR.MR44SZ8W792.121!9&T'B MW5)'\2P\>B7XAK_-"04W9@*W]/6 X"H3\UWHE1EH\- M6,OK+!\HBB"6^7?U[,:ZUEC-[ KPDW6/=K-CQ9&\N+JI8+DAAKC+L@1#[:&L MPZA/ ?:.X#L<@OK2G]NW 5O^W_4?VC$8+"'MPP45!-^_.L*GG;*<]_0QJOD5 MQB_X-49/;.OWF;?+S\COOW:-BS6!@NH72]7^KUD>F_TL^X((W #KDC"61@# MP8;X+9S=>R$Q3K,\\@H_D\L6?)+#:0/47MWP'AM>">.0C_%K$CI4[I0-U&'( MC1PT+SN0:Q>%:"Y GWC'B"9C@P'6 5(8_70@T6B<=0QQ,X+5:$CFX@HV(E:(PZBRN0# M@?=,X*'3)>O$I66@%PU!QX(/TB2%]45318\%?F=<@R: PZQX#\]!PW# IAT- MNO*CZ[3?G_],[7+^TTCT4UCO_,<,WL_3$:QM_IL4=--A//\I1ZXR_Z'B-0OK M*,;IH/E@P/+J*5*;K[_"XRP 4GTD@)L1T%XA@02W?&5YJD#6-=[C@=R"@GBR MQ23Z#/M'..1I\04@"$P/I"2@K\0V64& C,)(&!]G.7(--C;DQ@S.$ #P.1)+ MR0%*C@3;T4BMGV? @>)KX55QFB3P2-PO++@BG$O@P=I#JGXU5M@ M",;)2<B#)P)ZP%URZU]3<5W@CC7'1 EX MYX+KIW6-#\BF2O)6J /$48C_3/ 5&G<7&!FRE!*YJE4 8BGFVS7^E5W#Y7G' MN.Z!(#*N@=NS*1R/IKG)*%9O0Z9W&ZEBB=#R_-88=IKBB+C8#(N#2R^NRZ:UQF M$ZT:=92V $N$%R)- >?XC'>O?2BAE0I/YK 8L.I E;CM/4*-X7AH@-C3;/< M.]@"VW?!4I :\!^E@#T'-,)SNVOHXI;-G?R@F&4FB4"3CA)@ BA'#+]-!S-B M9I2#;HJZDZ3 &.0PW EBK3\1I;+ 01!H7L&,JUS9!H60VI!6)$!T28K& ZL? MB4H2/*H U@BB\PHQ> *:VF@$V%_ D[G$-ODNDX,A(/$5[HXG? R2$1<)M(92 M 8&B4!F^!M9@C 7O#>%(K^#-DMA!KI1T&0DA[0D4XMFD@+>",(/;Y+)3U(^4 M"H3$B20+^[(MR^Y(/I(-!B)'A4I.Z<0O<67R]<.)K&6&)0]A#=5A@NR"H\3- MPDM&_/\JZUW4&:G(&= <$!!A+,Z($Y10-D3$: M'E)BP<6@50/ZU^0M\1OP0(Q3W+6"\YBAL#Z'KY8\R4"R 3FNA62#JH GY&B1 M< 7],;"T] JU*A-/#(3F+,*Q_E4&5EQOH+E;SD9I#.P %&6I Z!=!;0YR?%: M(,\9$VJLU=;*PR%9F+QNAK>4#+&?1CGN'*XN3TP:!Q*=E94UN[IL,H;?0.T> M2@6@9C3P4,"15'X*@CQ.>6W=#X'N#=BR-OD77H5T%8D*5G@F\OD2:( 6IMY M,39%@@>)A**Y_K34Y<:X4U1@FP19KI$&0KJJ%2Q*)_ \XTR\W1!*RJ0E3B=-<$)9IA M8!F")(-S J;$D>4H[;\T&R3EU4#M@4(A-1F NSY&+5*U@@*G]54Q"3AP> SK M3Q&*L-0)^@XFN=:F$!!"<8]!)ET0!;H'-'N1QZE7@ C2%S<*G+#"0KO@(G&% MZASP8N!\J#5-Y-MC40"E2%Q$KQKPE(JQH%OMJV*6(YE3R!5+D$B!*V$-)J/6 M(/5'>%"U6R,;H4_CFXCK#1:*PVF6J00^+D(]ADN&4^N*+=OY3K:C^4K7>%7) MDR8LP! ?QM+W#<>NM&,=-IC68^LEN 4#T@<(H>^K(WF A'1)]8K3B%@B#-@# MVI^N((ELR6BPI8& 9\-S)T#4>0EV$\Y6H&)1NL,EJ6B/>8G'0'!YABLI/5[2 M.;,8-57)JUBN@PT 6]P-^LZD]91/ACJV\56Y!Y ;S] G.@,D M>RR7V"\RY(_9M3ZXZIV2-4@Z&N< U$19(MHD*E>C#+8Y%J MCEUDF<6$X]:2 M"5A;@RB+TU:Q?PJMHB%U5LH7[=$2%U5+Y0!NZBYP>0Y\1&H+U5MT'*O%B8?'B=K"*T,^@ZPON-0IM?7>4.9'>3B+,I _YG]&.Y*AZIZ).6%_'U6N9R7!C)8JO2+ MZL).DRW.Z*!:!&D^FPXEIABKD'5!O>U4JM&RIS>^G=_3LK7@;H"+X\]*!VS< MI&SC>EUP7B"P4K,B%+0T*W$&5**5**UQ+;X,18O!,:2)R]-L5<>8J@CO$1 9 MR.Y=$Q0?$%CI6*G$,PZ\N.4)/U!.:-Q3[LXRUEY)"^D,*@9H^VGV >9'CP&E MZ\F?TEO3,:[Z600(WZ9: MWI)J&:Y.M=RYK,GPR;C0+"Y+A06$AY &J8HXU#33F0T+%!AI4M%P))ITN>S2 M 809_:MK'%9^GOZT=I6#7%794EH0SH0E6E[X^+P01+)F/:OPHN&7!:U!!J<+ MH4*O343!@ I8TJ*C_![JK54<3TMNP)CL>EAQ2=2B3]$=@WT"A^.^>LPIFQJV M14*))9+A2+59QW[/LJ_H6R]:#/E.##F\RH50#D\,[Y7GJC(QVE-^\%/^1;+6 M7IK'VCR9/7\5M5%$6!/?KZ6/I0*(IK^67_XX>[+).,L4FU3T8U04>Q-XM]$3 MK#_N<9:+7;-)#H&_?\4$RCH(6B9Q2D:.N4#QG%9@1&*:H0X]*S%F!'XMXJ4% M.T$9/Q.9H%&! M:5;PE:*O$@6+VD>09!F8K8E08=EA@?52!I?AGZ%,E1;-.$/#Z=-93/I8OKNF M$,3X)XA)4'P2813H,>5U G@CT-)8X'PHM0YL&;_H=+RS-^_+;&1EW61]>&/. MT"'5PQ1+T(=5]*2\X^W1N]_^ W]4M^'B,#Z;CO.LX3>)4W8U!!&=\IG@&J9M M8:KTS)+EZ52M])>+<%:J? W^I]P"B(6 T5QF-5<[?(^FBCJ/DR'OUJDH29H7 MXQ)/E'J!W%$&:S0>O&@Z"V3_&__WP@ N>4'A-QK8OQO'9X>PH"LX*+GX/R=# MH5/$%Q?.,U,]MXPTZI<7$S@#-.C[?19E&DASW/VP#\0BK_[KKZ/*C]&(:JEH M=^,%@-A-O)G!E^:AUZC>J;T+'14C35*,F(^G\X3@M9E8AW*">0S+15#$2GHP\1[H7ZHBCT,@"(0V ^/(WU M(K"E/,HD91!-\ZR0OZ$)KB-PDI.=\W&FN;"_PI 2Q;C_7__'=IS?C;\T3YZW M"1J7_$NJ.,9[S8*0(ZI$../H^/^7[9V5-UOOZ2X(WW7B<)QR'Z]%E$\0H$J< MW+(B<8/N5)EZC_5&HS(NDT6RR (VZ 4Q9I[79H8JEBP,VDRG)?7>#>T@F_ MX:&^/P(..\F+"5,RKDK^Q%?=LA%4*1K"1!7#]*4:0 5UZ^^+L:@HPB=:KV,YE6R#6ABH']B/ E4SJ&*N$K&*8\&9 %H-YAN MM8S6D(\K>T7:&C+RUE1';:(J>T:R2D#FY.A-EPF%%;NJ!89:5YVC5JY'P4J6 M"ZZ U 7[(F(VSU+?]U) AG])J_$-Z/3XM@OY9NF"11VW ^=PW0,&,#5!JF$* M^B0J4E#$U3K5ZH,V)4RB>]%5@H:3HK%%418QL7?CS/^Q7@[ <)EBXH7WKX4 M4T;ZAM@@'3?P.Y9K&46/Y2K[&V[[[P*L9RQS,0Z1/2/0<;"CWDVA>=, MS0C4)YE/44PB4QV2:GVDSZM<\.+Q+D01JZ+I\KBJF^O&BM4F#S$VHDH^RSIK MO?AR1\J3B'U+$+Q JW (V;#,WN#9U5 JTS\Y#2>?S/Z1OH5*J"A"^(^R_Y7; MBH1=XY]1_2JDPOKT;CUN5J#F',MJ>5C]"-5Q28AEL$&W;UL9*KKUP+K&L;(] ME"?^EG5H'YX\FH(E GG"&+3CO&0+4KO^W]_>'LMHU'0&+-CL#"A[!.]7S>A4 MER'0AU4Z7%Q?>EUJTNKA8UT.C*_$?EQX#'$FN3"L%>VWF9RQNE6/Y,XJ7(+. M_[[DC#P=#AEF6"$KP$@0L$)I2.1U1E"#Y^%:LD@9BJ5A6%E$%44CS%4C0F16 M(. E#U8.7P10==8[IDLMXW^%P"CA&.N;[XS.W\7NVNC]5FI86QN]O[A75'IY MU/\.-%LK*>#!\+<4^@M1_]LB_?,I!K6U7T+CP4^PXZ*A78-E^*2&6]E()'4@%"> MKP;I4.@=J=[IA3&E"RO;-\WFL6 ?\Z5D_K&&^Q$4+]J^H7 MCF@!1-W/4#E?E2FR)+$FEU,7I6:7X>0&@!BFD@[-7"3P2*F=:([DI88JK!9+;H\@G)3:5%W"M+T![J8/ 99WHY=4ZK3;GJ4I2+E M$-)!'[@T9#'[6">W2W)6P-=[G.I8M\8(V?U5758J_&717&7#:*H7Y@]B;W_F=2&Y,NE_T/5;,/*5$KE8 .>TO6BNW]/L/&O:CY= M2<+QT@.0"DS574?&R>I>.X,1X^,9@NZL&$.AHWP+@RO4X\5(EKX-2__%3'_O MRL.*A3:R7W#)=-74C*ELAAVAK0[@5?:H[I$IXOD4RWA25@W)&.Q7="M632[+ M39=]2\57UB_+]62?/#E5XDI6EAZEHL!V 8Z1B7*=U\TLND M7UTMLL38>DG]#%@MPO%*"CQ85-4\5;8; %98?5+&B7>,AUR4^0':2%,-:9M% M964M3*.RB6E!7=H,98IS?]JHQJ@:KM4QYP;MU:WH%1-3B"^UJ.&2-FW2Q&/W=S66)8#Y-8GC9=5DB^^R\V&/U^7!5(5KD1JK5_X[RCDG:0&<^R M]RNT7X>R=1*ZQNL\Z>'T[O-I0 M5S^M>-I!AF HGQ&((3RFYS4=+7.DQY3 > MXFSS!EEISW#EE596G)HCH6?IR'1HQ^IHR_"B9B8SS+KBT0C&);QX MGO_6;1!+'KUPOJK-3LEI9]!S"6ON-!JXSG)ECK$1R90K3JQ+RK)AHFJ@VT2' MVQ(=2)OH\$@^ ZDO#:55()5^;9Z6]),T!&NM.BQC+B7W.I>_5LQ+75KJ&Q4) MXI/K9BRHAY27U%J''&)29G$-<&1,CMZ^K-"I;TC<[T1\C<;\D0Q*' &N D,9 MI@RM^S(2)+.,6%'R)IW#J+EL@RMTEWPF^5.9W%7UQL/.Z]6:4JPQG10CQ:SD MV*!!&INU(V'&AR@UNZ1..+=6N#R EYXWRWVF39^$61KC<34):,G2U;Z!!X-] MC@,E)J.9 7,3R3=997W7Q023,1S=MZIM,?NECP9NF<64*+&GDA'P;XW]S:L)X M 3.,4=H'_HLNHW'=Z,>V=DU1D[D$LR.I%NV*?OH?.%;<-2]'"+)8UM=7-HH: M&Q"# )D6JM1YJHP+>>AC-.E4WW/IA)&:'AL@.(NR X=&@M+K!=QV(!M'J(8$ M/>W>JU2!&6L4HYLR+[74NFMF@]I)Z5[^*N3\L,JQ6^(JBG?IY$7E7CFJXUQV MOJL,JH9XQ[=7YJ?LYZ@V/Z>_H5(Q!+7,A%O-?B;S<;&QZP(;+'6_)=9;ISYZ M;/R^ D0SHY*J1G[5X6#-+W:&!G8AYRMI$TGQ@O(,T% B,?ZE \!58$*9YY$B^D['DE^)&\N(8X8KIP57E MR>([8J4O208G33-M)J(!-V\J+C,3#4W_L(2R-;I2V9+FZ@"/KO"TQHIY87P\ M1?,?,4)KOGJ)N9 =INO.H8VA;^HH2V5-T<@\@;B9)BG MX5L_UXD=4OWXB;BS:3@K'V!U5S?^W,ZC>JO[.6C[L29CF7A2Z'ZHJ)-A5C[K MJR*]9INGSF)J*_)ZL,N4^BOK"K&)1YLC<8^ >8E$U?B&KT/,J+-U#9E64W. M5# 4H)3%=U&MJ#>320.F7SZKL9+2I34IRA#/0HG1'=O4Y?>ZC6!9 M5ZR2457AK],-U4S$$F R;:#9-$?V+)]MO5;I>U4(-JTKXXG" K90KMG0J::>9P\14KW,9LM'Y MJ6@^)#( 4[DKM1M2?URG@);&0YG&FI9,5$\-:008JG%)ZAGC;"PUT9^(M0%+ M,)R&O%/$4+K3\$%KLX5YKK#2+WLKF] 4567H"C0R$#=US*E,+%_1I$V-]96I M+3)[.4L2;"X835<_6,?LZSR7A;2.2&CCK<3Z\B38H&09BQQCUS#_O,%"=1X= M_IZD53)^%594NKBL5TQF].O:Q8$[U(/IDG1<:O45BY/IG?V^RN;7UZB;5#[2 MFN_!(3F%ZAPIPT9];7^E>6PB#L!]Z4TUY"=7LZOD34WO6SFD6E=.HLTM:4[B M5V?>\Z7P$ 5 3V;%X=.ZQMOF'C#ZP_"XI!"0@81&DGASQ-T B 6E0B.JL<(N MFAW/OMP41D*0FEN5@0"J3*I6)T7 59X51770);%*H] )=[]NV7 M@V6D"'H[T_BJ$II2. [2&WVHDIU*8;B!PE)I*#M&]"O%':I9PZ*RH(C=#>ZI M8Y*@5#%!F(3W$B9+!47Y;6%L)8IAX5AYAJPH,J[1;MV%:@+T M&B(WJ&*5FFM5"B?F[NJD4?V>:E@-2CD658RLO'694,0(9]FX=-E;RWZV<-Y' M]4B:TX4P\I%RF17&+P='IT<'O^HZEJL)W)Z!/EH?A=1M8U'O%-MBJX'DY45- M/7^E$E$]\0=H^TW 5"!36RE4'%>'.*6#73>!068L,PY+GCTCHQKJ2YV#N7/: MLO$>Y^%B@97J:JSV5E>,RX!@<&K.; M2IK>JN4T S1@[><82RC-$(2B;*HBALIZ1U'0&,);Q^WP=:5C4I%2T[.RE5#' MWFM.Q=V>DFBDO524A8\U !O,93G7;4=SW9899.]79M 3'6,MADJV@F*ZE_6E M!0_69QG0!%2%^R0KD+KT!+A2GI9<0]^OZ\31"-6<0\HSV2&Q5-FU#)U)/=): M^" =:QU^X8J=,UC/0#7IHQ-#ACYHS8MDA@ V1-;?8]V0U;5\5!>D&T0U68I3 MI,I8]9N\@\F'32*J>GC95Q(9U=DLXIM")[-+I MTZGJTG*Q5.F;T3>W4@35JENEA>X8$A]A@9O*8X4?<(JQK 08%Q7,E2%![+!A M2@!R8+A&17[*]-U9RX/0L$OJIK 2&]@4*IHIAP,16Y_#KJ%TW65[V4 %!LR+E44Q "_9PV.V5\T';+&1 M#XU#0 SI&O^##;_HXAPU.&VB&BQF>9Y=8^ZE1":KD9BA(CA,99KA"Y7-JR]U MEUP)'#+KR_).CGGDX]+7K_L_!];/S42GJIP2TTME\EXSGP^]_&IQLEP4>?$O M"->#(_7HU_K1![]VC?,(1Q4IIWT==YJ[4-6AX7$I50$'+@F9(-6H$L,&/?U^ M580%[\5H7'4R6#:N8&B\0GCWC$, M6ER.>UJV[FML?PP+UKF%<534)TFI6JV)SYC'8:Q+E71YHRU.6,_KMQWT\0GI$*G MCH4K?F*'F@B]-:/D\S0XURKP'O2WF!MU5[I5(=.M5CH35 2I\D/(1RI=8G^& M4C^I$[S.45.1:#8"RF4R?UN-05&$KE3?NL<:3H1)A&1NU;3P'2.ZY2E-$A,? M.I5IM5B=>_G2^.VR3*-9LOM>:5=)@:UTU^T:8MV5$M50#+&UA:R>E"JBA[Z( M,JBH>+KFZ&[#*7>KYW<.,[\OR&19S&L>HD'(FJCJ-QU:F-@Q^(J]L9[+X/KJY(E+D- M#U=B]4.AXY,?9&V#R6'0=R?U*4_Q#\\GNF\68)L\M/M*P3.<8')GL5,C'HE" MPZD=7:6PN)^INK;GJ[N=6LQ\>/Y!2IU4LL:*!VU2KK18J+1.55*;_/32O_U])52VV8O.;;=#NEW?#.14Y_V*\A^NO^MA:?&@7)6ZM6/L8V[^EKTL M62L!'F)*GKS6"52M"M>ZNNIDJ :PRX,N,X;4;Y@TI"=\U0.E5)>M,C[9F(NP MQ$V.(UB^IH]CE>]YOYF.[.)MSIT-RDE%&YPK +[.G:L;+6.+N;)] FALO,QP MK'"#3P83A>?&5S#]5)^]!GH8=0\CG9P@57V]TJ%*L<S_[C&I=), MAZ4UV0VL#E1/'6=-90JWC.;)H3RR-TL)(YF?2((Z W\A)^)V)\*N*:KE_/!8 M((VG0WG^JK'U C:5AZ(QKE! 4$K*W8CV?CU$Z]2/+P6-:OQAY+CLHDRN9'D- M&CTK?;:>8E*4#4A87[>K_XJ]/,:]+.X:_U2\K?EM&9E7\A;P:R G:2$'S,KL M<=GQ1'9>B\NVOK6E!E>G8YFPH_!-32*HLCZK^V6/MEW#E8NUF92F_*+!*+#+ M/)Z4[.B8B+JZ1H.UC$XUGM](AA"8+B&5G:IU.B8);R*1NL:A3N.5+5?E.F9R M:1"C*C26[4693,'NZS3X6-)!V1X!E9BAZI* $\ U93N(Z<*SR^P?-JN0?QM M8U36_?2 3D-=K(2%[I@K.?]$5UE(G%AQ_+*98SEV3>)48 MW$ 0D"R39@7'>BP,-Y=+C3C\6:Z8.#]O/+?AMA.[Q_.L,EM=2:-2U.U-!'I] M 2,35D&:IBJ4.F9;+$MN^$HXT16IDMM!V?0P5;VYBA5 M/NEHI#UQ\]6/92_!NN>_U.S4A /\4;LC592B%&3H MWT._',Z9Y[>Y[:H;^BFKQGJK$5]3/62E9&2RL^%&JL5V^_/>J 'OQ[55U3'. M1Y6&_9=6UAKIM$,LDP<3FC].W__K-K&OA) MZ=F!!:E=&P4D\A4QJ!T M>%1VH<:G*\699L9^R^,J'=]EPU^LC"T/M)$>7G85U3AH_#.J1[O*NM5J];=N M=\#BYFS8<@Z)BK>JJ3!8NX0Z)_HG*O&A2F2E)ZP:5[W17BJ5BO6+;.G$VFJ8 MBD3&6_:P?%+U(A-3>*S[-_^2_KJP8.FK^8KS!\NFS)(/Z4+RH%%)WH'[X0'2 MYZ+;JBV]QW:MQ0D"[.H*N[J.JZ;[U0>Z+%@6E/)>*E2)>9K(/@VJ"3]@GY"M MGN&Y4?UR "H )@"*A*-+N6CQN^>Q 3 M;'A5M=>5_"N-3?VP& A?^>HP"A!G$\!X4WW843;6N!X_H<7S#DK' M*V;*PZ'?IH8M&SG?EU/7KI33>0\*[YYT+(<>09UP[E4>P&RR$ MQW/7T@54*LP8;E9XK8:@;L!>8*0 >']:]'23A0D6UAY)>2DC?;&4N&>3<:X& M'E<]!1@F@>P@@=0JZ=(N)+.R>FV[Y,&(J#0B&';NB6O[H",5&I]8 =@:6(6M MG$'&%2O&>88V#X8443E*"U66+>-;7^76RM@T*L_SY"^WC2^U*3I5@V#>C M^@A5X70'F[G]LU1APUU7AN$R:'?F8J>W)TVO\%4]N1NMF>8J5XY^[ZIK:,1JOAJUJ#\.BOM/V GCH M7@!*&I:%_=)9W/!LJFYJU;$#&#"33G=#J;J![ $TMDY!K+7"FMC+\:6IZ$LW M?V\"[]8^+0Y,M)E/LD^D\J3 .9Q1)5#1*UMBY&7E0$L+/YX6&NU(5/!-.N)N M9*H4Z+NVKS4#.0,[EQIVY3B63GK0*"KM7GH=AUR4 \\7NY_(]HPZ=7F9^'TK MHW%EOK)LY,=D8$T%)9!W+CZUH\UKT("&509E/+NU.?32)F%GYL.E9P:?93S3 M@ZI4OIEN?="\MH)AK]SH6K$ZV*=E()LK,YD[)@<$R00E,SFHP]6R=3:6=5]/>]4!Q?4TFVUC#.GIAD\*VZ!DQTV@Q6 MJ='FJN4?&.PZMV19CS',KU^Z[QD!I(@!6]FK351:6+7IQ5*.YGZ;#3?QRDT6 MTF#X^J3DP/I(>7!E\IOL#EZ^3WDH8*V-)\QUDV9%H\2@ZI;;4N$C4.%LF2O')%0S@&-]60[E7R@2N%T M;I;J/R]DP[>R)D&F-A0-]%NM35:U%FY!"J]#VF_I_+ FNDM-=_Y#THPT,K,6&"+ M>TFQDP)#275L'IO782;]X=L3'6 OFG4R,E>VVI@JH$!:@MMDTYHR+")OE2PI M$F)8>G,Q^2XO$R^;'MZZ$F,/Z.RIQRFMI:9ITI"X\C 4(0,:.&A!WRQS;Q6! M-_6:OAR4D)6IN9JTP?)A8\D=9O(MS7(TRBR:=C"' G"^4Z5CCE@ZBYIE3WM- M'!5>ET)?[K:ZNH'AA41]A9!L']#Q*;'1K E?<0;%LN:83@G$F?1<)',2=U:-Y"@5P[2HB^HP\8_S MB9K[W71$P44+T^%+'J S6\H9WRIO1:6.2RX"TC1%?XB>W%$M!4^JZ8Z4>=A9 MOV2$9;^%QCIG"$#R3KRX&HBCVJ-@RAN.RI&[D9QUOG^CKD34Q8GQP@-T[9V\ MOK1X2DFPY"#5?"H=.+\/@&H0ER60\M4ZWW!&HUO29KPAJ1K*EM2UY@N]MC- MW)BT^,0+7!Z[W,YC UQJ3VN3+ 2R%16#ZW31>]"\A.8P>IV7X+=Y"567J16U M+WN3DJ ]6DMRS);V5)1QIO<]M#S^)2.T;\108*7(A:P:D=FN)T/>[8#T14+[".G%M66;: M,NJIG._*$J*S4IEY5-?@H=:]:,2I'FD@?E$IG0>ZB7RGZE9)85HW@76G>*!M1 M&L]8S'LU51,Z7:=>'CN.')-^+$QN0V!?:60KDP=_5^/FU&2I!>=ITV-<5714 M*TO$+:6H;8W 2\?=KQJ!;>&ZYV,YL:KR+\Z6]6A2:E;EY"(=1).\J.J;;L_S M5%%PL;0*J5&3,RO92T.D; :IP@MN'?[HS#A.5;7/^H5."R5!'3D56"4(2ZKN M-(J$ "F:@9S5A16UO3=3%<&PH1'7;77*N5!W5V#$?;&\"$-]J(LP%GMCW*&L M-883+Y6H6YN7:S='Z*)B2)LEY%O0F_)!U%]W/BVW&2QX!?&ED1%['G.,2UDB 4G_SPX&Z=^='9UW*%^%T]Q?&\FN*X8XHONE ; MO04DIRAZF TJP]"ZAY'D#>B3FE2#/GDUZ),W!WT6]7C/V>&65;&T;O0[0FXQ MQ%M^D6Y -2,'N"%6,8YF6-2OU1!,O;Y2OT"]QY1:[Z@0+\H??L?2\3Z;ODB' MEH<6+U6 MOVL%_HZL=;?PE?CK/?4WR645I\645F#Y__? .:CMJQA;/;RP1S<&668=+@3' M)#/_\8)5B@S5C*C2!O3>JVV%V[:M8"$XN:#T6$IA0/UOJ=ZWIAN%:&RZ[9K]8!V%6[??!,.FN _V> M9[2+;!?9+K)=Y)H.SG7=/8;\.]P6+K_<_G\[.T%AGM=OLF7+>%JI=G?9QG(% M:*,]-OVX%FVQKL6Z M'\OLK(Y-G)U'N^]0,9[*:%X70K;MK^/::REUSRG5IIV0[CZEMFBW6V@7=KQ6 M+6FQ[D>K)6['<<*=1[L]5DL ,H_BSM\)C\^[.\H_5NIK]F;GL905;2.Y6AW? M\38DUUO@_UCDNJY+='_!1+U-5<@63#]L]!9-M=2QGC]C/GH+I%]*A(?EU'R"T?P+B%__7[S2-[C8)M\TBNI#- MT[3Y4]S+_M&;7COA;5=HU78[U+VGXW:3[+^M<'0\1P 3V@F]>R8,M #>!0"# MW1QLZM[850#OGZO2MQXE@/JL28(Z0!+N,R&)YPA@.^QX3BO4]A? Q.D$-'@F M -X_H4;]9U=-EF2\,KV:,) . MTP(GGJ9?GUWH"&PD/[QG'MLVNC+V%$Q!Q[4W+1YKH?0$;L&-3:0MAM+^N07= MI\^$WD6\!A.)A'N$V'L*)N)W7-)*B6T'D]?Q K(_4-H_*>$$>YQ:?%OY*K\E MP?A[@D=[5SM@AYUPX_9483K=\A]LR5VCB2>(X"ITW']>W:@:@&\ P F &#WN2@M^R?4 MG.]-6;S;VMXVL_.OK"B,),\&I<&9#=O>23.MM"AV7EF_S]FFY[ M3J1G"5NO M0RR_A>T^PI9T//N>/MZ=@^_^.8 ?:>+,LZ:(7T []>@&+3MWE1R>*W!#QVV! MNX_ M<-[SK_9.>CNH21[=I',$P2"*,9&.N39X-E-(K&MMN!MVV'D[E&"_)Z" MB-![1O>W$4;[YRJU/?+D 0;#V,[#VJLMU3&+FM=-ABZ3!?"/T, M FGGXY[(MO3'[W.+-J^N%LL$XCS[&(],GTP$DF6 MB]+V&;.;ME9M/H70=C=(,]O5A.!G"5NO8SDM;/<2MJ3C!_?L=[9S\-T_'Z0= M/GF :N\H K/,''L#"V%7R>&Y M<+: O!C6\&VW^B?TS+?X^ _SU.@Y]0 =RB[\M_O[0 MD&''\A^ZI_ VX? ^^\B=1XGVME2__U0O@]K.!EG)NT3R+0(_#P0.PPUZ%+8( MW"+P-FW;\^Y9<+T3&+S'6I>[U#U7+D-?ZLK3> )W9P,['$"!.)M$?3&+'@_A M36V7^-1+W)9G[,!1M4M\M&=([O?;F,%JX>\X_?KR?^"/\ED#EE^E0R6J;'G3 M@W)L8I4,6S[Q13H&^#5<.!W&((U>D. Q M-[)*\LAEGT]R(]=+!] -1GE:""-+C%&>Q1,^+K^4L[1R40B6\Y[\)88O^MEH M !NH+RJ,).OWL^OBQ5WGH 0N"K7?&R>#OVJD,%&M?.%X+F43;JW:T3R9UF18I=]%_DHB_G6?^.^&$Z M\NYYY8T5 A^ $"(^?4( ';QLGK0![Q=]-8?N2SHNNBN)HL7Y#7'^W5VL*!WR M_B2&10#[QA8R'6,L>&\(2[Z:&@S,A$+!1=S =47Z-1U/C40@^E=<#I;[%6XN M].>P,U&,LZ$ L$[Q77AM-F7]<8I?9Z-Q.DB_R=$/\LD%SX48PLKE_:MAOYV" MH91G!LN;?-WX)1T:XUXV@6?'L&LX/@'*Q4CD:%>Q*U'\6K%^*<(K'4!I([#\ M/AL5XD7YP^]Q6HSZ;/HB'NL?N=]U^IU/1KL MS%I#>K^G[L^Y.@%MU[HC:_6[KNWNR%K=KA\X:SWUCARR.\W#<.'2)W;6!0N* MZ8*EIR8,]T"N&P.XKE<8 @1U;/PY :W L3IKA$[W]UR.>FQXM;I-^7,X@O?I M38L8ZR#&]S*/AF]I@[K*;3\HV[+).MD7ZVSY^1V=]1!$MI^GLQ /;;%JK7-; M)Q?JF1Y-RZM:7M7RJBTZMSVJ\+G;15EV-VC&/1ZM(\>S2WI:.( MSWLBM..3 M>XXBVI6^+"TV/Q=LIAW7VG1.88O,+3)O)3(3JV-O/"1AQ[!YDV?L@L:Y=IG7 M?:=+M]RAY0X*@V@GI'O.'5IL?B[8'':\5G%KD7D_D)FX'<=YZ"+N+M;W+=K?\%$-R[K;,'TPRT9?X]@M'\M M\.[9U>29(S4).BYM6V]N.YALJV,Y>\1^]A1,OY .#=L>J=LI('Z9[Y[]0 D4 M"C?#+;>-+K(QZU=UP&TBQ7-U^MANA[JM/[[%YKW 9D([H=>F!;78O!_8;'5H ML*F_;L>P^8$R5;=1P?2M-E>BI?_O20MT@/[=_:;_%IN?"S;;8<=S6MVLQ>:] MP&;B= *ZZ8C)'6/+P(YQ+8P>^RJ,/MP^%K'JRCF$JSD; M,8Y+@=75[Q:&&'Z;PHEUC4-X-[8MG/3'\C'8LB\6(R&!8$Q&V5"N:R3R),OA M"5RU"RL=]](\-D=P(M/F._)"3@['NWDV@%UP6#ALF0'JSAZ#?$:U)F-2 MR!W($YCK-HJO3@!>!AS< #\IC&A2P ?%SC5)_"!D*TEL@#C)>8]AZURDBGH.>DLK,N_@#'!#!(LQB^S[.!@;TD8S8%""%HV6B49S?I ! 4<)+0LI.0 MO!3/-M:H>]U+>4]^(E]F .Z.^G"^<=?X5W8->)]W !\&['.65] 5"ROD<%R1 MP*!?BK""]7+$C'X??HFF"N0:=8WK%%L^CHV5X-&G0NVN+UOX+C1OK7HT8O^P MQHVZPZ-5W\(B4($GX]6W+$.%IF[Y1+C@>+.GT_RS5^F2(W8ES"@7[(O)$ECL M"]:_9M/BX+?9+<+^YHYTD]-8)(R7_Q/E\(HE"USYJ"=HTC[&(< M*ZH!9"RPI6L,")E/C5$.;$=V9D5>@BQ&W"!A"G N0,+S6'CI4#OP>H1W'-=LJ,)]F<&*U3J!EF2 M%&*,F^@#"\WO;G5>BL5J"WHEW=5,6*0LF&U2KRJ M(NE8#*1V ;")K> 4N']690-0 <+)_56,F\,H6/:2J MV-?]]FU*D#"C#Y@WKP'(-R!]ZB*?$J+P4(;WPWK%F &WQ77II51$)+G>-1X+ M%[!7N3H): 2RTEC8_)HJ**F;X76*9_+L:@CX&F.7Z;I[MU%,HD+\9X(TMZ.L MY0U*LQID!6B!E.? NOU#W39>-R!4UQDQ9CE(P<^W:# M+:O[G%_!*V0O]*YQYW9C,<-8&J)";C=H?*"W>SLS6>0>MUV^QG9OG7%1G\4% M^R)B9H#Q+!1ST!\?S;&S]> PEKB9ZLFIQQEP%KQ MM,_A9)CFCIHV_H&A<]H9OW2TU:]>3O82M_Q$LVR": -Y6SXHCQXAB LU$\R$,+P8]#*QPJ]Y3+5N<(%E7 N)>T(5SG$6_9Q M2H$== /_X3O4MU,*VBD%C[76Q^G\WZZU76OHKO?4=DI!VXR^G5+03BFX%V*T M4PK:SM]MY^\?=CIMY^]V2D'+J[;HZ%I>U?*J=DK!]V87'RWWJ;95]L^U6H!V M'++GQ0(M,C\79"8=+]SS-J$M,C\79+8['MES9-[D&;N@>*[?SYBV!?@M<_B. MG0<==^-^N3O&'%ID?B[(3#LV_7_M??ESV\B5\+^"G1U-3[A=N&*C0=WU4W M4%,*2JWL^FI,P2Y>N[;>&A3M)59BPJXKF@Q0YD7OG I-Q_>!=WHU8J8::@GS M#),H[K97ENUT.5H!BZHP*ER.>H,=&\*6T;-14S3U]8Y9=(:2PM()7(B%[T8E MQE+]>G1V#M,_O>YT#7WC&4EB@[FKIZMV_4!TOUTQ*M_D&B M12>>XI;W]*(W&_;P"-:T("EZHU\;2JQW@+S8Z4LNM,R!/F@5S6HL!($3^WH4 M$9\!$1MZL]=61*R(N,)$W-?[W:(.NRK1<(V=[FWS(*%9Q?7UY_I.3S=V36*J M!-LK(JX_$;=;>J=7U$&EB%@1<9F.;0 1=^I\B:BQ =9:G0<>[T,^VRG?C+;2 MC'926ZS3&A4 E=KBP=;(/9&M?)W>O;$6CQR1,]HH5A'_[F^^%P3:)SI!!=N_ M+S3Y">0L-I^&9,#^;!^'>R6]S[]F1K)=RVD? ;_'6I^&EHRP2R: ??8>N*/] M9M,T #:CR1K)"_0I>M1*IP,\\/6MVW&(TH,=VG*.$DY,HM<7SE"UL1N%&MXO M-;I?VP$__L4]$2C\:VR+1O_S?Q P4=WM57?[PGM5W>VKM5?5A5WM576WWZN* M5]WM57=[U=U>=;=7':.K"3K5,5IUC*YH=_NJP>6Y@FHO]%1!H"D1I424:FK_ MW'#L5]7,/A_GY*B$R@V,7O'L@M/D6;3UGM$K5;==150K(5$5BFKKG69;$51I M.H16*^VKJ9O&CC70Y4C[.D9ST+(87;DK@LR>:NA>6BU3545CMO5!N[4GNL*4 M(D5>BKQ2: STKK)CE!VSZP@3O56XD%O9,26W8P";I^UP3EE])SGZFLF(6@R. MO6ZJVS!Z.7;U;N8%-B;@O?6Y0PF4[Y#&+EJ-EKF< C=D <<57OSZRG@]GR?Y MW)J,6*4MH+*$JUSSULY>)M"< M,06ZG:=:*7&Z$^ *3U!2XK12[KRN*;P[D!*BH"^1\8X-&4V_M M:$0KIYJBJ)67BWZSHPA*>6EW.79/[PR*]ABIJY.V8D:6V3/*%5*N!=N?KQXQ MNGJ[N:<\N-X^8\F*KBI-5QV]U=U3%%F1U7E:*8:A-]LJ)ZZ:9DJS>_*(\4*E MS 4^?Y"F+[MYB&07EE>_O*YF,-G<%DS.X8=>W]LJEZ@NH=#J%9V]4A@2.PBM MDT#BY'."ZT==WMU7$=>BN?%F0EK(QGV+%?;#B\[NE*U94Q+7F\JR(2\GY M9Z]1LO;3:@VUAEJC)FOD;NZ,8O[@#ICN=FUB;O)TK&@V??$2_?6"^ M36U^:?*G#J]83H1$H4T9O&PS1S1X#J+9S+$Y/$'=H75MS"S;21M 4U=IS0-D M33@;:7*.:!!XEDV=BA]MV,^*ILFY&D37@%;- SD3\]'+2@>G'6@1=I1F@"AL M )TT$Y]R%D0^UT(/L?5@C[B&P,=3 RW9+CV(_P(DWC.?J 51Z_,@6>[+_^=>C#)U9LL/3MW=?)39!Z $9DAN&3]M)L=#7XN(,43MW2@176]XS5 ML)F:3J*7^?![X)H<;S1):LY_M]UH+7XW6->0=,U7-S[?;&C8WS[^J/;(,!W6 M!E0!I+511!S/M D #&3Y W#.E&>A%3!'2GO2&H*]8:/QWZ?V3_&%E5WMT[/" M5WK&+[10M_O+/(A)UVPY-,B9&;.@S6D\>>X-H*^MPC=OLF(?WF3$/UXNSOZO!Y[?KQE;$L\Q)(=E"& A; M!<@S\I&,<'1"8C@!2O\--(&FC/;('0?_:Q6=D$%,$4@3*T-8F3V\LE]K?#IS MO"?.+TC1\5%LDCU.;&LB#3,B07A[SNH"71MXKLN=Y,WDF*]2>RX(/>O'Q9") M(1)3?(!8^+4.3\'GD:>]"-9U',\BDS!>97$+GF5%@%3K:7&GJ9$XXC.?6T)& MX/D6K$4)/\]_TOA_(IL IM-?8"L(BI\2_K0P3C/9AD^<7R+_ <;FA+L)0JLV M@F3[61>U53/6&KH&M&OT?P'X1S[B/)_JP@\MZ#VQDOF+OK,B8M-T^@BLL4+] MV.YZYDG.NEI'N7.KK+YL2!F-UQ$+Q[;H\6^ ^-91:N8F$X4!&KZ Q ?;P@?Q MY@37(=B%-QX'/$20,7A]VSX65]*$'8O8\;2K3U?T43"D(TMB$OGD(#3Y*4PY^?X!T\^9#'^ @G3-"8H"$A5C.D0W-LX%^^ M>'?*;#*;R]Q%>5Z^@P:X M]]FT@DK]#O05'%#7_L9=N(V)PUV.X#X 2D>>KJ+Z/3G:?>9H;/YHJU3]Z53L MQ":!3(X8'R@8_R$_CON#>W/\YR5YL>I+-!=*J%*X@J.>C. 11YL[%WP6T/># MAYF/#2/;H149JL7\ MRK7;Z,VMTNKG5:Z[Z-;=U29;H3@77A0D-^9<4HY\(9C )E=0?TQDJQ2HXSVB M!O 9SJ8CE"Q9GPTM53E!$2P>0?N44D.O5XGRR-(Y%PN%PS@F=R%4U]K1?HU'2NM=!1T[G*/4"P@J!1LDK) M*B6K2@2W,YPDF/A-;7*3JDF"!P- RHF1% MR76@9*.][X%#)2/E(FM4P=+,K6V[)>MUJ41#Q41#JU^T8T[%1(,BY;,A97/? MK1 5*2M2/LW50]EKM;37C/YI>WZ>Y- B?]*6^9,\FS^Y4S?H%3"H2MNJPAIJ M-;Y+,9ZIIB@R%(I*CZ)F?5!4OR%GKWJ]UR?O>%A%LG[5;;VN TG7%3T]4Z&G MO.A1/J1/J5L:5>_$3W/ ,E<$*8:C5,72FP7>J,:[4%#NF?CGH#4O/!E!WZ?M G< MYXB'=0U05TQLX,QW^4@T=\Z<8*FEK3?61GP($L$.1*],&EGC>NZ%:)]+70SI MB8!;D6^'3^NZ@<,>(RN4\SL6OSOVO:EL>,K W&+W/'W$9R&GOM0C;CFB.W#\ MC,6"B39D#H[FJ6)ORPU]+"O&"ALR2O5%OFAFR9\XH@0,D9";W+MF30#0U)+> M\NY= ,4(:1!77&00@#:?#OD(MS:TQY%O4(Y?C+Q'VM++9J.=S,O!F5/4R!T; MR5(7>@##U9>#*(!G30HS&FUCTZ0P\Z0*\P['9=%<'R3*L0/2+$H'_8P]'YYV M-1JLX5I/&Z21&N+U:ZM?HR%>I5(I7W$J74!BQ4M4RS?VDY^VE[7JC)Q[6=49 MN5K=AJNT5]7!5^U5=4;>JP)4G9%59V35&;DVG9'+$@\\5JO1O72$K"#0CM5D MM&J@41U&R]T-N6IP*4LKY K"38DH):)4$^1G94O->T-E>"I$;ZBJ]SN_G,W0/ MYMA@W].NJF^3JAI1M<72E.PI4*DMEK-&M$3E5-\F7)NMC5W1+XK42&F/W.?+ M-4]4S&19?H2],,=I"10N..,N<[#R",N2)G80>KYM:9%K@99CF,S/?FIQ&4K0 MT'[GV4(IML?--Q=6T![M<#+Q'$2T9D]A#Z*N+"[ @4>H1# *)YZHG=*HYI#> M3\H>M?@<5-7HTU-1&-@C*M;"[7UW;:SBN@NI_!"WZ?.I'89I9=G<$Q6L/OS, M0^VC%P1Y-EXBWL!M.[#M!4+:1/TLT%ZV&ZVX(D[7X$V&M8EBH1GWM2$+@+X1 MS2,;*ZI&HEY/%M,U>PWM&W#!7'5A9@5\JON<#QA&WN,T&YJV!()M[(\ ,%K/ MV:!I;(> T6XTG_&%=K[C-'$C6'0LBDJ1F=TL/,#PGA24C@">5#A2&9XX7URX MBM\ B88%S/#G!^Z"_$0Q!(+Q'NM>!:.L*=*4SW@ 1:B:)(5ID*HB*)G$+L@ MFJR) Y\P?%F5*DIOQ8T3B]=-LJ26QY$3DAD\$4<%.LBX?1W_)X.4I'BLRTR ML#2R^U;2!8(X$""N7/T<"*2.,3A _9S9Z5:D;L: %SN]BFP6%%QE *N(0!'! MVTZCU]MU/\>N^&PWC&ZK,G!MM0Y1H7R(O0)<>YVC5":VEK*&I1XM;>+P=MON M&)6+IE%3N!V@@,WHU#(S_?!%;/4%W%ZJ1 :5@DXO)W2^.E)/2'[V'KBC_6;3Q"0VXQ%L+=BK9*M6R4V9*;">D-Q.@0J6>6%) MT\^.5%Q80? HIE5,6SY8*J951<$'@-NQ^A94$#2*I/9!4M6N,\]UX#@8]_8Y ME4![HZ1##DM1FU2;5)M4FU2;W/]!"J2WYY8KLJD5V?_Y3WS3,=XKN M%-TI<:?(KNYDU]8[S;:B.D5U2LDJNJL]W2EIIZCN!*9=4S>-5N7)+EEC4\N/ MO"180C29YFG,[Y,<=K>N2B"=:A7B7WW@VRT%VFNE M=8[V6U6D^*[>[^[83KVB3=*JB*66PE(%L 37CUYKQZYU"DU'9*9F<\=^IPI+ M1\-23V]W=^RKK+!T3)'7[A;UN"@TG<)^4(JI[%@RS,%)<%2"FZ>BD)QMKO7. MH%6XT;7BX>-AJ-T_-GI*P+Y[2GJED_<:O4ZY?4A4P9=T]"OJ)JS$N(&#>>W+ M/6X@=P3+T#O]SFYNXG),'7AF@$D1!>GHJ)A1<-E.K;9T=N='3,^%!$K M(B[%L7MZIUG4.U-&&B[>UDU1]SE0=W%'OJ)N1=W5H&ZCK0^Z.Z8SEHJ\%1&? M-1$W>T5C#U4BXKKG+1K]'2_RU7<]*S&GQ-R!HF=*PI4(=T7B:K41;JL'OG8W M#'S=K57=,^9 J@_N_8-JE9(@XN2/EN,810:OHF!2<\LJ,UE)C:Q2<\L4$:BY M96INF9I;)C1L">=OW:V;^JNFEFV FII:IJ:6'1YP:FK96NBHJ65J:MGY46 ] M(:D&(*D!2(II*P9)Q;2*:8\$'C5B2DTM4R15"KC5N*69FEJF-JDVJ3:I-JDV MN=]-JJEE14Y:US3?*B7SFFU]T*Y^KW=%=M4BN[IT\E9T5RVZ4^).D=T)#C?0 MNVJ.CZ(ZI605W9T!W2EIIZCN!,7;';W5VK'ZOD1DEZQ1TPI40(^JL5>"Z8P$ M4UW,L+I+)C6UK#XA?C6U+.?8D7Y/S? I.YIZ>K=7U&A26#HZ,_7U3ELQ4]G1 MU-=[O:(MYQ66CLY,AFYVU*C&LJ/);.K-EII;5GHTZ:J"DO'CTVKL66* M0#8 #1LO]H\^%TMAJ B&3#6V;->L5S6VK/9N^WHTP&UU]+ZAQI8I(JXR$>_B M5"PC#>]42;*71<^2QJM&YNV6WM[[B,FS(/7SIO-*$;G1UUNU'CRBB/@,B'@7 MEW\9B5A9),HBV>3F'>C=UKY'G2EY70=2KA0=&SV]W:K#O-5SS7<<['@MJK[# M6DDY)>4.%'-3 JY,N"L0C:N-<%/#SM0'U0=+,.^K)LHWVW$*#3F:=8-TT M%EH%L#.=,1]^'7KB<3;EV@R@X8T"V# ^U-1FO@WP!_!IHXCCDQ. ??A]Z)' M%^[$WU+STM"^P?(Q"'#IV7R'+\T;PUF:#7/N+*;9@\/ T_EA0NMT&JUYX':; MZ3J;8:+G HJN/;)@+62L* !%#3^,^!3WA-C@DAQBS, ?HC&SPLBGLP]]1GN9 M31C0CT7MKYD3Q& *E@&X#>0$B59C, \( D.+"^C*7US>PY[P M\1W!9RXPJ=F6T -*'2P"(#==)8;4HIB3TJ5MBO2DF1?8"(RW/G< *@\\G:*( MXLFX-AG(L&#?.0 MHI-6?&N'P*K6'+$M]6PG8KOR A!F9%P"BAC)//YSAC@(D!(DD<7G4B.5U33= MLY^FJXA $8$:J:Q&*JN1RL\>&?-MO4%ZGC.5\X%-C53.!Z?G#E3.%2BH*^34 M1.6UT%$3E=5$Y?.CP'I"4@UG5<-9%=-6#)**:173'@D\:ORMFJBL2*H4<*M1 MN^5^KKQDC,YALLYLQY&11<9PUK*2HC 2IZHWM9;QHY-/4M3^;BEPYDBYG,A MYMW&!2AR5N1<2G)6LED1M:@L M+89+("[W-"$CMW"C^KT31/S6#E@]2)%MIV'FV-6ZXF"ST=]4'/S*2'M'B7+R M(DQ>X:Y9';W9V;$]J>IM=C0L]71C4-0T55@Z^O7!U,V.H=!4KNOF*GL:.HJ3BH[BDYC-Y3@MJSH(V<@K==45X"R M8ZEUMFQ\[ SW4SF][K@#O[S7M7ONCHED/K)"@JP:59$4@NH&5OIXI]RX:=9Z6"59^'CYWM M=0*?%W7=27KX6QO:L!]H;&3=\GV+G;[D[&"8>J>]XW392DS.5$1$G)*R!7(*"X: M>5-"KCSX,\]6R)U+KO&5Y\]PG#>7,9<*YA6;V_**L "%5:(VJ M@NH,DF.^N\QQ/ NL-&R"-/.Y93,TE$1AV-2#C?Y!OSAHU6N=UJCI?:W7KE%O M&+7&6=!LIUG4)%$TJ]8XTAIG,%1-9-X6R;@MA=E7HC5R6M8"R4O&]9G&.?8) MFY)K.'.@#W;U,>T#/A6ZKY_#&DI<*'&Q45P8>K-P:H@2%VJ-DJ]!MO2;D $Y MQJ$Z^)]X+?G*!0JIMT8_EERV.^)N^/9B0.L(9ACZ;WZ=#_G1_]#*R=8$J<.V M'#8+^-OXAW7;+N+WTA!N0%BE0/:U82Y][Q(@MU64!F=15!MO]:4 M&TAFTS3RN%JWGO:\8-;>!P)E!\K/WP!WM-]L+)]QG,Q[!UH*]RK."\*\(W$Y!@?6$Y'8*5+#,"TL* M>>Y#;2P_6A$([,:7]87'KMQ57X@<@$?J)$*6(E=*].:"6YY2TC,%C2*I?9#4 M&61L77E!J'EC;>9[H\@*-9\_<#?B.\:*SSN3H.*Y GV]T]JQHJ<2R0"*ANM/ MPX>9\UX+*CY[0JX:+1]"'M>%F,^;DBM%QFW=;.\X:*G> EG1<&5H6)D5RJRH MBUEQ"'FLB%D1\ZF(>=>I9E4AYC2AJU#?C1T(NX3X-9H[3A8\)'9/ HF#3.)2 M@O)<.9;$VJ^,.(/W/%F- 2M@JTXC6VM M.&O:P\8P]$YSQZ$$96QC4U\T]08[#FE2:#H:FLR6WBI\AU!H.OX]3^\.=NSN MKM!T3#2UC1UG9RHT'4_H&;K1/$V[?86F @'^IK(?2H^C@CYU2:5G_' MT5N*BX^'I=.8EB5@XW.9/7/''?CEO:[=WT]DYP2H] M76+0+ZIZ2SQ=HJ98,G33W#$^J[!T-"SU=+/P14-AZ?B9+#USQ[0LA:5C2KS" MMJ3"T@FLAY;"4MFQ!+S4539>V;%D]DZ"HA)V >%,Z]:*G;[D[&!V]::YXTBTA;[=+66P.]V=ZWB"H9@I64.@,I-="[G1W#S)604HJ(SX"(#;UK M[ICR5 DB/F]5:^AF?\=<>*5JE90JR[&[>JM79TU;]VR\UFFJVTK@D%1"3@FY M_(G%@QWY1 FY,N#O;(7:V].(<:,M(F\49T5MY M_T@CA$^]Q;K&E;MZM[/C!G88MD68^MVR&II*H$)MZL-$_Z!<'+7^MTQIUO;'I[5US9B-0K8UN<4S:C5 (U.3S<* M&U=5FI^AUE!,?6Y,W6[IG5[1,)=B:K7&R=>0=FG\LJ3J%CU0%MOYC-U M9,>LTQH*96J-O7L.WH0,J"A.3H#_B=>2KUR@*?C6Z,?VH>V.N!N^O1C0.GO. MP^AO-8K,]8D8K8;1R=GHK43;-AIF=].NM MX#\M)QKQS6$BS1MK8]MEKL4UAP,L@L9\$DVMZ=14=%J03A?3Q&Q7$%F4B4L6 MH=+UU#9E_KWMQCIXCM20]O9-:D8SU_D_>+[&M)$=6%$02/Z9^=XHLD2_ ORW M#^SK1EP'0'#MQ4&0E>Z65GQKAT E5CXY$SF -]CF%^';]=S@P%O_Z4).NU^\<3;B'N; %Q%L<*1K0&O&+[H6KQA.?""H*>QP M(= #'2_A&Y7&LU='$-[A-=FO@T( WAKHXCCNX":Y %X3085@L!#703+/]KA1/.B,+!! M?@ R'FR+![KFL*$61+.98TNE-P'@*DYIM8#??0-]FE";Y*K8HOD6,YGRS MN0+Z]NB_7MA&I\>[G7&O;[9;\'_M87-H\5&WU3(ZS7%_P/^W;[[8C#+#/ ** M>BM1]-'^3V2/[/") '#%9GBATX!!O8%N,"' MGO4#?D.>,OZ3^Y8=N^)FT1!NW.)'WWY CP@H"H"7>Q_$9P02!SH6J]!.F1-X M8KL(E0P(AI[O>X]:-,-_O#0Z< V4@E+#H_BTW!5PBQUJ'YA%[XD5+61?.!(@ M#8P>\5D\%5PA[P4[V>X##\(8]@[A1CP#WP*F!S@*) %/AURX N'!(!J/;%K#\R!50!L\*$)=W!'VO?&74,;,O='Y:0I MZIBQ!TKA$0$01%.DJ3]@?6_CX8?,(AQXAB4,J)](.Y"_U[;O'ID/OR M3X:0@MHKDM3"4Q"\?AL#D6(,J=E/82R C,-F 7\;__!N9 +/TE >]!O]%MG*,BU2?EB:T0WZTT(2A?A;M]48]/MK_]QL M&#O^K=,:[/3FILT"/W:-3I4VFV_9+0FM!<)A.SRZ(A=*W"R/DQ:TZ.Y>TLMT M!YRS67*DOM85#K$0TF+YLY<:^2)MF$Z3,[==)XCB^75B_Q#9TGN#ZHGS$7/" M=G_IB&7)2,QY<,,K[E[Z-HC)Y\;!RC8Z!9"?Q_S770M\B#T7.&-(A\_<**+ MRZ&[;\:>IN2SBIWZS)K8_"%QWX[XF+S_Y$X:>KY,)!S^FY,S4OA'+< !LUW- M]YZ8$SZEBZ;^S/GWV;W/Z1/2CYCQCM*F82,!7]CZJDV3RQCC"?84P0/[%=O' M?RRL$:!_.A,BXNA8QL6BF2?B(%X46MZ4IP[=>,>>'_SY3WW3Z+W3_'5A-/+- M M(D1&P\>PP6%L+ZZ!T',FEH-QC ,KJ$,8R+.!S=T;@!S,UTM-F$I;&9T =* M&B,,Q]J5-^+7#YX#%'^0G)+N]N*IC?F7&],O00;TVN].F0NCA=R:N/"Q>Z*S M3]RW?D@"14B+?]< QH?)&,T)Y,N8L1O:A\1OCN"5E"ZS*(FT,^B(J3S&2R+. M7.]Q3J3YW.(8PDPD "RV*I""THR#+*"P#(9R@+$NO][ AX$9@17AH-$8>#;R M12Q;4D- 4@0$#KP^]>C[&!OE,J](,OSR*WB>&I!.2=B39&2L W4IJA',)*K_ M=O?/OP1:$,%],0C&D:,QS!^T6):VX-\8X1YE%B622L)Q,R\$\D&JR!!5_$GJ MBK"L;(AV? R!B^#ARTZCUTDH#DFPU6^DOY@!/<]\#Q5E8WV:5VEMD$_L"?74 M@.!&/FJ.P3P9P/_L/6#.3% 'JB^'P!19*3%<17I+G:!\4MF20ADS?!Z#%+) MSU$@A#<8V;&9!WP+IB(/F?]4!]B?E,(!EB$'8C0#"9W* M;ESN9=8\"":>'\(M@!)&:2T^'HL;C382Z1U*S!W(+KR1.8 <=.Q(^T\$ !;W M&PPUKK@5R0"Q/#,;7C67&5"LLPZ&3HI9?[JRW9*O*=$ M(Z!G8H-5#4@*HF' _Q,!U("/$MX#)OY'Y#S)%,V;F*7](%S M"%,?,R12EXN M)^A;:2+K27487FEDHO*JV]3$]E@;X7[+HC=AYF]X--34' ^4!'<9R/2QB )(R>T M+YXX\V6>M;CL##FH;+ACN_'G+2<*,D?]EB[\+3[D5_'^*S2ES.:[F^Q^OG%_ M2K\WWKW64^5*Y @B.+;"8)=NQ)STYB7 Q::4IRTJ$TI/LDFM$6*7W8-6N@>X MG[08K(*WT"_ 99B*!#?1WIJ;*+"4\^<_F:W6.^VCY(/%2U7FD;^3/:G=8;*K MM<*FW+B)K/E)7OK8MB#66[0X FF"CKS$CR2T):A7]!Q0O0,3 MO[O $B8RBK^2B]A@^!J_X $8?4)2A,C7XM!7[__GHFL8;5$ ,._49RA2@.?% M2\*6Q*][R5LDA?[!@ W]C!L@T=2N!Y:F=(/@GC^\OY2NM5";L%'&@K/A"#Y_ ML($BI%_]YO-[DFAS&Q2R9<2EX'G$#.4GO(99/"[8(+<-W,L\].M(" R%Y()O M:2RPI)<(@0*D&HWH3B$N$$\:&.\@/>#^$<0WC>^NC3N\"X$O SKP!S[T,R?> M@.PX/UP<4":-H[@="H^_*SHR! M'5. G=$CR',]CI!<#$'44ID&X/E"B&]* MYHTE>2SR[QUO"!B=BS00N&*O9J:U0P+0^&61)AXC_>L_OS>T[[,TN1UAE>Y^ MXW&G;$2&@CQHEJ19$$133J4S&!V9H>:B: Z&0G GXPB]K)H%_(VWDV)GT5/< M T#Y+*MHYU4O@3P$X-']CK O;546D+$:,E<6>66H4QJH0)?PE3D+U1@TM"\4 M+4M]A6FP# E_ [S(JY"YE&P64G%?A5?VZR7HL!GJ3_AV)I"5^KS[F4NM#N_# M @&#YRZ&5*2U\AVST\S,'& CQ@>; [,!46"#8@)RM29R)? MIO;H0BXV@IN<,&T<[U%V:[H0O]3QE.FVD.9%MX;U90>JRO;7MC$/G:I7V9;% M>OE=1+"2HIU,!!Q(F\2:"U]"MDCC^Q&PZS2CHV83YD^9135YLIAO['DHN$;P MJ&_+JJ@A=U"_)\K30B,D!"G\AZP2PGL&^L,$/\0-AN(V#)E@-NUIS6/ Y^(Q\#:#C"NYM.5 ;8OY;ZLVZQ:Y<_*4C.L1O-)PH,)A-(1[\]DY(W) MJ[Q04X:U/H_IM4W #^NS$#P_^%/V8I:5^S)J)#,)5ESH:N"-/.DU?I5+.H.+ MQ#LM>'-&B3, ]B$&>WD0K#!ALLDM"6LGW)PIEEM-*'0#SM+)$ 0'>:0YE1RZ MECV+&\<(Y48K"&N18M;SUWPLWV/_1H?1O/R@.ER75&[B8]!Y.)UGQ% %,\"M"@ MHEG4]6O B_Z--#<'K!AZCFXRL]B2$R(R%KWD:(-5\8H19'H^!7I1..@9[\PN M6!)'=0 3*#0BN1UQT+5'1*5#Z0]@Y'I/G%\0=_+17"TMW$2RL6V=!)-+'JWT MZ+ _;,[C^:(.=)EB7,^]@"5\3]C^JX%!N,TE_K$F^XCROV WK>O_1)BB]A[K MZ.UA1*R>V/ 5TVY)?%_ZX>>\*K"=C6?57KVX?G_YXK40=%]M3'2X ZP[\-\_ ML^GL'>@G>.;KW=6+U[J\!(E+!?Q*CYD_N1_#58-<*TQ0&;HV?9[V+T17"+P: MTO&SSH$1W.!\,#AC-P0\0$X<^*].#V!K.@U4)S9QHX8#5(IX^,@@(2H%0^)G5@, _N8X\5(.E$KO 3K*,16G@YV/;+' MY*Z7?G+L,8"OH?RT0J&Q,;W-!W:AUE/"?8(- #^#7:$-=.U%W-7A#M=\D7;: M"(58_>ZR:$3>IRL/A4$@?J)B%Y+5'ZA-ITTKP"^$]6?'/C):#L#_+^&P@ W> MTS$?27( MI86^'Y \0 " XK8^,/LXMF"#T*%61MH#<\"*? FT6=4V[J8S<(9 MA2'Q.]BXW <[ S!)W3-^8^Z/1**# 1V(=%_4^D!;PY"L7,>#W0J[@%*[D#Z7 M>ZPTLVY2I">APQBZ,. :3;[&>#/I6L'*Q;)Y1+1QEM0_)&DFS)*T+"(FI%_% M*OBI(1.QVG[S%_S/IKQ%@.!M*0 #4.:!,[BM@3!&>3H7,L#HAI2W(!\#BCMC M, H0_R2%$^S#I0>PLX[C<&%XQ _!5S-<:6QB9@F9KZ[0"&:ES$5OQB9@)QXGIE'XP(1X@77PHCHG%[SAHE?L7 M(MA"+A?RP!$18BG ?+>D^"ULJH;7 KJ0.WCE!6J[Y7AG$JF$V0VLI#Y?/BQ\ MO6D2&LAY&T3YB+XNR&N4N8M)\S.3 Y&Q1#4V]*(PM8VE!>R!UK]/>EW%MJK1 M1&,5E6V85E1=92WP$ANO)=)[ZV]@5'4PVM LBBPO-W:OTK"2!;%SM;9*R*L&'+%4/W M0LA%UT2\-0:MC+:02""UD6DSEZ^>4^9$">@#H\.?,!8KFK.A^ 0-Z)%IG5EZ MYC"7:C57-,];V8M,BM:T )2%-!A"R",78*T9IG1<5"Y[Z._>(\#?UV-;!]O6 MS97X2"#8X_D0FL IR'? #;_X&M-8F?(]>6*3!2D:;91L)9$MO*8UOT M]07&":3#6H=K(/S92LL=X.H3)P+/6$A"Q&'V%)D<,V.0G>&*!6),RKQ$#\3B MBI'YGA%"V4:@J]2&]+N*7(?(C6T4(G!Q.XWM9V&S9P*E@;#;,:?=Q;B;N'CC M?0<7@==0:LF\1&H*2^&!;.OJ,9P^#*1+.2-M4(@D.0QQS"#&$(;&:)]I*KPH M"_4TG]G!7!EHT@PUCI'!<2+&>2Z"(?7YQTMIRMELJ#&V2@+KT5R,X(T?!( MWG,D ;IU.$1J]$', "4(">]+_%T!T03?\S=,^ICDE?G8@+_RHD38H;LP>@##E I'$!7F" MXL./P;!=N;I8DI)SY".Q0L\^E:3+H,M&).0F)MM\]HSLA"Q#&QEU+^/D"Y!) MF"-K#(8HF-CH@5%.'85^L/\WOT??[[SHB3DCH5IOGMKTY!;ZB <769YRAVDD M9P:_#\C43"-!H.QL.#ZC(B'"*A\1-.D&.('[-G?GZ(/$F;0E'/@5[40Z-](0 ML^%AI1"57@T?DV/0ZIGK6$ =;@3XX8!XHQ"YHZO(%SE@@80)T@MWA_C1 MY$:92L$%'DHK["GS"74.GT^#0>(5PE<*QSG6W)= MJ!3MJS%>*WM8/RTFS 6MPQE0)I6S:A5,^IC-J.N0O^VU:X#GQO@]M._O$HRZ3,/X\$@(N"RRG5?JG;E MM6[<6>SPY6[I^'O1+1K[GT))\22>)4J@] MZ*0M+:.3-0Q^7KZ5UW!)D@<9HG0=!9V;K95)574LB\ MSD0I#FOYYB+B%>"M"!&W>ZW=QGF4R+JK.8I>#9JMPG9-B:P7^G9/)!&47>", M>&8N-@@??<4 3'>4A#BY2/ ZQ1B6\[RR%#M\R?G:&.AFLU?8@"C'C5N1[]F3 M;UOO#XR2D:_460MI@2VBS1-%*.#CLIW1_#%/^\%"$W3D"A?(>B6KJDLB]B+K MXTOB$+]BBZDYDRL2STAF5@CI>($L6 M6HU6P74U-OIW%(0R31F;1Y#59$VHP07].!RQ-59>9)?3%5YLIHJCYFV7YT2+ TTK>^,_9 M35'.O9MI,06K]C)E,7.U7>)@JU&VN$AS_E28)$MM=V5"GFBSY&X\BZBHF[$G M*LJLJ:0P,L#.Q='-?)*BO3"89_NZNTB*9F/P/$DANIUM$A;MAG$ +F[M@8M? MFIES9&^GD8L=&8G8XYIBR6GSE?DM-9\9\F5G 8@'SQ/4N3FO^K8 M(S=),*0>]LBJX(Z@]G8&^T0.9E&ID^8BSM>3 _-LW4+.#^!.TV9D+!25MW%F M+)QAWO19[!8FRL*IW@FLA[1/',BH[M)9XY?Q74,''.'_9WI\?+J\^4N@W6'C MP4"[Q#1KR52RS5#MR"2GBMB,HV7(=OH]O=G)#UG:!_6TG:_+72#7'+BOH;SZ MD(15JBVOLD&C5:$B(;.:Q474!NEA9"YD@F9$K:IL\M=VJUYE MDZ5BPU@?;&+!0>$[!!7BK540A^"3Q=*6)8%>AKY32XFRA(=/LMN=,*)N,R6> M%9/K\T4OLBR%JEY@D2#IZA?W@E.C M.R>V.TRZ6V*AC>C0!E3%YEK)Q-=9$2K$#@$!]DL1I*FO;\VSI@(GP<^QBW% M:F&KN5VJ<5IP&6RO__/N!2Y]L[7_ AWU)=Z_52V6IP,D'LV\>F"#/J5W:2^%2 MM6#V$9;"7A2E'U86=2'V8.=&/0WRW5 MO1P)EZK$\2UD1BH*K2\%=W3 [ M9:3@PO?H9_9**,L]6JO>1?J5N>8>7?.*_Y:A]\RB]=*J+\.1L42YE@I)Y492 M1Q_T>@I)Y4923Q\8ID)2N9%D=/5^JWTZ+.VI%XT ]J#D=X;<,>\#7;QD]M9B MA:^ZECT7-.7F\6Y3'YC&LVYMSP)/-;P218^H^*,0=,K-(IUG1T>>"R#%).6A M!L4DJVU%Q26*2Q27;..2GM[M%/4@*2Y17')67&*:^J#SO&C^J;@D=^^KSC%J MMSN-_M98C;DI5F-L#M:D28][W?;BF([517L:3M858R[](-3^(V:#8_V;V30& M>C(HEY)^J584A^BYVC6N,=$NI]P=3>6\2ESF(X7,:+[D)QY^M,=<7QE .]QP ML7SG!GJ4PT%QUR+0)P:[C?T3HL.;:I_8$U8;]A"B\N=!/.WREH\>/6^D7=GA MDZY= 2F-/=^U66;H8ZX:V:/P38X0YT:VV1;BU X3F8[?71:-<-HE/C[";E/T$^DHJC'^D'0RN\.:7[%\ MTM")EK,#[5\"H\X3L)R8_@TH@MW"_B[^5G(8OM ^B:C\NXD^J]WT^=G#Z,)N*_F;AQ$, #4&HR_FNV/D! MV\-9$O("52X)/\<&,(QLV=TG,SV3IL&*/@%4#QHW%,0]SZV>G7YL!S_$$$[1 M1H!0,'S"<; U*N]O]QM@0ARD5'JW-S=MUFPU>IW=*K!/M-E\D*W"L,U\P_RV M*0=DH,M[GXNV+=^>9CQ'#':'NO9*3#Y, ?$> ';&@)#:X)/4!K*&?R]#(7>J M7"V=Y^H3.AGH;-=E[;O'I$/@3[A/F04?L MG UB+F>^[: 'I*N&=:HD_EUROHJFY:EQAWL"_?ML+WB0J=-$QJ*S3][B@E3& M'G;T8\=G8:QKC($:&KE#[GN_<\*,W?/+!95^%2OUEIS:0CKD&BI+566I M;H@(ZTVC:")Z"9)4"TU"*H^S&3V:5NR4#>%:)V20]&_"EM@]V"#W>(E[:2YT MIO9"> 4]+?+*MW;:#;S$@]!S,YU2*1!K^R/1M5JV=9^Q4#B1';!^W( :_2XL M-?.]>Y]-P32R)C;\GIR^%AP-$:,QN)G"#\F,"'0NP^XCAX6>_X1_]KT'>(Z: M:J/#.^G8!Z?G/C7/1HB,Y# *.=%%\USX0S3#5<5GX\:_%I $HU$6R19Q&]2Q M-?EL3/,"Z0-J-^X(!1 M! )@@B("()GLP'(\1(XW0= ,$#B56Q=S1P)H@L(6+2>5-!-AJ%_(2!,XP%D6\L(UQ 4\V0MU@* MFAG<^2Q[A@0D0VG8AMIE@D2HW33[P;5_1Z-[&6/C,?S$J)X@B*9B"$ <4,MN M4B9E6-DPVLJ-TUH6SMEA[A-NS,6P7 -'.$3PI!CB%&#"G]*@C<3?&XX43$(7" M%[EYS$)F>\B141!/N8(O7[HN'FLY0OC/I(,\I4*(=6/WI>RU;<0#KL8V3D\B M+.,;=]=7N-0G5(/B4?&DH88G;."K=GO]\(3\(G%@)"*QW!,7CAVA'0P:_4YK MEP MO-C?K?WZIE7[O<; S+?L?H.3@+3CJT2BH)MOUY^DZ&@4B+65_ES_^G[Y M^=O-M\MO-_]]K5U^?J_!+S[&_WY_?U- MN[VY^^=R@&WI\K2>E0H(A?86.VE0HNPF4!L_P$"\Q>2/3XD%4#$CZ0MJ]33[ MA49=,=\%\<\'O,O,100W#PF!.1;[/7>L)QV;07S4? M+0(=LQ;!T A"\>_,5$!TI7N^L$1 ]T\%7"FIAO\$=1FAC447O<1.A^]]A:NH M=G.C:S=@$FF]R]AT*HNE4%*JO8FQ<(M>@CN\N--PGJ<*$F[DXDE\NGH+*DZ2 MN= T?X"[KO!>X#7_I6$.,J._X#Z]/(VEH?W.,V.&Q$0[) "35]& /B*OJV3'B7Q>\3%AW!.A M^HQRR=%A )?92-B7F54NUXR4T8EB.5C\%EW]F39YFB&G"=/=:/XR-R!4'F.! M.Q_IWD"7 IP+.DUN!#9<."SB*Y;Q*=%\V#1U+ED,[DK>E"_DV%5MY.Z-*RXJ M9M/HK1&[H3?F/N#[G6V&)((F!%SF#W8 MFA;-Q#BY9CJB4!=WO-$#OAY/*V(X?M5S'JB5&.R4?#OB^W*)S"!8D*CI%Z9L MQ.4B2!_TE_=\B XLYJ<8 [YX .HGD]>G 483WXON)W@GQ*'9.'R+%K@'"I() MZJ_LUQJFL/V"Q/K*AG^1ORR:TA\O7VLW\-F?0N*\0O:22\^BH6,'DS39]1,Q MUBU18("C0,6-&/\4P_-:^JO@UWC!_QTNZMI=Z*.KYA\@_C$1=N9@XN5OK[5F MH]/\!8?[2A N@. V@>1'"4F)R26(L!0F3*@7VC\(&?A15JDLP*/=,-?#0]SZ M4SC$&P8['#=\(\?PQAX"8-3D^XM\"IC.C.T%H;C(@O& 9.&;S3P8NPA0;XKV M=)0T.\^JVFS1S0!QD?C7#;IJ:"BQ8WVND<";.PGI>Y$GG?@; MD.-6L]<:>. ,:^[SN5G&-)IT[E-3]B1/CW^< *O#8>!BYXLQ8Y87A'#R.QO9 M-BY6&3/!TSYMKMK@-(#C$M[:?E PCIC I$2NBGC%S&G2QBOW)F MR@=I35[%UB2:V173&U]R,ME^#6V0=PYFG(/(AC618.6<4924TD8640 RJ;GK M36V7_(RP]G>7\ODI71^^C;X-'YA*RI2YC4F1#496Q&,A_?WN/3$7$U0MQ1Q. MQ\-YX"%:FAQK%^)]S'QO!$L&Q%H8'J%%LGN@2T%"W.,"<(A983W8<:=#3LY1 MVT)A -(:O@2FC"WG2H)\!^B-GRK'/C>),8F0^NRY%^*V2B*3M#YY]L4@S#NP M+OTJ3OT%.]I[=.]L!LFNUX 21S@;0/9 \@",2Y10G(PCMR M1FB0@(;4#A;5@%(9X>5@Q-%\ ];!Q\?,]@4K(,5B*)8Y3W\(>D[_IDU!(45^ M$I03JCV[%YM4&-6>8$P"SH(F!J"=;']:%>Q'+:)H:P#4CP%)H%%00MX0$]&D M3IQ%0H.E#V0\^;BI%<\OJ$6671_.*]4D\ @P#]W:DV/%;O^J&?:_19P6ZPDST/2Y1MN@&ZTCABT3LH;05L>(D?$(5Q FU)$0[]R&I03+2/K !8&#&2GRO M?DVL/>3A(P9^\+ED&\04T9+\Q6=$-(FC=81*(%TPWJM82EXLYQ0$^F3&'MQ- M-!FYVHL05D&97]N=O01E>A4)RJP/H1\Y6--O#/H=%:PI1;"F7:M@S=67S]]N MOWR\HT#-U]LO5]?O,3;S[$C,L9-/"EJNUZ@ODER(]\+CCY?AC,I%]I,ML.GQ>QD_D/3%$;Y"@ ;\#%89OBDW1+-&2UV M871>\=?TL-$9R7])LS7+#0WMM_A&0.T+?/Y@\T?] ?&$\A>"<0%\KJX_83D MJ$W L]8#&7OR5TH,2A'-W96D-.KC*O4/W<1R4VH.S0/=GNE)(2+$ .^*\9S( MUR,%&@+&[6 C#XZX,N"1!;YZJXD14X9QTYK-[ MG\TFVJL1<#"QQ.F0,WF"U"Z48J*4/%V'*1MXL M-FY.S&U?:5W%E M0\P/TC&S71#KVXQ $45 \GI8#5DU82X*3P!GP^$L8D[ M)&<-;M'"JI$@S4[&$&926J GZ]T3V>=08-,(0UVRP8_PH=(/0F'Y7/)_ &Q( MP047/6IVG!9-SV4@;P=SYBZCA@AQ@C8*OP7$#H%RQ[8(VB2.J'5;C7U,DL%M M/PX?7CJ!1U;RO[GTMB&, >E\[H8S;\5@]"?;?6@I-D3Z&B.E=,AD4\*+1KD6 M(']&&)@.\2 6BT37J(R:@)<$8@(2I3%4 4-8LT(/>].9S%I(E$$VS3N+*28] MX;;GY_$ 2^?*('=+KRW76.7Z^[7=W8?K#XY;3=^?1"3UQCLYAE9KRJ^7M]^$ MZ7UST]"^?/O[]:UV\_G#E]M/E]]NOGS>-5O6:+:VE15U3N$350GL6=_A"8+% M.?VEB\FK=?":?KS^V^5'X2Z]?G_S^6]Y_*6K&*>YLT8JB?4JJX4Q1T@D2& , MEU$![Y,H%GY*R[QFLF\Q]H"]EZ:)O]@^TN'W<3$NQZ=W+XZ[&8'A]M'P[ M<9W$Y>QX%9*I"J[\'25MR-L19DG*7#3<3-PZ5\]+1:[KBUMU>7&-_4I+%;:R^'7.K2"O[4F49 ?8B0L< MW-1FF0MD]AQX58]3/H()08R2U),DZ2K),:Q]$U*.0P] MZ\>RQMA'U9C1'+R86U+IC;/5&V:MU,;WS[?7?[NY^W9]>_U>N[O\>'VG??F@ M7?_K^\VW_X\QT^^W-]]NKD6*P/>[:_RC-'V+:)G=[-R-#AVZC9=$6WWVW%5^ MJ9RRQ3!SE:0JD7,2D3.U1R.'K[UE2_]':6K(]WS-/E+GK]4'?'_]X?+[QV]W MVO>O7SZ#,/I\\^4V(Y.4_-F3_.DH^5->^5,&DZ=>:8^?;CY?@ZGSX1HLG$Q+ MBF.)D_()CS#NDP>G?888V=:!3(F1,QMXQE47L+98N0>99D M52'Z7]N]O83HS8/V3"L0>@->^_AS:5O33 ) M^0T?W3/_S8B%[ W86,U6K_,&MSKH-(U6T\ ?C5;_S8C_;!F-23A]\2N-%9?9 MT;><S%<>K& '.OZEL=04$+LIA6#ZQ&5"U+)D MZ1_OPNZ5G>Q.%&( C&09?NAIUP)M M&A!U'.:]$B7V?]DR8C4))L?E%P).F5Z'(IAL)&T1J1/BD]Q>7_SM-:A[MF@W M*K%V$K&69V*?$FL5$FN&,6@99LJE([[:)"S, MY\@RT1$L7)1D_8M_9L33TA>5>"J/>&HI\50O\;3*ZC(W6%V_/8%L");MJWU: M0::R@LY:S+1+<;D[Q(W([/9:S4'H$L,:0]?DQP^RZ.+/H3O;>R,/XS(DW&93'\_7[ , M19_/;+-#:1K@[\\7+MI7>P;FSAT[7Q"X(P<@\&J&5&ZNM$8_ M@_]%IFEV6\V?Z/4W@MFBXU^&++\F_06ODQZ$7V1#P=NX#=)WFEF"O=I$J[;V M*Y9I?4C_BAWZ:2?TN3YO\&=@_+;H?"FX:F@8SNJ],UJ=IF+^DC"_ MT2S"^Z4/3XF Z:%.M$E$'?18."9G[&'+=\RHB=N[9/JZ/"\.O6I^H&B'+R>W MW5"N./![B"-],OXQX^P5N:6OG= M9=$(QZ^);UUY6.R#W<[AI\!S;.$E^XTYU#+G;L(Y]EQ=-4J7Y,J:GC0X$E/\ M*OF>MN93=TE/691>7])9;C&8OE'C'?S8G?T3!XAB Y[K-3"CYT1+(=C#CIN@ M'*F)YX#\#?X2SU![_G8>,M#/MY$K'&7W@4;9Q9\O\E'ZX=6#!,)G3\[=W+J) M5"FEVUG5XD IBN,KBL;=U=]+8"B>XO12 *)8T[ZQGY[K39]B<8@9@=:$3YGV MWK,BI-A5:0^*4H])J5>7'Q6EKJ+4*^:(:>_P\T?;_8$#"!7=E@)S2+?OKS\H MNEU%M^]QJ(ZMR+:<9/OQ\C=%MJO(]B,;Y MU";2CL#89.1,J1.R!U&[W^3AV0.HU.>_^]BMKM!AA >U^VU3 /T+X,V+_3R;?9 MU>93/'[LU/;324VMM8]VRVS(K.Z"%I=KRV%VKK6R?/1LJ*!$^%IM>+X'<_!M MG2SIR^@>1\-VXQ*5?9_L2!WU5Q_NMZ<#X.JD)WH3O-'^X4U<[1\-[;.-A]FE MW/QDLD&:)]2N=Q9JE *AQ5#;@ =AVJZ=57$*3"Q@ 2UW="/2$'@AS>'&*)-^ M)C8?BQ^3_$3Q3YF$2&^_FB59BCS)8O3$ Z^55BBS$%5:H4HRM)Y:X=8+ NT; M>X(O*I5PHCXQ&12@1+_CU!KNOT&":XEN($',M,C R,3 V,S N>'-D[5U;<^(X%GZ? M7Z'-R\Y6#1T;F]QJTEN$)#.IRH4*R<[LODP)6X"JC<1*=A+VUZ\DVV"PD64@ M/=[%55T=,#H7Z3LZ.DO/_SP\U]:K=^OGN_!-?6B*2(AZ#$$0^2#=QQ.P&\^XM_ B-$I^(VR;_@- MMEI?%5&/SN8,CR_U7=N%X)Z/AZ'38.AF=62VWTSYM0<_S6\.A[0X[ MYZ>^8UL_C2\Z<.2X<'C6:OMGJ.4ZCM\Z@^>=UMG(&T%KU#GU.AW%](-?<&^" MIA"(BA%^\<$OCR9A.+LX/GY_?__R[GRA;'S'^X$J>I24#3#YME+Z M8\B"M+QS+'\>0H[2XIZ_QEPT&_K 7/R='LO:6B>.E1:6K+"&.28\A,1;,/=# MU@KG,\2+:<3/Q_)G*<=J67:K;6&"+"NF 1@&#(\C$)T2]GT&HU@ M% B2B/P[@@$>8>0+,PB0!'JE0.;G$+(Q"A_A%/$9]%!Y0WS] 0 )#Y[.* L! MR5&.(!\J33D+%9FLER/J%0-Z3ST8*BN5Y7E:M1S5,0I"+K^UECR^?'#_Z-A< M@XBWQA#.MM B2QEKDCRIKDW&7NWS\_/C#VF Q7H4FI0JWY(?6W:[FMA-MFDN M6WQKI73[T&'9^:KID-+MJ$-A?]MD$664ZCLW5*.X_QHV0DH@:]^I(I C[\N8 MOAU[-"(AFRMS+ND"123I%V7\V\CW$:XB.RTN/Q3(A(304-'+)\FSV0R3$8T? MB$?28"Y2JWE&H]2KY@:'@JZI_EQ YC$:E/3CXQFC,\1"C'AV8%$,)@R-+H_D M\-)*O>#*K67Y!X4?#_47T?C:I67Y!@@K>HO:1^$;\#[%\>]:B( MBOMP++23SU^?[S:&.$KJLGS*-&6[U.>K)>).\0^TEG%T"RA*($E_/EXG6&,5 M<>0_D:_J\[J5)\1)$0WAFGD8TZVV:R%9\C!M2&WS$A\102P^,W_P[PN%\[W#K1.AA=T76 MLPWL68E_!;',Q@"*T>E!/KD-Z/O^NWD!9SW<'+<$,9B6@U0(K"W[3@&QMP+*(\8DE^6?"0F*:=#1^$:A1 '.X&1 MLM!AXEKBGRDFX,>$Y2'UD2O(L7!*_4PE(/$'T70*V5P,4GA,\$A$@23L>FK6 M"Y-Q7S@<3V2ZANCM)$+?XQQ;I30KZ"IQ$M>L0" D@D2D&@J70L%2*DC%-@9@ MA,YW- 0C@VA;;CO?W?=A$"(E2CX=DG-X1F^(1.@9>70<,S5$NH!0WY$[MDI; M5W!+F( ,EX-N^Q!XS- 8QI%) M4J):;%.9K3[>.77S(V(1@*I(1HST@6FY0XR#\C"(S"IDT NYW K2BWA(IXCM MBJV6J1[9,]?(1<;982PDWL62BFEPC?T@^@@C&.R*Y!H;/7;GKIJH,\ N8=M@ MI9BN/OD/\J\C)H-"Q##U=T70B+D65]MRU4R< :YK3X4T$(L#L;P&<,54-,:( MLJEFW8%6LM4#[#MJKDW X S0L!22@-K*0)_V)\"K&#;0+MW:!]1 M>$\YGR$VF$!FNHE@G4J;"]HB'? M0^0!.,0<<*TUJPU,&XCU7LH5*9T)%@?HB^[(&^*A6N["Y)&2!\B^B580-CE MGHBM0O.922-6>J_5L?.A8(8MP 0(QJTE9[!DW8"VTM*5'%P%AGJO=^+D\VM3 M _1%QHU_#:Y]A:,]3[TU+7.MD;VL%-R$RQZD+&YR&3_ 8,(0>+?0LS49SI: M%MJ_"502JS>0,]YN)1Q% =H1 MD'A"4K:L:U= 2 MBFGU0_&YG<_L,H!D.1TZ"I6&6AT'[=C:MIQ\2KK^V M[=J6,3@'Z+Y6-F570Z605.N\VFT[G_"M;=5.&!TX!)5I=G.O:!=N""E%LQ?MF91"G/F1D-=XO MJ;^,C4E(6>6XWI"9'LR.:Q=L^ML 9H9[ U]2_WY\5G$N;%Q:]TP.[02%NT-9 MPE@/ZXEKY^9?-L*:2E+]="'K)R"D-3 G]?^%4O\=!Q5G7TPXZ8$\=>UNP&V@)T>3]>U<\MT&CPE M?Y4?2@D-C*L>,C\B?LB/%;?6),I\>"I&,+U+80*Z= MYW)/[?PFVH054+Q EED#!W\0A:1VK,LYFHI(%O$[XE6]S60;WOJ.=^:VWW/7R4U(:_'- M" %"RD&".D!C.:#\@NB8P=E$OOA #$!JO$ENANJ.W$^X#]@/>[VC$CY)X6,:^XG6,_LO3VX;I.;@5M._M840!(#1H#*0,M><*'\V7Y M+D/P$^VD3*3>7#JNDUN)V\Y<4CW <)XA!%*5QF[*0+RG9'R/WY O,^CP>YJ/ MH62]%9VX3FX];SLKDNJTE#X@5J@QIRW,:;NSG3N)T!O(J>ODC\5L92 '?2*T M&P3T79ZJ%"W28\C'ZLI(X\1T([E^;N',SA^]7K!2J_$Q,Q!S:_"HMGFQA(E^ M9N#^SUF!SB#, F]IWN2Z]J40U][F['*T//;%<)[?\J8.ZM;+XK36*QI4N ML%B\;^H6$_GS,_(0?E.=9CCOCD6:W(,A&E,VWX]U5)>GMQ+;=7)3A7HKR;SF M*M$!9)20\9=2 Z1Z_+^;R\_''_P"SF98Q!WR2?R=$!KKKAZ))RB(7[N%^$U=15'XZH"!^)^/,/*+7GRV;)$1#/BB23Y39)4FC7\; MQO8FFD/Y@$IV,Z5$6"B;F[3S]>\GMNWJC66M4!WL8^4JV6LT#)]TA$I&AUDW!\D<8+O?D($?$?HW6+77&NY@S**XT)#R&IYB,Q$1$R M8B80R]=R\#C,1OX=N?GP)E ODV1&B^-L&U')%ZSK,"T"3KF^1T?_H+*WW GC%5B&_&4B M_DRHZ-54]-RQ,.@)'HN('GT( LS1C G3VEC_';E^(M:S6+,* _R5V0!_52=# M'4#2@TRD_CT8X!&F(GZ"^FKH*.I0HV[;LMIMJX\('7*/EOB/3:7K4),DUI\_ MO1/D/](TU%\F! _=NQ*L*G"H0XV?!UUY'.!Y\%H2;184K(/^:HS-W57394P. MM++H<+XLTH=SE;:\0^8OSIUDTOI?J,C=O D6J;S:^"-^U@_NGRIXWR'0-HYV MX7H,/52=3...>"P^QA;_%0'8=!;0.4+)9NK,S:;=9!DU?[_J1@/8%_O:3A)U MQPRI1]>B-MT/O#%I*RBXGYS%QX(K%X]WR%D*WQR /L*K0%VKM '<$JI/-.\P ME6(>(,*QR"-O CS&0B5A8G+RB2]7",HBP5+R6H1\BQLXLQ=$ZKV2EJ0.'NH% ML>D]A41?C?52==!7_P&M__)^]$+0WZ-I2O16TZEMV;( YG"'XKF0(M M+EN'6A1-KBQ6,E[H%9)W,W1'(MW[)X+LED;5YFG*6%4(5[[K,";G1Y]&R@7$ MKVK?'-+E2W[2K$Q*5$U]M<(@/JLIG5O*[CB/9 N:5&@S;6UQDZI>:0+LJ_FR M2#; [D?,FXB'?3EA$4^P)G=:=H?T#3U@@J?1=#'=D8R"^D#_>^I1B^$VG3JY M-IMAN:Z3(^S.& [$@'-2XLG7B]5!][1!>V;MWJN3[L5GFO45T=/4H59I4_]J MALBO==(],\6PO'R[9%511U*'.FWMCV\^9CA6+A[=7V?RM)]:PI 8+\KL M?R0PE_SGQQL/D(?R,A"I!TW.-B$NHCQOLLCS2[IT!0YU,*B,Q=^0_PC4S'O( M6ODZU.8^;G3*YHMM&OKJ: CJ4)\^%O(&(F\,I$V5(%-8M@ZU6)DBNU941K-I M:=%:U$'E\(:I?MTR_+;5MOI73Z6JKY2J@^;9JS[D!K35"T5*9HZ,:.M0R]4] MJ4;[$+0D=:C3UBM$\1X8.KJ3>7<0J+U!^U^'*I;R9^^[Z;J66AHV6$W3]0]1$.)9@#7;:K^_(I_4]+.(H0I3H&J5)=,]V[==(]OO AW=!\2]EB7J=HH+R!C&AV1V_'K*Y[=;NV90_@&!/X M7A+NY0O6 MI^MR29S):H@\:/5K$(UG M)C<1UJ%^J6^[,7.!-W72769KMLC6RG.Z;*DZ:%X;8RLN^*OSH.S[T)FL*O/_P74$L# M!!0 ( (J#!E/TJ)Q2S1D &/Z 5 8V1X&ULW5U9'']Z_ /?POW[]V]_^\1\ _WKR]M6#9[-T=(C3Y8.GJBD_'TSY_K2PP+?$"#FRY6;W]Y>+!N%[W^1JV]S[_VCU6^_?W4QWO1%NBQ_]*_?7KU+!W@88#Q=+,,T MU1LLQC\O5A^^FJ6P7,G\6EP/+OU&?0?KKT']"+@ R7_ZNL@/?_W;@P?'XIC/ M)O@6RX/Z\\/;EV=N2:K&K^,%_3Q\5'__Z.ELFG&ZP$S_6 M'2 N%Q^FX2B/Z5,:S^KZRV^?\)>'B_'AIPFN/SN88_GE83 M$'&R^G1TM("/(7P:O1J'.)Z,EV-T^/NVR(ZEO_O(-XPU.)F#())&ECRH:!3X9.BICX4;FY-S/'89ZW6C M.\6NQ_/T8#:G+Y(Q?/C@"U;3=6(7CX&%>;I N[-/Y%NXX\]%J)WMS M?AL"B+\" 785?#/-/UXLR,R.C)#916G J%) .24A2$9S><@VAIBY*JR+TH_O MWV843X_F4)5+%K1<3 G,(9DQ';0\GFF M[B[B9EQ].?V,BV7U;^N3^'IY@//?9]-T#.EDB-:1RVH"!Z.S QHF&5)%-E1F MPPESXBRG+KK? MR0K%H#1K161S.>O"58\W$BK_%I6!P0MOJC&NO/85+1_D Y M\AQC]BZ"9H9FVXPO<0N=-D>XS:LD?>'-9V4TXP\KS_AG$0Q M_?@**6Q[6X7ZNGQ8X&KH(Y.\EEC5238.E# "G X4'ZLH'4D48R\/(UJ)OQD?WLQG1-+EMS>30'/=-%<#]JE.A;\3HIP+*XYF.6N1QND^$=$ M#BX;BG\<%UQ&IWU2??R 37"V4;B[/PK?7^2-TR/KJ#=P;]$3!,V" ,5B .>+ M(%VE4)AS,6*?=/ 5B87=PN@I?>5;-971NRRXB>!C8J0=I !-!II"67)2!NVM M=]WBY36*X:5*=M'XIOAX)SDW8^_F".OQ\FF8S[^1?_W?87*$(R=1%/S MS"(D"$)1K&6+I\E2.JOZ4& K>,-+FK3@1GO-M#-YG\.8/I[@B]G\'>%ZAV2! M5QGJ9QB7/]Z-LL(H7"''V^M2O:P(SJ"&D%2L=#?1=\H9;XEP>)F3%M3IHI^& M@1%^"N/\_.NGNK"[S@N>'3VZ9$M$#C212[*%WH//)(PB7;0Q(L)R202Q6GF_#Y\)C6%]!*,#=6A MS 8<4PDP.:6TY13J]4GL;PUQ>#F7)N:FBX8ZY?I'G&(++9BCD19=9TP'#CU" M4EYP)5STN4_JY2R.X25;6E!A#UDWT_>*AC_H]\_Y;+$81?0*K?0@M4N@;-00 M411 &[CTSDFG^FA]$YI]1_AA&L>3">8?E_VN/&516D?"=LI1".Q\A*"* J<5 M)AI[\*5/_'DYIB&%;GMSXSSA&ZFB^6QY;HQK3%G8D# CC5+02Z$'W EF0/#@ M'<\10Z?%S*MQ#2F":TZ1ABII%_;/ILMY2,L_QLN#IT>+Y>SPQ-<[ XU"2"XD MA0>QU Q=C JB\P:X-9A$9)Z7/FS9"MZ08K?FI&FOH!X[ =4M "AES[1T$] &B M(4E+%KA)?;8\;L8SI#EU3SY<9B[W4$ SJC\__#29?4-\BY.Z[WS#2$V,1M8= MN";5)0?#*"16G 8N-'JC;0JI#_.OA3:D.;4Q1=JJI:7O-3_:",W[2*-*TG$%HN1( M3@(Z\$XJ""DPXPVSQ?2AQM6XAI3D;,R/A@KIZH]?0!:L-(SKNJT-)9$V(8V7 M64A9)0IOP,>Z6]P%3@]F9F3'C33>1B%$ M'W]K Y@A.>%[,F'#:M!>HF]H& \/9]-3*'RJNW@%668O%)!/Y\ 5&;G83XE[VU!?O[1 MX=$J GR&99S&RQ$RRW+V$1+6,V=>, C2)6#1%:U"*+'35K7KL0W)H6[,DL:* MZ7)D.5IE7+*Z4K2N/ =&7CUC@!FYD2F)[/JX19<>66Z2>"V:,\F#KP? ?95K MAJCH1?C"B!D!3:=S!+ME%.X@)7DCS5]Q]GH7B=].>'AJ S1G6+>X!_ ATU@3 M]Q +3V TE\Y[9:*_@PCQ9KO0[R GN1='>NBF=_+I%*P870J^D"]G)4WES"OP MG MR\IA!9;E-KH\_?2VT(?E5KCA1@SN?[&$H&+ M1M N!A>%(E;W60.^'-.07*EFQ&BC@;O8=9FRR4D'8(;5I+I""$'7#>D"16$Q MV:R'M.MR!UE,)K,O]7#IB]G\DINMA>%B2HPG"Y8%$H;4'!R2I4\YM^RQM^[);VN:JW,RHF?0;]M7^SO MNOOTJOIWH_$U*O_WW5][.25P^*J2P&*H.]=I*@Z*IOGB;"W"54 &(5$JK93M M8^,W@-D_I_89IT?X@AZR37',\Z]I=:VO(.E+_3N2(D =5#NL_H49S,5L5%3JX^RMQIQ9,$D[(E MW\,IH*?+@U3<:Z,*4ZI/6'0EK"'9P[V8L>'@42-EM-N<@1/ZU<=_XI2>ZPD! M>YP/Q]/Q8EF?\L^XQL:R%QKIZ1:I[C<*1I-_RA"XE#%*J]#[/N[$=OB&Y/DW M94P']30UFJ]+K6JS*BB+\\_CA(MWLTD>J2"2CT9 L8*&G)B&4*NI9VZ]=<;; MG/J4E[LL.?UE,NBP[N= M[8?*W4M7:';4:8=2QL=(UE*HZP$.K=8@R :1Z;$*7)86N$I!69>$*'V*25Z& M:$@NPGVA61/MMEW_^WTVG9TE_]H'"LDG9K*$&(L@]]EF\#QHL"84Q0R/4O:I MEGXUKB'Y'?>%=PTUW6[Y Y>GC:WRF)0@#RUY@J"D >]2@53J/GU9>$BAS[K' M:1CWR56+]92Q-@@Q&5Y/D/-:8X"3GTO1">DLBDYU;^[,5;OC(A([\_7B+#!, MEC2.6 CXB8%Y0M%V&=,L5T+VD3$0DI'0;#W(JVN)F(2R'B70KO2,+BX &E0B MN#6_]A/_G:YCUBI"+R:S+YV7,3?3H^-0UT@2LOQY^,M3%JY(K#4C=FV%@1,$CP3AES0P(27-C+>)SF_/<:] M3Y6%;ROQOY\]3F0JY[ARB4Y;2A<UJ7EYD>.)<6C=>2EUZIWL@0()EG()!(1N!=> M]PF?ML7(2 ME$HI4AQG.YFL[4$.*5R_+8IU4F'+T'N3'+XG04_)P3G-3[CLF^/L4D:;,-UUW[:=]]MY%,LPO+:@I->E,H45JG5(B$3DCME MO.Y39G%KB ,+F'NP;&-NJ[GZ.J6Y9)!,EH\EEU:I$&>'Z MG&*^(LUUQX47;X^G>LN??I@KL\VV1 D M\%+HB>"U^@@F#CR'8B(K9"V[+9!NC7)(+1GOC&F-E-B,9L_PTQS3>"6S$?.F M%%<3@#%H,JQ$><>T!JXEYLB#UJ9/L973*(;4R/&6:+*S$CI:FY-VPZ?:/HQ0 MBHS:"XC>B5H!,E,HF5>=V1(O: KR/CFA;=!M0QO_%_.-FFNMW=&0@S#')V&U M-'Q8H\)C;FN,482LP%A!GGP0%!GR6/M4XYV@[[>W?C&>K%"+[:]F:!IKI M:'5.FK0].RG.N;%9V\CH3&@- A-2@4JYGGU 60V=5"U@U/H,TWMAGD&[/ZEV5=3>W*E[L#;@N;QQPW>B7RC>/TI(SKZ.''0,]ASB'LOV+?3$USDI"221$BM]:!*=N"DXQ2-<65\BM+9 M/HG?9CW!;^V@^ZUQ<+<>XC?19*>NK!=!CISVFA7K +DF@ EPV0=/3Y55O)\-O+UQWN(NL\P9>N4M**P%BFKE M4Z=< (&.G@\6D(=;W8!^[2ZS>SRU].7[AGTW/4C0>RODIBVA0GB9:R6)X+$V M$XJ!!.(EV!(E842G.AVXV_64Q#V>I 9!TGU)T)NDQWGML_BLK>%6JNUFTVI9 MEI,82DU94OQEE%#,]%F.V![CD':+W7^2[DN"NR"IX<87$37D7(^RAUJ/$(L# MZ15#-#RXTJG([8XDW?,81VV\\OK3ZF3O\Z\X3V.ZZTAE9A*Q FJ)X;KS%,$9 M*2&+VB@^EYQSG^GD6FA#K*(QM[JZO9,W6RE=K=,!]W&@]:.@A9,ZFC-H7UJ2%W):S[<*BL-7W:Z:GY2<639.W[ MV?OPM>[DJ@V@:. O9O-+%CV3%ADM3\!EK%W? LU1,D4HOD@5K"/Q]-FCMROB M&_H3?PG"W8IV>]8 ."EC_!;3[.-TU6WN["?_QOSLB)ZDC\=.UK/:;&RR.(ML MNS( .]ZI026 %F-L5 S@ZF:V*S?UY?3]^!#+/!PBX2FS^6$U::_C9/QQ-?1W M]+HH8\P7!C$B:V8EREI3HB0*BJJ_R76NF3^+ A6SML_>@Z[#ZMJ^:X,040N9 MG0)4FB3IO(? M0(;+??H;63F#KIX72.5NZXE/!16WZ@]V'ZZOZWNXZM>CN// M^#0LT\&'3X_S_QX=EUYX/SL9P%K"SQ?+,>D+7Y?W\T 33:J")3-73G!#-*F,0+!IOBS9]B@6=1M&B=O'J6F_#E]_(4L_'8;(8"93:\D)V.6AZ MT5J#,X5#X5FQ++R6I=.P&<^07+?V+-A=].UI\*(VUSC MO&JG,++9\B15 )>3J74G#82D-.G-2$DH7OR M6.%49:PI+AM[$-?0 3N-)])J[=)I$;S*V M1I/HQ;NM^TLSC,S7XH%!!U9S0K*6$=3@@[&JA"A])R?V4D@-[&&],/&^4,1 M"@N3%_C]ZO0$_*C-,>(EQ8"E4!#!:T$.\DJ#"0C8KM'7?I$,\2E6G!<[ &M':A+N,@3?'2 TI&%R[9AM!G!?P& M((>4,NC#G%X:Z]M1Y/!P?-P7@.+LXXXZ'W&:"/=J3UYMZ;F'(W23RS?I(++C M:/9T?58+5Z>W,M8;C113R9+;"\5& ZI8!CXC0D&+7LC(O=_N(/[Y*[?<''M% M =:1\CQX388NE.PI 7 (WLK^JK]J2VPK[739 M5[UNJ;4NU.N#"]X( =G5$ZQ>*P@I4*"G;,J&9Y9R'P?W"E!#\%?Z4F0?+32C MQ8]AQ6*3-\6 34+1!%HD.%82&%4X.FDL=JJFU,PZGBU0O1J448:14$DYB650 M3M9:BIH!$Q@=\S8JV^>\P$4L0[!Y^VG]ZH+@-Y9WFVU)%QY/M%DS5C>5LT . MF@H>G)8*K%+,9I\9>M]@\K[;"&H_!>XON'8% H_BY.0(82WI;)G4)L@(Q4@. M"AT#5X$8*XUB6G'&^M2A.8MC4.PBZ835(\H+>X_SPE,&(I;#BD<90 M&YEE"MNU\>OC:9A\6XP7 MLW)VHND3U6Y[U[[![DYC;Y3^?X44J>#9^WW?O[D^??7LB&R'"D+86&KBHZY+ M88&0F8*,,;/,I=*Y3U9S6X3[.\57W.?#-(\7JQ85M7AEW6]$P1V]&Z480P@I MU1TL@N("+B'H;"!32,>+$1;5'8CE,KC#ROU$YMDTXU('"*1<,9 MS05U0Y-1EHRW\E#+X[B)GU M_/AO>VYEF(./C/R[1%&T4MI!#-[5))#)F 1Y@GV:3PYB;CUUG__!,'\Q.YJ/ MBE4N.JWKHTJ1BBX(L3K 3D2?F.+1^SX;CFZ*]%[.J#?AVXUFU'U5V3##N3W* M]T0@'&6F*:ZRG(0@:OL-D8$F>P7ZFVS4+,E5#?SY[@FS#.C\L2Y]_] 9D(HB%1H'7TM*"2X#4:$*)X@0P1A;HN M]-CQWC=LH7E_F70;NKE=2_86#\.88K+YZ_)BO"#550B,LSX[Z7;'/*26F\.Q9ONK=\L,R\GG]242D%__]O]02P,$% M @ BH,&4W1=&XCG80 !TL$ !4 !C9'AS+3(P,C$P-C,P7V1E9BYX;6SL MO=MR6T>2+GP_3^'?^_:O=IT/'=.S0Y;MWHJ0+84D=\]<(;*JLB3L!@$. ,K6 M//W. L 32) +P"H (M7104LDA?55YK>J,K/R\.__^\^ST7>?<3H;3L9_^U[\ MA7__'8[3) _''__V_>\??F'^^__]'__V;__^_S'VGS^^>_W=3Y-T<8;C^7 M@F&^I *\&)>,67SH:#C^UU_KEP@S_(X6-YXM_OJW[S_-Y^=__>&'/_[XXR]_ MQNGH+Y/IQQ\DY^J'R]_^?O7K?][Y_3_4XK=%".&'Q4^O?G4VO.\7Z6/%#__Y MZ^OWZ1.> 1N.9W,8I^L'T./S_.H?WD1C?EC^D'YU-OSK;/'O7T\2S!?J>70) MWVW\C?HW=OEKK'Z+"_D#(9] M"OC.1_> =O%![ S/(D[[A'KKEA=0>OEX9]SI,^@[P[SW[X?ILQY-& QBZ0MAQ 2 M2)V5YDD:6_A@IR?6=5ZN=#1)MP",ZD8\N6+.""*.%M\=7,S81X#SP=6GDVCP M%?UQ-C!)1RP<65#@F08GZ6Q#P40LV7OGBU7V+N]FESPN,(L+YJT>\4/5Y0\X MFL\NO[/0+N-BM9G_K\U8EEKJ:,DUYCLK[)VM:1W%[9-4-?3"_7N-H#=MPDJF73JZ;GDQY%N]0?+>#[ M[R;3C-._?<][4O4OM&YZ>Q:0_DF&WLN+V7QRAM.?_TRCBVHCOIC-D/Z?/\"? M W2:&Q"%83**UA\$"TYJEB70:\FUEZJT9,,V8 ]/F/TT?#]=FJGG+J/$OHQ: M;;;CCR\GL_GLQ3C__.=YW9VO!0(JRF!-8-E@(AL_%A:B)_D(](('Q8W+3?CS M*+2O?GOI5_@-V%%QO2E_GTQR1?<>IY^'"6?O)Z,\2#&1A^@3-)N?UI5@M?J!\ MTB*)1*ZL0Z8]>;0^!60.$BT7;'&QU8GS *RGQH[^='"7(')?@KS'$?WHX]]Q M3"(8$<07^8SD79<]'W[&2Y0%K0O!9%9R-DS'Y)A'^J)U$6"3#T:E-E9X)WQ/ MC3(-M'*7.ZJ/0^?FT@N:C)A0%$HM:(Q.8N74V>LG;^&KK2)X:'_:2 M]%W-Z]Z,T5?C1 ;SZ\F,[*NBH_'2,AXP,FVM9"&YQ&0 (X4S01O3UOR\!O-T M#,X=!=S@I'@U_HRS>5WB$M.K\1RG])V!-[X$R3-344 ]P1U[$E.D+4RG4NRC26$BY$K2 M"."YE6VV_X=Q??5TZ%'L#YRW_3#?5K"ZEW\D0SV,IP/4%BA-,F+ETA'-4J" M93B9?IJ[[% 8"&ULH0V G@BG]A/T7?W;??7_&\YO&&A.*JN#]XS+3&!4 A9# MD PS*J>T]M'()EJ_!>.KU_7N0KVK8;>OAG^&Z9CVKME;G+[_!%/\$6;#-'!9 M90"'+,=DZ[9#=EBVCED10I(JYY#;6#KWPOGJ-;Z_D.]JWO>M^9^&HXLYYH&W MRWO(NB[^@_[ZO^?6-/N,+_X M3&;+1_SMH@KE35E G+VYF->4>RY?]LX"V(!V1? [H <\8;%)(_-:DC7+E64@K&4)75 & M/$H;#TFB34"?*HUZ4H5G 8QE/E;3 M" &U;[/9W,;1(PUN), V5_X>PKSOAO:[93KC7]-H,L/\M^_GTPN\_B9YO_CG M_.?1XH%_^WZ&'^L?=N7#;#H?O)U.\D6:OYFN[IE?_#DD><22N-6%99>K/'1B MY 9'^JMU DQV*7=B!#W@!AOH;^M,V(2@1RX\D'C\ #=V4.:D1Z'V>'=_ \_- M=(*?%CME)U"#M>SGOC1^%TZ?)\&FW.UKI?>CJ;MJ[TG,A^. 0X?9*,:S J83 M NA[5J B>'126NZ1 M"U52Y#[9J%F11&TM>61>Z,""M2B,D^1# MMKGSZ;]0Y=4X31%F^!,N__MJ?%>2[R:CT2^3Z1\PS8."W$J'A2E?,BW=.1:T M1<:#*M$ZE;%1ZL^60$\B;K$-3^ZY!FNFF 95,'<#*>26"9N+8MH&S;01F@67 M)9.Y<.5,1BG:Y J=0 RKJ?+68QQ[2;Y!(OIBJ:]FLPO,/UU,"=!;G XGJU#; MXH=OSA>Y 3__2<[_D#;U@8-H0A:9>=3(M%"E(DY5"$GQG"SG;;+3M\?ZQ,G4 M5G0U@J7_'IY="VS/F$W;ZZ9! MFN,2REL89EKO!_BSE@9641!6^L;E#74U.\]J,LHBIVE WJ60!C1SRDBFZY= M[D=U0S/'S 5O%9/? >T39UAK_37(HKQ[8*N0559%,NM$89H7P\ HPI>MTUH[ M'WRCDIN'3:4==^-;FA[X*+DB2Y>+O MPGZR;Y SMV'__P>,+O!^8X)63")(@D6K/2/N6Q:= E9/ [(O2L9TT*-Z,]1G MP*5FFFN0O/Z@%$]&5Z-7\+Y< ZCQ6X7UX^#=TB2FPWG MN(ID+E?Z#M/DXU*CBT4/?.V;(DF0P+6HUXV6@8Z2HSOUY/QQSE.ST@E]!'#S_AV!./9HTL?0/)*:JB95D'4R)9C M413!0M0!C=91:#BQMV&?]7Y[1X[,H09)GS=6_0Y']3[APZ2K!Y&%"C+185=L M;4A#V%G,@"PBSU)B5C$U/PRV!?UL.-Q4FRUR1V]70>@0?)&F,)-L8CKY6OE- MN(PKT00KHA-MG,$CEY8<.>S MX83Y*$[SW@FM]-@H8G8D7:7()35D.15?"_IB A,S^:=MZCI/)J%UGUO!/81Y M[(36.TM8TJONQ)-QW;<7.5Z\9HE !9$(Y-S-E;[ VN#-<\:UD=&!Y*&T*9XY("$V),<>BP_;B+Q)T\.SL\G2 M(+S,!01!_J'2C+X2(."!EE@;W@>KHK3"\M3&CK@#Y?"F<@\JNM-U:A_Y-L@G MVA"&6(&+18/QL= J:^A R$+.FD!FI4I>1*^C:>5_/P#K*1"A/[DW:7$YI_5A MOBPC7J'20G%P3C-I=?7?:+C^>IT"#'B2],=>GSP3L MGW"6IL/%7=2D_'@Q(\RSV4\5_&BV2X+U@Y^W?P)U=[AK"=+2FI"M\TE8J5VV MP&NU"UB;0\3,^>#!3][W[!W1=R?+?I0OIE,8?UQF7;\8Y]\FX[3AQQ_H3S-( MBVO":^?76ZZU4H&Y4+/%C 4&BVX?4? LR$:13C]8.?7LJJX&5 M]!:^7%[;)#H#IKBXD+G9-2NZQ$%%,OT3=TQSLN! B\0*]\)QCLF[-HV*'H7V MC"G5K]J:N%MW)R6\'D("G/R70V$+XD541D+AG.="9,L;8)$0&35$*; *K-EKH) MTC,F8#]J:I%9GCYAOA@1HWN0U3+\KS3/L4A;BUY).M[0GXHHK/AB32DQ*M/H M4K#WM1SJ^NUD>'ID.AS[\J\6C5^+X/X6KW>_B_@;G"U[/VA9P%LZ")Q=9#(; M3:=!\(P[(3SYP EDI[K33GTP]D%ZM*O"(Q-L<@1%]]R%91.N53RM"[+>V_$\ MC.GP/7D.I]M)4\4=[&&SK]JRCS0RN<4 M&;.-/OKN^_,KB2Z17S2M$P?/XFB(LU?CM JPDVL?12U-L\J'.O7!LH"F,)&2 MDYK;D.Q:7O6&EC$//>6PO6+Z5,6DA1Q;=$.XO)U_.8+9[,VR.\F"T#:!5<@] MBSEZIJV7]"<'S!;00D3 U"@>MQ'2,S=8^E59@T#$33RK=Z8+HJ:)47U^I%XB[CL760*0](Q1D:G9"VE4)H%K@RK0Z*L"Y=5*TJ;6+A06C,C&NE!, M:913O1G4$6*2>^KLSF#&?@3>HWE1S:F7DXLZ.><E%,CT'HBN<=GE_4?HHS?/%QBLLM M<@WBZBWI K+WP$9G>(>/<>ROR.1)5MI-]W_.*WZL&GU_/\E_JG$?X?A-'\T_LTQ'&Z:LV+ M.>J@:T/>LK"]P#%00C#A. JIA==JS2+9$,?H\K3#QC,::6G24L1]=S_^ /_" M#&\_P?0,$E[,APE&+R<$^+(S<]'S6SLEB_OG/-+K(F.N- M_(NS"7WO?Q9EUC]^6?W.ES=3^M/_Q31?[)9UJ)^VEC.10JCSS#4C2\LSP #6 M^:)-;--*HL%BGKD9?"HT:="T;05E]1IV =,T '<+SG%B;T=7\MU,H#TUU&## MO U*TK&L)-?,("@"!8:!#IZE@)XK 0:P36KW >CR2)CNM-FRC6+ZMJ=?_O2? M5@B]0E*B]*($1^\?U*8X5K @2*\"!$ MU)YK +)@7? YY6AS"H.MG[;?EGS[P]]18H?,L M!AUCX"7[1KU7'D.V?_GDXO,N1[6OYVTOM]_A^&.]4*?_YP_PYT!BBAFD9$'* M6O:)].9FKUBV12?-O5>Y33>B'< >?I?KE4MW:S#;JJM!WL,&>2P]"J2S&8TI M+-GJNX*K[K%,K!B+#F-P/K7)FW\(U:$2D9LRI3>Q'SM-^,ZE[F4EZ_OEYRZ[ M6\C, :.W3)K:MQ%Q[S[R9(HK-)>NH!7D.Z3(T"5.QZ4H#%*T3+F@I#-< M.-MMMN*=CS["Y+#=Y3SI34A]7Q'].)S4HF8X7]QBW,;E.7E_="PQ(0TMT63R MXXWFK)!;KT+TOJ#KI+P''O+5JK$OP;4947Q[(F_FB#'FR(*&R+15R+PC/.B] M *C)4*6_NH93FD7>N]'5BXA[S#Y^>,IK%U#/;C+Y5IKJ-)YZ%S$?;#*Y#$Z9 M&#DS)M3IR_0E@JO]3S@ZHS!HV901!&JA&YU2:<[F7PKB3\VF7P+<1UC,GD.W(:L%(L2%=D1A99I M+&>^% ]:1BG7&ZA^_9/)=]9OWP+M>8>^\O_^CI./9#9^JCE#RP((\O92UI$E M'\C\CRA8C+3L#.0). B$K;\=>B.,)V6B]2/LGC.]5S["34B7>6@=0/5NIVV$ M2]B?E6) :F8#D2G'1R!X+T ],@(=J MSP^H_VU$W+/>7YSAE)!<6A^UX5%QPC$+')E&,DE]5($5J9)03H:,G]CWI(Q)+Y)L<)WZ\Z\_O[CLO"MKXD0AFT7XRE=B;@15NQ!%5%EG 8UF M6%]C^)IUNZ=$^_:P7KQ]\?+2E:[PKZ)H^'2WNPUX>O!)[1(]^J^I+5D+RRR M&"\*@BXZ?%8O"4^OZH/HW#\_'Q$[5\\<3O)U?\J? M2\&T3(*_%-\J+8,, [#>)):2JN,]8R 73WO&(=/JBG;2V);Y3WM@[RE=[!W6 MEWDY OBNH@9H."20G 5?2ZPSUPP$9N82>.VB*BFU:K[? =[A;X$.S+D-26,] M*JV!7=,)Y,]_GI-\,'\8GM&OO"GOZ;NSLJQ16PHQE5UE1=HD$RCX%0B$>;:GXH M*$2R(K4H1'!P=;84X0*E8RF=ICB7R/TI._!1D#YE"^+)A ,'7 M<=3%AZ@TIYC M4XY16_ 1;$X\"IMS1J7*E@%X>MJW$/RW$/RW$/RW$/RW$/QSXN>W$/RW$/P) MD/1;"/Y;"/Y;"/Y;"/Y;"/Y;"/Y;"/Y;"/Y;"/Y;"+Y9"+[/6.5O.'\]F*6VE2AK0@G=^L.$S]W/T M7HSGPSP<752+[SVFB^EPO5OLR\G9^<5\5>CW,TRK6SM[NP)QPR$QT@FC+",J MDD,2>6'DJ2J6O=2*-@4Z1-ITH.MK!?NZS'OB>'%6V]T/+$\.Z:5B06NRKZ,! MYE.6S*K:Z3.#].M#*D]#C$OXAX_W'(6_ZP[UX57?8J[F59_[/9>S=!0#@K?OQR M_PZ-, M@VN ^Y'=&,;3!5_3YJ"/(3Q.O]"3H40GJNZISV/PSAL7A,#$"@JRE;+)+$9P M#)U0$BVJ+-KT)#T.WQYI4_K5TFT;-;;H*<)=C_B/\@XDE?CSSB;+YK_ M#L>_3<:_PO1?.*_&P[5@&C/0)2.SQE_V#5ODM;"V0%;IQ6+F?W/>"&QQ0 P%3.EMI@D*-F(03%4#KP)%(KNC5; MW/I-?Q#6OGO;M9!?C4G3>'/HTYORTW"6%D&'P 6"\(FI$'4U?#7S(3JF4LG) M@=8"VO@DW? =?L?KCROKVUT#C;3HBT/BR?0R_X33X>=%(L#?26QOQG>_/Q"N MCI[RFDD)DDR#13HS&.:L-%8J:>/ZQ5E??7,Z8WQ*_&FDF09VU5U$]>+B7J26 M Z;L/%-(4M&.&Q9,XHS[6) 7G0*4 W%H$\:GS:%>---C<^QNN^7;*9X-+\X& MF9<@3>$$TGHR/VNO2>W)5HS&H.*VD&UUA.-K!>\I,:=_??38J7,YV?NF)?D3 MQOFU".ILK\G%_!T".3-?R*C$Z=EP7'_O%QA._P&C"WPQ'I.]N;J**=EIJ[P@ M=T.4.OTRLA!581E,SCIIDE.WELS]87H*7#JFFAK,+;[7;UF$DR6YQ9G,-98U M++JS!0::<#H>1>&^F+S> [JA2W'0>ZQV&U _TCZ5>Z;5&KZ\^6.,^;?))>>O M%[D,OLF HC;%Y#8BR1*2:Y\*@*&7D1:O27=G8/1;$8 M34X2M4PZ/TUJ/38X[J28M8V:^DZX?A3GKR]>78Y4TS8%1T989-9(;Y/V0C^9BY:7,)U^&8X_+EP"&.NU&;#,MKHR9B*J!1DH:#3%\-A4 MHE"66?"^-MO(+ @GF81(S$\B%/T57O"\^$R"6_C&DVFMS[CM2J_",YA?3F;S M'V%&ITV,#E0PAC:2&,@X1L= NLB2ULJ"%C&E1NEG6R(]N5#'%ORYDP+14DL- MKG_6\=Y\4^/\5YC?"-74RP?\+X3IU9L]T!!5$JDPPDH.F [(O"B&D<]OLD@I M*-\FZW<_W$^9<0TUV.+JZ+\OR&[9+B2X# ;&9+6-@3-!H)DN=2!O%/3VJ("Y M*$$'69N4L)TA/R76'49O#>Z9-@>3@J.-5Z-@TL1%/89@8+ FPKG(G7')J^<9 MQ-V#)OU(^^L*XDKC%2TM,F'IBS;.D!='*PM.ZEP@6FG;W%%^I4'JW(&[/*M\GU+:#OHY]3^!]!&FJG<>!T8LGJ\>1:#]/P).2.>0V M[O'1J=5+$/=0S-I&34<,X@:IR565BG%3ZKAN]+1[F\1X<#&2K>!,[-9^X:D$ M<;?2VXY!W&V$?I @[I61_RO"[&*Z,+OV"<@^^'G[!U>[PUT+E (6D4"#X<:0 M^\)C,60 ZYR3(BNEA,&#G[S?'G_M2,UFN.@*\GH(<3A:F%*KQ^4WXW>51M/A M^"/]PF^3\?3RKXMPT[55KU!X"=JRJ&1-.S:Z7IU+9E21-B)HH]LT.NUU&?N> MF[^0CSI.0QB]&L_(@UAHZ^I[2X _PJBV!XT;6T;CS^KA_#!]5Z@Z#M2YA] M(NG4_]0XS&<8+59P*=]:6D!>,8ES((M/0@5DBC8H,E:"9]$JP0KHZ(,M1>LV M,8W.$(_ PX-J?W((U;4HR7TPK'S]MT%M783@%$.NR!8!2_:.5XDI]/4*@Y#& M-CDA71$^,X8U45R#0.Q2#O!11\]*T5*X8R+P$\W8G#0^]33H>MQM'\J][57J__Q MR]4?_\\0I[4#[I?7M?_M(J+O$@J>:PR5YU"KE SSCFO&>8@!I,CTBK8E]H/X MCG5C>R3N;&)P?SIL<-S?&_:]BW=U1= %;--+WJW@'N>:MX7>-U&KF=*.SC2? M2H08/!.I%F":$AB@R(Q\0ZF\"4(W"LZ< ,,>N>T].8)MHZN6Q'HU/K^8SQ82 M$)?WC<5QGJ-BR0C#=$ADPZ(6S'B3A0])Y$:=3!\ =40OI']U;B+.GKIH&TUVT46#W>3^>X[% MCHK")O3",UX'F&DI:4!!69BEBFR+WS9B>MXG=DZX:!"_>X6P^'=;9 MB?=CO/^[JS>@"_:F5O8^Z(]C=/?%A#L#" ^LQB83,O=8@])*D_F8&;<"F18J ML>!59@6]%1HMIMQJ#ORI4? 1J_P4&;B-]AHP[]?)&%=9@+]]8G3CM^T@Q (BLD'A<@04IMC*W[\1QC].^A=+I>U+*_0EK,<^F4O>P(D4#O MF7*I=LPA?#%G(&?"J5A\J T!GE]QRFG88?UKL,$5_#:IT%V@?BMFZ5GE>Y0< M[**O(Q>S>,&C1R<)K ]MJG$-"P(%6AO;K4(*\3+%J72W0R%-[&*K\7SFE7M6RE MP/7XPM[2/T@-R\U\NLN2C6H\PAT;3)Q@M%: ME]JP/AH=@K(FD'T3!]L_KD6H\?55_H1Q(@HI$C-%.Z8U+ZR.Q6,)A#"1G$KA MVS2*> 18HQ#K_%8?IH'+5H,LR+SU].+RPAE8PYD"X$44$U.TAXRVWH9W^$VO M3[9T#*3NH9&C%H^@0IM,U R+#+3G9\T\)WEXY1WYR$YX."1U3B(O^_#TV5NL(EFB),L"Q'1SPO1K%8>& I&VVY$D;Z-@FMG> =*A>P)6'Z MU\.I9.X]$ :6,6 4GK2>HF(Z1LY\0,W(!!6()#4%;=)03^_ZL('^NU\-;J.' M4[N/Z8+]V]5@$R;T>3&SBQI/C8K)6"]BM,Q(!4Q+Q5G(43"3')1@447=QCLY M/0KN?C5X- 9NH[W#70U*Y#X5+UD403#M8MWQ36$Y6^X*Y"12F\#6D[@:W$JG MW:X&MU%((Y=OA<1)C%EG65O0N]K^.[(8/##NG ^A2') 0S/KZ=G184?!;]PI M6H<[WTXG9'[.O\ X5T&<5U-^C/.>XYV//*5-P'.;I:U%/'-0J@[%-IB=QL(! ME0U*2J%%<)SS>R.>CSQOOQ?Z\L/K .7YBQM/N/8K(4HG 1-+])5IP1,+ 15S MUG Z%HM#U:8+Y>/8]MW.-CYA47XYX#)RH[-G*ACR=[PG8T#XR+B.H3CA>-!P MV)4ON;6X]J:-'8/*6+LXL1S.N0R_,IIN%B="']>80+L8_SS9&& M&Q2CLJYY"V2P6XRAGK M K'I+4L'D,>Y3.E=P5T)M*=VCD0D1.UT)A5#!((:+;U+.5HFK-09"J#T;#$^A"?#>WH-S[BA(S@7;4QZ5V4#0(XKQ%F^&DRRJ_.SJ>3S\LR^A4T$R$J MF\DS,ZXV]PN%?'8"B4YYIU36Y+4UV1 > /5T>-&W!IHD])^=7\QQNLY9*S)/ M,2&SVI,/)QPM%Y1CAOB*,8:B>9O9)AL /3U2]"'Y'H,EBSWL32G#A%>(:-6_ M7$Q)T!=3O*2KI$72%L8PQ,BTQ\""58G1^A.H!*"3[W0L//JHIZ/Q!J)M$#9Y M.5DT2$Y5QJ]JK/?C%&>7NY2WHB2[L($D+5O[P$ O.J%$=")Y9TRCU/\'4#T= MAO2N@[O\T/U??+^?3]*_(AUMN>YE9'$OPG_+@9:OQHG$,OR,553[U/EL_Y#] MK[WW7-C:K;=#2[I'Y971.F,*L7:+]]$'$+F &6S_N#T#I)]@BC^N/^_%= KC MC[AT?JY_Y2U\6>Q7?\ T7X<#HW3 I3$LU,[HNI3 8HF>V9(Q>ITUYC9VX_[8 M]PXO[XK@MXOZ&K\IBY_>ZL+]=_JWT::LY"LHKD:2WS$1)M[B7%V.;2=6NHSXZD;979 MHDBJI[?J8OYI,JW=Y -,R@QSS434MK @4#*D-TL'E$GZ-O)#74"+4XL9&]D-? M2SC4??>Q.7P4E9_,A3DY,K4?QN)N10,'X[AG4O+,=,Z%U7X(K( 3%KF-);0I ML+B)XOA7X ?EP?H5U:[Z:'&'N<*R"J5T0=/VWOL6GB-=<>^LGPV*WD.X[54N MLK)<1L$2U *?S"WMJR$S0%

ZM";+LA'/,RNI&FMY%IWQ?,+R07H>*Y+ *R M6=#V9%D*&9GFMC9=+YY%HUTB=X*7CM?*:Q]\A%CP'D*>]"2A@[1SNC\\N?CN MF_/ZQ_[#N_=]>*NP[J,+60OG0@VU2,M5O35QEG MV(;=]\89CD^/'H.YB\-FA6%2_C&9#\#BK&2KSR7PZ_/@1 MIY^&'S_1S_ZD?S", M9\/% VNL;]-O9ZEM?H5>Q,EG_)7T?79Q=B6 R_<*C57:D9V<35VK$YG%5!03 MGESC(E!X_:@Y<@S@SXO/I\R*%N'=7<^1G_\\'TZ799 >F!062IV+6W)#6ZV/)3P;HA]7^2U*ZG:5X^++/^B\HJ-KN10QP!2M MS](S8;.IK;(+ U_G=BG@EBN2M6X3XNES%<^3R\>@P,94MB-LRC?7\H[,K?EL M=CU5QDS23/G]_/)^ -.SX;CQ3??E/JSH?,):OXNK^WI9$T@&4]>*L(WC+(9C:1;1:&:S4&1 :1-%F\X5MV!\ M_7D36S%AO7G2SAHY1H[D1D%<+V.Z1DWY-A[R-Y*2=.WFT4W/<=QU5Y MULWK_54B1T$NBO6.%0R2C)T,+%K0#(SF10@CL'2[+7O@(2?HUC17X:2!_/N^ M9_VM7DW _**V@[@'&E>Z".W)>_+2,AUHT5$'Q7C@66GP+I5N5=0//^>YLZ-' M+30X[7X^.Q]-ON!-ZE[UA"B)YNX6[:J,= M,2[;E'4 T]2;NP7G.&[8SLJY7\E[2+;!>7(;5%8I9YTL,;=N2C(:YI66#.A_ M5HO$16[3ZNT :G[$7VFCY6T$>CC?>+%IT;Y&>]^;\64G&5\\A)0M4]8#HS,( MF8]UT0@QJ)R5#0T34+N!/+Q%L8^NB0>G^XU __#%908T(MO"0F+0" M69U)3!:-#LP%LI0PJF3X09MZW ?R:=-F-UWTN-O,IO/!NVHE+3;/D) 3$+*^ MK+-U8H]FP0G-DM$N)AFD59TR&NA3;Y"!_K9.A%N/?9[VX^Z2[S'?ZPK$BH5= M8&QC,W8GPC$F-.ZA@G4E[B&_%F_S96M!VK0*&,50N$+&D S,!Q]9L%[R@%%& MVZF+VVFH<8,5V+\6MQ%;S]I;935?!JR"()NA%.:SUTPGEQ@D F($2A.BY9 Z MY2ITTM^M1Q_NV-U+^),^)->C%;8 G_> ")MR-8:SP3&P&J7"!9,UBP+*722 M6:90^E/AS4=_A2K<67(;W\+V=;'7(Q(7/_^='M-_?>Q##VE5)]MY86OULCY+ M96)"8=#J)'2D/=C;>DLH3=2PJ5[VH<<=O6Y6)?#!\L*X4<1%,OT9R*A8"0!! M\61E:9CJ>_RZV=[RP%U6CJ-A"A2=SDE'\G(XL.P#O=*QZ&(:)=\]]U* ;1C< MMA1@"PJTBH_TGO4=00*X$!ER(VIW*,7(\0L,+4KR!(V,C>9&?RL%Z(W@1R5% MBP!R;^$-8S!9K+>H/I%HK2![CG-Z>3DFJ;7RZ,RWE.E3X/%15'Z:*=,^F% B MG3-65@_06\%B-(;)R(4HGB/Y#]]2IGMFPH,IT]MHY&M)-NVRIF\ITSND3&]% MED-DG>ZBZ:^%Q2:5Z$'70!DM2RM,+'(G640=5A'6"3E!S MS4]:J:V!(W\SZ4^9C0!:MXT(9QTUI8^L]J2S(?2R]7;71 M/ NR"YCGE 6YE7(>S(_;1;+-LR Y/5M+#BSH##7A6[$0E&"._I=J$S13VF3" MG5869']:WD:@1\Z"+ 0L\@+,*J^8EAH8 )>=*'S)%N,%L Z!PHW7NS?\Y2C MW^<7U$D5ZQB63#RK#M%R>S+DL2L)M#^=V$"H?N_S>[_K\EQ%BV!8UF1K:,<3 M R4=\\4(A.6E<$YQ9A+)63MAZRP'8-F8#%G*@MBH ?PS3+O:RWH^BLI/,^VJ6!G)[E=, M%EVOCH)E06)]#\&H)&(*N4TT[8FE76W%A ?3KK;1R->2L-)E3=_2KG9(N]J* M+ =I]K>#IK\6%BN $H&GFCP!3*>R:"N +$%T1B>3N)+/G+U;I5V=''FW47 # MTMXPE%>NWZI*W:,42B=FT51L/K" FL26'&IIM56V#>\V #I!!ZBYMM]Q(LJ[K=7";[*<&.\=RQE"$QGC01%1C*G3$G;%0I_^^.;RUQL:7@2RC-(.M.26<^XBF3W M*N'Y>NK; ZJZ_MRO6U4[RJ?%6\6)-2\6.3!U@9=M4M#:E)$SSK-@FFC#P!(R M@]FC=<8IU6V8UJ8G?.WJVU-F?=]8$2@1"!2L@Y+*@,O!L* ->9N)OH +B2QU MKR$)4UQV715Y[Q.^:D7N+[,&MS0WDZ5#EK0'H&)))MJ]+=0^?J70.9Z#X*44 M-$USQK^Y-;MJHQTQ5KSO N8Y58]LI9P'ZPIVD6SSZA$3M+4U\Q@B&7.:%\=\ M$(99[11A"='9-NV)3JMZI#\M;R/0(U>/!&.MJC&[B(F6ZG-F$3S9B<%P#<7; MR \:C#_%ZI&MU+E']<@VNCAR]8C(TD.*])J(D*M!RAF$Q%G647AK72BR46^< MKZ=ZI"UM=M-%SWU;Z]BAA97T/N$8IL/)B^$YVE7]J.1NQ39>1#] M *Q^_CV3FF81EBOKPXZ@"J]Z[;&^$< MO@=W#ZJ:M))SW_O$1G!.>=#!&.:*KH-+?*KCI3RKFV>.(:JD.I4DG:+R'^C< M?2C=;R/>1CK_93+%!+/Y94Q2!\A%UZ8<4C.=2V Q:E'./NO>0[$;SL7T5Z?W?_?G/^D?LO:ZTT]-:59INO]2UVE.H1[UW MD3OEM$4.LL[Q\Q*#]B@<;J@][?3M3HFW[HY9UOIJ('[ MWDE"OTW&G\E)Q;PJF)K,873SYU5*OTWF_X7S:_G='"D[4*& %-Z1BZG)XS1U MYH]-CAD.WD2> 1MU+3O(\IXWKT^/00V"H^T6>?5)RW_T9OX)IQ\^P?ARX3$C M!&\52UC-/2D3 Q\RLPC:2D[GNU-?V:OSR)*_O4ZGS[0&*9+74;!^U+&,B'F' MELM2F^0(VC>4I>-5Q$2D3S8G-,*E1LU+6BSG4#6"I_1"')\7IU(\^&I,GB-> M!8%>K]:YS*H$0\/2FS&XDV4,3!Z=+X$E*IT4M!Z=]/BG+( ;- M\_M\F8$*TQRAID$ODZ&,L1Q @.TYJ*R-MRW\?M.K+7& MJ5C NVNG1:BA145SES5]:[.Q0YN-K_[F/VS1!\%MY;^J:13,L7D-'<:2);1HRDI!EDDHM2#^SYP3U?D M(LZ&>0C3+^]A4<=2/_KZ^M?D:!2/R&1*0/HVI9X8O*I?&N6(8,&W<2H>Q+5? M2^[K#UP&2@8"C8@B:<9EW?^2Y0P*ETS0HFTL&.],?M_40WO]HX^PH_2GT-L- MK?>26N]S+Z[1_ -&%Y<%6+-?)M-7L]E%W<%J-P?.7:IKD[FVJT$6A PL9>F$ MUTDB=.R,_OC#GJ2>>Y%L[U,EKO'1D7DVG,T61]35.)8WY>_3R6Q6?VWV=CI, MM5,ZQ^0],&M\'?BI%(LB.!;I/ PJ9)[6RQ,?YT&W1S])5C20>N]#%^Y%2X;2 M.QR>Q8OI;&E:/00_@;"V),/4HE$Z6L^ 7.-Z%^,U0E 1N[6:VA_+4V=1,[VT M&'M0L==]$/-/%]/A^./R+%QND;_A'XL?S08 T3D>?;UJJ1=JN3 Z#1-34A8C M N=!-^JRT G?DV!40Y7T6!)]5P!OIC__]\5P_N57G'^:Y%?+=&"\(1;R^.[\ M\N6O+:_SP(#ER=$R+&(-36<6I0V,\V0MN6(%;:,Q=#VNXF!3,QI2[UA*/79> M:\;AX#5^A-'/XSDM9'%? ED*<)&S&*%401KF+9F'*LIH+8^6]NH'2#G#])>/ MD\\_T$BI"XX.5^F/D^'F M4P][U;VW^"<]RJZE+JN-'LF<)48JS;0A)S_29LBPR!Q33)R;A^J73D&'&RY\ MFZEP&Y'U?L$RI$WL/8SS"*;%>0J=RP4Z-,JX>^VQ/T=V%WV.TX@K$96NO#C!Z;Y%T \#AFR+MJ()U)>XA MOY[;X-R$HW*20=!N4BQ73,=ZPZJ39-%Y)PTXGWFGTJ[34.,#[8WZU>(V8NM9 M>[_"G\.SB[,5$._H4- Y,^'1TBGC1;T2E\PD#"JIDE.WVZ].^KOUZ,.V+-I9 M^),^)'>0WD2+>.-\$5ZDP_\EN<-#6O,X#7'V@1SC"QCM;2%K M-\W!2VVR U(/U])F'TP6*DBK;%$2S:#[8_8P66\\Y,7:0VX$:!P=Y;Q6ND1. MA[L7F@SS.ME &@S=K>I0Q3A)J)3Z[%K)9UO)U.R"B:?QGD MX$Q1OC 9ZH2K(B/SH) E[XRB5TTGT:;*=Q.BP^TP;51]ITRA#\GW?4W]&F+:/V;.!I^O&PYEHRLY7F&E]I! MDJ@+(DOF( 5,FH4+IZ;0#-(4E5V*,$"39XTT8T@W?4Z-+ ZTTN'R^ M;[][/80X' WG7U9)Q;.?+FIB%Y=206%FD5V1L:;WVCKUS6N7';T!C?(6NB)\ M:OQIHIF[##+],.B7X;CF_RU0UH/R3:DBF4*:BX%P-B./F96@":!2:3F%3D7# M/?T58NS4YWE'ZCP [6ERIB]=W"6+W9KA+DW<_GL*X?HT&>579^?3R>=E M[M\BWV] 3KK,/!6&T6BF@XHL&"M8SLEY8[3CODWKS,V8GAHY>I+^75[XO< W(4V/ /G*^J_;0 MQ$BM7Y;M4*LX:/68?QK.TN1B/'\'[> /#5R["/G>_2^=UBXKHJV.W+GAO-?("WB1JM4C!\GT^GD#UH_ M^8'TD_F7 7(;E%.980B&:6[JY+%2O;XHG8@*)+0)#F^#\JDQIIF&[J'3SI'B MR_8/5W5W/X^&'X=QA"_2PG2;O<.$P\^+;$LG8PXHR#V4NC!=;*IG:[U)3;Y M+MRNV]R;^W%T>-Y3X4,K$=]#@[W#O3]AG+\:S^;3BRJ(5^,Y3G&VL-\7S4KS M]3(&BH-6Q=#:59UZ&[5GOI:&.Y<2F,!37._.TM.>TAWC4V%08^W<0Z2]0\&W MH?X(L^'L_?D4(;\9_P.FPTKVBEL,R$"*2=84[BPKT.H6(BB&*6BE9'%DQ!^ M1IL1/FT2]:29>RBT?YAX,IM=K_\+[9;3"QB]A.GT"WUKT:/BY>J:%#J/3U )./<9NO:D*@[QJ=&HT;:N8=(.\>5EZT'KOHJ/R"2U2AN MG3 5DQEH6VTP2^=N';=>LDZZ>".*%IWLF^[/;%T+?0#+II& CUWIO$B/OTHJ MK8W44[HXNQC5T1R@Z.QPAMJ1A;]H\%2:J0GBYY(SKK,EZ3(%%0R9D-+J0!5DLF/A$&?A0 MO=S71OX/VDV?M;;+AX^0EG<([PK\M2T^"\462W,2PYTN*P5IDF MP1S:8HRNVUE']=[SZ4]>P?M*M.^FBR\$%^_AXW ,?ZS0F)IT&E$Q#I$3S52] MS%"9*5.,EUX4]+:;?M<_^LDK=R]9]EA]LG31+LC[@JO1W'P/#VPCC*<:6^I'[CVW%'J_C'G> MA'1)]0Z@>@\,;81S^,A/3^J:M))USV&;S> B^,*+,BS[*)@6]?@Q9%GP "XI M]":&3I5^ITB !P(OA]3_-B+NOTO^ZF1Z":-A&4ZFXR&L#BFTUJ5$:PR1]C>- M'I^[WI(%[#_;]Q-=CB&1CP7']3^V)]QE&]72[ M_[L+AD?D(<2DF:@>HBY@F1= _K_7QD2TJ:1.H=C]2\,[8WZ*5L.!-7F(5@2= MD%_VVNR O>FPW7W0'V>H[J&8T@M!]U!S@XX[>ZU!!H=&&L&D5X'<.>!U:K9B M*(7G/"_\]&="T4P3BOR@BN!C'2<2)]"2R[H)DF>X+5 MT %+JJBL( 2;H0GC[D-S^"DAA]/GG63(/971P-*[#%+5X8YS6G5=\?DB5_/+ MU8QJX%%YDQUST?E:?0*,%F]83#PDU%;%1EFS'< ]9=NM;]TTZ/FS$6(%>#EQ MH /$IK98!Y#',;EZ5W!7 NVIG08'51>HGGLH0I$7' )!Y;*F#)"/3,>WMBG' MG$R;YC]'(] C!M$I\&<;I31I=KEJ,%+WWWN[C:S.V>)51$_&'VA)YZSSCL5< M;4&>DN0.E-1M9LQV17AX0ZAW]6YJ_M*G;AK80(MNC+^/@ZZ%*=$PE[/.TJ3B5)MJUH=0/3VN]*:#!GO,[:K:Q:Z:LY1. MD]YH_UPTM2HLD+'.O 24UF&0L4WKA+M8GK(%O*?D&[0HO(UH1?PNF)I:N/>A M.HY)NZ_&'B3 'N)NOBU!8.D O@[X*HPV*B]\3K2#B:^< H\8 MI8=@P#92[OO2LW9B>3V!J[,I%YY-CHP60ML;TBI!"F1!9XVEI)+6^\9MN.B\ M_;F'/^'W%_2D'RDUN<_\/!E]KBTP;C?(N!PCPYV3]>XV2K);H'@6'1V"Q?%" MZTLJZM+DG7T0UE?,@/[%WL)SO%533.;*CU]^@_G%%)=]O2Y+C>O^);4RM5TE MS8=GM6[AURJV\T.2W^*;\,IPE&/T70KVD I^SUDQF'9B6*3!?22"M M1YM2\KS15+3=,1^!8:#QC/<-8_J-SJ$/?^#H,_Y*1\JGV4 Y M!,FU9\;Z.F]'%Q91*):*M9F.I2"A39AJ5\3/G7[[*K'!T,>NN.N+\N&/R2"; M4,#2N< 59();PS8 BQI6[GW)7AVR1?QFH-^HMI/*&I1M; 67*(,#09LQL;\P M!Y)>B23)]M#9,.&E5=HF(2(_/LE]9CML7'>]Q78#Y,?\2T,\XLRQ^D5 MW.2%15"D&*:CU4I9E0CP47>D)\BIIDIJ,+YR/62SO$U%KU+"V@)& M$+EU4K0M6IOJ;6J]H1<89)MQ"/?":=U7NG'X:F\)?_W=HW-6@<< K""4FH"M MB.1:,W#DCPJ18Q*=*BN>7O?H'EG26Z_H;;1U*AUZNV#^UBOZ$(3HHU7O+MH\ M%2;2^QD-T#$>)<]TH(.KR:BU2VE4,2B5BOS6*_K4";B-$IMU/;IL9^RB@!PD M@XQUHC%W=4R?8<;9(+5-01K?R>G[.OL:;J6*A_H:;B/'8Z=/K)L#;;(F-CVE M:;)$IZ6MY4@DB:2E1-:W]1J]]4IF[J,@K7'AC'TH1V+3\UJE1DB=:[N/S'B* M=98FN8[1>\U2".A+B=&Y-E<:S5(CW@\_+I.2QO/W%^?GHR_7#UG>@)*L?Z6O M9Q=G+\[J$,#ES^GE'FA;' A..[51U<4%Q:(#S]#Z++PF_9DVR86[8SZEM(EM MN'1GQNMAM-8@B>)^7\A"+)"-KUUM@6GPD8X ]$QDHV0PN43?ADHG&I/8AQO[ M2_C8,8DKEJ]1>]F3 +(P(?K:C'U'V5?6#;)=[F":3H%._OK'RP9('0 VK8MX%.)QJB/VU^9C].A%%4?A3%8^ M6JT#\ZIF6I=ZPZ.<9(IA33./(W'ED4X?I[A8WD\U M)W#=@XNV&Y$$;0H<2JFCO2T+4L::DQ$- M2FND[)843[RWF24\RZOOL>X_G\P4*PA,N9[,5#,:"9%XG062T M@8$*H98DJH3: #K926?W?/C7K+=]9;7Q7>OSPN$=+JYLN/*.AL$)VHX)#-( M12>KX9E+*<8-=GODONUF[GWF=6Q0\R*D2YK5%BAUO ?9;D(D!B:$C [(GFY3 MJ?T8LOTKU#_C;&&EOOECC/E'&,$XX?M/,,790/%L38Z:25W(]4""%VM]OC+) MUZI\&VR;K+6'4!VC_WB/[+A;HMZ3 EKT&E^E57Z8O$C_?3&G/Q?Y].9K.KI-UW^!G'%W2\ILG'\?!_,->9Y0*CL2QGY7U'7M8;HL$!H>?,;\:__QG^E3#9;],IN]Q^GF8Z@]K M_3#AS-+EI()DVM2)7,X+!IG,QH+9^!Q,%+ZC8=W]H4^$($UEW:"$D8B<8/;I MS;2*8?67Q38Y6TA_]9U?AF,Z6H

C.MS9#G7UXM^A;7W;.V,![F!>4GX^7" M7\UF%YC%0*94"AVSK,A:_QL1V>(F/Z#67$9??*/,_8:+>B(T/37U-RB:O'' MOQCGQ9E?EW,QG=:[@MJ">S8( #G+VO 116W6"H[\8YG)/\88O0@Q0J>9G7M8 MZ1O!/3&F]:V.%OVN)^-%L=4_A_-/+R]F\\D93J_JI 8B\8QD"K+@'.W6*23F MR6YDUGFE(2ODMLUDH =A/3&6]*>"!L6.]X%;,'=A][U<4GF0H="1#< $Y]7( M<^1XJN!8C-QG+CDXT2;AIQ.\9\"7_532H*[QNG7LI@#=CU]N_61QYZD+5RY( MRU+R1'8=Z[ T70/!/#H3O56F3>[N3G /E8/8E$WM%77L5,7%=.>K52Z-N5]Q M_FF2K\_GN]]%K-40BPO $HLK1B#CI<1:;PZT&9?,;/:Q@)+>NDXV?;_"\Q,02 M@F6: #$ HYBU%CF]5XFO9V!\991YH+#Q%!FSC3[Z3O*X_][SL@0OH4=N(C/< M>UJOC"SH HQ6KR24:(KNECOWT%,.6]?8IRHF+>38X*+M?2WC7$2B1C";O2GO MYY/TKP6AM3,&0@8FT6GR%K-E$:1G.7D(5NJHL).$45V09Y4:%%9M!'6% UIXZ6S\0>A)XCQ9$M9A>UF)CG)[74^_* M$I89;(1Z^6 A,2V*K)'"R#C& )J,8HG]N1#W(7CZ=D(OLN_Q.GS9%>3\8IH^ MP0ROLG'7(5Y.4NH LD&#IX[P#A^IV%^3DT.IH??.3%W!&J[HGP9@/@I'8#-G M4!PP+$'0]W5VW5H&? U<>2!$<22J;"/]@T8A0!;A/&V9W-=NCHLT51:V@']$/)LNTS')QS#=#A9=DLI]%N1Z&ZD2LMN75X'Q:*0 M-GL5C.']=86]%\+3MSGZD7Z/2:[+^^$ECM_'LW-,PS+$O'H/NH#J/:*Q$!NF@=*HH.T7E/Y0U M<2#=;R/>1CK_93+%1"?794,'4(JP:/;_VKNRYC:.)/V^_Z5VZSY>-H(ZQQ&R MK%AI7O:%44>6C!F*K0%(C[F_?K-P4 1(@-U 50.$[' XPJ34_55^V55Y52:D MA(B+:UK<+3 MKVK<3D%08!+1D1" HJ*R4M\L /E5=IBC&_@,\D(EUP@'IWX,K$*\)2FM%PYS())'X1JTUSD.61GIB%5B6A1 MS[&78Y=52J!%)B+8A#9>FSVL@:,_A!RL=UPX\-:*>>W\2ZK,CRG-<[1E"166M>3.9 M0L1?+R,35D01!(*(UI= AU'$V1 )DRRQS+*1NE=U:R^E6'_WN+&>IA1U5>0[ M9@^H*]F%B].H3"(EKIAU)(L^]0TU"E):@9QBC0)2XQYZ+FAQ0?=).2X80 M4+OZY.$&6L[;]1#YJD"3R>!8%L2$,D.#:8&[*).$>Y4#V-+8VO>J.^GSMI,) MQ.W#3M=2M*/DG3XO@BGOH?LZ]=]_G\32I'?1_FL9=?[E.G?3;XO^<8L__#_P MO9N6#IH'I*.JO/?P+%7]Y6_V!(\\>DFEDHS+9)(W1D'BU&I?HJ[ZL@J"0R_; MK3_UP0M_!!4M:!NIB\3H2(OY+8D-H4Q\@J"KF-MZJF/5VS_C MU6W"=Y=R=OPW??%_7J;L+11' K@L54<@Y\WZ24I6YF-[_E]UV72HO%5:?9S]U5NLS)1E'Z>N#N@%YIEHJ@-!CQ M( T'P[5ROHDR;<=TACI3B8 F)ONR-O4ZO4'%ONJ^S_O!_/D=+5FX!!8@*LI) M3&5\JW.*!(EKE@:"L-P;WB@/MA/6&2I(/1H:1 $^PQ7^ZNM[-"FG_@HA7J1O M*/)B9MY,_H 52DHYS=0F(KP7!-<;B"^CZQ&ZCD$Z-#T:]27LA>\,M:8!,0TZ MB9?-KVQ[2SBE$Z,UJC6I.P3PZF[YRT6"V;K$630E:H\6G S"D: #@J'X%2"-6.^J2K]R5=AC1,O\9!],U6M/MZ$Y1BNSPYG:2?P! M8AY+!;@W&3=,2JRRF4A%71GK4QZ5^9V>R<9@?(MT&F8#[ ML,%R8YNMZA8C. YX8N94;GJ5&3FX<$.4T=0#Y53X-E;J%D#C%HO686M;A.8 M43=)$TZ_EY8E\/$^X;^ZM9PHC=PQU/ R7XM:(!Z8(8QZ$Z1QCMHV(XFW0CH# M+:@C[LI[_Z=IEV[CS6^K>:2+-HR."1?1>C*!JI)_\F6\FB'>,C#H,N6HZ[6H M? K!SV *'BSYBIF_!W@>)JQ72M\#5'5+<"N<\4W!PYEZ3'LE,;?9#9X QUC* M.4BT?A3+I9[0D](?@3 3+ .;Q3Y'Z'+3@2]4.D6[M2=XGJL[^"E5VB M5;9< B5XW+'2#"T3M' S<3+%)(T4G/:;B//XV>.>XY4DWM435T4S;@YG54CB MUPI)EC5K*WS"<99"(AH9(C(E/*M4+@MFN=0B*6;ZM1;N\;(7SV]M@;;H<;#J M4_7J=C:YAMELY5;,=R>5M+;@'#&JS.= 3Z(4 .#_AIA=MCJPT";=NA/6N5MT M];EI4)FSQ+)JNMT#3-/K7&MPCCSIZ'"Z'M5J'2KK)M-N'H*2*CA%J2$NI$1D MUIK,+ZPZH2*5,5#1K^O;*1+?=[Q18]Z'B+BV8?>ZF\)ZG('ZG&7DEM@0-1JN M"DB0EI+HT4A)$O\^-;T,@4>//EHN>1\Y=]6$5-N:>S7IRGT<_QUN;R9Q'9>S M5/-H$ T:F\7*5,2!#H0Q;P!RXOEEV MEI[,_CG67;BM+Q[Y,EP_ 6S)QYJ"3Z M)DFH#6P+'XQKH-H(3CSN^Z57/BQ,+*B9)9XR-0B?Q8= M!<> N#+9.#KF,X^:0AKKS&FL(,]$1XZA'T.$WT(OEM?Y'T%YAV4$VBA@T MAXCD"-0'+4C4G#.575:Y3574,\!.P$;=E\1-Y:C(P!AVZJN[5W =?__FI_]< MSBZ%X$!F8@,O5[7+Q?[$$HE**"]RN875JK/";F3G;8'L3T*#F_./\:W0W4\J M?A[?N+;(!L*3,4@.X/59I:E RABFR29.RS*G+B"Z&*$4'V;\E3%XES3NJ9"=+O?=\*B4 M-A!A:914^6#[]7L>GMC;!>L$3)6#6-Q,]%6C8)1Y*:OLEN;.F6"(X!H_"@^& M.(&VFG'6.NHHK")6"ERB M+0Z<2;*DW&C.)E'CZUWW>_S^,S!)*PBV8H5/0?/1?X/?\AJFI4+W 56]@'LK MG/$+N _EJ6LEY,H?^G9P*4O*T'TF,:22/, SR6E6&HQ1CVXURT'V:NQVBLSO M*-\>A?@ALJU>X[.$.6 M]5:2=5=)4+6K?%987JT*5&1(+C!%@F6E94&>#Y4FH9KCYI\")9=$3XP5GD6HGHQY$VILS(VT?054T8]>PO%UB MR48::7DB7O'RU0O\ZGD&$G4VFAG+A,Z#2'M[9J3M(ZB*K1_7L+Q;8DDA!4/1 MD6*NF%D@$K$1* D1G5U.A>.9#2+MW9F1MH^@*G9J7,/R?H5%"!%MR,1JIM$B M%A2W:F;10#;>*,-,"'(0:>_/C+1]!%6QV^(:EK^MC*)H <_8B AR:2+A$PG" MA7(937K&'1ZSP\ZTOYT9:?L(:FM3P*/5@2]_,@MW/_[\Q13\6.7@S[U_Y*KP M0>+8')6BM# R1ADSQPTW>FG0(N4Q@0*C8&!Q^'-(1AB9DEF@NO21H1#P#!$* MSQ#A\.#/T6@GC.;-.K&?YL@436.*(0;B+2VSE;(GG@OT&R/HK(*2"MK48IS/ MR)0A.E5C9,H0RAHDS/:Y)VR<4PEM-\(5 I4V)%*L-<)D3 Z>(_. M0W2K-5''KG,OQM#][=2')] \>LU8Q>^EU&$Z3K.WAFJ].3'O M@#C^5A@OZ3+_(.Z[VAQ43O \89C<][MX'E3U%-]6...G^"K1U;62]6B*H&AT M!H(I@\QCB=PA."DS$4(S%G6.0O:Z27>*"K CTSVE[!$.9!.,L(BR7J.^]7>/&QZH1$9719(-S,^WO[Y=92:# M]B):XT@V\V(4KTEPCA/K;!0Q.JT;=7[_@>$E4SSDD N2>0*@F11JMBO@<./9[YDH@X1S]8\X='"QZ AHA=&=B MD)IY29*&9:VIITP2RW!QG#M@O,ULO#%"=^M2G6U(_2+,YJ&A2^^D2^5F>Q0E MV>R,(,%;28 +<%XI;66;CG7]\)UH@&Z(YFP>C@V(:6 4?>RNX^UTBI)8X+K, M0C@:DB-X%%@B&1X6(0=/9+:0G0HY\3:7,#>1C*\2+1CK*HJ[Q1V7?:(]D4-F M/A,P@2+0R @Z?ZS4>;J<*,O<-AJQ]<)#LH?L)JV).G9(]O$W^*;,W)V$VSE= M)J#K>E-X%WHCG,+N!:3O13D !K&5I6DC0]"!P)49/2N52"6IT"H4DYK M'5EB<"8J\LR=WV-HR!#IUXP>E6N$T[O+OW^^3)8):[PF8#-:7P+*>!@H#2R! M:R,LB+"K+\T,XG]^[?[XK^43%_0O_V?._"*R=/^^8QJWA\J_.TAX6WV8HX65 MWG==^O?DZFJL^-'F^T8.%.U<[D9$2 BFG(O:IZRE F53HM3JE+17F3DS+"*T M^>810C\Q6FY2,$3Q6.XAR81[E^6"$XT?#.$_4?GU3["/9&BJ0S&>DL322G+,II; M$'PP(]EYJ7!'!D7_&FQ<6V%:$W5L#WW'V$[#91 L1A(-\/*).&+%7$'01M3H M6"K;8+4#Q]L7)WY(=)M$$O9-FTWVA@T*W7E M*:(GZ)E&3] K] 2C0-;0@E)MVKN>]F#C06SU'&P\1-0M[-*=TWV2T2"H$$0C M2"*CMF7 BR(4W4C/0J(0&^6(SF5 VCY&0GUN&O3O7)]&TP?,SST@;1!=.P=E M[2/KY@/2:(K42"=)B!Q/1H-;H]>4DB22C [W-QE_S@%I]7@?(N+:M9F?8#K? MX:XCO+W^O[MO]P-=@P)KM=0DE"GLTME,/'.&!"$<\X=AS MM@9)O:LMLMK]E#YV?\#5^@2P%:P<0J!<<>*X+@/%DB1>.$=BD,HDEQ,S_9C< M_HX7RV4EL8TR,NWBZJK[=]$ZU+[74TB3FP]=N3SZ^?;;-S^]Z_*[R77Y]8^V MF[-P=_$5K9C7N(]][:9W!V10ZKW\\'1*(T%LY%:BU($+I[--6HH8;4XA2VVB MQL>FY"[KP3CLO%Z\!A_[XT7WT-ZM0WL02964!1",<%\\'OQ&2#"^C/MUH(Q, M";V>)L?Z/FCK=P)^/\4WO%Y4^ET&I[T$D8DHPQHD,^C]&>-)5CYS(YD5NE=C MR K]@!_B&G]3;:Y)SW<*WIN8IJF= 8)9%G-EYY3FD9BL0NEH9(FUZ(SZ3%F& MZ(J%T#C#,Q3S6(F>T95L)!J/G?_9(=\9FJR3+GWRLYLWMXL11F5,D9=.$^M, M)M*6E0F!5JNG*-=L9'!M[EST@G?\0%!;5>E:4]8@+/ LR*4MW@=FTXA13Z#' MB24UH'JH,AW TQ'5"K0!%AFZ>$HI/ '*10R*+AZ5225F56:\S5S+HZK3,Q&J MT]&F(?2TTR)_-;^V\[&[6:);^O)&"@< FG@O-9$R,&)U$L1$;G.,3$!L4V:V M&]=)6/B'T_FTRM3@HH%1_Y0$!/W2*??&W\W6H0J>F4M1$BTS0C50.G/A)Z0+ M4D^90K-SM#UG"\BSUJ'J+(UT@&F$:I^ FA64QOJ)@(%(I-:&.,434=Q89H-Q MUHRG4%M _CP*58.E!@G8IZ"^_=>MO_K2O9^"OX'IE]_]M:./@8-'"9ARQF>. M A+<$^=B.>TI!:T4<[SI,3<<\L^C;/49W-IS?DO28?GC\I_@9_#?__'_4$L# M!!0 ( (J#!E.9^3_6..( .M="0 5 8V1X&ULW+WIDMPXMB;XOY\"4[>M.\LL4,D%7%!W:8O4DJTQI223E%5=DS;FAC6" MMSS?@ NOCL)T $&[]Q%*460/ /S;\L\Q2R65&86IS .(DBB#A#$.*0T137#&XS"XN?MS0F2,",UAQ',!41QS MF!.VE5G+M0/3;\\?_\ M\OX+NQA^=E\*>?ZQR[(\>*K6$FLMPU1K^2^7A/UXA?J. M]-V*_^UHK1#^HATUI.2]U[JHKO&['BHF'+@T>#@O_[ M']3?%D\5O"/DD/%MCM*W:(82FJ]5/)=M_/A^6YCZ+Z'NHO:/[CBCR(ZI&T M-ZAQ:5.C&>I_?'EZ>"#E,UA+(+N!@&(W.O @2/54*KN#;( D10F^D>63 .L5 M(* 4[*DLU0"!^AX6U;_]N,-M@NE=SF[*EG[G:JLVV!O+#=C]N!G.#6@'!.H1 M@>V0P&_=H/[?BU.U9@?J+[75M"Z/\5TSY_CN6*M2T-3@2E+1&IU6UH_:HOU1 M+#=5]Q.H?P*#L#7!_L694C^>O+^W98<,*=G R]!>\2-;*PF/&WCP7FBCW0^$ MF[6?5[]Y%=2@_@#6)1>E5&RYUL2KF9FI40"IAJ&8>3N./]O1K>ELF+&J!XP]D^TI[H4=+H)RRH*GL2HH_R%_*?Z_+54[59/XCR M]?J!%*L%$@(E.(B@(!F""*<$XB#-8221D#B,9Z&\ M6WU31+(NG_4NZ;O5IW+-1%4M, W",(P9E$$B($H"!DF" HBC "5)PA@A1NN\ M7\S<%KI6#A8K^-BH9V==7$#2S)BX'A_/"WVKX$V]GZZL,- J>:.]JQZPK.V% M?BRN%W5_WGSCZ?B&UEJC^G\ M3V^_%]4BSXED/,@4N+'R7#A%D,I40!XE"8ICE(32BBC&JS(W,MF-I+&UR:K] MRY[>RMY6FAO:$PYFRXR,IID#SX3E GYKZKH>.:?T=H4ZDU+@]; =TZ2#)XZC MTE=K1=#EIJ!+\5K0S2_B@8IR(:0,928HC!AF$-&,09K'J3*GE-TH"K:4=RYT'THS KH;'M]=TA SXK5'1(1/U0N"49,Y+FI0_>@=[ M3 W]%X];]>\%J<3]>LG?/2C?X5N].5.UKRPG(46(<2A%1B'"B$*2<@)%%K,T MD$+D ;-9^SVRYL8 6U5!L:>K'0_T06O&!HX \\P).ZSVU?3 # 9P..6'/GF3 MLH3!P(^YPN26<8SQEA3E7_0Q\B_-X7)S,M7]\'\7HE2/O']N-PLS$J,@BB)( M(F4Z(,)3J,R'"(8XHISP()*YM.$0*^ES8Q6M)Z@5O0'[^M^ W6_ =@R6F[;C MYL?P'-X7ZKX/W<_!JOVI#[=_<;CQ>Q5,;L_.K328]J!\##@GI^*C'C*.Z#Z( MS;L56S^(]^NJ6L0B2!@F&506D2(RJ5RB/*8IC.(P"V**HB#'B\TV^&IP21T\ MW8JH+L21N5PW2CFP[-L:-0",Q@DE&14PB E1UF.20<)% B.*4X%C'H1)O.B" M1#W U1O@ZAJLHM8-_*!!^^,UJ'&2)#C*,21QBB!B0:!>,Q9"*N(P92@.E %N M\[T<_YI-\#UT\9J9?->^.UJU/X+;S:8LZ-.&:!=[LP:?2*DX MSMTWZBP23K]!AQ(F_<:<'=SQ-^3\17;?",:_5XON./--Z]1A',<)01&D2&"( MDC"'6 82,L5VZB,1(I3G)FOWW,/GMG2WQ^=OS!;O6<#ZU^ZU,/C>"MLB,.SJ M#D/!VTRA.A#&&R0'4E[TY3#FK;XA-[2EKZBY*$CCH&:BL_=,0D1]VG8\U'N- M'0UQ42S>K#;%YOF->M9=L;K[N5S_OKE_M7YX)*OG!6513"F5RO$.E='*,P+S M+,ZA) %-4B;34*0FC#0@9V[DU*@*.EU!HZS9ZAR"M)^S' +EF;[.8P1:1:]? MMX9(G+$\*L'^=+?^]J-Z0F-TJ+_4Z[M>VT//G629&PZN6_&FEX_S4S\^*J]W MHQY:[_E]UNFC'^6OE:B#Q!=IDO,@"Q#,DS!2/*!%SS/\BCD'&:9WAD+6 HI5>22!;$,)N:8'9)?&B0;9<&>MNXXQA 6 MIRPS)'-2GC$$X)AI3&\;QS5O'AZ7ZV,E4]JG3!E.XI5 M57OR=MPR#+09NS@%S[>WT^H*RT99L*?M#6CU=<87)8W<9[) MX,!/DTV&;['/+OVL)EZT&_9YSDB2A"G,*"40(LG@"L@\;S81Z-AE4-Z9NQ79XWN/W.R/-$S M ]G/##WWZ['G'[>/3EJJ2T;\M=C<=T>J]<;GJU+P8J,C/-Y\UWZR M6*2IP CE'(8KC\:2D^RE?K MAX=B4\!"V-^+V$9U6=3<&/NK6)'59K^L B#+Y?IW7D= MXU18U5,PDCHW#FF5WJ__;%E/VPAK,Q9QCJ!O+[X%;ZOP#6B4!;^U_]5:@UIM ME[6T;6!R6TG;2/*T=;1MP#BIHFUU\\A@S%_>W+9G]9)G$:8\@WD64(A$C"$1 MB$ 2I5DL YSBV*H*U.[1A2BD/Y9I.Q^HVVG'W M^&G#&D^&=1*_>'K%V/2+-1."5V^5$E^(WG52/WD4Y>;YDYK S>V*ZQ*0CYH- M%CS%:1!3M4QU^PT49"FDL3(,4*@="R%)RHR. $;(GMLZ[E1O6BQ6I-E"?6S5 MK_=/1:>[;5J&^828$8(GF'UO$QT@_*5%N--<&11:]YL:Z3>#2(_(W[#&S'$N MA[G\B?,ZK($YS?&P?\38TMW?Q.I):$%GSU.[GC9J$A!)&(&)C%.(2!S#7*8) M#!A/*0\RIEY6NSK=1G+G1FJMVLV*.Q]@8-(#YZJI,*,T#P![IC-'V(XHNFV% ME.,*VV:R)RZG;07(:>ULN]L=QYPI1>)UOU[ M.Z3&:-L=@;2A''[VA*X >9I(M1X]YA&R-@R4<>R:P:/&!N>_+9:B?$4VXFY= M/B\0CU.!,]V[.(L4%ZKYH"Q&D)"B<^"YWKU/WRJR@?PD6 E2=&LQ@2?8J->*1;!80QC*GZ 8URDB.KX'I; M!>:VZ#N-(6E4!F6GQGAXSF\@:^R1>;0>:QD9*#$"Q8W,H>HO]Z1Q7/&4>%M%YSR=EU^6&^$ MCO9\OR:KO3"AKFP&XGF$,9$PSJ($HHABJ&M=PYR1B/$XY(*3Q4K1?;8YE(9 &[9!E"*=9%+EFL_DB4;QV0'/(\B!B+ MPY#;%:%R#/J$7YVMYD"N2\":-"-=8-LC^F:?%C^8>OZHO"U62F7]R=AI>0,. M0=[+Y?)01\8>-J,*(./Z/4A9,; ],E(RW3^6JV#R5 M72&$0% I=6.MA.2*NW H()4Q@9QE,0JEB')AM"]H)FYN?-4HO#N,K?>>9*>S M183Y,-#]-.4>/M_V;H/D/R MAY\R732^\8@. O'-[QI;59 *K@SOUZ)4M+XIOHF?E8/P<77Z\X6B84YU^P82 M!;GN\)- '+$02H9"$0J<);'5&8VYZ+GQ\JM[79E%=TJ7NH'6M[J!ELZO:C4' MM% LS>J* 7P["IULM;Y;%?]4/U6WKC?WHFP;X]@6*#2>,S/KT\],^-XD[<#> M:7<#M-Y@O0)G?NFR>J$M7([+&!J+G[B>H2TLIX4-K9\P;&CV7CS" M[;Q5P 2?OORJC*E//WW4<7NM!<]D+!&/$LA2'D 41%S7-250A&D2QF$H>634 M"Z)7RMR,&:TF4'K6]KS2U,(GN@BD@3?I A[/B_X8F3IL=XSO>!$G"Y?1!5X3 M>8IG<7/D%P[!T.L.7KQY.B]P2/\#YV_PXI&9E-LB'76-^I]()?BKO7+IMV6I M_9LZ<_.GY]TUG\AS[8/^3DK>EIIA)*52?65$2G6H2J@3+5$*<^4+*H<0T9AF M5MF6KC2;&\GNUZJIU894ZPWV!P?V1P?H\\&%[0A!/42[^D'NI]W,IGN1R?3\ M29AX'NVS2%UC[C;3U)EVTV:CN@;U)&/5N0#[VMT['?1FX^;Y%[&Y7_-WJV^B MJJLXG?Y4B ]JI=0%Z^-$J6(FJ:JL*5/7*P@F)*(MRF#.:0T2TR9N27,U M/FES([5.MU%M3_IQ-30L7:'EVU@T!,K>RC,!P*WEUBMQ6FO,9/ G%I;132.I M8LAFNV2R?7C2SGQK]%6WWTBQU$;":M35+EK;;Y)T&M?>:;?G8,]SXI:^?2D[+?-[AOSDH^%;WLC\:E+= MZ__7UN\WLA1U2 MD*795VA:]:V^3=M!>/PVB0W@K=HZ"HBI\=W4?]9AGNTPZY.3<@M"_7O+S.]I M7Q*S[]A\I][SU^U5/-_^=3LZ-4?5W? M2S4=Z'^EM-C8^"S)NVJV(@OHOQ6,-%H_KD)]-07_$7' MABX$EE$DU.=3QF$ $>61\NE2 BE+4"+SC&.2VD66^59Y?D%J7==C4.GNZJT+ M,+[+M_/7\$;S^]>W5SWH';F=0WNV];G3ZVKG0EWNV8'*:.302\ MVX0SWTI/FZ8VT12<)+=-)7=,4S/!GLIB\_SQ]Y7@']:;SX+P8OG\"RG_+C;: MB?SE]ET;/!:B*)L5?-BJ M67M1FV=0->,I3#-[;<'O9W>/D'H_LVB4!K760*D-6KW!3G&@-!\3!VF!KTT3 M,R\X3]7$S!1O5SW,K,'J[V%F_K@)>YA9C_&PAYG][>/";KYL>6I_FU!7 MECTJRZ<\!2'"E$%)$@212'6(C> P4OZ/I('@>6I5Q<%&^-PH_[6:AV)9Z:W^ M(_;7HP)?++E_U'R8F?>^4/;\%3B"\69WE *550[KDN$^"Q^.@0II3# M(,>)I#B(8AJ:NZ.'#Y_;7ZW MJC9E/>=5>^9T=-+TZZH49*E+)L=8MVV2Z3=S]^8VJ9X_ M D?S67N-74^CS3/8&_/-+K[A-*AA-_0V *+]1SUZ\$,S_C\JA].'JSGEE#EU M42=1?%+7=LJI.':))Y4]LFA->4=6Q3]KZ^75>E6MEP5O(A)7_)-:UIUE\U&V MA3G)0W;":H@9[ ].[D-NA@=W81G>;Z6T+2MO%X54?*M8< M=7'D3OGF5,JDW'%QD,<\M(WAK=: S4PRS*JUA-B:%)Y M!-FW]338):;3O\XLJ-,1]! FZA/3 ]YT?6+.*3&?/C$]$%GUB>E[SK5%Q[2K MO5*OP7/;0> HL()BG'&J>V/Q%$&$!8%$)T$',9-1(EE(0LM8>5/1\Z.[_7)3 M6]WK_-CU2IN;8PN #4R!&='Y@-7WJ=4Y/+=]2;R&M-BBY:GPUH#P%ZJK90;) MY;)9AO>/S Y:;0I>+)]TW>G=&<6;[SH;2?"FF?+#XU/G%;XAI6ZPI9.8ZB#R MVP=-I(L4ASB@3'EL09A#%"9"EXPA,(KB+*)(_0 9'8\[U6IN3M]7G8';56T0 M[5@ T?FPFP)VPP4_-%=8=@5T,X]FW#CY['@FSOWQ[!W4@6Y$76OX[9@TPW:C MTF9BD_=S YJ1.4SC<0FTVUP=)YI-FY#C$LR3K!NG#W?7FG[;U/FS4!^1)_%Y MVZ5#<3:30D8"$J;3-E,20I*P"(H8"Y2)'),DLS-%[128GT&J9D.NRX>ZO=N: M+HN[>K8JH-.C*ED(?GU_^I[Y,.->?QA[)ME+7>GWFL^WZH.=_GZ[S0_CYKW1 M?(\*+]YC?A@>D_;R!D\91W>?12743?K,^K5Z]')=]Y!Z\UWG,W9=RY(P3FE. M! MF>L O3U]0:NPP^YP(P!R2E$F^ M5-FH#1X;O2U=W2'8#;U8AV#Z=E ['/=;$;?:@D\#&-I[G8; N'4HAX1.ZRL: M0G#B!IK>9U_"_FNQ:38#>?&MX$]DJ8VL^NG:1[DO'K^NWR@G=//\>OU BM4B M9$RBG,20"YSJ @K*O8L0ASR(62X82@3FIE7K+67/C89J]9M=\6X X+=&58MJ M];83T,]"GF'U3$BC$+4J3#\2FZMKT=O*G:S\_$A ]BO.CWW$B/RYSU]N*V4N M?_[R:Y<%16.J/*\XA5F:1CHO-H>Y3 64,>)9C')$8F;FBIT7,$.O2^G6Q/PK M72WRQTZQZZ>2Z_'P[4 IW5H@?AV547>*B$5.W57(3)159XF078;=10!Z<^Q. M[YHNR^ZBQ@=Y=I>O&N?.M1&OJ[N=]5:]^8>BR:_KGTNAK+CRZSU9X> U>:X^ MD6KS^JG;]0@$UUTT YB*-(0(2PQS)A,8X"@*HUP97U%@X^>-UF1NEA<.@=:Q M?K77BG7M'+WQ$V+F 4X"LV=NW<7XUTUD;T ] +!9@[HJ?#T*L%'# #AHYD*/ M!*BA>-BVNAI0IR[E>&TF]36O!NW8";W^@9Y:A5QL[];T>%-2=1:">KUUFZ/6 MBZ)(2$:EA&D:9Q#%"844BP F41P3$L<"D,*[*;MV#%&T7EUZ[@":NM.'=?(&AEJ4@I>;-X25I_L M=CN.89JE<9+ B.N.3C1G, \R N-(A %)HT &5E1]3LC6U('GF.VM\[ ,[>@!P&[YQ3M"T01H]0ST)Q>B[=N1QIW8P=CG8@4Q%E"9U M6UP$$>,<8H0I1#D/&,^PC$AL6?;_0,#\-O0:_2P/*P]!,SR:' V$;_.E5LQ+ M#OGY,;L]8SP4,>V)XMGAG9P?GK]J;(#4]NCQ^:LR%BKU2+W1;_DR#CUF1J_G M_I'X,]A7ULLK:XJ,XQ"= :$3Q^>807 :G&-XW]A7OXXU?*?[%I#E[>/CLF"U MU=ST-'CU]/"D3[V^M1UV:@WJ%@=U;LTBRE,:YCB":1(2B'C(8:[>/1C+*,]9 M3$F<8QM+]CIUYF;SMJ/1S4SJ\8"] 74]O'9#:CMT@=V@VDPT2QOYRBDUY;JI M)LH[$WJ>HQ%DZ0):QU1ZE4H3$ZT+^$YIV,E3QU:V/&Z!]G%S+\H/"I FT;$+ M'=?#> .H151KM,7-<;=%"@8FK M)MI#@*2J7L#7CS2U%/X5)#?J=UUA!?*TN5^7.K_P!JS6*P&*JGIJBR^OGS;51OVE6-W9 M4@9ZS")]E]JW M(VH"MV\Y5Z]']4HW>"N_KG]?+8B@!$4D@PG.,HA2(6#.,PD)BW%,$<(1,ZK, MTB-C;N31J E:/6^ UE1'PVE=S1L270*T?]D[@LGSLA^%D%5+H@$,1K4DNO3, MR5H2#0QJOR71T*5CM[4WI%@)WI4/::-=211BEDL$LRS-(6)8]UX7&:2$IBCG M7&:Y5=7S\V+FMLQO&6NVIX3.RI8%*ZSSV<^B:;I3?"U&WG> &P5WA8I\I*GW M@>!XK_:LJ(GW8/N&>[JWVGNUJSU3948\DH*_;HV)-K_]=L7K38[F0'D1HB!, MHR2 ."&*(7!*(K!:RU M!J)1MTU5J+?]R(APCY'S,W9OU1GF+[K+VLU!5T]#3T&S\SH0<>-@I]4&0<][ MKD:JO/#NJPU^[B1T;V*DS]*W>'K3:4[OGPJUTJ#S?-"]\Y*NH%ION? 5&K"AY;7<$/RFRI_O%$2@&D M$!O;8KV7L#:C.Q<(>N:S#CRM)&BT!)V:#F.&!X!P&SU\2=BT<<0#0SZ)*!ZZ MWEVN?!,SU&:4=NF;.4%9H!S/+"8Z-4"$,$]X 'D4DB".TB"55F$[AG+GQB4G M6=JW=_H;/RY;R!1[,S+Q@*AG;AD+II-T]AYHO">OGY/]XJGJ/8"8)*;WW3XV M!N?AH6B:G>IVILH\4A*5P52(2C=^6:ZKIW*O'4@D>923A$ 1D12B)&4P9UD$ M*<94Y.J'.;'J/63!C*W_H>B:M7F#!3G=/C:#' MX>8XYL=*A8FC@,; 8891+I(-@Z15#2H M7+PLHCCB5BDO;M6;&TWNMUIRU#UD7%:,X[? C(1?;FX]D_1+3.L5O;9"]W]W(J96S0Z9H)P:M&V%+]:EWJE[!:I"&GF*<$IF&(=60) MACE/)"0Q8T%.28:%U5?AHJ2Y$?R']0JJ%?&TXG71_#85%:QC1R]A*T9 MUSI!S#-M=CIVE+BGI27I(V<3CIP*!/@TJ';AA-$?\IV*9KJX)Q MHC?O8!(C92RF.-5V8@@)R5$48!Q(;$L+NZ?/C0I:Y49NUAT"9[SFQ\'A?YV; M(3%F<9^.V/6"WI,P]2(^'=R9A7OFHI$[8.2QV)!E'4[!BXUR.JMW3:X;_^EI MTYPB?B(%7[ T"M.8$!CP@$ 4Y 22-)-08!X%(4(HRS*KO2]#P7-;XJW>31!8 MJS@H6LT!?=J 57L K\-5++?!3"?#< /, \2^M[Y:=/=U!N_VT>W"&S[UH6N_ MYV4)E=O=+E/AT^YS64)RLL-E>_]H:Z,^I-0U"S>W*_[F'T]%W;WI?;$2[S;B MH5J@1% 5MUJ# MW[3>H%;D3@,_%W?VFVN4(+VB>ARP3$G+&Y8K%1)[R MF$0RS*SR=;QH.3>Z:RHG?VN4!66M+?BAK2%@&7_E9UH--\]?>K)\[Z%KY6&M M/=@?(=@;(J#/8/^Z=IB@'N)-\Q_0#A4T8_53^,#K9+@OF>U 8\A@CB+)00")UB@-.)0:V,!OX@[+?*S>%R76N"[E?K M/M2TJ@S>YI=-J!<-@BS@B5#$1R1$-"(P#V@*HPQ%*YT=]^ M^%>K)]B. NP-XZ9V8-LKKHS;,Y\Q0P/2[SSXMA^]3,$5,7;6('H*I#/7XX6B MY:R!NAP29_^H:Y+8FMS:3V6AN/F1+%NOI5H$"9$D1 ED6-$BBGD$<8!2R 7. M&,49RH/8KF9*K[P1SK7O Z96,[T6EW4:^GKKF%4 @G8XS>\LDT/ZH<\(YI)2 MUJ".9"AAGB08IB@7:8YHGG!BGS5X#?#3YPHJNJNC#N5R_7L;62>] 6[V:7$& MH^>/2/=BMB44MJIV.Q(.HQ*-(/&0&'A)X@ND PX,_GP2X-!-8PM@OENI):I[ MR7P3K\F&O&H*?"_"4&1YF&%(D"Z]+1B%5%(!48 S3L(LH\BH0?>0H+EQ25OH M<4]9H+4%K;JVU3 OH-O/'BXQ\TP<8^$:41JS'XLKZF->>/#$13+[AW=:*7/@ M^G'VW87A;V/C\I0'.8T89"32A>-(KDL)A) 'G.0R%R0G5OMJCO6;&R$-'ABV M10&; OYM_&E3W?_V8?UT5:2CZZDW([X7G-"7/OQU,Y?6!.L)<:>T[%K'2GBN]^:AEOB]V5QHN#K^L$OR;/55OIJLT' MC;"(:!!1!66<0B0%@IASJIS1@ =!2A.)C?:E1LB>&X?$(4P#H-6\OAK>);AM MMKF=@SC)IO=>5;PXT&&0":XQ!5IMH/3VT 5B!%[>2^5=DO_BY?(&@#$IF3?T M"(>%TMO&F,_=_KP2]C=!RJ]J_L0B"W))F.XE%>N^=$S16)['BLL(2D*6A3'+ M\JM+I/=I,#<*4^\G]6KQ\V7,3D(P*GAL]:&P;K;KK>5,CI:F>KN.27SU5&^7"E+N: ME#(56,0T@"1)E7G&LQQB1$-(XT2R+$UIF%B5/C<5/#=B:_4&K3_=&YE_'>)F M].8#1\^LUD'8EDAJE :_*ZU!I[:GTI^V8#ENVV4H?.)&7G:0G+;VLKQ_9%CO M$UTVC7+TULHB3-*BI@V0/7L\$YB3\]?=95Y M\4Y_*,GR]O%Q630;TNTF=-.ULO@FWD@IV.9K2595_4W=G20E&0T0$AED&8UT MA8 ,$I2'D(=9ED0RB 6W*DI^O4HS-4EN0#LFL#1YPL9:1PXP]F$W7:/62UA4#F"\8&NY>+)]4.GK-7NJLPW4 MK0OE[<4((0PY22A$A!"(I1 P0SAA/.1"_8]I$.G^@^=&K9UN0"MG'B)Z@%4_ MP5V#@&>:,AN\5<#GN9&."O \>-!D 9WGU-\/X#S[^W&6T^NB(G=WI;C;GM_7 M:[_.]=GM$:0AEH@S 466(HA$3&">*@H-98(3CD/E)5GM.QM)G=TB/5"Z:;56 MJVUGRY@A;F:N.,?1]U*_!&&;3PB\;,=8H>34IC"3/*G98 7&L65@=_/8?NOJ MF6I"GS^3WW\A:F$K&Z1:,)I*%J48AI&,(8HD@U0J;RWF<88D3RAG5L?V9Z7, MC7&4;N"A4\ZV*_HY%,U8Y6IL/+/(5K\;H!':JG@#?B[7E=/>Y3U .&Y-?D[2 MQ)W'>P9[VEB\[V*[A<_X]VK1;>K^OK>INSV0^B!^O]6)*G6?#N6$U+G):E"[ MJD5?U)^5+ 1O&6GOV&01$IHD21[!("<8HE@?GY-(_5,Y$7&*A(PX-Z$.SWK. MC7SV]#_(0JZZ(30'*ROQ.R#;08-B!3;W0H<=ZMT%"%AW[E+:V$J^7XE^'IS1 M1'MFTO.G8@?G_FJH8#?6NB;D]K78#1=LQWNS->FLCRY]SSIOW::F.-Q_@=D_ M4/C_QV^!\8=YHKEI/NU:6/V]#M(XJ+_6OL5/\KV?",/.8IA*W+5EG)JDV+\6 M7.QJ17U<_2S6=R5YO"^8[NI=O5^O[MX7WP2O SZK=ZMW*ZX4YT]D^79=BN)N M]4HGU91J(#\]-W]]WNM[FV:A8 &%3"+=F9L$D 0AAC$F-$Q3RG.:+;Z)DJ[M M*T#Y5]^&N/8'X?& =J]RD1X:K,?6!.-6NEC1;OCZ\$,A,+9BU 0OA^%A^4PG MW/=1_-Y,[Y7I4U^*&:6M--S>5B7!/J,,)3_U0HY^X+6?&E*%^MVS0/B7&<9#*"/$82(A$$ MD&99"(5($>A]X$;T7CF"RP88% M]$+#@J8PQEJ^6U4;LERVQ0MQ2%(62)C**(:(*L.>IA&!,I4QP2$629084Z!3 MU>;&G;L:+\6>EA9LX7;B#'CXQ:;#MUU]?>>8W62^F\-D6GPS7FQ2)_K83#^Y M=M\K+_CW?NC<2ISN"^D%J8-/JQ\)8[R+W?[?F]4_E9RJ-08#BI"(E%^*A8[/ MCM(44H8(I'E$ IISR;!1?':OE+E]*?>WV5M%;8SJ2UB:>!X.$/+M?9R",\KU MN(22C?OA *VI7) QJ%DZ(@-H]#LCEVZ>T"$9T/_0*1FZ> 0)_D26^GE?[H78 MO!8;4BRK;8<6F5$FHXC!0,8(HE1(B*DB0Y(23!B624:,$F2'!,V-"EM50:TK M:)6U[HHS"*\!-3H"S3,[3H27!4DZPFTBGAR-GQU7&H#22Y=]]T_'F :C."!- MD^O'UB-O"QEO6UE\46_*4[7(98)RE@ M^7E!<^/-ML!VJ^Q>9Y=&7=MZY!?0[:=-EYAYILVQ<(VH1]Z/Q17UR"\\>.)Z MY/W#.ZU'/G#]&#.J6&_N14D>Q=.F8&WQXM:X9[&441A+B$*:0,3# .8!P9"+ MF"511/,@2P364^C83/TGH:QJ3?>NJY?T+K:7@4A]:3P?7CPN%N^7\^54T'Q<]- M7^>O:]-FRT0'TC.>Z)9=NFLV2B$- @[#F(8RY!AG$1K1-?L*E8R6Q7^IYMEV M\6O7S&8_CT\U.3,IHOY:L+*N!#-5ZVP'N#J-_+I>D#N1P =QR7Y>*1X]CX ML#S?KE4?9@&+I(1QPA!$),T@CF0*DY"+!!.2Q7;]L\^+F9L?NZM->=RC;]=6 M9TR7O@L@F_'?]=!YIK:3BI[N^_'U8^"4ABZ(FI1A^H=[3!X#5X],6CC?A6'W MQ?KI>7?)Z6'M1UG_MKI]VMRO2]VJ82$#DL<1%S".=(L^(4-($Y)"9;*E 8KC MC.96S;F<:S@W-MH%1M0V6P7(5E7+' /GQ,T[BMQKDSJ-N=N5\/K%=FP^U\?=U;NUW6; M9??J7FO^;O6FVA2Z"L5'65?ZTLG>Z]6GLF!B00CA)!SL1XT?'H$NV'KEV-;^;$9NGX5NL'K M;]K>\$$]?G??M DGR^E7;@J])_WN33@1QU_"*46/K1=<;=1C%)6^(M7][:K^ MSYM_/!7?R+()(X^S(.(TA8P+I#YG<0SS.,,P85D2YU1F66K9AJ!?X-R^2CM] MZ^V6&\#: W'=1G*U7D%FT\[<&':S#X)+,#VS^1Z.6LFV"Z?ZRYZZ+BOKF@'C MN&[N@-")J^*:07!:\];POG&$TY^\NXVF8W&2!3(DD#.>M?LP(N:0BPAQ'O(H M0%:T8R9V;N1CDM-O&\AH.1%F1.0>7L]TY A9:V*R \HI/1F*GI2D[. XIBK+ MN\<1UB?UWGQ0;]+M]Z):I 1SR2A6'GZBW/PP56Y^J&,G129IS%,:H/F> MO>::OK>B/EOZ7-S=;S[*7RM1\\ BRK(P(6$&\S1A:N%F.:0Z680CPEA*0B2E M444. UES6\*U>G MX5,E &F^:A"T V@/B6]TP,V8MK?GT39;ZHXP]+SR.Z#: M$^,MFDK5KM$MD6H>P2UCC3.OC8<'';7[3\=Q, : >>AK>U[>"_2Q[1WX^;ZU M_;>,C JLE]!;4I1_(&9$F,8RM_ MY:*DN5',U_6&+"VC\2ZB:$8>3K#Q3!V-CC= :PEJ-??*M3D,CQN"PFWPVT5I MTX:V#0WZ)'!M\(:15D?WQ'>KQZ=-]5Y\$\NPC61(0 MR!,6DN>FSU5*]Z<->LE6NB^DI:A_<:@FW&= M%R@]4UR#XBX-8+^)0TU]6G&PU=QA6H M6&XS!8RE3YL\8 O*23Z!]0.NZ,"Z M[>O:Y.0O:)HG24")(J240D25=49ED,"8IHD0<1XFA%EW8ST2,C<6VC4GW;5% M;C0=T:;U&-!^VG$%DV>&&8'0N%ZN%R"XKJ_K\4.G[_%Z85AG^[U>NG;D&2^I M-J^?1+-QK.CDLV"B^*8;(%1'W4@33(.0< D#GC.(A,"0T( JYRQ'F8S3,,JL M^K\:2YX;'7QY>G@@Y;,.HKUE3%?5K\!.>>T^W-ZI\5@>&AO/@^&)L@]T)SET MTA;*3EN=K5AMP&O/[6&MX7)[6&TL?=J3;%M03HZYK1_@(DFZ"S/6G:3:9$NE MQ'9/ Z59B#,2PS ))$0Z:07+ $.<4HD8CC%/[)PK"^%SH[*CU."KTJ8'8#=T MKSR!Z9FYWHNJ$HJK3E*M]S(VVA'<-%SF80=I#'8>4[,'%'C!A&TS:/K3N V? M,?*P?:G<.'V0_W9=OBH%+S;OU^H%JSZN#.P#QG(9,35!6:SWSV/EH9$HCZ$( MW+DM"]MP^747(X3$<%(0TN'R<,;IGZ=ZN M^)>-(EQ=\TPQT9NZ+.&"D1S%>91!EF6*)Q-*(,UR M,L)BQ 3 @4+C8Z6-+, MX!P2:$686['^WN@Z#A0L=UK7&9[5GM[_LZW@:&=7#@)O9CNZA-.W&WV$X9M^ MU*QM/E,HG-IU@T(GM=U,(3BVSXSO&V&#O5.:KW0U@/JQ'Q_K(B;M9S#"3*(T M5Z97C)4W2PF&.%D88XYPF\@:&XV?G3UF $JO0=9W_W06F<$H#DPRD^M';A R M5CX)_JE<2U%5ZK%D^5:(JFV?H CZ@QI.\X]%'*,$QQF'H<0)1(AGD$J90H'C M@*7J9T)*J_U <]ES(]56=?"XIWMM:*R?-E7!==GM\INNLB6%]2:@Q8P8[OGY MP=DS(7<0[ZL-WO;!:;]S9P^,VXTZ"_G3[LO9 W.R#3?B$>,HK(FS;0Y.!-6/ M;@S)+T(]?TP4NOD#9[1<]I36)>;I9L_O 3O-O9P7V@/F=!E9B)]T%=G#]<<.4I8E(8"!2]9F/ @D)CR7,9,RP(!*G9FFX9YX]M\]X MIYU-@_%#L S\G_$0>*:,3K$Q/LX1##:-TD?#,56G\Z&7PK(Q^=GQ]G<6/[QE MPM;@9W4][.U]_A([VJG*S>+V090%(]N.W RG),%$]TP+(6(H@UC= WFD-VYB M70/ :'OF]-%S(YU..[/5=@:J?LZY#@#?1GVKF,-M@:QDZS#R\/IEF'/%4X[0.AJXCI&G-V+CZN.Z!,Y!6]]I[,-OTV"],K$A9K)ORIB%+4XX2F!')(9(\@;H0"0P1ES$F MH?H_H^V3BQ+F1BR=;E8E3B_C-^S=7(V*;[O&$! K%Z=WT%=[.N>?/IG#TSNX M?;^G_T)/#?"J2[V6VH/8-]]%R8I*5.]6G^KF.'\5NF*BX+??1$GN1/?[IDU- MFNBR["&"ZGO,( I2"7,682@3Y3Q11C%CH=/N>$[5GQOY=+H"TB@+1*MMV^5( M]]2KXQ'6;3Q"]WL.?GBJN.YFU#3=^Z/C3GMN7YJKW, 9O H3>I*7>O15 TWZ M6@ANP!8$W>BH@>$&;-^S%HGM5:Y;'KW,'$[;X\_M$.;@&WN>'NON@'ZT<-$> M:2$BE/-4F\:Q3-3WC^8P%X)"'G#)8A+')$K&-T.:V_?I4NNC:UH=C6IL-".V M/FICY*MCD1=N.Q+Q@MV(+G'#A:M&A@=R7E>((MPY+(V.CX7U=_?%ROQ3E=47!"6A#B*"90ABB"2H8 Y(@1F692)+,L#1*TJ M=E\6-;X31(DHP%=H:% MJ>CY61K'28Q?#A)!!U(:KYL&,Y;Q :UGSCF?&.HE*MH6G4ES15\F(MH6$MO< M44=5D]ZMF.Z%*%Z+YK_O5EUYQD_D61<,6:2,("$(AIE(=4?GC$."TPQF)(P0 M2S*2R-B.I@9ESH^?MC4K'QL-[;AH&&0S$G(*G&?VZ70%/W3:_E'[15L@/PT M.2(SPQ *ZF+HT@DRC6<0P($AT.'@B1HX#S*+&K?GM1TMQV>G2? MG[JHH(X=J%6U,WPN0VIF\#@!RC.C=3KJ\_,&(_";E^*+@V X-6PN2YO4H!D< M]+$A,WR#BZ-=Y9+I_VA7[!M9ZE/H\S_M<@9YP!D. ACR)%$^% YAGE"AC!Y! MLBR.,I0:-0!QH#WO2D] M'ODKSZO'0>;Q=-M2H1<\"Q\'7?_)^QD6/Q:*W% MM!&*8T$Z"3(<_2#[5)I?BE7Q\/30&AR",92G&8,)33E$H1 PC\, QA$)4$:P M8(E1B.#)D^=FYK7*F:?,'.+4SSI7C=XSF[1Z.2X#<':T5^?&'#YULIR8LX/9 MSX4Y?\&(G>C;NU+44<.OR4;4.5@TC#$*B( AP1E$E#%(0Y1"EF,D18!S'IG7 M2CUY_-Q6X59!H#6T2F.[@)_!=O15J'A>G>X!L=B2O@J8B?:D[0"RVY6^./[> M;>G3NZ;;E[ZH\<'&].6K1H84U9VRSO=2>M[KI/0W0=VT C2QVFC3<:!]!)V-'(QXRIQ4B6XJ.LW:O&W5I@ MS) 02: ;L$408>46X4299CD3,B,DB!*$S,LQ'C]^;K2D%=0':THUFVJ$)Z@9 M6&!78>%[MT7#\%$V6RHW[4;+58#85&B\!IBIBC1: 619L?'2^/N+-I[<-6'= MQDL:'Y9NO'C5&*)2.M6>9Q2$N-V/2/,,Y4D601YA!%$4)9"@0/%5JKQ)]:\( M,R,3ZY* V9%5IR+0.MHLSS/@F3#6=9#XYJP#-$85E3T#BPUO70?/5,QE"9,E M=UW&H)^]SMPW(7]=UOJ0P7JN&[/QE03AJWM1D4=!_MY57)0"I1%#'$J9Y,KH M2@3$+!,PB0B6(4X1PD9A"1(QAL?. M F.S!78E0!,QF>&+8[G]U3/V_AVPI).:JMQ[I>53\)N2Y%<]U7\EU4OQ2K=:F\UWY6Q#M!#'P= M1$KKT8&B'@#8Z/%9Y]%,-OF"2L%8GL"44C7E28AAGJ,4AB&-TC2D- XM@TYF M.OW3A*LT:H,?EDKQ/_[7>A/,-G=G.KN>#8AN6M_7TZJ_$V W=+ ;>S?C;0YJ M,R1PT,BG?52-S W0+9-T2=/UDK<0+C%*F/&8XY MQ,J&45^TF'+&4DZ#R*H0IY'8N7E_K=8WX*[1NXY])@>:6P9/FJ%O]@%QCZGW M3; 6SI_WX#Q4&K1:.XR+M$+);3"DF>AI(R"MX#@)>[2[>QQ%?2K;:OSU;GR= MDU/=/BD:+(M_"KX(DR"/@US /$PH1&F00Z)N@!&F$F68,I):E5'J%SBM MAJ#'YH?61;M'4#=C)+<8>F9BG8PMH=DC:Y@IZP[!C(#Q2GS M#(B?+<>*-5#C3:F5'#*5S]+' 5")X7O.'XC1?WQ;&>6<>5 M8'^Z6W_[4=W3+&'UEWKEUFOV]$F3+,^+ ^A6XN4+KBYSUC4Z[BIJ14DNTERF M$-$\@8A'$KDF3V_?$SRJ5_106V\3U,T^XHE52]?%I4VW4:Z.LI@4E MZGU3/@6,PE39-I%0U"2%\C!DG),X3B6*DD43S_ME0\J-X5;JL1R;]7,LS=]2 M^DG<%2M=6 50LJR+5(W;ESB%E4M$1)00B#.L>^U&&23J"P #F8=Q&LHHXK2% M]6:]UNP)YVCIL.G1NX^[Y !U*F;]US M;I!GN^N-.E+L&?I[*93K"SZE9 M>*U.DQJ1C@ \-CE=/7:D6__T^+A\5G(?BCH J\U8"+,$$1JE4,@00T1(#',I MU$L;A30.(Y0P1*P"I,Z*F1T=UEJ"G9J6ON=Y+ T=T*L1\LU:Q^ XS%\S \&M M1WI>U+1N:>]P3WS3_JO'K?^WI"CKLF[O5H_*ZWTOOHEEW+ZX68J#5'=@RKA M$+%8D0!.8BAYPF*99H)*JRJ]/;+FQ@2U;O_C7\(T^%?+4BE]@)HQ@2.8/-.! MUK*K_M@H>@-J54'L@1@,,''*#GWR)J4(@X$?\X3)+2.[/Y:"%YLZ@KMN-5"0 MY;M5M2EK_WV_/8"(HTB?!*"0*^,ARM7?6 8E(@'/..:(IU:=((W$SHU";I?+ M]>_UEH-TN]MA53C]QX?UYF]BHPTGH<;*M<.E.SE]5N[50L8BB"C*H0P2 M"5$J0HBUC8,IXC(*<1AF5H[.&"5FQURKU9-:8G4 4M'VP:K #Z0"1-=GTFU" M+4_E1DV-&:'Y!MPSO5VN)%=WQU*# ,]B [;#N '=0( >B>>"6,X3*J+Z=8^MYO[NDZTD5$*;V;*RZ[ MU*XZC5P :HKV(L>BY]!3Y (+N&MJ ME00RB@.!,IB'B$)%0@)2$1,88Y$H!R^,PM0JT?^RJ+D9-(VFNAM2N=455*VR M=CS4@Z\9][A!S3/?[ #;J0F^# %F32_#6#BEE!YQD]+(\+"/J)^ELNHBC+,4;"JFF MF=BYT4A7OZ6K3567-")[JNL%PUOE;6M6&P4;BL]W8#;(UA? M#\$ZHLB3#4J.ZS,9B9ZXM)(-'*=5D:SN'D=6%SH/+$C($Y['$>0YDQ#1(( D MR$.(2!9E4LB4X5;,SNJ;+XHZ,Z/!X"5$SGG& DF=BN=R3Q!V/ M#*#@E#@NR9J4*08&?$P-0Y>//'Y?/SRL5[5+59_O+U"8A5%*4XAIHI8^HP(2 MG$B(\XCPA$4T8[$="1R+F-_J;S3LR@/]]^!/01"$X)&4X)M66!]0-;LM_PK" M(+A1OSVM(?2O($4W:11O?[/B^B=1OOU)NW6C?['>)0,!L@'_]]-*M(%!P0W0 M[VQ]U6O!Z@B+]E=A_2MU@7K8HV"Z>M3R\OHSFVW# _XK9M#W47XS=6U)HBYV MJ$;:X;G]A?&[/:$_%C+M6?R%(9ZA9929V;U_1QRSM% MK=)3^41'&$WH$G629^01'8%AYQ =WSPZ(8SL, M:J4M#[0'03=C(Y=0>B:B*U$ M\P>Q*SN6)RG)D$R@C-(,HCP.(2&$PT@9.31"(4H32\?KG)CY.5]?V+W@3TNA M%\16XSIS=+VR/U8!>7,S.#IUP8&^0"MLN>$Q@+/A_H<[]'QOAUP&SD,&E2$N;K=) M!F1.NVMB!L#))HKA;>.XY2=2%=5'>12Z]]S\NE-%0(H0 MAC+C(0N2A'+&[>P-,\'SLT!JO=M]@*JK&E/OP'XJBQ4K'I>B_K6:KDJ-A8\H M9V$X)V9TY!YGSZRT!7BG\DT3X/L,?FO_ZR7AR@XIISQE*'I2NK*#XYBU+.\> MF3O>Y7+=5I78?%AO/I%J\_JIZWJ)(QD(D88PY5D(42 II#DF4.0D8YPE2/W. M*GV\5]S\S*+^$JIC$#6C'':::739GK>E-G>VDE06OGPR:K]HGD1L!XS:/ MO%_DM*GD1L,_R28WNVMD+QQ1RG7YT)0/TP>O[8NNS!P4,!I"PM)(48= D,2, M0$4;$8Z#2'E:5E6O+\B9&V?LJ=F&N%LVN;D IQEO. #),V&)^@EF292/V!(9E#LW$CJ.Z2JUZG M MX5,E -':6SH^IOC;;* X1762G1311?Q_[O!4:G=[*_N:N]Y2,8;*P][*L.P7 MV&0Q!N3\;HOY[2.Z4GP5Y1;^$([3Z">1*##R3Q';XPYLF@SA8-(H8C\=$G2$L M<+%K"G%^Y+U=((YNF:[MPWE=#_H\7+C$8;&^+D^J*W+^66@KFNLL\+=%QR5E6G M*Z7@07G7][9U9ZZ8&S,#:QK$/=/IYFSLN7\[."S:BHG]T31QAVK]9E5R*CZ^+ ,Q:+4$ 4Y#%$ MHO$T TA0&D49BU(948L68R<"YK=7OG]"]&;U3X6T34^Q4P0-[+VK4/&^^UUN M:]B,L?I. ;$P_*X"9B+;SPX@._/OXOA[+<#3NZ8S B]J?& '7KYJ;#=L)HIO MNL"/;9W,,W?.:/'M:>5QT'E&S%7\U3I[7O#U$]K57^B!P6WGEK*1IZZ[T#?:DZDKOQ2.+9:\V!2^6 M3[J"QQ?!GLIB4XCJ@WH%FB.^19 $<418#AECB@DBKAN@9Q'D*1$BR-,@Q;%5 MR>P!@7,CA7U]P4[A&Z!5'GF@/ BZ&5FXA-(S;UR)HGU1;4-HW);6'A(Z;8%M M0PA.RFR;WF='.%P4B]>MT],4R7VSXJ]U'XR89VF01!3RF'.(,&,0XR"'D4AD MGF,2!K%1&[:+$N9&*9V2;;EGYSS1AC8PQ,0R._@P3 M5(+]Z6[][4=U;T,"ZB_UVJ]7_>4G3K+,!P?4K>OA"\=&M%9U@-N;M@K0(DG3 M5(3*2(B%,A<0RT.8YXGZ(\(T27":!KE8;-8;LC2S%(X%6"WCK1B/YVI:!F!: MRZ:0VG:C?%QAI!- <9A(RH( YB2-E1-&'>!K!>^&ZL?U%%-MJ M^GVU)%7U4=85ZVZ_%]4BH'F(PSR&:182B%*N\YXQA4'$8HR5;R52JWY$%R7- M;:G7^NF#PJ8+QF]:1]NHW(NHFBUS)UCY7N]6,(UH!3( @>/N'Y>D3=SP8V#0 MIST^AFZP]X3>*"=K\_Q9W!5Z$W>UT>[5(DO"C*<(PZ!.*,Y)H%L-(9A33DC$ M\HS$1M_[2P+F1@*-CF"G9+T;8.X%G05QV FZ%AK/:]X2%2L/J&_HHQR@LP^< MS/_I&\Z^^]-[W8A(A-[XAZ_KGX2.B+F5:@WIF(>WZM58($I9&*NUG60"0Y3I MBFHXXS /"4VC-,.!61_6D?+GMO2_WHM2$*VAQ6G]"-@5<>(\$2%D691"A$4" M":<$RC!/$A0*3B)I$2'B%_AI0DC4^DUK%V(ST1ST,_($N'HF;-M N7H<=6@< MT"/QO #,XUG\3L)$ 2^^)L,N-&8\E+VQ,R,>.UUPS?@Q'T3?7/&8$5_RO7BZ MGY0@_O&Q[KCRZ:>/U39_)$YQ*D.8"JZ^(!ECD&:!A"SE:1[%* V)S1=D4.#\ M/AA:-PN2&H;4X(/@%";/_+\?DUDK"UIMP0]:WS^."4P^3%"<.<)0D, M,H8@0LJ%PHP+F!*1<(IDGH=&1\17:3$W'TH/XL^@>'A\4HJ"HFUDZ# 5YN)T MF&VP>@=Y!G;]_C! ,P[0#&2BM)+FHR7R278; LLIS&7S8V!HOM"IX M0!9&ISMUU7R!1F'0# ]TBM\ /<+=@0Q]!F=O MZZX?%T#L]!4P/ Q[H8GU3.$O,JPXPR MBE*9BC R:E]G+'%N-+^O,_A=*0WVM 9*;9NB$2:(&^QVN,;1,ZL>0/C7,Q". M*L!A@J5-60['F$Y5K&,(6U>U.RS@Z:_H8?*@">M\6(SKL/J'S8WC3/M?5\IS M6 J^E\375E%?Q %#498H'LX0@4@D&:0DHY!C*D60J=\P;F.H7Q8U-S[N- 7E M3E4[<[D'5C/CUPU8GDEWB].>EC=@J J_M2TZC(53R[)'W*1VXO"PCZT^@SM& MUHPOQ2,INMC3VQ6OT_[J$FG;]YJ3G(M8"(BX1!!1FD,2BPB*-,BQ".(\C+%= MQ6@#J3,\F6J4WH:'-U'C=8HJ:W0>56W19 ;,F,4QJKX/LEHX6W5K-)N$WT9C M#W1C 9#;PO0&HM;QU:PJ%N.OE5:?Q9+LA'\$REU5N""Q#G2 M>E2JPH>&UWMV.8R MN&8_>S60QP\HW4_. 4QQ#D@G"$$[#A",[4KLH:WX$UG@*I%$8+'<:6]9&N8AN3%&B MG.T,\BR7$$4D5^A2"0F*,,H2$<9)8I-?[@3;R1+-7:%H1O1.L/%,ZJV.8$]) M#Q[J(!)N2\AV?.**^+6W MJ_Z/?R7?=0\DCE 2PI3I9M(X4:8E2T.8(47#**%4!&-]4E,=YN:M-I45RF8@ MX_U3XRFP]EQ] #NE3]OIWYPH=R.X =LQ@&X00(W"B\MK"Z$O9]A8CY=RDVV! MZG&@K1\U(JSC]JX4=?JYKMG3UH=#":(RR0*8IW$ $6$1S'$F(9-!*+G,$0L# MXRB.,P+FQE];%>MJ4)95]RZBV,]2+K#Q;0%Y@<4BR.)*>":*J>AP 7)=@F/, M')74&(*C-X;BW'W3A4ST:'T0(=%WW3CK[LW#XW+]+$0=&]=DFG3;@R'A+.<9 M)'' (4)1!'$0I%#2*"<98LK&,TJ7'Y0T-Z9K8E#;K!L[0^TRFDSR*-+E6R5& M3!]5;E9*+.U6B\+7G]W MWVW$0]5^^E.*,TYS]3X$/((HC!-(%[1YF#8?]?/CMGMQ_Q0Q+1?\+/#._ELG[]J9/MM4I1_(M#]\WOQ38U7U[VD$0J5XX1A2J3Z9A,201+R' J2YIA0SL. 6G7? M-A([MV6N506UKF"K;'W>_^'V+Z,*C1JB;T8([C'U3!37P&G?;ML*';?=MLU$ M3]MLVPJ.DU[;=G>/;!_5)<?BACF8E H^9\MVTL-(F[&1$Y1]$Q"NQ(']:K>$6GWXP1-$AEG&$:""8@BAB!.TA"J?Z5! MA"(<9%:%+DXDS,W*:11L2A;8=D4X!L^,+ZZ"Q/O^Q X-#SN5%X?NN#?"L92) MFR-<&.1I=X1+%XY;S4T!!+W9_&[%U@_B75O):A%DDD;PO6)O?T 1D=V%J[U9U74>]GVR;1S(\%V:\XAA?WP>C;=?TK;I@IR_X36L, M:I6=YHD8 ^0X.V18[L0Y(<9 G&:"F-]ZY99'0WGOUU6U( G[_[A[U^:X;2Y= M]*_PT]E)E?!N @0)8,XG64XRKG)L'=N9.5/YH,)5[IE6MZ:[Y43OK]\ R;YW MLP$T2'%VIQN M41R40[E[3K?L)_NF+G].CVK@CE <4H/M :W!<@K^W,.>S['Y_>SR[,AYFWV= M8T//[N2VV%>N4VB_WZ9/#ON;FN7JDK#RKIV M&@INUWS(KOX*4KK"S[FJ$(6&!*5Q^ H>VT[/6F]7H7*M^4U6Z][L@ZZUCRPV MZCL>GCY>#RCW3"S7@1KNY 4BE-;3\Q4^K+L7",F1SQ=Z?^0Q_&3&9]*2X4[- MIZ:C\CU?KMZ_Z/H<&.6TX@(7 .+"+DX+A '#$@)%<"%*7E1$>E78#)(Z-M)J ME;8KT;H.S4UV^^B^W%''[UZH^[%3<*%*H&0=D$%[0*J++'!2K$0_ND6-S;B M:=7*ZM7_?.:2Q64]E8*>G0_VOL4NLTR,0N-JZ&M?!%E['_2^2 MI]O[H=+/>NRTR+=9FG6:?W:5UGW7M0NV.[[\;GTJ]S_G5_W@4_OT9;,Z(%CG M-(<20&8TP!CF@ J# ,T1,YR72(3%'GI)'1OY["[5G+[U4J+^RX[FUR[3ND8A M=(V6"-N^=^*3P'K%0LT#IIY6:5V2WVB)Y@'&^?69S\VQ401RX=COO6[^_Z&) M4/@^G]IG+)MP["_SZ?37^>(OOE /I2:YR:E+ARPIP,R4@%%= 6@,)+JL"H%U M"&$%RA\;=:W5SWY:&_!S-FDC:EH;_M>Z$\J?SHZL-220QT*'R8_1>@2_9V[K M ?>(.(,[8ZO!;C.=Y8ZF@8[8:5@]/:^KH>K; MU;J4#?[)SIC:\VHB>A-Z6YW0I'6O3HL:UI_J-/?(@>J^.K+10#.^RV_S6VFY M9Z'K@*%M1-?RH:(E4T5! 64E [BJ4S?R$@C&=MM8++5/;#5P,4Q*"'C F$#=&[L&"!+VA0C M#90H*4&*:JR\2CVE!7] S_1-4/>C\Z18]GW*N0-CJVT;(?C! \;PQ@Z^T*1M MZW!1ZK!-'7Q!.&KIX'UC9 ECI2;N"\*G]WRB/LSN^/-DQ:=M/HB E&I8<-=H M.[>T+RSCE\0%8B%1,$D+602=('1*&QO=;)7-7%<-8!=CK;Z!%7@[(?;CEV3 M];UNBDS%.[FA=[NZXXO%ZV3V M6&<=/V!<%'9AJ0%56@&L(01<" 48$IPR2RY MF,/GA3JT2_J26IB14AA@B3'@O!"@E)I ;%!)#0Q*BDR-^3!\_I\O2]=NQN6B M]H&R'Y4GQZYG2C][SG*3\56VUKHI#)$PT3($I;3)EUZ2ATW(# 'C*$DSZ.8X M[G^OGQ=:3IH-,%'D!<0, 5(12S;2VZ M?I^SV->LYZ^6UQL6_%4Z96S2C\^>@$&_,:=,._R4G+PFHI#][]SZ88N[^=3^ M9MZD-GW12^W*$6U*2[?+XZ+(D=(5 E 6R'JNRDYQPRQTM$*<4,)YZ>6Y!LH= M&V'^?O?E-J"8>P# W;.\1]AZ)H!&Z6Q/Z^S_X4_/_V^V5GZG OS%S8FK, ZH MH]\/U@.5UP_"/%&E_7# .@OP!SQNN+K\X3;NE>N/N#VF.PG*(;O_^H?U0.[? M?79I-YL*_L88B 4@)73Q53 'HL(%*+5 E>#:5-3XMR@Y(V5LA.W4S*R>M4-F M-0WIQ'$.2 ^J3@%/S\1\B$R=:Q=#P&=Q"FE;D@"O@<@U$K? OB47\.AN7G+N MY@$[F%S0?[^-R:6+DVZ$KVLRXK*"I:E*NU0E!& MJ N[(@ J""NA-3:5%QWZ MB1L;+]:;B'818<=R,FU6$H%5+R_ >]4F[/CJ779$N?=0[-(/EB&V6]^DS*6? M^9X;K&D*7+9%F[YH5_-_,GN\UXNZ>I.UY_,FC\V%X$FW\S1YLI=\-E_M;Y?& M"I^XZGQ\4?=IJI-CK2>&$$0:R(KE=CD-">!$08!%Q:710DD_7ZP?]<9&5JUU M-]G&OFS'P&QKX4VVMC%KC'0)*KMFWF2UH5Z=QH9X#_Q8\NU&MV=6?9N!C>WI MF1C_/MI]IE+Q+3J!)H;W3)/0U%(B4P'LQVG9:G2_F*L7N?HXF>EVX51BA*F= M.ZZ0(G8Q7PCP E'[B<@E5 9)E <5K.B4-EJR;S6MO:ZO>O%C8AGAG9[)[T]\ M$5AAN1MN/Q).!N)0G-J)7P]A8%X I4T;Z)0X;/: C_%'201>-T5G7\Z?]#?^ MMUZZ&+,'7I6,E63K\Z M;#0X*7(//3^*N *3GDFAA:-6K8X(39JK>,KHU+F(>S*&SC4\9>")7,*3E\4V M5#CN8UY7'/IM,5\N-Y5E2L9(3CB U.2NLI6=U$(@4')>:B404C*H(I^7U+%- M];72&7>:AL9M>N'LN9F5&KV^][36P/UE%<[6&M^L*UL);?UCG=U.I_._ZN68 M:]9]M]!JLLI:LT$(9BXU8./Y(';/P2 <=P2(N3FR+)7+@7FTWRV::#4 M4&";B/J 4&6J4I; Y"[861$*&"82E+#27+AM=AA6]JI3W-A8Z7.;$-<4QFT[ M2_U\D\UT8,SS!93]J"D==CUS4@/;KJ:;XL*MLBGK"WNADK:T5;?(84M;>9E_ M5-K*[ZY4-6.:^GUZIWK?0ZD**J5=RDB"K-<#HYUHN M)P2_<0&7\U!] ZK7.5Q8&.#\0?C25&-RW*Q5P4"3]9K]* M>H]U RX"UF\!@?/BW[:2P$58+I84N/R$,#);+E8/O_._)T\O3^U)!X2F95]C!T9/'MOIJE?/CFF.M[9KF]J:=*6Y_.IS>QT\=9/:>-68].<]?$)F1N6EV]=GL5HKZHJ?N:URW MXZUK2=45OM:4L(FBRS7%%&$.!*7J,;99? MJ(WF$YK7QZ#Y.2+##47/E)-@%,(3 ). ES9E\#J5ADTR3 +?45IBFJ?&$:T[ MD7";WA/[VLWDZR>^LGJ\G[M@GP=FR=)590.H+#7 U+*HP)4 M.(*&U8QQ8)* MH7?(&AM%UCT!=W2]R1IMLS\;?0.9L0ME/]I+A%W/G!8/6S"5>0"2E*>ZY U* M0AZ&'S*,SRV1]-&V:)AH%YPM> M'40/ [0,_>9D9-.M@H%TL(.:Y_2/PZ+OZ>X!0/C$/C8U[43>>?ZP$_?8L*.) M>N*2L(FI].3AHW[DTU_L=%^]UM'R)2X%P;@ %2T*@'%N/^'*&* )I2@GQF"_ M!I0GGCVZ[[93+VOT"TI4.(5;]]2\$HV^IV8 $-Y3M,/D$U-TJ>4_'N<__K>] MJYF=]B_UI*RGXZEG#3(=.XQ83\>N2Z[M/70KY>)%JYV97C<-V;:@5QA3(S $ M[H#$SE8. 9/6]38%*;4P!4>,QS4@NB1Z;)-YMUU.$^#06I#Y?'BN'0>_#W,_ MZ/:]]; #[ E(VPY$F5,]JW7OI1F1+V ]=22Z*/Z-VA+YPG*^-Y'W$R)K+KN> M'M_LO?5'$HI*,L09D$A9KU^5%'"6(\!1P>U_N"0H*)9V[^EC8Z1:N.."AV?O"ANNG[2*Y?;?;^8 M_Y@HK=Z]_K'4:AW[,9D]WLK5Y$?-$MOCDT*46',*2"$IP)7]&\U- 7+#&+/^ M!Y8DL 1FN!(AK_HPA3(WRF9\HVU@\8>(L?!CB7[Q[9E*K/)-?8BU^IEXS7YR M%F23V<_9%O>M%;V%+E=J9=+K<]TF?W=;8O: M_Q^L RK-%,NM;\,1=\7'50$8<4TD-(&H(/;O*I ,([08'QL>-%/.UGH'[H1& M#(CGCFF_(/>^?>.TO\FZ6E:OC>AUN78%C&EW;2/T&'9W-QZHHUW@*QX5'NIV M-Y\MY].)JL^G6!3*,5%"6B55Y;VF/4!RSIE &I6DDH6QJN8PGD1 M8UO<[6F9U6H&K?(ZP.RFK#00]@$Q?C_JS/E"JD%"H !5V%;1*A '+:0XX0Z+DAK"$/IFKNA[.$) >BNL/ MV'?Z<3*KRU )/G49)5?C*6@AC!$$2",DP 56@!K&@:P0K:BJ(,6PQ?.7F6=^ M2 HTU\+ZP])*2 FDYRG&5=#T?5IQJH7X[6JUF(B75>WYKN;9/4^;4G\>D;3' M$<=BACUV.&OFT?'"^2MC2W4\/OK^&D-,Q5XRIS8_]@=HUJJ<$N3X5 .15&\[!&TF=%C8TC-IKNT\1U+-&! MM!]1I,&O9Z[80K='%\G9XC(8:=,\SXL;-JWSHME':9R7[[@VU&ISCK!-<-]4 M9?IUOFAJ,KG8Z#9 XL'8-0:%A ##0:8" Y8419 X*+2%34$YC0N]"I4E;$Q MS_8,;FO S?D:5^V6=&!XQ!4CY[G,&60\>F:RU$-Q1017+(H]170%J_-&$5ZQ ML)V/^(I^8JK=Q$VX C+>%C>]0 M='^KHME;# P1Z< V=B]GA"$? 7LZO81Z7 :IYVV>MPG=N&SVY6V?*T,QZM9% MQZ6(?GEZGLY?M6Z37G=B5V]GJ@[^/HYJ?<"N&1%WT6DE=269#0.\A,1%H6*# M\N=-..Z ,Z\#J_G[3\')[:E'-1NEAMZC-ZT MJMK:JJPU:R](WPW;E5D1*86L [F^@E$C5G!$M2\?;J?2J[J17-"4=?R_2WOJ/QK0=?;MNHSY-1E/U%CT3T_C) M*MNV##"$4,&L#Z^PT0#G0@/N:H.62)8(6I*".NCT]Z+$L='6Q_GL$5A!3]FT M=B7FFR9;RPSLQ /7_QJ8_7H9?K\MAJ2@]LR"71'46X43%D?WQ29M??2+4HX+PE&5=.\;XPCHQ$;ILLJ_S2E[SU^7]WRY>O^R[F^FA(STL, M6)$;0) I"EH*+650^:L V6,CI0H"EF=.S3#""8';CWIZ G&8,QL^73>)J7*W MP4E9C6GFU,ZLWCUTEXO *RDQA<@?E*(B@#DDJYA'I*C29Q>%[]HB7JYBX*:N M5YUJD#.,2Y(C4#)DEWA0&\!1Q8$KV*?*/%<5*>.+]G6)'AMI'1:CV]2BB\C< M#Q@ /Q[K!]:>:2P2T2MK^_F TV.IOT[Q;UCYSP>6[D* 7D\(+S]VYPZ)%IK? MS95^H)S#4AD)$$(*X()*(*3 @)80%P5!D"CE6WML]\%C(YN[^@#3*I-%B)L5/J[]87._GO<=[!%[WBDYE6 MO_"%2\)9WDKY\O12[S"_UV8B)ZL'7)8<2U@!56$(,(+6*R ,@@I)E1>5%!R; ML+",RT+'%YZQHV.F&B7#W /I/T^_VG1ZWEVKY7-UMIF/^TBV2J8@?]WOO#+N(QPJRBQ( 2&;?ZL&3#(''5P"@N M(<6H-"*,9\Y(&A^Y;#<:EZVFD9NS!Y"695$16F&0&^D@1=AZ4)K9]Y?D#''7 M+32L'^CU@ [2"'0#Y]>D< ;N<,>#--B^]EK%'G:/+L#0SQ;V@:RWV;@^;?#9 M[>HSEU\17KO;"6+G'%970EDF5:!D!@&<0PPXI @@EV4N265*J8-2%,[+&ALC M[&3LU!&B?\PLI-GJNU['CWZP0VP7L3]TS*FW#_A^W)$(TI[YXV+[F>1DXH%+ M^J#;,_*&C[KM-OQDV.V%6R*KM[H#".L?3A;U.'_>'"_;-6)!8$XLH53(4HLJ M.!!$V1\1X8B5$&)>A/EN9V6-SWNK5!=B//I* UC-Y-&AM MEU@H>N&2>.>_2^+ F_X>QA_O]_O<%+L;Q5>-:VDZ+U_?:H@QZ-WQVC5B9P@R-T6W M!W^K>;9K2J\- :X'-K'G%JW.P&[=M; =^WQ7/S$BH_C3?/8[7_R7KHNTO-=B M]55+UX]@HI?_/EE]G[^LOFBN)M/7]]HEL4UF[KI?^63Q;WSZHF]GLQ<^O7V: MO\Q6#YQ6F.C< %T@UUZ>%D HJ0#-"Z5Q10S$QCL9.9U>8W,J_YA9=IU._FGG M]7R1;?[^R">SI?O-M"[K%)#:FW (N[GX#0>F9V*V1F5;JS)G5K:U*VL-RUK+ MLEW3,F=;5AN7-=9EC7EO,X(!>=UO,Y(#I80/.J)A2>7I<>_,1T\H;KA4]O08 M[67!]_#X*T[EWAWM)=?M(A=\9IWU;W_-UX&#K@0?*BDP%3< L[P '.D"2&AX MF4NFJ/0J]A$A>VS?T%:_S"H8<:;FB7? J5EZ% <\%SL1+723[2#<1^A0.&CI MC[8\Y0]_>!4&S,GCJ)WIKGZ/M+6J&31_2<-EBUZ MTH#==-'3%\1V7JH#Y9O0DB^3Y7\U-?2YA*76)0'4Z,HE&N5 "%8!+DJD*EG2 M4@4V7CHE9FS3<4_+S*D9U[S@#*A^W^#KH>IYTD:@%-%HJ0N$Q'V63HH:N,U2 ME[G'798ZKX[8R7=]FR:K^IS@=J;VJD)\G,QTW7GTH61*&E8:P!6QKGDN#6#6 M2P>\*!6K)&H^]]=2 ]DXB M;X5EP"YW:DP'VK\^Q%;N*OZ/1#O1(=AT[C%[/6BXW>,0N_;VA8-NC,RT=U6A M7?U#OOS>K,$>N&+&I4X Q(VR2Z5< ):;$E2:E[" )<&,!;0]."_)ZST?OHM! M&_6UW![/:+YP]2GJJ @KR?XHO]?30.D?>CI_KI<;=K4Z^1%0';]C!/R\NDA M!\H?KVO.M]IEC7H)$\?/FIXV9_Q8S+#IXF?-/,H4/W]E;(/,N=1:+>MX#Q=6 M]_FY3E;\Y6^]D).E5@](24X*A("D=E&'"T*!0*("%!4"(J-+$UKSYZ+,D/=[ MF/BUMZ&HMEA1( M5%%D&0?3L,[I';+&QC;KSCJUKMF.LE'57KM ]N.71-#US"S1J$5$#5_$(W%8 M\'EY \?]7C3\.+#W\BW7',!_XW__\K<[Z-?O]$R;B6O:69:LPLAR!K(>"Z<" M"%(9@#&2!A,H50G#/,4SDD;I'_Z8+-TK[_KF3IJ3YA7_.W21> Y:/[I( %?/ M5-&>P5L5LU;'[*=6RX2%'R_@T,,A_+&L-SB$/VOPZ4/X\Y=?F>'9;*RX,*#Y MK-[33I9S. MER_V9=IFA9N202T),!3;%0D3$#!2*"!ED5>Y$3DK@KBC2]C8J&,G*V!'V^@@ MOTZ<_2@D%7H],T@\<.'=<3P02=L.ITO@L/UO/$P_:GCC$-VZ1?ID4N5%X @;4E$@,YX-9H4!%=D5P:@W%0+ZYN<6.CDMTD[$;S^G#K MJU[\F$B=[9Q"!OHEW:![.B;)H.R95UKDMIKVFB?M!TM:-Z5;Y+!^BI?Y1XZ* MWUV1E4]GJXF:3%]!M_M8O?\OIB]+*;=@ZQ^AEU>93KVOGW^M%DR+Q>OH! MM0]/!=\UES@P+2F'H4=>QD=NNIKLIES$+K3Z' MV(\-1S)P/5-IY)B%EX#M'\VT161[U'?8,K3] W]4R'8 D1%ALE_Y[(XOK+-[ MQZ<3,YE;J;Q-^"R8JBA%!IC"E4S4N@)4R0)P2:C&2ADNO'J;79 S-L*VFF:- MJC?9CK(!,9L=F':S;$*D^G8V3X,4V)3@$EH!<:UI4!LHFC7T%0L+8[T,16?P M:L?MPX6L7K9A+U#5X_(KV@DL[]KV\78T!81"@,+P$F!)-&"<0U!B"8V4BBM7 M4RT(@4'*E MW Z; "(O*$#4;=-+7F&-@E:P9P2-S9M9ZYEM%0VVH?0]1# MC8]+0*2=\N>$#3O[+YA\1 27KD^5#VR?\W[^Q">SAY*PJB@@!Y4@A6O>0=T6 M5V%9@HBJ--P8>652\$;6V)CA1,ZK4S;[LU'WZOS@+A-(\2/FMN).>%B,IVL7MM24'Y"AX;K?SZLGI9Z&SJ],WD MYJ@CC$V\41=*ZEPA"AB4.<"$$L K.P@%+)54#%*B4,B*K!?4!UNL/4UFDZ>7 MIQ;\YU;=GJ#W8_4^ .V9XAN5;[)M"]I:ZYMLH_>-*TDM=';/)PDS4T*A2LK^ MWL('_12$0G+X70B^/^XC\7ZRY(^/"_VX7ZNZ*9&2&\445QH43".WC6Y=3*DE M0%(7BI4:%BKH[+1+V-@^!ONZ[E9XCRI"TXFS'Q^E0J]G#HH'+IAV?!!)2C6= M @>E%Q_3#RG%ZY[(6-/)C,^DY:GM OB=-O.%OIU.YW_9?]*_SA=W"ZTFJX_S MY38\4I>2&:HP0$Q8)\@4!C !D84>V14MPY*S(B@,-4Z/L9%/:X;UBYK-ZW\) MC$B-' T_'AH XYXI:F/!SK[9C?6*G!'9QHHZ[ZBQ(W.&]!/G>AV8:4-@(W49 M-CKV.L". F>O?%P<73;1_D&ER@\B0#G4%.7<,B7"#.#2M>C0L@0:*>56[4CB MH!+B5VLT-@J]XXO%JYOB3;RZ=4,^S6?@:=M(H$V'V9HW1OZC =.AG!2,KY>JT%I.1F(AP2=[L&QF=G62;8OT.LGO7K(N;!+ M8H2 T24$6#("&,X9H+B$E$*C, PLW+/[^)"9.DP.]EJ[8';<0TUK4565(:#4 MN *8$U?(EE5 5:+@T)1*$1JRTQF+V1"[F6D0\_LTQ.+0,\MOU+K)K&(I4]"/ MS4V<=[XC8.!D\V/3CC/,3UP3F=+59BU]-FT_NB_Z>;YPVXP?9M;W?:KW!]Z] MMO^XXW06A?62I0"DK*S3B8E=K1HS-U=Q+ FMTS3:6 M!.9]18Z,'V$,@'?/W-()=;9CQ8UKA;J^HM=LLNLP39MF%JG+L/EGUP%VE)AV MY>/"NV/\,EM9C_37R51_>JG#R421$RPH=!TQ#,"T-/9ORH!"Y+*L2FJH]LJE M/_7PL7%=HU_F%,P:#?W[9!P!U\U:U\+1]V+6'XF@CAGG3(YJFG'TL,'Z9IPS M8[=UQMEKKBQXT83EWL[4^L#4>N._:^ZRXM7GV1>WEEQ8@K 7?)K/%NL?W_'E M9*8553DND0&5]'#NKI9W?1"$@.>-8(U-J4T55R$BAW=AH8;M5>)R%L-;=_G)&\QJO&E0E*BWT]M MD20:ODTQDI3@GJU>DE3(E277/IO-*>S]?#FI"SVN#TJ%P$*45 /-B@I@1ES? ME4J!G"E*"9>T*+P:I(<('1OE;YO^V;78]L!ZK79T.26O ?!<[R:&M>_%[?6( MQI=L\X"HG\IM78+?IH";!Q1GZ[CYW!M)3,T1R.OGOV;:TM_Z!&3;_;JNA5$4 MI1:HP( SZ[IB6C'[MYP![5HX"J8X#RMWXB5U=-34*IW56EM/9'O N--)/JI> MI-<@>+)3:FC[IJ<4J(835 A*:1G*2_*P%!4"QA%'!=U\'4F]U\^._1XH+>Q_ M%0$8NL+WF@E &Y*'UX6&97V]#R=OVK=5B\\W7[>+KQ^Z.5*J[H/ M_;+.WMG]][OYI4M-JK?7-/)9YC7P(_<1C>X?5.F,Q ( M9V'6)OEDMXN%O:1>7=QD&UNSVMB;MM_03>:,K'TR]R9\V7D3;I]<9GK"<+DA MAR1M2-T@F@\;=C?D8!R%Y@TJ/.R;MERL7,M@O7:K*2*ERBG ,+2 ME4TH2L!5[EHQ,8@HP5PAK\_/.0%C^U*T.NZ5)0Y9^9X%LIO 4\#3,]=&(.-- MEI?,[^(U>^\.I]F?#OGL[,,'H9Y+IJU9XN)UT=TUG_5B]7IOQW)U.U,N/KCN M(KM3M0.RB@O#2NM3EA7 !8- 8+OTQ-(46BB& M+\H=NMNC+Q G^CUZWQH;!.:Z/BV>YTWQEOH,X,XYVXO7N[G2#S#7SK^@P)0* MN^9M# BA$"B17? :4QBD65A<6*>\L5%0&R"UI_--5FN=NS?[](!FS\R3 LB($#0O>*Z(2NM^_L"!:E[&'L>N^=UV;93^'5]^MPSF_N=8 M[ >?NN(?!^F$EE(*HED%&+8<@Q$T@$LD !>(D4J41/A%H<:)'QOY[ :*.\5K M!ZC^RXX)L;'Y7N/AN7O?&\I][U3Y #Q0Y'T(=#T%W'NI\$9Q]B'PG ^O#WI* MK$/U]8E/I^]>EI.97BY=]UM+;BRZ[B22Y?SKI"!1A(2&%B_]_RQ M<5;[G:]US-9*AKI&^PCZND+1N SC^GA"$N'DG#3\"J=F_WD#.S$GC3EV6DY? M-E@EB^9 XH$1ZY-4I5T.Y5S8U9'&@!M6 ,,JG=OW E+EM3JZ6I.QT<"'>L.\ M/OJ9N,.]O:H5NBFAL!RN:D4[7)[G=4,,0M^<$UNEHH>SMFOA?.N2%*TV8R]% ML0]:@A(4!P^,W>K61B\6[7G8/5]\7M1+3%6+6+=7>E"%5KDN"J!%50*L%0$" M40U,"8W&K.28R+#=;A^Q8V/-C=9-Z,--]LP7V8^Z>,Q/+TN5/>M%MG2*_QRZ MW>TU"+X[WJFA[?V,;(WJUP95J[/; _<2/? V M> @/+7AL\Z3FIL^K[WKQ[3N?K2.)C"IX691V+(GBUI&$.:"%(8#; M!2*C>0YI'L1_;V;)V"CU:4XX@*4R#"[8I 0W' F!*RHPDT&E#4Y*&=O7K%W6;[2,#'\YC6C( M[L@5. VS\Q$ 4>2.QAD(>MBM.)3T!CL19XP]OU]LN*O'6I=F^H/.JT^S\K,O[F^WRQ^J873W7O'>>\ M/4@L646P C*7KOZOK*SC1 C@5%*!C%8Y#LNN/Q(Q-N*K-01NAWO3%VT9FM9Z MC*-G;,Q5Z/2^"-X T_;8NNM")CRZY:SQ:2-8CL4,&Z5RULRC2)3S5_;;'_&3 M_GOU[2\]_:%_G\]6WY2$08!*F !<(D0X*(2H&"5,J:P*RD2='(=J\C8 MN,*^8JB?CGU'0^!'($, VS/-A'7TN\G^0_-%]GF6\"CF6A#?I-??D3*C[/UW M#K+87H!GGQ=&D%+]O7SXRNN:NN[$Z,ZU0ETNW7;4O5ZX;K7\T?[;;POK;KG+ MEO>+B=0/E'(FJ2Y!J5W!S,IR(Q=2 IA7IB@5XMR/%N/$CXT,=[3.^-(=/[>: MNX#91Z=[MG3*9\].>S_:C!R8;K+L'^Z^/3&K5/;9K$^H=_2_R;86N"MJ&[+: MB.R^=]C57+ZXF5GO_;XA_'MZ_,\:!N^/U74H-I\H]XSZNY-715Y_=2*?.LBW MYCJ+UU^8*Y]RW7>E#C^P?W='($N[B/^P7+ZX]?P#QH4J\I(!2! #F!@&&*85 M(%3D1:$D+/P:DOL*'-NW8].RK#Y@7]8[6Y-6USC*.@MUV+Q#/U#&\7T*2-^&X:.@C6;T2SCY]UEK7-=J M9Q]FV5KQFG'6JF=KW7L".(3=^P%Z*)9/!G@@UX>CULWY <\;D/O#K=S_!D3< M'_$M^-1DL[^X?G.[U;A^UW7C'L4PAKD0@+-* $R-! (BZZ"CHI 4022H_U9/ MMZS1,?Y\!C;J-JY0&]080NT7\/5@\W2H]4S@'8!E?S;:>H9(>+V9_C2=#L&! MF/DJ),/(V ^;3OZ]\(CA*-?/ECV6];SER@XC'S?Q.]#D.6-( T)X!3"J$&"0 M"D @5])RK#$ECNHG\G&L 57;7A?QH5(G@/0,++@*GKX=WC!DXCM^'!G?3W^/ MCV\3?'3>S+.].XZOC&T9+A?NB.Z];O[_878WG]4M0%SFZ-W+?N':3S^?IUVN- _].S% MO\]FQMP$YH0W5'8)6[O':;# MP!W HP Z;A(>]Y@XHOO23,XOVH6J3V:/]WI1M]RU%G\6T\ECZX27QOHQ%0&J ME,0Z-Z6T],8IH(CGHJ*XPB:H!XB7U+'Y.SM*9O.-EF&TY@>W'YDE![%G"FOU MO[D&YU3I]!& 154L;RDSPH3P6!<B]7VIX=2(:(I*X#.D?6ZL!) F+( 4!>HPKF"I@Q*<_$5/#9FZBPWI*SJ MZV)#Y]V!ZP9"&TAR1"3 55X"7!0Y8*@D@%4((UX)BE 9YO[V,13#^+V?AH?? M[WO1!Z0]?S*<8CM5G.R'86T#L*P#7/1=NH]$*#Y)OQ/>P@?]5(1"A.@KM^K%\]\L7K]9-^N-L$72:CK0*0<:04P% A0 M^_4 A5&EIA75+*>^;4.\I8[M4[&K9>;4#,RA#H.\FYAZ [)G5HK ,*CK2# F M5[(EH):\)5=2)=Y[FI]*R") MPJ;*(5%2]9%WM%9@;'1DW\6RGWRC#>1^SE&?0/9,1U'Y1CH.9'E)];E,'^W@EX6-95^F#V_6!F3I9S.W>^V!?,IP95P MU2:8,+EUL2H)F&$42*TIR5TO \3"UH%!\L>W&-Q6ELUV# @LJ!8V!GY\UQNN M/9/=:4#KS@6[/S>FN*U&N\18.$YT5]BE^6+SBS][Z6@0A6O:HA)!&@Q;32(& MG*,R$E$/B>UF<*N4?7V7]0'SY\7]8OYCXA(%M,$$(F:7D;*B .N9K^(!B^B$T(W& M%2T1SCQXX-X(W>8=-TFX<'U$3.VMQ2:_?_>YC53D'&I-( 3NQ+BJ0A5647;@JY M#MMNPXJ;4@#[6RQ%62!J8%ANV(#:CXTZ=X,KCWG\>_YN[);9WBO%OF-])EZSD^6XF[K;NV_/;?OV;'#( M/C9OSS:'\6O[]OS^/^+M"/=:&5S\859'')2*YQ2U.0Y4'6C?,J#" 4"F"B M(*!(EH!S2;#B4C$4UNBW-U5'YTRU"C)Z M.#TWGM\W^\3;OR?+!\[RO"PH!"4EEA/S.L M)Z!21D)+DZ4L=%A[YHLRQ\:! M:Y7M8LLI7<_"C=HWF5,[^],I'NB ^<#OQWF)0>V9XS[.9X_@8UV=[=L>P5U" M,:(/LS%% M!4H"(< N"Y]38>P"L$"20":U7[4V/W%C(Y^MMC=US?'Z:**NG75%Y:%NP#W] MK&0P]NU278=@N._D!4Q:-ZE;Y+ >D9?Y1\Z/WUUQ!--91.23->MEL7 [UPA! M0B3, :L* 3"3"-#*+@(Q*84PJC2,F+ 0?D_)(;/E;2H8W60S^WUV1PZ-QMGS M?!%> L1W(/P8J =P>Z:BBR6+ZN;CK=[I&"D0J*34Y"M[4(X*!.20K$)OCV6M MA9UD?*5=.4?]Z%RN-HZR5)50$G*0T]SR%-$*L**"0,E"5@51RJB@DD1G)8W- M&=HH>E-7^E@VNH9RT#E8?5DG 5B]\\P&I[KJ:J-FPBJKWF DYI)ST@9FCPM& M'_/%I1LB%T[-L[[H^F,\>[P5RYJ7'J0P1&K.0*6)=5]H[GJ900JH=6<@SZ&J ME%<,ZR5!8^.']8N^433[BZ,$@/6]+(K!*GPQ= &(M,N@<\*& M70!=,/EHZ7/I^MC\O?8H%ZI2&,8)H!+G )<, LH4 8H17N0*DH)YM:,Z?/#8 M)G^;;A9V&'Z$5O?\O@:#GN>SK_D1N747SZ]]<^F&/)<^I_YQKES"JI=T27V# M()RN3^)S8YKBH/N%Y&Z?G/_P3Q?.MUR]X\O)\L% B@C7.> YY@!+)0"O MN +**",J" NN@V*M0Q48&P/=JO]\6:[J8-QE+5^?\UF45KJM1>7$X M_ BJ3Y![YBN/FI5U@>/&@GH4^JMAZ8M;K[4L+RKQIC4M?2&Z5-O2^SF1O">E MJV"W_#1?:1<,\W'.9VT3,:?$)[VZ6Y_@5*J"#"F@.88 :T0!K20%2 DH.#10 M5.AA-5_QJ2?A^4H.8KJ-_!Y]+2>$BY%:O'V;+U>*E*;\[6TY47;1R/FL2=5W#:ZW@ Q+84,TI,)HHMS>+ "]A M!9 P5&B:EXH''=3TJ.O82*2OWM5##+N?JS22P>R9 5LSZKIPULYL_?..I3>; M7VZ,=9[,]@V_:$@Y98W,ZSVN <4GJJ_6I[Z#>W0# '_J#0XB,K$Z\ ML\WXP95WU\O5+W^[/%[]P+G )2DK #$4 NN <^9^U&A"D))! D*F>Z0-;;/ MPEJ];#[+IG77P&V_LM#:PQT(^S%X(MQZ9N"#TX4-@JVF"0L$7X8C;3G@#GG# M%O^];/A1J5^/6V+*Z6VCJUW>_F2Y=//"+G2_Z,F3>+'SLR[2W2;R\T=[\6^+ M^7+I[EO6"?\/>64P19H!R%W#JY(7@)6, VA*1'&!5$6]>LDDTF=L!+1C1KU? MM-@SQ/FKNAE&^\_+['ECF/N71V=:YK;)ETV1EY "9M>/;#>IO<%X]4Q\=3;( M9[,NI;([OZ [, 051[[ M"(^0"MG7X#(02?N\)H%ULL]9W5TJ^^BN :MEG]-XOV#VV:MBV,GZCE.4PVK] M5E%6297GH!(( 5QQ##@1!D")2Y13+5CIU7GMU,/'QDRU>IG3+V0B'@#F0TOQ M,/1]6KU!((J3#M^= $:*AV0@/@J!)I"73MO>S4H']PS(2:>UW6>D,]?$[5;^ ML;0.V"_+U>2)K_3R 2I<%E1 0)2VC(2I $*5): HUU514%SPH.[E^X\?&R?] ML:Q7]QO]PK8A#Z#SVWF,!Z1G=CK$PB[-YM.)?,W^;/_?2SVKTW DW6P\$#'H M_N)I\PZW%,]<%9M>]/6[GDY=Z5 ^>WU@LK*S6!5 8"$ +J0 #&F7ZR"Q%$13 MA+Q2DD\_?FP3NLVUJ57,6AU#\XWVX.N>U->#TO.D#L(C(@'IE-E7I"'M/6[@ M9*13IARG))V\*GRB?K383N^_SV>ZB99XH(94!M>91XH#3 P!M'+!9C374%%< M\M)[FAX^?&R3M-8OJQ5LVSKX3]$CX"Y/T&O@Z'EZ!B 1-#G/F1PU-8\>-MC$ M/&?&[K0\>TUX^.=7J6=\,9G_.E]HR9?KZA-Y:2#4Q@"%L &8%12P*A> &E/E M1:X9XE[I@>=%C&V"KK7SC_\\ UWWY$P#2,]3=*U8PG7I9;NOC@8]\_C!(D*[ MS=N-"KUPY;4UIG]Y>I[.7[7^VH0:UG$^[XY*ZT_KP;)_^VR^:#E_G+DDF7MM MU:I399;;4L>HJF@NJA) 5!!@/]@0B))+(&1%L!+V#Y&'52+K3=>0231,[;+= M&LKU =&I#AR7@EL&'G"_5?TH!K%G)CS9"V7;E.)F/7*JS=]\GJSXU-E59Q:^ MN#)'@Q3&[FD$>BJ?G5K;-RJRW1/HYTMQ]R4P[H/S;WI95XAQB2\"%Q)RID$I ME?477<5* 2L"W#Z,*(B"!46*%4J:==Y*'?EK'-@5,EI90I8BJ R,/ZBQS:M[YH4G28FQLKBKF"#VECA\GQ:AG6WSE??]6(=4AE�&#YL<<_0Q%WWNW:[2W MVMW4.BWA"9&&&NJK @S 5$I @0+AQ ME:U8 :A0#$AM2D$@+'"!@ZHNU(\-HJO!2BHTA10":R@T,/F12+CQ/1/$;;?% MX84+]@Q,6Y6@>?2P)0?VS#FJ)[#_K^&[Q4T^V>]Z]7VN/LQ^6(]%ZT]VM-IR MA8BPBN'*@(+""F!5<$ +H8"0FM'"( *%5R#%95%C\QX:#9LM :=E8.%'#VPO M;RNG0ZSG.1P.5M VLQ\.5V\W7Q SV+:SG[F[V\^>=X33P_N)=8?MP+0G(9@9 MF%-#0%%J2P>E90)FL+ _8B4*6F'B?XBT_^BQ3?^U=OZS_0"JR[,['H">9_-: ML<2'1:?MO7K6'CQVL%EZVIS=67GFBLAF>G:(=CX>N5!(YU@!I8P&N& 4,,@I MP )7]BN=0Z:\8JY//WYLL]%I%_,5/@.>GZ<<#TG/\S, C?"6=B>-3MN];E_$ ML(WJ3IIWU)/N]%6Q?58V_5\V#[S?I$$/9, M 2UZ;79J6XAFJVG*#BP7X4C<@^6\O(&[L%PT_+@/R^5;XCCDBW;MR^5*JSM7 M(&:FM@NNY6Z#.>N+8X8YT)@Q@#7)73UF B0F.7&)HUK($#KQ$SLV9G$MB=9M MY!8;"S)72">,3#Q1]^.5]%CV3#%;A3.G<1T.L:-S/ZWDPE!*RCR>H@:,<.+5 MU+M#QMA(QTH#5LMLHV9(3N1I%+MY)1$V/9/($2Q1.:.G\0E)';T:IX$R2/U? MH\#\T4X NM-(3]\Z8#9II^[[2:7=E\8Y7^OR6/=\HC[IE=L$E4AP TKAZG$( M0H% A(-<"%8H08V405[6P?/'QFR;>FW/5K\P!^H0.3]/Z0H\>C_F:*%PJKE( M43E]42YJ:B=,=%/?[B;[_%S79;3_?BM7DQ]U\X)TKM(9F)+Z1(;GC\N^//WB>33=L.024T*S020QN6U(5@"!JD$'+,R+R63 M0G@%0W9*&=O$W]4PXO3S/)J7CT:28-0S&83!$Y96<\G\ZS-KSDH8+KGFDI%[ M^347+XY8O7SC_Z45O__.%T]VB%]6[JEW\X\KM5[&<&%*R"UV1&" RYP#"D4. M6%GD/"\P@[E7>RL?86.;_(VZ 4[Z)3 ]5C,)(>IY[C>:9ONJ9G?S?V16VW_$ MK'$NP1>PV$D(XT"KGFXX$RV!/&'I7 M=>L9PBR)/:_961[[WA'M.WR8KE\WR M8::LFZM>^+3.AU 84@H- 24AKDPX,X 5, =<"@X++6"9>RV4SDH8'6DZ)5V( M^5;-X!XTIZ&\[#)=#5#?E!F.39#/U&G_U?[2Z:IATX+6Z]0&)VBHX&&(UI(0FRB'($L)0*\*+2@!1"$TH* M7B#CZR6BB$(IR&NXB,+5GL-Y"8-Y M#Q>-W/4@+E\8>8/1DO. ,V9E+#.M#N3!IXPS9K0J#JW+'Q>M!PVS8A=NWMW03= M&+?.:+)]#'9?%[0%]U,NE MUIO ];H]^!<]TW_QZ3>]>'H@O-2D% Q Y@K 5+D!E+&\KB.N.2:YI%YK(4]Y M8R.V5K7,RGH*V^6Y!*S?UDY"N'IFO4;3W1R(6MF;; WAMRX(@_=P/(%)NG%S M2>:@NS6> !QNT?C>%LDF\^7R;CYS3]8S^7HKY>*%3^_X8O%J?_5OKB#K79M$ MK?+2:(J(]9"H E@7#+"<6';1PEA6T;0B7E$ X:+'QC%U;52Y53WCC>Z!?.,/ MO2?U] )HWRSDL-S1^B9K];[)[E*GKH<#E):-_,4/2TS!L!QQ5/@38BOUS%8+ M+E?_/EE]OWM9KN9/>O%QPL5D.EF]-M6D/\R^39ZT6=AW;FM]]A]6//T0Q6SX2[MC/[RQJ:K2V]R3:V6N+=E&7?V'NSM_FW M-3G;V.S\QMKJ;&MVRB)' XQ.XC))?6H\<*&E < _+M4TA-#(ME^GF\!L]S;? MO6XOV=W;_#B9Z0\K_;1\0)(@#C$%1$H!,"D0$ 0C@'")3 X%1\RK#V[)L0E4/^;3'W:M9YX^-*ZR"<>7UCI'S.%.^#H^>.6 -171%O1,O4T UO:N@&>A(>1>B M5$7TSMK=74#O^+8!B^>=U7F_<-[YRR+W4OGR>_MF55)5 @L(RKRR#DZ18\ H M18"6@E<5):Q406?&VT>/C:'N@DL,[\#DN9$897S?NWZN/G!Z[^/8UK1[:-O' M#[OA=636T>[4\1616TF3Q]G$3"2W*QHI7?=JZYGR7L[N@ME&:/W66BN^>?VI%W52IXXM#7JS-'I3;89P6^;$?RZ-X+WW2,8 MLUF4%.[4^TIIE!MZ"RHII"=VJ](^/X[=/^F5QBTNV6%PP"P6@!JL+('**\$)R&1-'XBQY;2(S5O.YID[TL MVU;UFU!;?KG<^+7CX,? _:#;,\@W[B8Z@=F/5(C$0:0F0)@PB2@K!1 2ZB%S E#E5=!I.2:C MJ7=W(#M&Z=+X!+-N@&Q27-\J>_FRU7]L.V>'92< MYL*.IQ*0 JQ(87U57@!J*"]+@4N-O1@-*3AU]FJ\GJ]1O_ M^X/2]J]N,]0MCC^]U =[4JL*:P>?(!)@3"H@L#9 5$H:R@@7S"OY_Z*DL1%! MHVQFM*2(:,6^2\$;C!$TLM?S'X_S'_[;/:!C" M_J4FAIH2+C]Y$%+P-G!-"_XWQ$="6,_#_>^7_WZ9_.!3*V+Y<1/*71#%RP)Q MUQL#.WIPP31&ETR!P_A\ #@5%R'SVT1K0M=0<7##FEUYQA:5@H+HX&L MJL(EUD,@K,4 H[(DE&I8%E[TTBEE;*2RWYLOL //>2P1-TAK)H%"EJ\Q(PP( M;5=U&FJB(*):5]@O3B89FL.$Q?2$9SL#>0EXZ]O WE6PG!M M("\9N=<&\N+%<3Y:O8'TQ\S><#>O"];6AYMM8&:.L YU " M(XRI="E4)8)"1KJ$C8U(:UVS%Z=LMJMMF#_6":^?,Y8*M)ZYX!Q>/43'^B"2 MU /K%#BH^^5C^J'OY75/1%[..SYUX1)?OVN]6K[7*SZ9+F_%LLXN?V"%$**0 M&*B:.DQ5 4YR!$Q!=46$UJXYFF^&3I>DL?%&JVO6*)NUVMJO8ZMO2+)*)\+= M[)$4MYZI8S#( C)]4D$W4,X/ .Z<4/_#_IGMBFQ,6V?-,(&IR"FJF%>[[BCI M8R/@M?(9;[3/Y/SIR4Z$Y6HN_RM;UC9L(L?LOSV_U"%-,^N]3&;V9YW]-)TO MES^[.-_F\IM,.$.SGYJ;?PYS <.&TL\G[&V >F;ZS=BTBK>;^W6$;C,P.\K? MU#$I,IW?&(5:4D7]WI1/__]9/IB13^4 M99GG/&> :E0!K)7KU20-J I*."D5X3@HZ?*,G+'1WJ%-O5+*9HU2]_/T\6 M?)N;\\?S?.9*>4]F]2^M&])T]7W(,HQ$272GI5 MW!Y&W;$1RE;O-A/2>>_S9_<+NZYZ=EL.3\_3^:O6_VM9MPMH#:H3*1N30OM< M]?HV>.RCC6J,^R;)NHC@N^YB@^_6Q0;?G>QLM7U#&K,S9W>V8WCVV:S;FH_J M70AM>C:6=V+0KF#+$_\B;+#>PF_-S\ED%]CD;/3L!Q[Z+U$%C]FT3#FVQOM%H;TJVH8M%+NN@*5F+0=5DL1(=+ MM^CGQ-'DO^FE$]9N*4!2%52H LC"Y8AHQ 7BH&<51ABPA'A+(0#]YX^-H)K ME8O2'MCQH7&%$J5="Y40\ZCHT-6]6" M,B?Z'$(_AGSC@>F93#W')"(WKC?4$N?3I==SX!R\WH ^SMOK3U3D)MOJNU[4 MG3#U;M&3M@]F4^A$MOU=426PR24%Q-(V<+DL0&@. <9240*94"K()PV0/38B MKE4/W!8+0-IS1ZP?_/K>#'-:9ZW:NZ6U$FYVA0.3=I\K0/ZP6USAP!SM;D4\ MXLIJ2)N$ Z-ACD1.@,PI [@J%!#,Y$#J(F>:Y:8*\QB/)(R-9O8J_03F;YR' M,6!=&PO.$ M8?USB*Q^=3KQ(7?-HV.R,BT:>K7.4*!NCLV?J Y500Z@HH)+G M */GERFW MDO0=7\GO?SS?JO^TU[@CE6_SMMW%W7<7*O=AUI8(_FRLSH_V!5\^:,)-4<(" M0)YC@ 7E0"!C ,%(&TXD1WE8J\+>5!W;DG=KC&50:PUX><[XQIYL-5_[:C>9 MK&UR><=/C54N)OZYM2NA*W?=JY# #QQL@-_:B;1+^NWPWZV'_W9O^#>=B^XV MP__[=OCO+PU_6GI^YX'.$DL =YT6DD1A85VXA:?IO?*C5QQT%\ M>L\G]K/8'BG5D=KB,)B[WJS].)\]NL2A#Q;WF;/@WD[*Y1?]WR^3Y62EVV#M M)I3[BY;SQUDMX(%72"-:YD 95 )\T?O]O[#W4V;PR/V\>JA#7?WG14TE:3>QM3AJU3]Z;#=50![VVUB6W\ M:C_?+H]IL7K]9N?=LND[^'%3RYL(8G)M** 8VL^=T@Q0A7- 8<5R7')L/X-A M#5V[!8[MP]3JF]4*9SL:7U$__2+H?M^0E%#VS/97HAC1*]4/FL0]4"\(';BW MJ1\$QSU+/>^++)(2FUY9_]$F':S[%+-*2$7R$A0%XP!SX[J^, VH9%!@5I55 MH8)JK"14;FQ$5JN8_6@S8F+:2R<=.C^*>ZL!Z9D.=]W>LRGNXO6T>]RDN#?# MN4YP2MUKN@_H#VJ$Q.'S(BJNQ\T4MM[_C.9^J]_J&G\V7JM<'?S;A\@]NY:[N"WH^]Z1_QRPE8=OB*"=7ZW.LF7*5^XHA]/8CK1RP\SV;Y4$&I% M(46@J*1PP2&NDQK&H**4%[0DA$NO/JX7)8V-DS:Z9EMEZR./?P1,T$YH/4@K M%6 ]<]AYK&)8K1.T ))+!=Y G!?QPH61GP\>G5S8^8#AJ-''CCVF]+HA_^6,V62W;*,'7@Q[P19Z73"L! MBE);!U 3"2A2%4"&209SB16K@C92>U1V;/2]MK7N+[$3N;"WL=<6M:HW]>P; MLJC;4%M5 @/R>GT)/+=D1S*T V[1GHQ,V%K5C'J]3#[ZI3/V9AUH_9K]6=N; M.8.SVN*4U<$'&)BT>[A]*CSLGNX T!_M\0XA,S(R3\KYRVRUM//&/;9-@GZ@ M10E-;AW\BKC(.6PX$$PQH#6SOT#"&!28PGA:4 B+#).[N-8S>VX4#0QD.PVG M'UU?#U'/1+O!IM70!3O7.B8,Z^K$(&W8U6E1PX9%=9I[%+;4?75T#HF+8FK* M(7^9+/_KW:OS=NKJ2*H@2E8* V4X!UB:$M *2Z Y1 4Q>4Z+L )7YV6-S57< M4S5SNM9.8%SAJ@Z(_:@A$7!][UK&81:3T' )C=09"6?E#9U2<,GP$SD!%V^) M(XY?^63Q;WSZTI0%7K8Y ^JS=6=<^92VJ]MRNV@IM9)YF7-0%<0Z%807@$I1 M (EQ0044AE%XBQ*":E MO6 E!N7"6(@."3+Z.4.VLKI_<>?+2WUO%X5V&7E7=[!M%HMB_D/_/IE-GEZ> MOMGA7[KJJ?=ZX4C_@9D"<:0AX*QD %/& 1>8@P+)JJP8YR:'_3>VBE-^; [A MVHKLV9GA"'NOCS!WIF1/C2W9:FW,$-V,(E\.CY.F$0_Y@'N*D6&?FQ?F?OW" M-#"TVXTU$%F+1+:!XB9KP1CQFS-$5ZS^WZ!!>V2-\DT:J&O6=4/93P^M2)W^ M!W34N@[M-/VUKM0A;CVZ3CQ]KYO_?YA]F/VPCYTO7!&A'):,$&47GZZ*":;V M#TJ(! :)/%_5>'U M6 WSV=\D+_^TUO1G5Y[#![O@-9X7)DD7=-T2!UV]>1E_N%3SNRF./7[GB__2 M*[>B;P_][2/K!?Z#$*RH%+:+J,(4 !MLI+&M>+:* M9EM-VVV/P!WP\^CZ\4<2S'KFCCBX@FGC(A1)*>.\M$'IXJ+1AU1Q^8;8T[*- M*U.[/LO/+ZOEBL_49/;X@ 6J!!3"40,$&)80B**HHV0U8[BLS&7*3+6MUL_E6W^RGYG<_AQZ==>#M>W:6!L7>#\^V2[JVVLKR)MO1->7Y MV65$$A^@=0@<^ 3MLNG'1V@>]\32R7+UV?PVG]?=K]K"( "LH $<5 R453!A76KP(+,!X3M3XJ&2Y:@LAJA<9F%WI@:PO;:3 JW?2 M:*"JU:S#&M>*9E^[=I\C*.,2&HD)XZRX@>GBDMG'9''QCMCR/_4L6&Z:8"A8 M,"U)!:H"5:[[G (B1PA A3&1!))*H[#C]$,1XSLN7VOX+Z%5? ZP\Z. :_#H M>>*O5>NE><@YNQ.7X#D0,G#)G=,F'I?8.7-=JF [/9/?G^QBI6WBS+4LJKQD M(%>" %Q"!@07')2&&E3!JJQX>5W$W;[ \7W[CT+(-AI'=LF^B+FO/Y .R=Z] M@FM 3!".=QJ9GF/R#H2^<6#>:0@N1^>=N2\RNG^VFJC)],75*-SN@^SV9W0' M.R_-$>AG\PM?S.R:9GFO%_5"Y^.FRAVL.$80E:!"F%E:*BD0A&E@:*ZEH(AS MYA5(DEJQL='7KEV[NX!KRS+WZF0[MCGG?6V=.Z]M%OY7%"Q,-N1^K/@6 ]DS M>PXZAN$)$HD!3YM2D4JY89,P$D-ZE+:1^OE7+2"_:/=A:8J&F?GBB5N,/HOI MY+$6[Y)?7=K9M\F3O>2S^6I_NS1-7C^9CF^Q79 :X#.[#N6,1NUK1ZHN>Z;_X])M>/,$'695<"F2 T1S9;X%D@'&* 2NK MRI3:8&B"-C!BE!@;];>Z9:YF?&CKXX@A\"/MOH'MF9D;]6^RC0%9VU*Y_E]F MC77.]M1F.PIM1^-8U"A&-EN-A3-R+.4*1@=LUQT-UW-'YBF==V D&(]7<)I("+7 '.)!4H+PPO:4B;T,V3@XAK@"Z@WYR,;%K/*&GUB^S; M'MJO?50TL^G3WD-S]IZ(8/WTMVG&?G[*'EX0-P_O%W,[[5>OKNG*ZG:F?OGO METE=<76[;,D9PUAC.R,YP@!370".6 &4IMA@0C$,BYVX+')L+L=NI:NU]G5\ MP$;UF^R3#IS0'LC[S?2T>/9, 6ME;[):W7T4>UW6^<.4E$ \Q [*+/XP'%). MP)W1.2?S)_UUQ5=U/LQ'-Z1V&=8>+"J"2RVK"C!$79G4$@(JJQPPQ32%.2TY M#HH<[Y0V-@9JE,TVVF9K=2./<;NA]N.=9 #V3#E78!>3AG(9D]1I*!T2ATY# MN6S\B304CYMB*KVW/5O_M2UKB[$J)8<:<%U9_BA48:D#EKS MU,/'1A=K];)_#2EU?@!8-PM<"T/?41L;!**JOA] $5+W/1Z2H2J_7WXY DN^ MGS:YN^C[P3T#EGT_K>U^X?8]DUPX.!>:ET18%&L+"K*T5<9'H%,#*8 M8E5Q@HJPP-,N<2&OXS!!J'OK*;U=3\V2K:<Q6Z>T]DI?G)XVQB)M(^^.O+\_/TU6U\3U9-_Z'V$+&MMG#[Y&J'-O^^ MTNI!E;HR0N6@PC*W+%Y60%BWTCJ792440A3E)*B.?+0J8W-%?WU9O2RV!57: MPA:!U=_C!\:/EH:!NV?2:C3/MJKO!EJL\6_4SS;Z)RS#?C6&:8NLQZLS; GU MJV$[*I!^_1/C^+-IYS[A8C*M@_(^603:FMT<8H*K7 -C7,@S4@Q07B% ("$D MU\0(AL.\W//"QN?CUKIFT_GL$;BHA6RZ53N,"#L0]B.Z-*CU3&0-7#M:6H]K MHV96EG3:;L[^-E\ MT7)N:>Z?6C7M>MU1:%L$15:YTI1H@%EN5]1*4<"4XD 7N.(""BV5CNOIDU#+ ML;EI%]N^M(U\5+T6NN//$[MP=8;=K%V*J%(V_;P!GD[?6X]KW_Y@[T-Z1:N> M'B#OJ4=/2DW?J#E/#V"?[\K3A[ KCG_>M5OXN1%44LD!$43:%3HB@&'!7*H_ M-<0ZIQ05P<<_[T9^_/,NXLSC7?CQ3P0,0QW_O+OF^.==_/%/!"1#'_]X0!-W M#O0NXASHW9N= [WS. G_B8^+?%?+E\(!@3+K!U6Y00 ",7_Y;;OU6H0)+J/"<2)0G#K<6- MC2I.'V(F.K]L +[R!#,8MK<]PZS5'> 4E M%WQN"B,4I26:/H_VGNVWKCQK5TW^=7\.7@= /F'%&B1'(> M!G#L9",XZ4Z0I/?&3#\4>$UTNEQEE,KN>'[](:6ZN2XJDKI$P-YN.R6):WTL M?EI<7!<_SFA#LYTI>L)H8'X(A\>;%CP .$,&E9;__FWY_'_LW0T/V%_JY5\O M_+9GCK+JKOP\(SE'2DH)4RI=O41C($MX M#JU-I32W9H+00?42SP\SM06^%0Y\<]*%IO>=!=+/!.@.S\!K>R?@#=B!5,O8 MNU>C'8J>\_C.#C5R E^;NJ>9>ZU71W@M-JWKEN:?2U>'Y/W"KC/M#H.WO>W6 MR_6J_/9-K[Z7W[[;SW[8&\I*UTUD9SIA2)*,0,I5!G&6&,AYD4"),B*(X!DE M7G$_W469&I5LE''E"YYK=4"YU2? +]!M=CP<*J-A/K3G=0]WHPG8J;)O* K6 M2[#1!C3J@*T^35/DT68FP+\SV@R-Y T:>*;"/$F]@-OJ=^HVPGA>JEZ0>.73 MZN>)\59M58??NR8F=3#M/H+VMJKTNIH)28ABTFY;29&[MH@4,BT59%05$B=< MYE2'Q<=[C!JR(,<)E-\+[1J%+I8+^+#O ^A._=8OH-H5_0VWB:]-0RH2D;N\ M!(88@IA0YXDL--2$",1YDA E0G<:/4[".)5&=E/ UW6=,B!X50X MO]NI$<( M1]B:;*2M#UR;5(:]P*"1N-\=BB<\O6]7KHT[^M[%$XAS&QG?6SMD1NW3L*H/ MN\8 1.1)YE(4N*848HD%%$A02(W,+1OQ- E+5K@XTM1XIED9!Y)V:--P&5X_ MCND%M(&9)1*ON*RH-BSZ3XHZ.]KX.5%M2I]-B6J](?QPX^UB;>V;UAZM6FO. MJ+8&B;W;LH5&D'.)(<\IXYID-/-C"[_AID89C<3@7&]7K]:N,8A?/POI%\>! M6:0KA$&')/[(1)V7>#Q^M*,3?U4/3U$"[NJ:8'GA1+9Z\_+JDSI]3AF3T@0E M,#49<05?4T@QUC!/65Y@:E!A@G9!45),C7P.:\!>##ZH;H!X.?JX8UYDR,3Y M63N#3\? '#;83'1(9XQ M[IZ@6I@HHI"*2H,Y2(*G0)13I\Z>BC*1<7.!:-K)/TM7M M)XNA7JVTJDVT35"TP84FDAG(29Y K.TFC%$J8,ZD+C)#"TV]THD]QIK:XF]$ M!;=@)VRSD0BT<%K ];1C^H%L:&OE EH])M\& -*OT=$RWKBFQ77%3PP(CULZ MY-W<;K[)C#%7 +" 5 L)<4J=9S=A,&%%QF4NC$B\,GO//7QJO+!+K;B-2#:Y M#<^[B8!AX+6^1Z!+WLUM?-Y-!"1CY]UX0!.7@',;D8!S^],2<&X]$G".KXD- M/U#ZH2D(Z*;X'T_<[I+66F^^91E%6!MI>8FZJM/.F\PX3]S^Q4B92R588%N- MMN&FQEE'TH+;;RNMPS.+KV#L9\_TA]S -'<1M %L&C]0>C[:;AURY%-M'_5/ M#[2][HKCDULI77&PZK.6NGQV?I4ZZ/IN4X>2,,KRW'!8*$Q=L#ZQ%D]:0*Y8 MSNR_XR3Q:K/A-]S4^&0K+5CMQ UCDBOH^C%)?Y@-S"0[N/:2W@"AS7*E@2L1 M]G?=&-K^">ZLC5ZZUCU5=0/N^BX%Z@=8KRQS91U]7QI@ M:DQR*"-P0H(_G9B>&XJ+,+832!_@#+W'"L7%FPRN*=^V_.V]!TO?_G6\["\^ M?)2%?DVU[=*^>EW'O+Y_\OE3;9)\UI5>/>MJ1CC6>9;9[4=BUS966$+!)(<: M<:80QQ*Q('/A\E!36^ [2:VMT$@8F>-W"JKO?J,/J ;?:VQ1VDD)/E_#*S[/ M[R(4P^3ZG0[W<_+]+JI],>?O\AUQ%'&W7%3KU5-]=OM^\6FUM'O*JMJV[I,H M38SF4&B604P2 KG,+5/8?V>8*461UQFKSV!3HXE#65U2Q.-&VC"R:(77CR[Z M FUP^^ U7EM!!_!-^"#2*V^T#C@J<_BH?LP=7O=$GM2ZTYOW5?6DU?W3JEQ\ M:PZ!-^%T+E9WEIA<,8$*EU*50TPEAH+H E+&-"-(I3BLQNKU(:?&))_UW#6- M=V%357T"R?_F*U6!7ZI:YE\#SV^O0^['*_T".3"[-$>WC;2@$7<3UK$-H[UI MP.2'#(RUFEVJYTFS>=\#>R\ J&_E8NZ_9GE//,H8SEF8"&I84K-));*X(RE[U')15(4Y&'-),=;3['Z#;[U8U1SY7? MC(XY<9X;G;&F8^B=4#T'[B)AN=#6<#B,VZ^/D#Y:3N>N3L=G_:P73WK?(6@F M!<8IEP06.N>6>P6"@N<2*B&,$A+S5 =5P8^28GH[NTI;_)NEK*RT\V5=1MQR M;2TY<%\GL#[(C@!_E^OOX+?;]V'T&S=G?K0[^$P,3+<'\A\F(FUJTH&=#F"C M!-AKT1_%=@*Q5VJ-DV142NT$UC&5=GM88*BQ.Z);O?/EZ^_7MEQZ"9$]T;$D*VES<+//-'_ODH(-'C1,Q>R+Z+D[V])/8 M'J>094D&:HX9\(<^0H\.X'!+T^5L/G+@JR<5?/2&&$?>%SF".3N&.L E)#*#098=(@*CAC<17J3@>;FB7P M^Y,[*JS/KYJ*)8_VR=]=:]G8XG1G /8CF[Y@&YAE#HKYU7+>@(VDV].J(0K1 M749DH IT9P;\2:7G+JM^N>9W7_YD+6[96-^_M,7'M<_9>0.?0\;A]V9H8^ M?]]*7\_*H?QU-1@K>U/WQ?X"&BTV55^ TP;4Z@Q0 "8"S$'*OX3(\5.*OT0 M=:GT2\RC(C.>ZA*@F[R&76-A17&!$D6@T@9!G%G*Y#S-H3&,H()@R9(L;%=X M=IP)[@,WI6QY+>Y_!.8WG<72C[HZXS,P.37R[=*3!FG/W(I!OPE*9T<:-R^I M3=F3=*36BSM[A^[X8VE?[8V%M@EZ5N^6JW=/ZZ>5=N%%SH";%;E@:>IH0"EC M]VD!+(XW;^LE$!J432C=TZ-] M@^^Z*NPB%)>/]6E5M$O)<]*"'4S]3\6H[J:-^-O"GUL%ZD3+1@6PU6$0YU,8 M?$.YHCRE^%F.J3"06MQ4@0^*J'KS05ONU;MCK@\NS/ACO72_+M_^6.N%:EPW M,Z%I8K2VEE+AVE#S)&M^0T6.B61I8LG3NQR.[ZA38\2]&VM#;XX*=2UP0+48 M;\ROG( -A>3 A-:(?'-PK%Y+[?ZAW@U^78)&\AO0R#X$M $5>H: >*32/?U! M'5;8)Q2RUHH_W@\;KQ10J'ZO:@0%WQQ=C[[>8,]=29$?_U>_S!C566JR'$HF M*,0(:RAP(: PUKQ-19XSJ@)+T+\>86ITO2V9WD@):C&!E3.XS/P1D.V\W L\ M W-P,#(QU>//:]^E8/S1$\>N$7]>H3-EX2]<&+Z0OS0=LU[>_I#?[?QIE]4_ M$QBQW- "YIA94\PN7<&D5Y'W2P-,;1EO901;(>OB$?Z+^"R( MU]=P5VB&]J>'H1*T@-M4CUJ_9Q\XVO)M4^=P];9>%^F ?N;EW)UBV%W;%S[7 M]UJLO^S:X-4QAG\L5IK/74RA*Y$T0YD1/$42(NT24Y3&D"J3V]TPS5-,1()P M4,9\L 136_YUGA] MF%"; TD\+:,X,EY-Q/;,7(TW)7XOG&&!'MHMXJ2$PH66 MNUZ9CWI1;4J=KU9N3U]O&<4+.+SN$W^I__G6557:'H[85]56OZJN1M9>K*+? MXD"M*(]7+.B\&-,I'M0*4U QH?8GQ;W,_J7+;]^M)7EK*9]_T\VISD=S7\Y= M^/&9%L%")B3G%"J>:X@)-Y!CN__!*4HR)9!&8809./[4V'(K/N"-_$ >9+%M M0Y&>W/JUJ]-^]OA4GW N[%:I7-B_-?C%N89^W2>XW0#5Z![)N*$3ZD>W T[3 MP%R[FZ&-Z& ?'W':F/@&;#3JCT(CD>N5/T-E&)4\(P$Z9L[8QX2?=VUB0)MV M@/^E^>KM0MW;W?A,)*10!990%YA9VQYKR+!*(&,Y0H)S)9A7LGS;(%,CP&TP M\J8'I9,46%&!D]7_].LBI-=/P/H :FA'0PQ&06=AUT"(.@^[^-#1SL2NJ75X M+G;UVCC[Z%X_6,*XUX_+JESO"D8CD2?4=8=(C;*[1B.AP!F&1A<)TU07M, A M1M"Y0::VT!L9P5;(,*/D+(I^ED=7; 8_D'H%RP!EH-L Z-5*.#O0J*9 FZK' M[_O6:V/7NEB_KXM(NYWV&UZ5U9?'E>;JX^*??%6ZHZC/EE'0#%'-#=(&*H+M MU@<1 FEFF8"PA!N3)UF2TK#U[S?PU#BAEA14M:C [GJ>-\*"E946_&+W-"Y_ M+G #XST+OOS1/[9C''+O9799]0[G+SNF"$\BMU0*S!!DA MJ4AQ'EZGWF?DJ7'7+DDIHK>X-]H!ONR^,1S:A7T@\_\&C=3 B7UP8 K^'"8K M/A2N_GW17J./[X(. >6LYSGH ?%&UCZ*YSC&9]>5T?[=]&1T@3W_LA?KI3$S ME&2$"(H@%TD&<:&TJY+&($\U$UC;75GNY6'I0YC)$5K3PC(FTK#3G/B;86,@ M/89I=BW^L*6UZ%:E?HVVKL#V;LA%"S2Z<=<5NG,&7^=G1AJ!F\CPNN*3)>_/ MULPLYR^_U9%Y3@@7*GZ_?.#E8D8E+1C-$BA%8LU P2FDS/Y)[=:V2+E165@ M=\#84^/-78Y"+;NS8K 7_V;3"[11P;-+:LS$>%J,P\ ]M,W8)]+A9F,X M9OT:C@'CCVLZA@-S8CQ&/*);];F/YG:Q+NNC\O)9[QGW[0\Y?U):O;-JWM7G M[9OJ36_YRK7JJ;95-/>;-*U<+![-(=6NI@H2 C+,"&0L$06B64;RH)K__8LX M.8Z2/"=0*.8JF.+<-5HCT.2I*&C*I.%!C<3;!IL< MW6]EK:MBNF2)6ER? G3A0/NZ3/N!;W O:31R$6[1ZY#T[ EM&7!DY^=UU4_] MG1[W1!2KLJQDEJN'NMRR$N:;:U53/M7-?)@9R4A"8:U00D4F3 M8N:7!G)MJ) U,$ZRQZ/2@/+5Z5@/*Y/HP?J]5Z]EGS^=O*<>_M M0MU*^S5YFKM,UGO]N-*RK+\P][J2J_*QL?8^K9:/>K5^N?U15K-%5':JS)%,ST6J?F;4QMC):"\-*Z4D@W>>EG9%' M17M@R@X%VIMI>@.IS<:S@QS8=_:O8]NNNQ2C$%IO8&T9K[\'1M:>J ^#WG%9 MSLO-FBJHL=]&3&%*D-UQ8B.@X)F"PB2F2(0T6(65>CX98FHDMCDIW8H8Q&$M M0/KM*+O!,S#K!"(37I#@HO+]5AXX'6;<$@,7U3RI)7#YRK@%_FG32^JCF)?? M&D.2Y7> %ADRZL!:MF>&89*P@(0O\=(BI+7!+JBM7CGW;6"LP M3.4,AGYKNQLR0V\"-\*!O73]+>S+FO>ZL,\,,^K"OJSF\<)NN3*RS[A>._^1 MM06>2Z75FY<_*JW>+YH&7.7BVZUX_#WZD M,0RZ0V]/++"UGWDKMBLC\X/*E2OU?:^;_[Y?[$J ;^+E=^R(S!(5 W.Y1 ML#8H(2(C@26-_ >?GG?[KJ[%6M=@6>[JV#<=K.H28_.2"V=*VBD*[&@5,"5^ MO#8,S /SVE9H\,M6[%\=UON> =MTCB%.UL(1Z[D3J??P(_$:";F4EKYTH1BFBE#NM>\Z]_"I[;BVXH%W M 6=)QX!YG+=U@&%HU\D.@9ACM6,H H[2.D RTO&9QY'8)>NB2RT?LFI_#C7[A?G=WY8KM;E_]3_OO4O?[*SMK:?N;2L1_>] MF E-,H.)?5M(5D!3[?GX4$M<.#I7SO4?LS:&X #TV4'[(+)SPN37AFM?<11:2Y+BBDB6(0NZX](E$9%$PDQ+7CRD41YJT+%V)Z7KN] M^VA_ZA#HGHN8BT['#SWA^W./(?:X[[48Q',7#^(8)Q-M8DSAA,(#)L^3"I\G MQ7'AA[UC?5,!V^.+=VE"HX9$C:/P517"@BI7 M-P:0FS*C!V<-85QV!DL_KNJ&T,!<="#<#=B(UQ_#7%:]5P8Y,\RH#'%9S6,& M:+DR,C1RSJOJHZECT#=%$A IA,AT#@N>I1!+PZ&]-8-:FE0D2%+!@S*V3X>8 MVD:IEK"N65ZG.<35H3B#I-_Z[H;/T [^0&C"@R,O:M]O<.3I,.,&1UY4\R0X M\O*5D<&136^3ZK.NG35?EU_YCW^5Z^^N')DU&ESQ')?H^\8U0CGLES++,B48 M412B7$KG/)&6" B'&F4H$UP5>1KC!X^59Z)^;RN]M:\?>:G JM$(K)=U#XJZ MPP2H]'H]WZ6IZJ:6'W=]9D(#-&/GT8^&!IV6D8(]&Q5N@!4=',A^<[[7S[X= M4(\AH1U1[#=P-%:8<<-+.T)V$H3:]7F1!0Z>'A_G+_:!#^7:C5]G1V0YP=:8 MLA84=;U,$U?TZ]05\/X:;!'=%_FA>Y\G]QG^4#T\/;Y:KU?+O)HC3?K)^F:6<%2FG#-(LS2#.D80,N_KS MG,L<%VF6H:"&&2XUQ=@("N9$PU$L; +RO_W88. ?W["[J7/RC[-@;L)$= M[*&^NP9UA.,W'+.>7<(! HSL+ Z'YM2-'/&,R/BUJH;=4<@T1! M""M@FE$,<>:.D2B7D&)%4Z8E,FE0Q;?SPTR-G6HI-^5X02UG8 3.>3#]>*@[ M1 ,SSBDZ S3\:D>AWRB;\T.-&U[3JNY)7$W[U;&5T[^YW=9G_>BB 1??WB_J MRD?.7/JPBQZS&R&MI%!0*95 ; IKPRCA2,'D1BDL!0[:*/D,.C5VV,@,=D*# M ZD[Q.UY38"G:Z5G6(=VM71'-*(2NC]$/9= ]QAXY-KG_E"<%CT/N#>\S?#; MQ=J5'E'*?MVJ3\O*;N7^NWR\6RH]RQ#/C<$$%AP)B'620)%2 8T66A:TX(F? MS[9]F*F13R,IV(AZ QIA@946.'']NPVW(-O.,?WA-3"KQ$(5U'3X.A)1;8=; M'CM:X^'KJAVV'O:X.C+0=[G6U60%)I((XM<41Q41>3,($%+?[0 -U,N^$*6]K(!E[M M[QIHVQ;X.DWCO;<0.-&RK:H>A(+VW9MN#VP[;&" M4O&U7,_UC*1(9X@B2&6N(1>_ZF[X+)@.O^% X@M[KE_2.>IN?/&RT=_@E-0[?W!>OB7U? M+S9!V+?U"VI&"H-%GDBH<&87IE$XU$9^HC" ?*A!N2V'9"(M^YYK7M^XQX-,O+;]KR*IV_: M"]=U; 13MS.:,4YDD3 !B;(_<(X2R!C+(,8BTP@9GI&P_F"O'C^U);QO6=)T MZ3Q,@Y9FB)_3DN65>A>;L+R^JFMKP+OE MW'ZP="EGS_H@B+:Z72C'%1<^_FI_JUPFZ')1-5]?:TXCDZ8IQ FJ"_,2R*VU M#35-E624Z7_R M/;GKIT[IP/PWPFQV: 38-^ #-0+L3VPEY\\%K^T/H*@7/AN64<$-^!.=F*#BZ"ZXYZG.#@S\U_!^G% M&HM>ST45 H48N:1"'$2G!14BGQ-1*/76(?WIRQ^;F*U$F$+EJH#=2K7XJPXJCG]6VMC7ITRWBE4<_+^JHRZH5+.M1GOMM\AU)!<%$8 M:TT1ZNJW( 4YX=3R?XH08D4BD3_O'#U\:L2S*\%[%U&4^"Z\/G,$#$-O,7<( M=*G/?!=?GSD"DK'K,WM $U>H^2ZB4//=3RO4?.=1J/GXFH@.I6Y;V:1&ZTSD M-)608$4@)D1#FEA>(D1BP6B2I(E7Q.^KITZ-@9P+MJS6I>1S\)OFU=-*!V=$ MOX:MG8ZBP1C!U1^!0UA_SV.]N_?JW#UQO+Z;QTJ\ZJ%Y\F&$0?"AB^0*C+B6N9IX@[@7 P^QPC:#8K,T+L[27M@Z M!$X/PZ$7D 9>N@?X[(2,,28N Q5@5O0"V$@&1AQP8:;&53Q:C8[+=X]G?ES5 MX)4A M$?M!K0G0M2HA7LB8N?)QV0X\ P-SR ;\K?S *@"V&@"K CC0 6R4 &]' 3_$ M43SP)(QD; TQ&8$>Z Y MONI8QX\HC>[@]ZO?=Y='A07B_"/Y5+]7<[GSAF5 M,BE02,0RF1EM1!(2M1<#U!COUHXPM;__NB@_\&OMJM[! 0W'2O8: MJ+![^*@!",K71S38:+]2Q)::8226&!J=V<\D1!1G$*F4H*C115 M1O*0M7?T_*DMP=O%XHG/R__1KK2RKU?N$G9^"[(#(@.ORZUDM9'_N0V.Z*+% M1TH/4HMX.\9/*3%\I."ERL''ET4<)N6 M 2E125HH^SK-W0JWND**J(:&I"G'''%-O'SP7828&@TX&5TZYE;*P 8-G>:C MG37&0GE@:@D'..Q@KB-"W<_Q8@48[]BO(T2O3@F[/BN<[KY(O>"KF4,NCS :25Q5\I %KE\ZDIQ]=[YY MJLJ%;BG\XHNFWSZE&T*#VQ-..(?*7CSPYS#)$A=QZ#<=XG28<1,>+JIYDM)P M^/EZI]\_J1G"7&1(:F!NH=7NYJ8M+ MRKJAI OE^6(7F'TK;#\&]_:3&^#4!E;]'MF]%^3[Y?%N(HW+V+W =\+-_3PU M)E#OT^TN_4L62C(N899B!'%A?PB1*)AJA)@A-,^55[V]H^=.C1>=9"$!6GN MVJFM@]I#FZ!6J*CTY(/O1D#$610$(\61?=;?:F_%TH#;)V?#S$M^ UQ5B/_6 MW%ZI;L"7Y=/ZN^;5&MQ6):^Y^I)A$:9?_3OT<.GQD&[Y-3[B'3= M>W\ZZ@##P)RT1Z!+YO)].#UU@&3LS&4/:.(RE^\#".CXGO$SE^];J.C2-7'[ MT=U.MV[[>+>LUK,4R31A5$&-90JQ-8&@0-C^8"G62I$LER1DCWDZQ-2X:>]G M:MJZ2BMCV [R#(Q^N\)NX S,6'M<:NENP%T;,,'[LLNZ][K7.C/,J/NGRVH> M[XE:KHQLYKQ\>'RR*^@X/Y4BCHE)!:0XD]#^JB'#&86%Y)1P097TJU1P99RI MK?.MF/NTZ-K6K99F_3=?!3J-+F'KM^Y[0&QH[Q7+@7%_<<]^)G/ZZ*9KA@'R0POC)'0&-=Y.14YY$IRF-FO M2V$2DV0XJ /!Y:$F1P[N'*K>^KI?#H0-*FWB ;$G0?0"W- <$8M91%/W:W#T MW,_]XG CMW*_IO9I%_>K=T1FENGEMQ5__%[*^[):KTKQY/:$]3=:88TI39A+ M,ROL#Y98PR)G=@.19%KJ%!7,JP+;]:&F1AI[2<&AJ%&4T0*P'V7T ]O E!&) M6'B*UE4P^DW:NCSRZ?D?LYL-*O%@W,5N?R^JO-R]O]$)^?^"K MOQI;(Y6I-2MZU7!ETY.V+'P2G^QC/^^*HYK.N\T$^\=7Z MY;"ZOV4T.5^ZVGS[@N]>_;?_%_A"\TO_Y;_\? M4$L#!!0 ( (J#!E./^H#"O)( %2:!@ 5 8V1X&UL[+U9DUO'DB;X7K]"<_MUO!3[4E95;2E2NDUK2N20O%U5\P*+Q8-$ M7R3 I"46+]^/)#[CN4$3J1ZS"02N? <7[[PR';[A<31?S M?_D+_T?VEQ]PGA9Y.O_\+W_YVZ=?P/WEO__K/_S#/_]? /_^TX>W/[Q>I+-3 MG*]_>+7$L,;\P^_3]9+;Y^7TX_ M?UG_()C@=W^Z_">93(G%1C#%,5!:6 @I98B1JZB]S9*S__OS/^E0I K1@<@. M04F9P06OP954 BO:)JTW#YU-YW__I_I'#"O\@9B;KS9?_LM?OJS77__IQQ]_ M__WW?_PC+F?_N%A^_E$P)G^\_.V_7/SZ'_=^_W>Y^6WNO?]Q\].K7UU-'_I% M>BS_\=]_??LQ?<'3 -/Y:AWFJ;Y@-?VGU>:;;QOW]*_[+7U;3TZ^SJ^]]66+YE[^D_,<*JEJ9D:R^\[]= M_^,?KU__=8DK0LR&W;?TC8MGU+?M10K^L<9YQG,.+U\R6Z1;OS2K\ETL+__E M+$2<;;X[R3B=;)Y\$E?K94CKB1(^\Y@%Z"PD*"4B!*TLH&8B!%\D\7>;\TKU MBLC>J&.%Z1\_+[[]2 _^L4JC?MB(92.2>Z\[%\U^=%^NOD_TNQ,7A?(N9_#( M"RB>)43K-!B/P5LI449S$-DWWW:;ZILJ/5FF'Q;+C$LR'Y>O"\MT3[VWH7OQ M&S]^#4MZ$*0OTUF^_-?5C@RAJ_5B ,F=JX7(_C 2I<[ ^.Q/$89[D%D1LA1/; M.TZ&DW,7L/D4_GB327S3,CW/55Q80F\PI. DF(0D)*,%A$B&47,4QI+XDAL" M,(^\?BNHN-ZA,H1LNP#)2B[<"AN\=&(?)LR=(; S@N^7[Y>+;=)XHJ"I.6.D=<+2T M;?)"+.V[=+7[$7@HY#1-L31-XO5NLP^W^G7S<;)(O" MJ, E9*MI@_2<@U?%@^/":\EMD,$.!Y!;[]X.'AVG-P<2Z\C@J%;O9(EA0[?6 M3F&Q$DJI1SY9:'"2/*>@F1:"\U3,8?;BYMNV T#'>RRNLYV.S]E\7\ M,LZ6.C&B,T )09$M8QPB,0.8B/220S+RL#SFW3=NI_J.-2*BA"%5")U31+(2X8>NV*,=RK@]1_]XW;J;_C?.5!(AQ9 M_9^6H58:?/Q^&A>SB;.*14:;%+?"@T(3(1*Q0/M4"EEK7HP_2/>W7K>=XCM. M4>XOO$X6_<]_I"]A_ADW6;64BTM:)]#>"U#217!1!K!%&>^L*Y8?IOR'WKH= M!CI.4!XLRB["@5=GRRJN\W.6"FG2P=EJ8ETP47H-6AI'^YC.X+D2$ JYK,X: M0UP.$! \_/;MH-%]3G( T78!D3=S>AJ)8_H-7X=UN&!KDE (P6P$'I"#*LK1 M7J<]U/R\BI9+[0\KW7GJ[=M!I/MYOR"[P,''TS";_72VFLYQ19:. MD2R,9\!,8"0*1V$P,P6D,_7@-N?BW0 XN/72[8JDNL\V[B_(+G#P\RDN/].6 M]]?EXO?UEU>+TZ]A_GT28E0%+ M[M.,APNV"WQ\_(*SV27U*5F5DD/0*1I0-BL@023P43&&+(=X8+;Q_CNW0T/' M.<<#Q=@%"(CPTWI8OTA___B%Y+9Z=[:NU?HULIZHY#$&;2$H:6MS@H; ;0#A M6(F>T&WD$+;B*1JV TG'V J%L"Y4R:"2 MR!"2Y5"$-Y8;6@;ZL-S%@Z_=#AH=9RX/%^;(:#@YQ7FNM:*_S,+G2=(\N<(, M)(FT ;H4@:+L F3WO/8.*WRX];KMM-]Q^G)_X752'+UR(NW0T+'2O1TN.LY@#B/4L6L:SM-IU]B^ M;#*QDHCG9.)L#H6D0L .#LGU<=SPZ 7!_<"NPT?>O!TN.DY;#B+2+AS)BX*= MB[_>3N?(R?\I47!+^Y]4K/H_"CP/"A@C=SADR6PT]V#FS_/EO!YQ"^3C8UE'5W>5=^F<[IK5/:8A;G#5]70 Q. M2A.YA"*Y 249@N-<@1:L^.Q#0):>6(LEK.(&(Q M;],Q3J-Y,U1\\+E M4TVO^V/J-AWC#,UH!YX#I#QBV'4ECV]A2M^>X2^+Y4?"_44-W117KS&NK[^: M"&G0.&$A2:'/PQ"G'(.$T27KK8WBJ0C]@%UM2PK'F;[1#E=---,!XBYCZ&W#N!YDE+M4U]=<_G7);%S60A(Y!L5R9YK M*04H\EG!(P8HF (30BMG61LS^"1=XWID1X'&7?,XG)XZ0-VKQ7PCDG^;KK^\ M.ENM%Z>XW"SA6TQQG="7VKVB H+BR4*('"$DC=*:4+1KDY78BKQQ';LQ,#B\ MUCJ XM_F<3J;8;Z6XQ4GKIBL0N"@G*O#7A0M*D;L>)N5,<*CMFWP]SA-XWI] M8X!N(/UT@+3?%FN\:[\G/"'%3*G6TP93V_1J/C$62(SE&%A2S&(3C#U$S;@^ MW!CH.E@G^^-JL0ZS85RX&^+9\',RSV\787Z#K\L5$[D+*9,;G&QUB!T6XC$1 M>SH4@U8[&Y]JC#C G=N:QG&&QXWJVK71W^[(].?(G./G>AXW:'CQ"%^_X?J2 M-6."")RXLKR>^S*FP!<5P"M9++\3"Q,5'#I.1C[+F.N0)0U>BU@GM"EOBJ5O/-5JNC_R;E(QKMD;/GVR MMX2[.$IXO\2O89I__N-K+5,@Y+];?[F(=:Z\3Z]EWO17RUP'B>M<_07G(">G MK8@R&_?46-7]8;,%<>.:JN'1-+0^N@#9;?*M,58B*DA2UK!9D7B,UH :"^WZ MSOC0YKAJ=^ ,7C;:\%1A;QEWL$O=/FJ[?V+[VV*>+C@+W*CB.8((I39HF@3! MT/YKG0N*9VXY/G4?Q%"'G4_1V,-!Z""5&8W4TD&&HF[:J_7IIAK@PL9>,W,N MP4D6FKN8'?F3P8&*FP%3]"G(Q'3(4=K4QDYM05P/9Z*#0&QH172QW[W[BG4\ M\OSS6PPK_% OAGI7_D;;>>5GDJ--@FL'0@4-M%(<^"0,%)D3;>Q<.MG&"W^2 MK!Y.-0=!U'#"[\!.GBY M^8-$]1#<#8*BH03? 8;>+Q>T)-;?W\\"F=1YKAOXUVIQ:\ :)#%A!06LKE;Y M1BDA8'2D=:NMSC+Q\E0?QB&QW>-4]1#4#8*BP43?Q;;VU\4B_SZ=S2;&I,"T M\K0-,XI3M$.(H;8A2658K*5PH4T&\Y*"'H*W00"RETB[ ,.-O,2-,$!RBE]I M:P7B1M'VZ@K%LEY!YEH%'[,*LLV>]" YX]RBT,*G.5C876#FPI^G0-&Q7,U= MB8$,GR\00A:0+3<)HQ6R/-5"?F@":)PK%)HU3NPDS@YR/6^G(4YGFPI7VA$W MPU*^+&8D]%7='=??K[-AY%FI5"M?.??$%R=XBX D*<6"-L87V2;3LRV%(UVW MT !)3732A/(4',M5=61YU"FV.-QVD:M]JS M#0H>A]HA"ND"7)>GQN_#]YNU"XA):HZD^EJ=>GZ]D50*3'#*!B-HNVYCN!ZF MIQM0':3O1P[L#Q!]%Q#Z^?3K;/$=\0/.-J4H]Z0UD2Q9I30#X6L!(!9:;+(( M,!(#N7F"R]@FV'J6M''/.1H!:UB%=($Q6BO+LP=9X=:A\)(!19[$2K06O%8: M,* N)I(/D1M5R3U&TK@'&^V,U0 *Z )+M[/KEQQ=#F"?F&B**YI7?R#4KJ?I&O=PHQ&J!E1%!UGJAUHN[O&$%.&HPNM$K'KE$Z= MQ]DZHEFR(F/6LCQYZ^*P?3)[@:S9V4$G65R4K M*6ZF6-IE;XQ1L=8B'RD6'/?PHQ&,#A1Y!VFK)Q?"C:2LKWU@UBC '"0HB[+V M@SD()D3#DC%.MW'7MR2P&Z>]78JAA:IZ=KYNEF$E'QBK9P"6U22@=. MCU"; MQ +YDMRE-EW,SY+6C6/?#G?#JJ>#C7)S['1#=#8H+@6W"QAM$=..^'R7WOI/(NW"_3D^G5W6B=8X6O!!,:TGAB&WCO#]!5#=>?$LW:QB5=&&-GI"1+X&E0%MUREG7.T<] M1"]#G0-F0\9L*'1I J\#3YZ;U3\=!5T#*:0+<+V_?/.&J?.A@]SKH&3DD)U' MVJ_K<7TPM6>0NR*2]3*U&8?P #%C3Z,=1M/W.^D.$GH'_O>-^X3.Z5=1,Y$U M@N"LWGF+HDZJ%!0_4*SJHLRV44G,74K&S2(T0LQ!XN["T)SDO!GB'&;OPS2_ MF;\*7Z?D@4V2X]&KC"!3HN @U>W8FPB%++1B/#-4C8:;/4S0N,F 1O 90OA= MH.@#KL-TCOGGL)R32[GL]&QS'/X:RS1-UY,@O(V2,["H;*TY9!#K;5;> M:XTR!F5D&Y_H>=K&30,TPM; *ND"9O=%-2D4'L0D(RT0;T")2 &$L1F2+A$- MV5O3:'^[3\NXZ8!&,#I0Y!WD 9Z+/2:%!2\E[=FZ:(H\!:V%4+P&*>EC-#[D MW+RJ\T'*QFU&.'9^Z7#E# :VT2ZH>;_1S!=<3Q.Y/+?8&ORVFMOO.O+5-4\P M>LQ[;*P/GFOGZC5*]3RO3FA7V0(!CAEC4V&^S=T*Q[C'YG8X2Q)_M]R\-F]" ME?>XW-PX2RNLV,QI=U"YGJH+KL%Q)X"S&$LTJ)Z^B&^HM,)C](V=:1@814_G M' 914@=IB-MHA<8JB/9-LN\H6/<3.H0NK]_.+FWG$?2N^ MAS87 XJV#VALSD//.5B]7IR&Z7RB+5K,6@++DO;:% )X7QA$9CCGI@3<;I#Y M+OBX3\8X(!E&L_=A7?6':FLQG.C&UOP'$CZ]_0OYX:_Q&\X6FRFQ'^CC M_ PO^/'%2VU9!N-T!-IG:Z=J8B"+3DF@$%)L!X4M7C;.X5DC; PMW ["ZJO= ME4('?$,?R70F%;$P!+^9DA\H;(L1.?!8LG/6E7:U3H=7_/8R Q=P"4 M"Y1?CXED5A8EF**8ODX+%4Y#R$B<8! V,5=/B1M5[MZFI!/W=$_-WJO//4#, M71PH7'#P"TGJH?D)/_^19FP(9%X@BDVMMHGGR!K7#O5%EG#Z:,+D_41 M9_2CSW_%.0EM1DR=Y-/I?%H%M9Y^PTN^"AKKO M-YJ^N1U]XY9-M@5< PUU8-;NBFJB4HPJ&$?108_>E73.3PGK)>T375343AA@'F.M+!#@DTUUAK86W&JO M&ET]_@ QG91O#^R@[RGL#O!R?0?H.0]OYF3!Z#L3IUWQ@F60D=<,/B"Y>;KN,Q9?H#9/(,E"9] M^Y3K%4T('?.*B#RE9!=7Y V6S MJC5W)"DED&FGD99BPW*IHS#92?7W4':S3W!TL9-?L'RQ[G^B<*A,UQ/DADNU MN98GDD."@MC0C)QCQ6RVR'7P;;R_1PCJI'9\2#P>)O0NMO'?<'W#B;5"&N6= M R8RD2]3@'I@"YA16JF4B[K-70^WR.BD&GP8I.POX YLR^7HH\N>K9_":IHF M-LL<@D7(,9EJ(,E7S<:"X=XG(7/VN8UO]R YXUXM.C!:#A=X!Y[<729>3V=G M:\P39Y(5D44*:E(=4,LHO#$RUZ(?$Y$5Q!01"2Y2PDMXVN M-=Z)S.V ]E+J;MIIJ%_X72RF!]KF$Q:3%()3@H(%)@T$;@PDM%[JX%"8-M,, M=B1T.PB^E J)EEIZJ3UV]T>_M>VU>^I]1^FYVYKAX>>A/3'++T27&,8$&AG! MVD='ILY&L]A$$'\#S4J^Y"QR" MDPBU^A^)8!M#FYG\3Y+5":+VT/=CT#E8^!T@Z0X/%STJ*%.00D7(HLZ1*9E# M=(X!4UI$&P3SI8T+]B YG2#G<'7?#2\/EGT' +HQB.&R!REPKH)40'^&VCSM M223U0E6*D:,PW+!&E_?=(V5'7NPAZP[ \LC= A?,Q**"=K&05.HM MXEP4H.@%P0A9+Q]P*NHVF8#N,O[B;D#H+R9IV6]"O"D=-%7_7EAVDA;UA M]!67TT5-U"[7 ^U\)*#S08ROSY;$QOOS%VRXV_SPW==-!=C/?^ R35>8)S9$ M[3//X%!1>,%EJ7RF*KHD64Z&-;J087=:Q]TYCPK'MGKLHIKJ21XWY;H3DY60 M04;@GB(5E!EFQEFKL8I[ M4#MN'\CQ-^Z&NMP=K_X-^FGW\A2;]8J,ZRGNHH4#/<6?YWFXO??VU7MV;0 MW)>B93 VM)F[M.=-A,VZ,8Z^M^ZOA][CCLT=%@^[JR0G$ESB$(UR=?QN'1,O M U2/@3S8DC$=U;5[G-1Q>S$Z\/0&TF(70<=)_M]G%[U+GQ:/')AL+'R\ZS1\ M0)+U:KK&BS$PY[+Y@&GQ>;YYROF5[,ZPX 6)/C#%ZS0_ T%% :@R]]YSKWBK MHZZVG(W;:'+,9= 51E[XJMG$AV\7\\\4O9V2$ND1TV_X?A;FJV>%-0G)2:%" MK82N1Y:"68B\=1*1:[:7)4\#K_C-N>\C!5V-#QUD*:X(:4/.-O$DHMM M(]S,I1>)-N9BZOA&XA5B#@@1618"LXRI^3:T*]$CMQB-M ":JK:?Y,7MUD[E MO2M"%]#)U(("5T<'$3?:EJB]X='R-HF+W7MGV[4:'1-P^XO_ @-&%O>CI&U MU2K%(H"A=]60)W#*%6!.,^NR9JK91>I[Y2K:]0J-G*S811&#IKZ.W"_T*JR^ M_#);_-[X2JX'7G.4[J#GV!N^*>CJC=&UJ@)K-YP8P,X'C0D9[0O,>AHVW27M.!FW%*E(V-Y=#AT85)? M([T[3<^#=&Z9\_0_."/),39%GG>/&;0R..VSL&V&0]VD8ER#.CXJ%@,IJ MX M74GE;8WS/M29#N\*":Q>HK(^.5TLU]/_VK!V.=)2R9RBI9W$ICK+)D4!0>H( M3&L2-D7X3K2!X*Z4CFLKNX-I4T5WX#P\DM9DVNA4O".1&0_*\DA+DS8@GV-, MD0NN2Z/X;_]D=+/ZSNY .8#2^K"B%V. $\GN7)83M$9$Y@*8+$@L"FO-=*[5 M7)HKYIG*KDW ?9^6<K !Y%C1U1&Q9H&V@W(7Q+&LT.M8V4V\46?Y^W7Z;S,$](@L?I MM]KVO)JX; S#D,'*K(@KJ\&58D%[#(4V&._4L2![G[K>VBZ'P<:S$#Q038=N M]XW 5Z?ES^D?T=*=!,O(77819-Y4(=4E*^I8ZV18]"X41.SH$R,18SW!TLZX M%-KDS'>ALK=NSB/9SH'4UF4FJ-XI5D56Z]5?G:W6BU-<7C+X?2)#D<2.!!4+ M!Q6P0&3TJ?8#&FU2\HT*.78DM+?&SB,!V!%HY?%U *8D4LKQXUXCE\#UT)U'=P%]@AGYSBI;BN#K+.AH/@15E4 M0K%&HWQW(+++\M]FP&RDO Y"GWMK;A/5W;P F6MO/'()2;L$2DA&2ZT>'R3O M4C;DH-LV5Q@]2UJ7KN31C.-!BNHG';2]&"<*R;=A3$!*IAX(B "A7JPL7);< M)\\]-FOBV9+&<=/H1X9D(]7U&]VG=:Q[6;QXYNAE):']'-34_DP8%E/B:O-== 3@BM-)(>U/&,4"^& MYHA28J.ZGV=)ZS*6&0P=3[F,!RNJ"^Q=5"]MFC;>+Z?(#&NAO" /.+D"10=C8OW:MPE:GB2KRS"E%>:&4U ?(?,%Y3O/#Y*Q7NR; M$%!I#LJC)?&5 %*)[!)7O.0VB<9]*>XRD&EF&8^AUN[CFP>D.]$^L]K+!B[D M7$_!%/B$>7-!GLFLW@K;9AK@]C1V&=^T0FHCU740WU2VZO\U;?4MS,Z7(TEL MF@C[]0F'-.Z39E;\?E<]S%T2RNZA@L+WTI34PU#YQ4$HLBO?B: ML\LI *(K,9E$^U*;Y.I!9(];H=G=192]7?)Q]_3K;B#+,+D7Y9EX6R]-S95X* MM?" ,9L$1: AWTQ(""P+"(F8PAP2^6=-4+HE@>-6Z37#8POU='!@^F9.SZ)E M5$=Y4X P88B4@AUJ)D.N "*7(<9&) @*9/!-M^MGO$#+RJ,(6RKY7Z+F_ MY+L 3NV$_A3^.+_,:Y*B5Y&38\M]T.3GFGJ+M2A0"V&1NQQYHVC_#B$CU[H= M!3C[2[X#X%P42V^:Y/)T?48:>G->=)]_.EO_MEC_!V[6Q$1:0S$3"E)\K6R6 M1I.AEB0R*8*P4EO!6P43VU$X\L'C$:#61%CWG>M8[U%D)R(Y'( MJ1[E:_R&L\6F].D#?9R?X<]A.4=BD%E-'$70/ JRSA0)^WS]I$S,0V!=AR%=&'U-A'+G3CE2G:"R9AM0BC,VSIKQH(72 )4GMG( MG/+8QJE_FJYQ[Y!J&EL.I(Q^H;5^%9;+[]/YY_,[K*)@6H1JDJ,.]=++ ,Z2 ME\"$H' 8D\V-JG"W(F]<=W](/&P'M0.4TT7QQ+U4S-T$#&/69@9VC#WECS&E=I.=T4S2W*3V>KZ1Q7J]LT M;WF7?+SV%^,13Y^HJ;BO)Y?G^#_'?EHC@AS*YOO[GN MLDXV*J<06"2_7PGF(/#$0#/D)E$\RE.;^OE!R#^X$"?4I\TD+*E8 MCD48""9%I&-Q .SLN?P;;N@N][)['CHF/$T&BU7-_@ M_OQ*QU]Q_:56I%TV3M[_+N)OX11/R"Q.E"C!&6O &DM\^ 6_(R-L,8*Z1X;U8WR\7IR&Z9RSL)G(>AIG MT\UIYJ_T$9<3QC!R'108Z7S-,1CPJ OPE*Q0S/ADPG/>[+-O&0\[0ZIQT4*F M'60(Q*1B)% #&'.OE8T[0)QO E* XCP%3H]OA'B5I MY#*7/C;(8177 0)OTG^Q,B7ZI&*,0+:[3CJ7"CR3&JSVRG"K0FX$O?NT=')] M\&%*OIN8/DSB'6#F(]:)^"?O+U^_8>7" ?GA.#)@C?URA&N-$2LUWUIGK6Q MONC2IGO^":)&/NH]4-]W+<] PA_9^WY5IX;CDD2X_G[E,<;L0_0R0&2:EA72 M']XZ#3D;F860*1L[F,_]$ 4CU]?UL<<-HIZ1X?4!OYXMTY>PPI//2SPWXG=8 MNEB+IIB$B5EPJ9Y1:X$0,C.0@B[9^.P).8-A;FNRQG/;#]?\HK4:QH[J?JNQ M3'J[SO]8/\WP?V"8K;]\3%.<)UQ=V&+,47FE8>43O(M\*.L^\:)R([DBH&5+('?C<%W7QT_^J,SU6 M:W(H_S;_NEQ\PWPQ29.0 M@BG0&"01'W2M(7.0/#HF>= !MW+R=A]H=).,L4N.1P;%_0%O>VIH[/W[U>M_ M-YRK"\HW5[44;R'7*:!*& Z>$QBXEU[)&&C/\EOMUK<>.RY6#M#-8A!!=6!! M!K#D;Z=S?+/&T]7$&::4E!ZL5[44RP0((I-=CYQE[B0*VZC;9D N1IY:TMD> M.Q8\.E@:UP? [WZ?8_XIS.K8Q,W4N=4D&588"@592E>+&!/Y[H;",1V;]<2U LG9[.-4%^%=?KRMZ\G^7^?G3/Z:7'1 M:OQJ,\SMS?Q7#*M-.3=Y8I\)'JN)ERZAS FLM:9.G_7@3"J ,2FC9)887",/ MHA5/(_<>];(*.@%-!\OGYLSO:_4LEA1HNI)DX1%LTJSVWM<[!Z6AV &3D%QI M'QK=H?(82>,FG+H![S J&PQ[P_:>_!16T]6BW"PR#_/\\>ST-"R_+\K'Z>?Y MM$Q3O<'H_!KLZ?SS^\5LFNJ@WUNL;=>;-=VVW!UB!<8R?]V8P;', M84"TAIE(FVQ-Q;/(P&O+:/=-'HOS+-^M-^C>'&[4\*[<><'W\S^OUQQ+(A=3 M$F2K!2@T=8PAK7)3LB#GMQ:_M>G*WHZ^;LWA+HBY:PX;J*:+*3-_6]5>E]5Z M>AK6FSNER2W.1']TNI YC_7(0F?0UF!$5W(T;>;NWZ9CW'11(P@=(.H.0M7? M\/<;A I3KV2YL,)G+R7*5-DIDV MH<,VY(V;4VD$O>$5TVFVY"(;^0'3@OSCS;5<>P0!#SQE")?^.>(& M#;N?UKV>1F!5]+JP>I.K!&51U)2; A3.6^3HO&BS&VQ)X.'3^IY\S37NK/19;>S50X0>V6IYQ65![J".>*=-RNIZ%YP&K84OSC"NRHNV6J^GJ_#Y\[+> M8+B9)W/QVHWDKY=!X1'K=704FK!ZL*$M.0.I@"O6"H<4IY@VDY*V(N]EV*M= MD'377@VOI0[BR0>E5:>4G\SSU6'P'1:--H%SLL?:F !*7MC6EQN3 <,J]SY'6U[.* [Z:2#+?UJQLWEI-J+=.5JT]\E,@L8G0&A5;UDJ9"9EH$!(&0H@%I MO116,VZ->\YK>OC1(VM_?QTM!A/8J >5&_I_FBYJBT?XNIG(<)L3QUQ.9#R! M"TU"T9F#UXI!P<"EC[1/H]U*]4^\9.0AAL. 8"@AC@J'.@;D_7*1S]+ZW?(C M+K]-T_FLHN1Q M7A?TU^Z&"PY6%XM(>"MUC RT]B011W_$8&OG(D.K)7HEM@J!=D'+?3+&F[]T MN&;OP^1 ,8_M5%QP\3',KJ9#2<^DR8)D8;D&Y6,!YRTY6YA]X87+XK<;M7S_ MV:.K_E!M+883W=B:O[S%-3QTB^L%/]DSX[.4$.M-8DJ75 MM&+A27% B"E'B M5E#8XF7C#=AJ@(VAA3OVK1:7X=A?#? MW%:H$'A(MA0;M1CPQHA'R1CQLHAAU+L86M8C ^;D%)=$^>5^6KMAB^463& ( M"LE!$7=,PGILR+"X.E.[8WNO)^Y-7EWZ4#BB* MCR 3R^1T4RCGN)+ E,HV*2PE/GMV?.>9X_@3PROY$%%UL/(?<:S>7@UC\"($ MP[W>7(0#2CD+ :V#Z!7MF:QDY]O8@^90BBH>([?+P=T^T[%:( M?[#J7DPAU27WJ]]OL#]H&=63;VA31+4]4TF\M=; 9_VT>I[,99C(#./VV:>"YY"2FQ$0A M1,A@ZT:1R' ;H<$;LN8Y>QY8F^+]QVEZ&37ZAX!L('UT@*Q;T]S/I56GNO^& MZTN&F'6%"ZX@:.\H]-4!G)4.3!*EN)A\\&U:O9\E[664RQ]DS ;53@]P>VI& MY40F*9Q(%'\5].2$*@^!%R33'$+R6LG8J+SO2;+C'VC/WTTJWL\@>Z(,E M]_@LS 8-!^X\LU$#[Q.$']GEUY)P52@VQ90Y;7:8(&+BP)6009)E2FRKBQ9? MG,O_BG ]7;\EC[(V*\U7..&,H0G1 \IZN867"9QG"FQ1+CA/BU#@S2^ M#.=_%TQM[?P?IJ\7D_"X_1WR&EZ?+<^[[*:+/*BEV^I-;>S?[DP>V2H6+3.+ M+@/+(H'BA&5OI021&6J3E"ABN*J#-0_!-J?3*K]Z0@ M<$9+CTG#61C!J[M'Y\NPCKM@:R, M&TMN+P?O8ZV+U_1)R0)%V\)\=$;G1G<=MF?N9>1MFJV $1 R=JG I3Q^?T@> MFUF')(YIO='OP4;]\\;\:LTZ72_K3]!3+,ISB+M*H^Z13M",F#)"9]*!J]W=( MZ,%)CBD&';2,(VP)![+U,K)>[3:#8Z)B_R6R6(?9$>/+!X4P:%SYY!O:Q)/; M,W7D.-(RX77Q 3239%L+P=P[@CE#(Z/6-G/69A3_<8=[OJEJ"+.3KU]GTQ0N M-$*A_+4_]G,IF,XO';H>83B1CJ/&Q.J*I[6/V8!'6FL^\YB\Y3Z9-M>7'$;W MRX@S=\'>(_5'Q]!K'_VDM[LF'74'NBT"]&6.H42$ 4C'Z>0,()EP"K]0:I8RE8W-OZI M6I-WTNQ6K,X=>T&M MR3MIZYG6Y%U$-[;FM^J>C8+16N 01;T")65=[R=S4&I)B(^2]O8_=6ORWM@8 M6K@=I#X.'KCY<1V6Z]=A?6YV=:[ED<6!$]& <@G!A>#JM%E!PCMKN/&$(J3Y(UT.G2SV%95U4]U-^\Y+I#P!:M:5L SU)-Z1M- MSA36:\MY4)J6S""8N#<>91#Q=VJ8[ZS4_6]W>_A!#8Q)PWO='H6/,UD$@Q%* MT00?SV@'9C)#$0HWU_A%UR8:;F52/J8OF,]F^*ZE M4R.V"PKOS;P?5^$OP_H=4.'SR),:V+^6%3N/[Y_H7.:T_(*6=2Y8U;7@$J)T MGFL1"VUY_X<:P$W:SF-PQJ<$N2CR!!SQ0IZ&!I&D$\P8BB_;M,(,RT>GAF\7 M]+4S?#LKNH-4U($\__3]X0><3TU'%D*IX^=XNKP?SP0#(JLHK166FS;UP V9 M&OG2DQ&QNN@3.-VNH=_"*5Z>8H"!/]>K<##$&"VBY%&A0YD:CD)ZC M;%PT=P.AK:"]ISX[P.?'-7GC590X7YVGMV=A?E'%(70T> E E!!1D@%"LA MVD3EOMJ_=R7=,*KH %4'KMX;1RB:5J.6!J(MM%0C*Q!< MD9"=4))'[61H<^GF4!R,? ?6G\8GV \2+W\IG)PNSN;KB6')HH\2O%+I8H)5 MR@*,U-&Z'(0S;8XE!B&_1Z/=&GG#PG\/&'2:-7LS_X;G_>*KZ?RWQ?S7L/P[ MKJMYN1;+/CFTK9X[1$9M=P8&RJ_=>/%KC.N3>?[Y/\^FZ^\WO-NK"Y=-,620 M/9#%)D,=$,E=0 $B9N8(-18;9=RVI_%0NWKC36_FM][U9DYO.-O\Y%58?:'O MU[_JS[Z%6?WNW^9+/)\72#_[ILLBHG-2\37/A,;@;URHW0O-=N]L=3%ZP6=[_?'>'IQ_+1#<\"=X!VDRY M8+4U@/6V%"6B@QBP7J7C='(42JK0)@UZ/$-='W_CJ=_"=%9%_\MB6=N+-FJX M7DF2>V&*S9"X)WGD)"#2X@&N@[?)1)NNP.-M]8_Z61-:LS:7G""KL+E\S$-0CH-ED1?F MBLYW+P(>B/E'27HQF_@NN+EK!X=12 <[]@7YW]_]/L?\V^+2DE_S=WZP)SSR M>A,E,Q%!,>T@H"8;'CR+,MB(N G&'J!7Z!/H4B(49,7C$HDU:AP=7LB1ZY+&1XBNX)P3WV-/<;B6;Y^/7ES M<3YE@@YUU:SI 4X%V@AEY*DP&2+M,]YR\!A0TN8S%N)S3OYO>_/^%6*"Z= B'J M.DV;B2Q!@Z5(R@@I3+P[_&NHG-W6-/9GXH;!7B,M=8F_>CCX(&>&!4S9.I!( M4E2642"O$P/F8D%65/*A' E_C]$X[O2;8^)O$"UU@+^GK?K[)9Y.STYK#LD+ M71@Q91QYP/7.=N4"A*@U2F:*:%['\ 1YXTY1'VO'W4DMQ+MMT\(MSAB M.9G/S\+LHI2M9*N,)#C:2L# MPS%5]H+/Q%Z%Y?+[=/YY(X PSU?"6)3K7VI\8K83#<AXZ9,N#:_8NUWLI%9;9-K M=-G*RS]MVP4WVY^V[:*0#IS*[5+V0CM)7$7@IA9H:*O!U=I,3Q%L$S-L87IVV[** #$_=,:&=2B5P:,,&Y.A\\UT%P@@06O2V)^W+W$LC_DT_; M#MD_A]-#!Z"Z6Y)]IV#[/->$^=5BM?XIK,CHQVB#]'KCU7HR^FCKPHQ *TF: M0/YM2HU&KNQ(:7^NVYX@N=L#VE)C'2+R9E(@KG\-ZQMYIWKZ@_^!87F51)BH M$&7BJ0#Q5N]+]74+H=!+!ZLS3\E+UR9D/XSN_@QE&[0VU&8'V-VC8^ B*QJ3 M429Z!IR8!%5X@1 YK53I,1?)@RIM!OCL37+7IWP'(/8X.NPTLWW%TJ\85F=+ MW&2[]DE//_R@(7+,6Y X4*+XZDVUK&6VJ"^[3O$AK5?7+[ON;N+>>UELDEE9I5Y]#$#CY+68Y$>HHL.2A&"6VUC8&VNEAN, MA8Z-W2[8>\;8'4G%'61!KAC_Z?O5Q_\QQ241]>7[VWK;[^;XT";D+-=#%U9M M.T,-SC+R?IF//@B>5SP/ ;AX339$SYO;F_W^;L1_ ;B?'+4^IB M& #FQO(C-PD= M=\#JU;5*"++\11G X (W(@L>V\Q4>9RF3@ VJG\WD,8ZP-X'I(AM6J\Q?IBG MA[][L=P\>"CGW+JP^DAH[ M@.ROBSE>U"7^'U^!+ >?-&),ZB0RN(M9) 28RTE,G7YD$SQI5P1;>9>O G:]G8"2('M&SL MHJ\.H/AJ,?^&R_7THKGYPM@[Y9+WJ,$+66C%EIJXLARBL;E$*WQA;=S"!\GI M'%[[*O]N1'*P)CJ TQ";QMNK8D:)W(E #G24HLY2TO7HW0G0L@@3,2BM^CW@ M>[M3)TBS\1Q];./CX:*'13&=AWF:AMF-*U.NOGE<.1\_ICX M;*+$/N"YD=Q#*RU*;[QTLMY::6JS3007T4&J"Y 7;8UIE3+2H8W^4!QE\ &4-KZU? M!;@7 4N,.K(V#NHA5+_\8]!AG-.C:;X#E#_=0DZF877CVLK**"WCDI0.##PK M&132'X[78GPME'? MP ,[*C8SJ4R%KY(L6S\GGV+0?-4'KH MP=OJJ8:XCEP5MK@16'TDNFL92]Z1^Y 6M8[=V:BS2<4+OMLWJ0 MQ;W;0Y]X6BM+T* Y]'E$%5T,K]=3VE1';'#.P.6$M N$K M]9'=/N8YH#ZZ. MG](7S&SL7A&$A,E'_:--:LAN=O1J9 M72!Q[Y2XG:8Z\)RON:O38.?TR]]?D>M&G^[PQ5,(LMY$1E044%Z)>ECIZLV+ MQGC+76DT/'=;"L>)^XZ%O0&UTT4>[/UR\167Z^_O27*7DX>_UAS/#9YT$HYV M;LA16MK'N:,MG"(&@P:S*Y%9UF8:Q_.TC1.3M<7:P!KIRK:=I+0\PYNAZ]WU MPQ(+2FDHA7Q/1 MINLHH<2D1%VX]H9LMTV@BI80"_.0LE:&2:Z%:Y/PW(J\+GL_]L'-7M'#3LKI M8&-]HE=&1(^1.T)!BA)4C+0;>%0@7.$4$'%.TCOF&AM][D$# &S?\[:+-CK MU4'-,4D;QV,TH(6DP%M(!CY'#CK94+Q!&56;@:-_RIZWG9 S9,_;+FKL +*/ MM%4)9"X51U$X]QR4C74]ZP(Y&V9+R(DWFLOVI^MYVPD/V_6\[:*<#B!6Y7)! MN148L\H"F(FV7J<>(7H7@%GKO"^B\.*;[:X]C#$8#4I[*J$3^-P7R=NK,WF* MG2,7/($NJB9U6(&HG81$1EY';A)W;?;-9P@;%VACN6W[Z:5;F)VL;]V..+'9 MJ" HE'+&DC#K'78^[ MY9-;)7.?8Z)Y58=EAA[O+'!'NZSRCFP3&2=PHJ1BC,S^;@7$"%4=5Z>TO^'Z MQGQI4:>K&D!OB7+G"F0E+'F:B+5EP!U'Y4,]=8[))"MDHJ_4@.>/?5WR8 MGA\#SMXB[\ +NF+BWQ;+O[^9OU\N$JY6$\%BL2%Q* HCR25J"G8-!^$C4\P: M956;\YZ'Z1G7OVF'G/V%WA-T?IG.IRL*>/^Z6.15+28J!G,@<1A3[RA+0$8Y M0>;26\6=(N;:0N<6/>,V0+2#SOY"[PDZ))9)8=):*3UX5BNN11TJSYD#Y#QS MJRQY]6VJ4V]2,>X\CG8PV57 ^X-CL0ZS8<%1([R-"CZ0-I;?<#61RG@>K8.$ MJM;E.PZ1L T<0]")>9%SFZ*^QVGJM7!T$)?X, V\H"C[LGPQW*ATBKYW8:YY)&XD%EDJ;**L4RB+ B=+ &585M(Z%;Q\3K9'[*]XO*YUD\+7 M5@A5D!Q]9>@/CAPG'W.>!.#M"V%O4;LN\#@\:JH ;73@5?T*#<_ M??]$C]A45H1D81AC'5OH,>7,-*)N4R&U!7&]E$H-B8IMR]SW M5%'/J*L,78PP1*38,Q,N0@S$4J2@U.5H@!NA=$0&WV13H"8ME_87O5YQ<%$:$R#E'"E",K;<[4-@*'@.QPJ01-GO+[]97 M/^(8//J*3I&RKR87@XNU VOT%L,*ORQF^LZ!BB--E T;:. M%?$%@B&FT$I'\6U61K",3D+Q2D"D$E=Q66]FSKQHW;=ET2QM6S%U8 MH,THNE2ULSGT^4SJNK2FSO"2S,9'%"0FY3P$M;G@*J+ER5FM&]51/D'55NC2 M+PU=@^NC VP]*JNW5U58(8K:B):@#L8A$\L2,8,2K-%,N%(L2G;<&.YM;\6Z M8R0.]E-0SY#;#%.;,!&95MF!])J$Y1P#QUT$IF@WM]PRKXX\?V%#5ZC8+:\ROD8A(TXV>Z/,,-PJ;YY/3Q7(]_:_-]Q]E?I)I M<19:H< MUHZ=XLA/L$CA2G;")H*,DK8@D#!$EKUQ04B1LT*K0IPWJ*JDXCU,8F=%=U=%!( M<7,Y353BV@571YXPBK"CHH7A2H!BD@LBYR12FP#C)A6=AJO#0&=O<;^@.HE: M;?;[=#8;N##B[F-;54(\2?[0I0_WCKQ9$9+E.M;/U$P\8U#1!EIRH8,H6?G\ MG/">>\FA)N-20)-,!@U5LE TKV=664*H%^7%&)*U406R@$W,Q24%G10N'*+$ MNP9B+^&^(./P;OT%E_='<0UL*YYY2RO3L0MSS8NH='8RUS&A@O'-O94<8O*: M CLK(SH16!Z_G>G]V3)]"2M\%V?3S^>[HD7KN4N1?"=6)[@+2\ 7K Y_*U*E MY%AN\WJ8Q/N(^>L"(T^MX&I%#(39+XBKB[&EY]<#I/,O M)@J]D^1Y@P[U %)*!\Z@!HM>BNQ##JK-U,4=B.RU.O@0E+7240?P>\3(/\@: M\J"4TQI,KI='Q53 "4X[>74!"JVZ:-KDTW<@LM=)LX? KY6..H#?HUQ-DJ^7 MK)+'J%6B<#)O>D$* U.*URB<2*'-Z)Y'2>IUH.P ENU ^0^6^1G68_^X7J2_ M1_(.-[;$#G0N-?KT1'ORLV7???Q" M:-R0\SY\WQ0_7>',%>,-$P@EREP3/)RL"E(T* W7J7@K0INNM5O.( M"N\TU_&P4=K_*ITGG]?.BC:X3F<@?.I(,8$3'H)@AC"2ZK@$BE0-8')SP2;Q7?$C[C\-JV>S>5ZNDE4O70Q;3Z]*Q\P+3[/ZUUU[W$Y79Q3 M>N/^*NXPEF(A89TYG;D'3]X/V,))G);IP-MT"35CZ47;WUWP_7BSVY@@Z6+& MS;4HKF5]6QN7XSTW!I!"P3O?^=M\2EI)Z^FWZ?K[G1LB1$A%<*WJ>,\$"H, MQ[F#4%/ZC$7M;9MPOB57XQ:.=+%J1H;*BW)IZH'X^OL;BJWGQ#C6<_)#3F]V M?TD[YV=KUOKPB&+FW"@;P'I)7G/) 6+0"6RVFF7&BU#XI_:('MG=ELLP_WS> MAO33]WMAQ\GO89G/:W4-LUQHY@%+O6B=]K0Z$,= K>HN,=3QD&UJ_@9CX45[ M/+O@]QG;?200=)#^K4;IMW!ZWC2L FUOECD0@E',GNO0GNPUE&"Y069B:52 M<9.*7CKZCPJ$NX>J^VJE(T1==,OP+ T3D4,*]>J"3&X5$9PAH"V8G9$^ML54 M%QW[>^OS$6#L(=RQ6QA/!..^TG]YMX')G!:%@>0S@F(F@\/B(&IE4TB"W;N> M]9%ZDCL/[D/3^RAH,9"T.C "SQK/QVSGVZNRV"AL8$)K\*%.IBS%D^BB U,R M1J>RPMRF\_YPVGOI+1MS"SLR EXRYG\[JTO\0EVKDV\4(%;Q_[)8_I7^[;HF MS:Q 4H/)) QE5*W_+!FX"*27F+C4C>**1AR-[.(=&9E#+8PA8=+!;D5?@Z78?9.6,78Q\S\?7+6>V\?[-:G=7:BPFS0H2@')12>PF3D21_8\!% MV@ Y*RG&-IU).Y,Z\@8P+L#;*K8#Y ZU@L_67Q;+>E0RX8EKJU,&S/6>+V4* M>(X"D%:Q\BB2<(W.SH9F9=Q&O3^):=\/&"\J[;_Y[KNO]>/PZ?Z''MXNS?\L M*WVD]QVF5 G'GO+02N*105&HTD4''9QL;\6=+[J -S0EJ(,C!0G%,( MS@6#(NN5VIR6(FMS/O+_I_=WQ6^[]/XN(.C 53FG_'(HJ/36E<09&%.O2"Y2 M042M*&#@DAFF=.1M"B%OD?%G2?#O!(6[5=][ZZ4#4.TON&NVY_E.IK0PE[WT M#G)F%E06$4(D:1AA:PI*F6Q&;(*"H!4KG&N.Q3SGOS[WDLXS9;;F-)$D3OO_?Q7?B?+CYS225JE9FJI),JIJQV1M:'#PD;%. M!B#5I7GZ]0 !GDDE@ QD0#UE;6R1(#,]W+_P< \_7;=/+HRV@H/(-5DLFM%1 MP+@$[;U"06M"TZ:B[TF2.K\N.A8*QQ5=!QC\=UQ=S.:?KD81,.Z]#E@3L8AT MHVL[@!0A6Z.43@*5;1.^ND7$SQ*1/<3GV% =":"BY5)&**7.4OC&]5:#">R"TCM X5A;N/!(W+:@_&8D-M/+A-";K6\./M0[8*U MDO<)&1&.0.8C.2%"*O"6*TA:V9B$%T8.ZFU-3[T%)/KN/HCNO'9B^WQ2NVE_ M_O< FNV0$]I+)6@)R&TAVT!X<-Y%\,8)YC&*: :U8!T.FRF/L@-$=E_H>_!O M8K'_/IO/OEQ^V5Y:>$[G9RG@LE.@DDT0$A%.3J30/AH6TJ!HY2#!WWGUQ*+? M1W"+,;@XM?C#W[<(%\9G8[0#CM%#35H!K[."S 572621_*"NA\/$?_O5TU@4 MHXE_;R[V:YSNDOYDI+$Z$,OH2^U>5G@M,9 @?;(^:.UTHRO"(V7=-VOTW<<= MSY$1T OF'^1D/5QQO+_B;>/2]\M9NLI(V6:MOL=EC32=A* +(AA,F19R\:7ADT65/G\<21T?G8YI@>*E/''S-@;NZD J M7K,+Z'PLAN0R+.I]$!F=1R_;X/C(TIL:IWMS^>GM^B(NON'&PK]FV'8/HS92 MV5P@Z\H;2^=N3$4"=T*SPI&[^_TOGD#VD0GO/(;:<"_TC)!3-HU>__UUMES_ M\E43K[.82 R%T!P$XHB>[7DAE[!&$N8V#DX4% VZRKEV>"P3GZ5MRTPR3)!O5II/%F*N8=KQN#_M@ M"CCTLA7VT0&WU_Z!3,J+U>8X#)_P+#@AC"=5(#/6+K\)@7C"P.CBI(Z1*]MF MXFJ3Y0S:'.9GWAR3 N1D'8[[Q^1?7Q?S/W'Y93;?=$7=M$\]2UIIJU(U&QT9 MD(J$%%7V8 O)RQ5._Z_:NAA#21VT%>Q/MA4Z1,%)%?4^UL]T].+>YU[2KLAW M\-+Z*/:5PF>#)0'/P8 J9*9X1\9Z1F&3_C_*?;=%;_MBGUW 4$')O[=NC_GM2\1-1A14Q>+;8=Q>Y= "J)C4R.I7H@JH9-76BK<0$D5D! M$564):-/JDT&_\]>[+L3N(Y1[+N+I#M ^V-FWH>/?VW2@8*33CL3ZRP_#8K3 MLISDI>:%19&SRD:V&27[+%F=Q_2;HV;12H0=X/%VF8]("H6B(T@&K,EHRH&+ M'B$:R[C4ENG2YD#_">OH#CG.]Y5)/W#:[#)&-"K! GA5A\MG(<%[R<'2?ZEF M!.C2)K^ITSJZG83Y;!W=+ISM !:[U&L56DAD)8"13H(2*D (3$"2/"/W)F+X MGSJZ?:%P0!W=+G(Y"BQ;5* Y<4_%FL:=<@'A>5%9&2_+H!J6?Y4Z MNK:0VT\N_4)NEZ""3,%YPPHP+>F$",% $%%"\2%XR9(1I6&XLWUV_ E4\AUB MN1T9 :>,^4&XT"*FADEADR3 ])Q6?_#F MF!0@)Q7L?__QKU68Y_U"^S]:2!\1_X5(Z)C4A(+575XO $O4-"A$K1,/":?V]R#_)01_9V@\&Q$ M?Q>Y= "J)A$[&4*)@:4:4@OD#)1UVR:$%*+5*NG$I)C&-SSQB/Y.X#I&1'\7 M27> =C+%RV+YI?!HR(V)XM*&&6D:0/8)PCJ M_%ZB.5+N#[H=06P]H._VX%]AB0<(; N0*>#!D]1,:^YT1,Q!J7,\3@R)[RFJE0G(GLJ+>]O23.&.N+:%20?9I)P&TAMY]< M)NZ07F?\K>V"CPGG83E;7,U'E4YF00H_,/JBF*'MPGAMW6JS$U%FC^,URG^4 MA)^E@[LX< M?91)#IIJ/ Q<3Y$QW42&$42[&)O/G8#EU\424UA=;&^GE ^YJ%KM*A2H7#S$ MI!0(SH65Y)6J8=6=.R'E+@T3PF0KLHM[AB,CH!?,CYZ&[9B,!H,FNU0YD@%+$*0@ MF[AH3MZ^4S$WG,4W29Y^ST4L.V'R*'GZNP!DZL# #SD0G^# 'Y?U%%R4-_/5 M13@_7^NN,V0QY\01+-:6&,73$6N0@;!:>)^RD_[>?.;GFE*.1=;)EZ+L _&) MI7NRN+Z5+;;^_F8:QEO\AN=;QFPRR2[/+V9?SV=D#B(6D00JH V^GM5N2$8\ M@PRB,,.E5_QT;1$"Z>?:>41H M443)I4V\NINVXQ\P+3[-9_^]WMBSQ16E5S<3 MSJ)AHM0.+CR"DH9#X#$1"Y+)"36WJ='E4(OEG'1]Y"ZX?KH^)2&LXM6>XT!6'CD4T2O(Q;IL'2IV?PA(6S#VD($UFO"'@6H/ M270 JP\D$R+@\XMY_J6ZK(NO=4T;DVT3X(HV"(=>@F>,=J#S&;P.O(96,5KB M5REMP#6 N"XAM@\4'G8<'E4N>T/M&R[C8JPP#)[31Y]^PSDNR0>P;;E:W+6?:FUR0&4+19"*8'8)[V)QD>C&K5HW(7,:>^4VP&P MG:RZ@.+=@G@,ANMD=1VU[6J+)TU[BL@/Q*4BL]+,M?%9=N^"<80RVEZLM_UE MU,'!VJ3Z/4E1 K,>T,8,BI<,+G(#7G&MK' EJ:,V2OYI.F+L!*YC=,381=(= MH/U:9=0;P'=?*P,V)T.=LZ2#)DN;U[JHH#P$Z0R=$0I1:2N1MTGK?Y*DSA,= MFJ-ET4)TDQ[JZQC%AX\O:LN]#Q__VAHER4N>@D^@79T3:FHUGN,(QEA:1\*2 MW;# TH-'=YY(<"P(C<#WZ7%SNRO,]7"7;6JG),]*1<)]L)4I6H$W3D$,C DE MA(XR#D+0,R_I/.Q^5"R-)8NN4+7FW)5B7=6&H)OU9&ZE[8NOQ5W4>MYX*82/(I0M7=AQW[29+(!1I#?GKP$EK$Q=HRT7T M"%9$:Z4V@C1X6XMMG(7T4E+>BSL])4XZ<%$>7V^="BN,DQXR.7R@="2.,I8@ M(\N(4JB8&S9;?T#/M,[)I! 9Y%;O)*_34<]_+.;?<'6!>9-&N+@(Y[<_KWS] M8W'QGWAQP_%;#MOJ3/H2!'<6@E>DG ]$D"YH%IR/+ 1N-D3S*\J;UMWK: M%?VAJ0/5WHXIUT^Z^J-W%Y]Q^>?G,-\R*F8,WAD)"6LIH1 )0HW#&0S*"*8, M6GEBV^X'2Y[6JOK7V(ICHJ[3;-E7X>N,6+'6.OODO][Y^S$R6I\F:*09X08Q: L\5;\ZY=HT$1EP5B(SY,Q;U6C.W5 2)[:] M]\?' ].YB5!.0),EO 7';9 M&&_9?+I?7@^*N"JINFZRO_\9EFM&1>29D(;%&.A>=+K4E:PWE M:D60KK4E++M6)MGNM':E<'9!S*,*IYV8.G Q]K_%OK?RU9OY%7/^ VNY.-EX MWW 9/N'V\_=+LB7/1"G%>X50=!*@+.HJAPB;5KR2"Q[6!2TJZ0(9'2#F""D5!M,)"LB$7Y@()HHUQ^$/2 M)O9WQX/HN$+H %4?+^-JEF=A^?W=\HI/O^/%YT5^<^5QX\>P;K13ETJ;[\$O M;W_M*K 2=#",%@KD/&-- ,L0A?' 6#(&M2UH&O5R&7$5TP9ZQU2G4XEV0EAG MG)V]Q4_A_/7\HO*QIB6&+'BP9"3%&,A("EJ#,R*#C"(:PZ+!9ZWX%:;_]6GQ M[=_HT5> I'^L<;A&X",OG#@U;C*I+\81P<3HN:)ZF_N?68ID8=.JI:JUG[3^ MZ!U@$3FFF!C3S[E!/X;.[;=-@YN#Q;48@7=3M^=X/_N*RX]AGL]Q^6IQ71D4 M.9>%UIYK?Q%+:C>:%( KZVV(CIO[4\&>RBUZY.G3"7M_(2W&Y-C$S3X_5)]B M#7;.#;/U8(V%^* 2P3Y8(4$+I9 5XT08=-4QJ+_G]6LG3GZ=^I#87P0]X&9; MKY63\)Q 7@R39)S5M$I%KF2TS@H=K,ML4/'Z<.1,W0YV3Y'=%_H>_)M8[+^' MOV=?+K]L"'>6E)S*&;A#0UK3\9I *T G]#))LMC]H'OA08*_\^J)1;^/X!9C M<+$K3_F6=GQ['037.6K)(H)(=.*1S51JOCZK";!"2XLV#L/$ ;[O8W1-G+\Y M]3G30'A3VZJW%G!UR7G&4?/(DP(F:E)_,J2+"VTD3HLQL6!$JP<9J@\>W8LK M>[C0%J-QL"/Y_WLXO]RVP5[]NEC6X%%-RJ^3V1BSJ?*"W#95-(+GPD/*PG)' MJAK#P&Z /WY9+Y9L,XR,PN6.4/-J\>7+;+5:5VQF) URW5@3C8.@K:Q]-YS"X&7$82-S#Z=EXF*OHR*PF8QZ ML-F?2ZGX _^Y_FAU%D*TED57:X%JXY5<@$[\!%*(HKEGS*M&4_,&T3?QN(WQ MT=A0/"-6JXR<85=WW,5Z@X5Y?K68UV$'.$\SW"_3[IG'C9)Q-Y3JB."0RX14$6G=<023)N\WYW(/%1[#7K931IJ M9LA43!*$5HGV2J!MXHP!R]'0#K%*A3;1]]WHG-:G;(>S^\JMH?1Z32)^6F>L M;W#&5G2;AS96=X^1/HG2DX&9)#P"FIKLZ5D$AU:18\!#3($5U:@)T%&5WEL, M*ZP%/6N^W^R/DITIM7%.IN.>G&W#(&IA01C#7$S.:]'F?O4)@DY)C>V"G/MJ M; QY=. )O,75"O'=5ZR=%^>?UJMZ.PMQ=EXOI<,%F9\7W^\M4;B4?3:>_.]( M*EEX#5Y'.@S(Z+2*W"!?VE@9>Q [[2W<,>'85HY=5+M_O/SZ]?S[#5/OK8=S MX3 Z,A54K=X/Q$GG;03+@M4YH=(R-\'E\W1->VUW/ B.*)T3-.1HG9?A_) : ML<$/;VW8/;.420P\1"N]+@R2M75^C[$U+2L"LU$X$R/3=D('[E #[^H*\KJA MSS/OW QG50E3T1F",KK.HA:P'F=?LDJJ.,UICPZ[#A[\SE.RZ78!R]U;X#8B MF#HO"\/YZU5MX5V[;*=T^>5R/=WE%R1JTNRJH3>NTG+V]:JGP?OE@HR(3<*K M\8EY:1&R"@$40L#!2VR9I/JA_T;!,KD-(G0:B38&SF$**)P#7VJGO M9H6;A%U9:%U,,& JD[D2DR>WBQRPJ%5!,F1-T/&H2'V,R@FSU(X'H!UA>[ T MIX[POJ G"L'>XWP15VEQL'"2*K>F_13YWV6CT''S&ZF#9 K%4DX6QY%@N(4@_#" / MGCW-I<=$X#B,LY,#0S/^ZC.NPE<,_]CF$7OKM"1SH(Y2C<0,K"G$B8-%4[16 M5>T.A,8C3Y_F.F(B)KEG(F I4?'QDIR)<#VJ2WGAE203-87:M]?R #X* M"\6;R*(BPZT,4Q=WGSM->LTT>#B HY.#(7Y8MMBG/.4F0CDL-AL0"D9 MP-5S4 ?G17!!B# T7?#.@P?!P?PD<#B IQ-[T-?CVG[#Q:=E^/IYEL+YVHN3 MB>>00@(M&6FX*!"<+@3J*+,.A'AVOQSB !?Y23*FL4V/=5$S#O>GAA!^NK^$ MS8:*P156I(;L8NUH6O6BIN.2^6"31*>C'Y1J,0Q"3Y$QG>\[DG@78_.ZFS/H M53B?E=EB.9^%C>I$8VQ*Q!,?:?\H=,286AM2N F"E4R^>MCM.'KPC@GQ,([T M'CUZ#F-E!ZDE'W!UL9RE.DH^K.JLV?I_M8#Q6SBOFO?QGZYW4T3F?4P*>/73 M5 D&' _DP3M5TPM-*FG0;>[.$;_]:9[&K3[&N79D>9XL[5'B+6F@.H@Z2 M4"JP.D5% @KN&,MK!Z(C[/8PMO!8R!H%T'N(N0-(_X)?0IWV_76QNC7UC)2! M<,5#MC57DP*)W.%FRTKA8KD0LMO8:8F$^HC"2GO G6!A WSEL1$C0Z2 4WG@C(IQYRT/R[H;HB;5M^-#HBA M@-M3.AT ;IU370K%5[\-<^UL>".;OX-:1U MOA';5%,\I&6:2.0Q[;,#^=\=@C;; M*Y"?(@PQ0GM>RTF"JPUS"] ><-SE1)NCS:2)QZB9.(O]0 D_"Y@]V#UUR.!/ M7'YYNPC7^C(7EG6.0 NGS4.>,P3!$;S*"DM))7E[%RE/A GN/K\CI,4X M'.M /WS ;XOS;Z0R[S+ENN)'DE&U*2E]EJR) MBT?'0L_X(N@ 3V\7J]6=0_CE]S]JF>OZI-[^^$K/"B5U$5& -2R1+>82^;%* M F8CG'=0EA4,[-@="[0]2T9V(K'#P+M_V%T@&^WI"+^64^*[.KL<._788E.;1X MW71:,XJ'8!N&=Z"; M7BPQU#GHVP3=[9W;6?96%^D*"*^K[A817) (R5DM"ZTB\38'WU,435@@/+[@ M[]]$CB&%J?718QULKJ8(_KEXO6X[\9($[1PA(8Z>J ;1VXF2:^^N6RSO5@0M0&O'K=Y#XCDN-L//W+*9LM[;=&[>"'4CCA M+>HDY^?!4NH&?;_.YG5TS'I5U1RXN@RL#;WX&;T("E)D2=5IZYJ MYNC;$&.;)+X?DC;AA<61\#:67#H VJOP=781SJ^W1_NMB^:$: MEUG+R"*26Z.8!:62!(V1"5D=Z!]G5(N?0*?/"6D" 45\G$ M%!ME2>Q![3#TG>AU?G/QG1!$[QN=*@=.#DR P"SY-!H31&ZJT>F2D=)SYJ9% MZ3XN C^QX,$QA7A"6+UUG5W7B*Q(\HZTXK1&GP4$7N,F4M@HLXRFT3""?:@= MAM*?*/(PJO@Z@.A'3.L)'YLZXC.R;P-J1EP*P=;2/02?7 *6LF'D0F%*J0GZ M[A$R#%@G&GLXA.D=8*8R@;3RW5S@\/?LR^67EXOEL%UW;(Y;JCD=A>91!-!JBMPN5P]!VHL&'9N*:.O'C]ES=U^>S3[-X MCB_2VK)=?<"$LV_KO"LK8O;(R6\7JM3!#JF:#S41(;D24H10. ^")AAV:B*D#^-W+>B>E MOKP,YZ_"-[SRYED?%Z2/ ET9/QC(4-.. -. MN9H?8D0B!U46VZ8=S33SD:_7'7313*H()M<":4T;U07:J)%GP:/GTC0J07A MRBG-S]L%+4_.1-Y+!AT%?^6N$ZQ_3%E\7R8O;?5[FE.C.5 M$DO@G.:@?*$56>E!^R@Y*B%*:7.Y.Y# B8OO#H/!HKU,.H/:U@5Z_?=7G*^0 M3GR9DDT&,-?+9SKER>O)&2PS7A4R!ERC(-Y:!*)LK!BMIFB'D&3D@':(1DCJPLBVU\QKMT3%/0T0@C M^W-X=WSX*WS,\5.]4!\ON7D-[5K;I,@, HZU X(OBM2@3V"3J\5U)OC0JGQV M%]TQ>G2D#2[VXVL'ILCVJOQF <)J932=BAEKPQY>1ZU5 ]JK('/6.>38)DG@ M 2G3%$VT ]=;XKI'_'UCOES"_^$8__41@KOVB MMA]>Y04:KZ44+D PQ8'*5D$@0P]"%!@5"\A"FY$INU)Z2G?.NV#M>3=M9 EV M8)@_N[[;%0";K(DS9D4,V0C@2NC:@RS2*:/HK A!916X=HW"'KM2.G%WU3X0 M>J@$1^Q<<;0#OC9/>!]FF4Z]^Y6?;8[Y 2]L?-CONN1)CGP?64H\6>!&I-H& MF,S*P#T8S#%RF0B);9+&)SSRMY5^9X4E4?\',BL#]:8?0I(*&.WXF(-,K>R= MQ^DYI>-[%]P\KQSWDD8'A_3MJ,+[Y8P8]36<7R\F."LQZT#NFHQU>KBDPR/6 MFT$K@]!,2]8^G/> K%,Z?@]!V'BR.3U7^O?:][:.FYB'\^^KV6I1[NZW-L?M MT+"%(/N/BY*\*S&*-@GI$QZ\V]Y%]*I; MW8NN66*]$4%Y U(E8HE !HZV/+BZ3Z5W+K%C',?/4WE*A_0N&'O^D!Y1?5F2Y,.V<*)!'5U>!L MLJ@R,&^]5K'8PMN,#=B7XFGMU;Z@>ZA 3PBX=5/^^<_%66U;F) 50++W06'* M$%T=1JNM#HHARZQ1 ?)NA$Z;*=<=3/<1WZFAD^"&9SX@%XF3(VDRHW,C)0A* M>HB9R9*+0V4ZP&]I$P^:(.X9$3D@CGI4D9!12@2E*T+I" MJ7-Q%&B310[%6&1MLCA&[63>+,&Q.PVXD\ Z2(U\=EU_S?,FZ(_Y]=^)?O7% ME_K=&9D?SB:!@)K5CBNR0-#%$XP*,BS,*SQB;\,?D3MMBF4?$!U%E!THSB>6 M=V9=)IN"D<*7M8U4JLMPBH%0'A73/ =[C&RW:X*F:5E]=,R-(8Y33 P:&+$[ MNW>/=:R Y1GO)&1YGP'70@;P:UGW"TN*;'WWKCU?!5=#(E#)4T+%4# M)G#&I#I\5?G@./I&D?)'R3FE^.\NJ'EP'ATLBPEMG-7RXNQF-"IQZD5*EU\N MS^LF_P6)FC3;E%ZLTG*VGG[YKFPGJ*[GD./=PF"RFD-D)@/./\ 5O5K@99$Y!Y)$!M"-L#Y;FU)>['\/\55C2";.9 M>V]MY"%[ 2%CG8_";.V!K4%;XX4RR0OM?F04/O;@OL%SN!@7(_&TARN$>\K_ M[76;1,,P,AUIY,EB( )X]"DE!QK-/C[7R(=="<3 M@SD,<=K_13IH,> Z3[B.S5TKG,).1T:M-,*V% S9Y(@ M^TIE#=P)(\E[XSQ.6!MRHNF@1T/HSB(\,8RND[M,('YIVGXV> 9*.?(X,43( M494@3)963IL$=8+IH,="Z,X"G/K&<(_DP^2XP2 9I)QK/UXLX(SP8 0*'BS2 M*N^5@/XKIH/N@[AC2&3$_),C)(1&+AFSZ$!Y7ZMC!2,WKVA0T2@IC4RTQ/]) M".U'!^XDL-$20H_; O'6YPV['S[REF,T/OS1XB;)K.$I&U\8DIT7%*A06\.I M)&G/AIK,9\6# H2?)[/&A%A"U@ZB]K1K0VTZ5FA_\:RE\#J7Z!HU7#CUS)I= M4#,LLV87673@>7R\_/KU_/O-*M;Q\Q RUSX2T<61@L[!U0Z+"@P3GD54M9R^ M"9X>HZ:O*,P>0G[02_Q CO>(FN4RT"ZK_]Q$P+-T=)HK#TZR6M%>S4UI!8C9A"(6W-?'4U M0AT'R^FD%R)@)!?8%,U+V.:!&8%Q78M\D==$VX(D36%EM!:0B MN9Q>B%AO/Z)&8;00PZZB'GGX-%I@#$$]*?,]N#:YU+\N9^>"<;-15$:YZ+66 M@*R0HK)20$Q>0^$Y>*:M*6E8+?J]!_HRLE1FO;)!0#YSXG;Y^N?QR50Y^]?D%YC-EB@VA+!/N&%)Y\U1A!A M&*$CA0J>>MG-9'2; X$J@;=1D.ZCP]/IFJ$?,9J@>3"JS7B$'U%VJ#Y[ZODW M=]U_$H]?TI_\XRQKD; > ";7.P%7ZE% KCQG+"KAA=:Y30'N#D1.J[%&Q=%] MQ=5*5">FJ7ZG#]/E>5C6,?!?XOD,5V_FZ8 HZ7XO:JGC=ECBL12@S$GH5"+( M.B]+(1<01&9@6([2>.VE:'-]VEH!?DR?,5^>X[ORU)M>?K_SR=H65H5)ZX6! ME!SM8Q77W5BJ1\6BU=$9J=MX#'N1V[E2W 5;#ZRYYN*;N$+\9H&O_^MR=O'] M=[SXO,AOYM]PM;99'_X4L1:GKJ_T2FW]K#D"(Z.X)FT%.GA*IE/!D2\G1>UI M/@2F@ZK$#Z%TXG!(>Q M)I#HQ,A]:AV;JRCG@F,E)D@8#)DHQD(@OPJ,,KNMJ%X>ZD5Z=A]7J7?EX0=[1>O,HJW7P M.8! 2QY2R@9B$ YR3$JQSO S$=JCJ^-0I&#B2%8<":D.NM-0"1E# RC#XKL0X'CF=6/43!MZ/*X MKMS!$IB\_=S7RV7Z'%9XG2QP?TF;[::9I#_U 5SDEA:5&81B V#QG'ZNLAU6 M(C"PW]Q LJ8SO@^7_**U&+KVS8(HW)*;"LS5'D1( (@V&E+?S#)2N-K=[W=_ M4KY9(XD.=M-V86\'UM 3NGJ]J3 4Y'4_I6)J2:'.$%.*4"RSD9>46!1-K*%G MB)JV;\+Q7;6QY-,OU#:[4=KB@R\*;*X9'J;0OB&E39L'8Y*N<*G:Y.@\2U:7 M\9O=A3\,5'M(8O*3+JPN:J;2.7VP6*X%\X%D1 1]OE;_&\4LLQ;1H"$<*%OG MS&7P3M14 %&LE=EH.2RW>/@[NT3//E)>M&?YU,&^[6W)QX3SL)PMKLJ["OU6 MI*VE16W?7K/=G/(2(AGZ4A&F[L!PY/'>P#*8&T8;NO^:KKYAF M989YF_W-K9?,*'#%TTX04H-/]*T,I%J$%S:405EL \/!3Y Q8;3M<-$NQN9S M)V#Y=;'$1#IU6](1I"3:%6#.M )O' 2N."E.E9A2CM/V&1TI=VF8,B@[BF ? M@D39LOT!1BXXJE YS]L9A_6(Y!UK0>9&"9"TC4&B?%-?85VI;R(>9]\POYF__CM]KBU!R&+]B,MOLU0_K!WR M:5U9V)RD)Z-$QUC'(W$(.7$HM>(D>QVY&U@O/?RET]ZX-P%74[[WH?/(U_G\ M;EG9MOEFK[ MXI81\V*>UW9-7?[EL@JIAG+)N/$AY"R, (T\U(GW%EQ-25(!8W3M*WTDQV88.0YGX:I!TFGA,K$W]1BTO_ M#\XQA?=O7S4H#W_\!2W+P@?9OERW!^%<(V4217R?::%I"4@FA3ANB,\2YI5'J\*?6/DG"* M!=P[B7TQI@QZ U&U$M;\J:SZ//OZY^+U_&)V/==:>A1!DDE$2T%Q,0%7///"BU5F4'G;(#3=?7='8!E3O(M1>-W!=<5SJ<:)SG]?O 1N ODJ M44EPKA@0PN6(V1;ZK\LZ@,Y*MOKCFXN R5#KDJU)B.NN54O M Q5"%%H0Q[31NVMI,R171AK)N8Y@ M?"BU+Y\&QRUQ*9H0F2C%LLOZ_?L$PG:[05C1((.6-)(D: -!1_P MZV)9LQRO;^E+$DYILJ^BJ!T&BM 0; J C'G,=4ATHYFA3U%T>$>FN\]]K*UV MDH(E58.Q9$#0+M$H>Q]7G-T-?;8\EHKLZ2M4D(XD%B=Q9 (KHXE,,D7XTL6*K6Q=)LILVNW MZ/X;;G'ZY??-AS>[262-EI!+8=U#SL@D+T3P9TJ MO5WP]'0(NYWH.G 3MLM/X_7O=T6Y+ M]J5YXJN[%A@]D@!'M"3'..2O0L?_,P^#B>WT M>-T%1P?>KN\LLLE'PFQOMF@9Z[21=7JN5UYJ81"DJOZ6#0PBHH#L SE?WAHW M;%SMP*$PC]'02X%8([$O1I5!=RC:I.R*8(MDAH'3Y$PKS7SMM9(!"S&&H2G" MCU=G^!054PY].5RRSP)E#S9W8.D_<%6VQ4<)O<#HH.2:N%B["Q"C+&AK6$ F MF RVR5'W!$$] 6^;:--]\DJ1I_,1F&!J']1,?5^^7BWR9+MYM.^9=S>+R7/H4 M$6QD=&;[.F$I!PO!<;2)JY+,> /+'J.@E]K ]@;/P?SO S\U?K#MN;C96ISG M4J*BDUWS4HN( GAO,G ;G4")H81!J>J[@.@A&=.=6X=+]B%,#F3SU#5^FU5\ M#.>X/7"-+DXH9$":F-+KE5Y=W[5MUR.]X#EF,"1=4#F3,M6E,HB7)$O1W X;:SC@ M9=.9(@VP,39S.W"+KJ?-O+Q:X6FWM]+46U=D8A]Z#U77\-9GF$$.@;V,J MOC@3>6P3 WF6K%Z*.=L:+>-+J >X7=&^V8A*UZ0U9L''6A91C(%U'Q#R!!-3 M*3+9:"C&'3(ZF3U_N'@?+TS9@]=3'V+D\.%=1X^%4E02#EQ,IL8"$:)R#%*@ MXS*R!%!XL8LD>[\\V>4+TS[RDB\#ZH2 8BXE=7+<]<[:^O2XV=FA< M8CZ!-8G5_E.*X!X=1(U)&"69B8W"E .HZV7\\I&LE+'EU8&Q7N<9\5RLZMS'_&?X^RR4XK-L5A:H#T; ND4G(V1DA;1%>-F]',938+HZ^ M$1'S=+.*)N+K *&O%JN+=Z7F$]]V"%8WZ2#]+5E]E8@V4V5@BZ<2\.Z>//OV&.=.FP^$P^OJJQ!H=KI/25]U4$W.Q[T9 MWP%PKE-9WLP3&9!O%ZO568YH+/$$D+ .JAJ-D2!/EJ-0T03GM!V4:[9_]M - M,1//CVX-GT/9W\6Y]PO2N]-5W?<9\\(6$SP$5PM1774V&!K(SBFK:O*P;A-= MN4W%M(.LFJ-F;X8?,+OJTU7)_GC#^+9XW[JRL_DE\6JS(6KW4"2NX=7OD1>+ MJ]]G\\5R/9N0U!^N+DCKWGW*U>C"W_'B\R+?F5@L4&GC&!1';*)=E"%RMQY; M*(0JB7[UEGI!W'-?DK +$7&AX9:7DHXSMP=1^LXN7W M/^E/URDIF!S7M4TJTZH.>*=_.9,2.5Z"3&LNI'#-IJ4^1=2T0!I#YC^"T9X" MZ!%+=2&;7(?"LXB%.1*U(X>,=A?X(!S0/@M%),,P'TL?71/5&9;V%?P/]=)^ M4N@!4)L [H,E;7)=)"\>B]5@>7!D1]+"0C02DA&"Z^*++FV,^1\0UAFP]@7 M?6"-*(T>P/5P_[W$>?K\)2S_<558DC%Z5'7H]4JNX M^O.431M=/\X9N+\HNH36=C6;;>AX$ M^1%EG6FN@W#P0Y =()0.0+:N6]JXV9L*F'IILU'&*0:?#>T_+-[4*Q92QLI% MD+7[,=,ANF$SF.!G Q>HAJ4>#@((T^2,5VU\Z%R78S-Y,GKQ#:D MO]@VE5&>^!'KW0@)4\E4"Q@LUL9KJBA3',:!56)W'SR=R$>2TV(DIO4B\)?; MLB85LX]<0W2\1B'K!"]>"YQ<5L9'IXT:-J;XWH.GJUIO*/!]F-:+P+<#DY-U MZ&*DI3ON0;$HP4?B2589@],.2>'M)/!=1E"/?OXW%O@^3.M%X+]L:>W%*JOJ;,2@ M1=5.L@YE+ C)%&NX=5R:LI/ 7^\@\-&3JQL+?!^F]2+P7S>TYYBC9>3;<%]- M6)097$)6^^8*6HWTHO"=!/[K#@(?/1VZL<#W85HO O]M2[N4,KE8P!ENR%.1 MC(XC[LAQL<%JRVV,:B>!_[:#P$?/9&XL\'V8UHO __?6X$P.R09)1'&IO3Y# MABA]K"V15.#"DQFRVQG^OW<0^.B)O(T%O@_3.K@;?G"%]?9F)'PL3C@?P!A= M64)\"85)X*BC+8DS;)13_C1-TQ;N'2-6NA_[>P32>US6'X1/R,]0ZQ"X@PF.E M:__H_4?/VMZ)(TTG M1 *AI0;E8H;J P!7*=/^](651I7R/\W$EEUP-,;$EEU$-G%,[KI)X6WUL Y M<1X]0^;!JA)!!1Y*,TYO;LI/P%V-+8M):O/4R M'IXV&P=*L^0M1@NA#GQ3.=(RE"H@I>$\F9*D&F3B#0/44V1,%_$;2<"+L7D] ML09Z0:XQ4;YMR2VR,%8I!MPR"TH4#;$$(A^+C58Z6M5X@Q/NOGM":(PCR,4H M7.W 57S]^^MM$#N:4.NR/!2[]IV#@>B] .==DBEY\H#:.(8W-$P7,QX7%P=R M=^K+QQ?O7VSCGE&Q9&B%("2K7676Z95"01(:H^))Z32L<^S-,Z>+$X\KY$-8 MU<'.'U2B7GADIHZ88AC)GI(95DC9?6B&;-PT;J#MO5X)U]+-9F\NH M@_NT%S4LY103;5#'6#U@ P1!W(P)3=%1*]VHSOSG[ Z[$V)&Z Z[B_A^AGO/ MMXOYI[>S;Y@K$RXFN_X<2,;1;T'W84_SRU"E#2GJ",QG.LB9)5,M9/(9#9EM MCBGEQ;_ 96@26'@H@#;2/BV) WG.O.9'^Y(9+\(U:N?S\UR&[H"C42Y#=Q!9 M!X?_S4[_I?9#G<7+M<3J-0W3H1C& KC@R8G6A8'+D@$C^XA[S(E.K";@>YJF M$[P>W04.BR:RZ19EVTP38T.4)@(R6.L M,/VO3XMO_[9YXA5N-M^L(7-U;W+]OAXAL8_L%@C2:D#J#WQV*>+I>5P5?K."M2 M>A;)I]&ICLK@RD$LD11Y<5C(]2E9M/$2[U/2RPDYGK07([+^9[A(JT.!_CD[ M/S_6C=G]]QW]:NS9!;>^ Y,U*)D(3C[7,':MD F8'? %:-KG\ZN@,K M:%UP+$/.1=76W!+HP1R*#TJ3>8J:-9J-^-/<@>V"HS'NP'81V<3I.*\6\]7B M?);7RUA;'&LOVPH5)4\)DD514R@].+E&"7GCRJ [%&T<\\BCC$88D-E4MZD(<('XDK+FUG!MN!E4,K0GCJ;. 1Q#LL\" M90\V=V#!7T\ VHY(WY:[NQ0-K\'8G,B&#-R0G@X:.$^2Q!UXUFT*S)X@J"?@ M["/IIP8O'<#V#M!SG5C[\G)%;O)JM5W.>F]E:U R*<'0HD EX^J\= W,*!UX MS Q3(YOQ.;).[\)KG\-L? GU +<[0]U93LPJKR F0:K;TOX+AC'(,JOD:1.I MU*CQYFTR)K:-QA/OXS>E>_!ZZFS5][A<[Z1YPM?S__[^!;?*-6ITSB@#M'FJ M[^$*!.XM1"D]]UY%%N]9TD_DKC[UABY\KGTDMAB;?5-CX(_%-SQ_.5O4FY3P M%2\O9FF[C!)C9$(+\,)D.K:S@B"]AQ25MMF7S.^/EWP"!4^_HXNAW(?B8"06 M]G-L/'^YGY(3MDYZUB+5OGTJDS47!!14)I,;D)5A?0?IV@WB/K;-,K:\.L#@ M]O+V3#%=>P='R&3,5X<3PAH(M#:D39W@^T[C![L> M6JQB!&]MAJ201XL95:-^.(\0T3,8: M(6O3SUJT(%.&X+(&X3VYG>BUQS;%?(W/Z#\6%Y7=^>TBS&\-,GIUE2-XYD1F MTB 'JZHW;-! $+&V+\_&%&>+RVVJI(?3V-_YNPM6GCM_1Y3-B:F^CY=?OH3E M]T6Y.@'P%I?C]Q>?Z$1X%2[PTV+YO8$*W/WE+57A@:QHJ!)9\8Q9G4$[7?.% M%0P5^/LSEUI[D]E[H*EI_,[F\JN X?E,7OX/2YGB[PQF-?A^SI_/"AO MP'E;R"2NBY*2#J+ ;)#%JNC;U(T-(J^7I-"V6%FT%MPIH'$32D9CD2>NR#'3 M&I2O%2:,,6 JZ\R=+ERT.2<&$C@M(AM 8U?P[2&G?N 7SM>%3&0K;U:S23:P M2GK$:A,'9>JU/0=GL@2;A"LI<8FI36#^>;HZ!]L^4'@<;F/(I1^4W>&89'\N MM/\E?%_=79H4A?N<%!A5:&D6:W$7^C2ZQ3 M,!I:FGMD:45C'1F: 2TF4,98\%J0@2VLXRY:[^SQP/@$D=/F)TT%QC$DUBD8 M7__793C_<_';$@.]Z,_/8>[9PX5B(([9:L<400R5(H#WJ5HTC*'1FGO1]&C> MG>1IAQ1-!=3QI=DG;)_R^][>9)8IQB-*#B+4FAW/"T2RNR$(C]JJ3,?$H![G M8R#VA]3V4JDRM8<]KE@[@.Z+M.YX="L4\-N25K2-!T1O C&M@/2U+02W IRU M 8H.15C%G31M0E3/T]6=QS,R+NX'<,834ON@S>:#^B6&%?[__]__ U!+ P04 M " "*@P93HRQ*T'-?,C R,3 V,S!X97@S,3%S M<"YH=&WM6FU3(S<2_GZ_0O'6;:#*;X,Q"X:EB@"ID$IV-Q2IK?MT)8]Z;!7C MT432V/A^_3TMC8W!D,!RR3K4[0?6,VJUNM6/GFY)<_3-V MEX-.9S:;M6>]MK&CSM5EAU7M=G)C'+655XWC(WZ#OR35\3^.OFFUQ)E)JPD5 M7J26I"+D?BLR%V+5JN6.C7EW.K1V(N=[DXB/AM[K:Z#GJ MQ.>C3ACD:&C4_/A(Z:G0ZGU#[^SUI=P9RG?[:G^WFY'^)7,]*@;!R494MNB0FMS8P9MN^'?(+:U, M3G0^'WQ[I2?DQ >:B4LSD<6W38? M!Q9G45!I_]#L!*#A,=9=.(=].2ZH(53 MR0Z[<7XSUD/M12]I)W=]>*KU*0) ]JN8'\U0E!HK&9B#JE!D6:IQ?'I^>77Q M_<7IR=7%QP]/]^Q/]V/WP3!<-,6/9ER(']OB@\:@KBE2LEYG<^''TK]]T]\_ M?$9X2JD45E0KI\P/>GN+@&E,3^$'K>3K.9JT%V[\]:/?G9:DV^[S-%R(L9R2 ML#35- ,7^;%VXI=*6J ZGXM+*HWUPA3B>V,G(NFV?A$F SDINM$(TT61MA&> M@]<1GIV-"\]WTB$HF/[)7%P79I:3&E$S1LG&V"@#$PJ#=((1I"Z$+.:B*KRM M"!X@P81<@Z!),<&3U3(7F4SQR@HS ?EY$^76! I*R3EIYRPRD=>$<5=T.KQ3 M, 9#YB%180P62+5%8H)8@>XBD)*8C74Z%J[B/[?]9V2I5L(.3+3+D<$X&T,#^"J49DV6 MJ'(( (H&> G#N6!/*MU89+F9N05.+8VT\ZCKO)#\,MH-*YLK<',+8]:L?3V( MV]TXQ%W="<_;-_L[R;M#5V.J+@V8)DR6:3QNN>T0NPLA+064(.IZF!-'4Q"@ M.C'_&E1? 29TIJ4%%X[L05T* +<(@3.;]*Q M+$8D3D!-EU4.B:0G6TE_BZ(525_%I_BHN4 L(DQ9OV#^6D%O1!/;\N2!LCL# M91B(_;R/:4AP;G]1]=3?W2"<;LGM30'J7OL@X7DX(X== .(54ML?@ZG)63>5 ME7MZ%TY_0P(PZI%B0C65A0)PU%2[P'R0HB+HX9+YEC-7>==2+@/2ZHQZBY9F MS0 -UJH MY%7#(BC#(X"QNG0)!G]%$$XW",*1C,^G,J\"8W%\*J/F61<43 M&#@^/EP&!L2B(]C3Q6)S:"K_N 5/R1%R*4U<26=_O/T1PT6-'A8AQ9F /0%P M/,#K )W:(-#5O!GCN8X+WH;7!5QH>1!\SV!+SNHF32O+T5])H0]HG1CG\9[/ M)J'+I5#T6SS2$5N/=,D 8_#8/>G:<.R=*)P@\.%"42WMVHY6C:5;UAO,@ 'V MI$)J"/-1T_9Q M>DM;C+9GU"!K]>S2.HF:UAOKEFD_O(#*R41[3_0[B6%H4%APN]*P+RC9 J+! MPXYY'O]S9;U8AO1;I6%^6')5D8:#A^W_[[W^Q'1_DJ-60^VH 3?>\/+6.=4$ M<-0I>[D'FI&\YAP<:[>0A4/5&8Y %\=$SX)9NC$^3RS((ZF@@\!<(# M=,*9=8VQ9DR%NIB:?$J<#PLYJH_>;TSL8FLJ*\@V @[G]2++2_ M% EH\'BQR'26IG+^4 7P;C0Z?"N?KX[GW)Z1&55CQ&&B\WUM7J_W^[W M^WRS[C'M7BT&KB_=V^'2O>/5>MO!?ON@^WASMYTLVSI!=]3/UZRE+-XW>HU% MAQH*@YWR1B1W)X71L>:$*?_ZJ =/W[[9Q7H(?^]='"]#_@1WZYC"C0&\%>&\ M2RR,_]O,Q9?[_TP7(UR_DI>?L"_6G)E"+CP=:\K$^0VE%6^OQ<=8<3)C;=5G M+:!#6K;7%>GV^NQTPH)]R2&5X,S$RI6/WJZ)?+@;_^GS%QGZBV>>?OOOA^H+5&JW6E\Y%JW4Y MN&3?#_[Q ^LVVPD;6)X[Y97)N6ZUKC[66&WL?=%OM6:S67/6:1H[:@UN6J2J MV]+&.-D47M3.3ND-_DHNSOYV^DVCP2Y-6DYD[EEJ)?=2L-*I?,2^".EN6:-1 M25V88F[5:.S90?L@85^,O553'MN]\EJ>+?2.LFQT=\^0X.3HZ3(8R[74[Q\F_$QC9@GCLX_QUBX4]F2OAQ/VFW_UX+HF>GF=9+FP7T? MMK4^10"D_2KF1S.$3(WE!,Q^F0MI2:IV=G%U,[C^<'UQ/KC^]'%[S_YP/[J/ MAN&Z#BW.L0&?8\ Z2Z7U*ILS/^;^[9O>T*5=GUWG:1'B.7T=X#G8N/-]QAZ!@^B=S=IN; MF99B).LQ2C;&1AB8D!OD$HS 5(I7 MEID)F,^;*+# W@BU"7U4FBU! % WP$H9SP9Z4NS'+M)FY M!4ZM'"GG4=1YQNEEM#NC[+."FUL8LV'MZT%<=^<0-[@7GK=OC@Z2PQ-78:HJ M#8@F3)8I/.ZY_1"[:\:M#"A!U-502XHFDX#F4"LWIAXD-@%+$E/2LU NU<:5 MZ$?\:8V.<"FL2:7 :\?V@ XA ;<(@:N[=,SSD63GH*:;4D,BZ?!&TMN3T8JD M)^)3?%14'>81IJ2?$7^MH3>BB6S9>J#LWD 9!B(_'V(:$I3;7U0]];H[A-,] MOK\K0'W7/$YH'BZEPQ8 \0JI[;?!5*>LF_+2;=^%TM]0 AC52#&AFM)" 3AJ MJEQ@/DC)/.BADGG%F>N\:Z7F 6E51EVAI5YQ,C4J\"=L<48K$3:GKAPZ)12W MBAQ0,>^'3)"3IM)1+@YKTX7$'7@2NU\8A&UIZ%2@H%1IJ3G1.]P*1JQR.GK$ M"F&]L,&OH21!,##Z2_$BQMTM) ]W",F=[B:2MR:M#4!O3W=;XQIK8:H$P94[ MDW/B=>X =2HP"@'#%ATHK/Z!@;$HB/8T\5B'8.\EP@D"'"WFYM&L_6C7F;EEO$ ,&V$L14D.8CXJVYTRK6ZFKXX0'\O47 M3]&+H;Y3F[+>Z]F4A1-&L5@G]157$76N8W5%6X2V9]0@&_7LTCJ.FM8;ZY9I M/[R RLE$>2_EKR2&H4%A0>U"P;Z@9 ^(!@\[XGG\3Y7U8AG*7TH%\\.2*_,T M'#SL_W_O]0>F^W.-6@VUHP+<:,-+6^=428"C2MG+/=!,\EO*P;%V"UDX5)WA M"'1Q3/0LR%7;E7C<\ B]<8&.3B[9[4EX5K4JNEBZQ<'J"(6 0Q7@R@D0@DD* MSE19Y=$#M5>6Y'=O!\ "=<&9=8:P>4Z'*IT9/)>7#G(^J MHW=;<:2<%-K,)5IG8Q-9D=]#,!#W/RD6FK\7!VM1?^12=P>O#2\Q_8%DV7DY M*AWF*GG7/GE7#S?FO^\Z=W$9[<-&L^HQQ-*4M@&W-"^<["]^G""M%9K/^RH/ MQH5.)_?UT\7YE-(C*JMJC#!<;*[NU'N]9J_7HVMUCVGW8C%P=>/>##?N+2\V MVXZ/FL?MIYO;S639U@JZHWYXX J>OZ]U:HL.%13Z!\4=2^Y/"J%CPPE3_/E1 M#YZ^?=/%>@A_UV^-E_'>PM;289J$M4.9 MJDS=WYR 5EC%+_F(Y=?)\\%'-86)7Q7UX_'L5&Y\9K,";1BXO>K"AT!NZ9_N M\M1W*D]^LU/]C5\0A6^9SOX+4$L#!!0 ( (J#!E.]C]EU"P4 .T5 9 M 8V1X#,R,7-P+FAT;>U86W/:1A1^[Z\X(=/&F4$W M;L:">(8 GCB3&@>4IGGJ+-(".Q&[RN[*F/[ZGETAC&^I[4Y"VBD/&J1S_IG#^X?6[TSY4',_[6.][WB :P)OHUW?04=7P4B$4=1.=5(Z[Y@L^*4F.?^H^ ML5[U[-&NE.1K(^[";L EKRJL/B0S([JTV8<^T'#;[;:=;_=:/E! MK=YHM).@]D> 3GK(7L@HO4[IJ\J2<6=!C?VP47,/FYGNK%BB%V'@^S]7+.MQ M=R:X1GL2Y8N_A9K;RHB\Z -']R)VW=A,NQ;[X-ZTZ_^\'[W)M ;C,ZCX>!!X?YJF>\5 M2!GV([\%HQ.(W@QATAN_[IT-)\[H]W?#3]#K1X92\_W:8_$QGB"V,, /E7MG MPE/4?+LH->Z,TBF'6'!.8S/F8<7T O2"PON<2$Q=NH8QS834(&8XG1-ZR505 M3GGLPH%A^^5YNU;S.WVQS A?V[>@\Q)0TXF02PA\YSW,A+0J9TS%)(4OA6:@ M"#V!MSFGOSP/6GZG[E?MU*\"4[[I3N%QZ4X6W8L'AK0MG#*.*_I]+JI@)O-767S Z0YUH0[,+"J/9C,7H M("(V.C?8+.M8* 4166-JJN@49PCM-V2^4^,)XX3'#"'?K;$**)29P%_0%-\2 M 93$"UA02:=K0 '-9O@]RZ7*":K6 G:&2I&Q(G9VLIBXD41D9G7=E;G&:9IA MX\:$R"GA5#FCRY2NH1?;))MFJ"*=8/R:[S< MR/H!P5Z3$#0/DI?;M%[URK9/-KD-CNH-S.I1QU3I_YG]MIEE' ??DMBQRKA- M39ELPLQ@S;#]35ZKADS2%) 977V7Y-I2DN) MJ9 )E0["2DFF:%C^Z21,92E9AXQ;YZQ0Y[I^.X]HSCZ>0V[:CM'OGWDWTWV-(\J[O0;U9;K,)7E7JE M%-BT2UC++B&X'A330;= B.S[9]TO)DOCL*/L\\;^89OR!\#=Y!1AA(@6E$A9 M J7S_YI8/!W_(R$6Y;HGE _:%9J)=9!)A@,YPXE,MW11T%_>%9T226G.KA%_ M$S'?Q.N_W%0[>^E]==1>RVT7/Q;5HT\3W[ -]U<@.ZUUM>TQ02!Q+'*NS9WA M_9WFV:7QG]S%?7U'_P502P$"% ,4 " "*@P93GO[A>8J$ @!$*1\ $0 M @ $ 8V1X&UL4$L! A0#% @ BH,&4W1= M&XCG80 !TL$ !4 ( !";$" &-D>',M,C R,3 V,S!?9&5F M+GAM;%!+ 0(4 Q0 ( (J#!E.9^3_6..( .M="0 5 " M 2,3 P!C9'AS+3(P,C$P-C,P7VQA8BYX;6Q02P$"% ,4 " "*@P93C_J MPKR2 !4F@8 %0 @ &.]0, 8V1X&UL4$L! A0#% @ BH,&4Z,L2M'.!P %"4 !D ( ! M?8@$ &-D>'-?,C R,3 V,S!X97@S,3%S<"YH=&U02P$"% ,4 " "*@P93 MN+\X,MH' F)0 &0 @ &"D 0 8V1X#,Q,G-P+FAT;5!+ 0(4 Q0 ( (J#!E.]C]EU"P4 .T5 9 M " 9.8! !C9'AS7S(P,C$P-C,P>&5X,S(Q