0001107843-24-000016.txt : 20240507 0001107843-24-000016.hdr.sgml : 20240507 20240507170735 ACCESSION NUMBER: 0001107843-24-000016 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 81 CONFORMED PERIOD OF REPORT: 20240331 FILED AS OF DATE: 20240507 DATE AS OF CHANGE: 20240507 FILER: COMPANY DATA: COMPANY CONFORMED NAME: QUALYS, INC. CENTRAL INDEX KEY: 0001107843 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-PREPACKAGED SOFTWARE [7372] ORGANIZATION NAME: 06 Technology IRS NUMBER: 770534145 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-35662 FILM NUMBER: 24923104 BUSINESS ADDRESS: STREET 1: 919 E. HILLSDALE BLVD. CITY: FOSTER CITY STATE: CA ZIP: 94404 BUSINESS PHONE: 650-801-6100 MAIL ADDRESS: STREET 1: 919 E. HILLSDALE BLVD. CITY: FOSTER CITY STATE: CA ZIP: 94404 FORMER COMPANY: FORMER CONFORMED NAME: QUALYS INC DATE OF NAME CHANGE: 20000225 10-Q 1 qlys-20240331.htm 10-Q qlys-20240331
0001107843--12-312024Q1false0.751111P3Y452455xbrli:sharesiso4217:USDiso4217:USDxbrli:sharesiso4217:EURiso4217:GBPiso4217:INRiso4217:CADxbrli:pureqlys:segment00011078432024-01-012024-03-3100011078432024-04-2600011078432024-03-3100011078432023-12-3100011078432023-01-012023-03-3100011078432022-12-3100011078432023-03-310001107843us-gaap:CommonStockMember2023-12-310001107843us-gaap:AdditionalPaidInCapitalMember2023-12-310001107843us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001107843us-gaap:RetainedEarningsMember2023-12-310001107843us-gaap:RetainedEarningsMember2024-01-012024-03-310001107843us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-03-310001107843us-gaap:CommonStockMember2024-01-012024-03-310001107843us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310001107843us-gaap:CommonStockMember2024-03-310001107843us-gaap:AdditionalPaidInCapitalMember2024-03-310001107843us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-310001107843us-gaap:RetainedEarningsMember2024-03-310001107843us-gaap:CommonStockMember2022-12-310001107843us-gaap:AdditionalPaidInCapitalMember2022-12-310001107843us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001107843us-gaap:RetainedEarningsMember2022-12-310001107843us-gaap:RetainedEarningsMember2023-01-012023-03-310001107843us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310001107843us-gaap:CommonStockMember2023-01-012023-03-310001107843us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001107843us-gaap:CommonStockMember2023-03-310001107843us-gaap:AdditionalPaidInCapitalMember2023-03-310001107843us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-310001107843us-gaap:RetainedEarningsMember2023-03-310001107843us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001107843us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2024-03-310001107843us-gaap:FairValueMeasurementsRecurringMember2024-03-310001107843us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001107843us-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001107843us-gaap:FairValueMeasurementsRecurringMember2023-12-310001107843us-gaap:MoneyMarketFundsMemberus-gaap:CashEquivalentsMember2024-03-310001107843us-gaap:CommercialPaperMemberus-gaap:CashEquivalentsMember2024-03-310001107843us-gaap:CashEquivalentsMemberus-gaap:USGovernmentCorporationsAndAgenciesSecuritiesMember2024-03-310001107843us-gaap:CashEquivalentsMember2024-03-310001107843us-gaap:ShortTermInvestmentsMemberus-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2024-03-310001107843us-gaap:ShortTermInvestmentsMemberus-gaap:CorporateDebtSecuritiesMember2024-03-310001107843us-gaap:ShortTermInvestmentsMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2024-03-310001107843us-gaap:ShortTermInvestmentsMember2024-03-310001107843us-gaap:CorporateDebtSecuritiesMemberus-gaap:OtherLongTermInvestmentsMember2024-03-310001107843us-gaap:AssetBackedSecuritiesMemberus-gaap:OtherLongTermInvestmentsMember2024-03-310001107843us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:OtherLongTermInvestmentsMember2024-03-310001107843us-gaap:OtherLongTermInvestmentsMember2024-03-310001107843us-gaap:MoneyMarketFundsMemberus-gaap:CashEquivalentsMember2023-12-310001107843us-gaap:CashEquivalentsMemberus-gaap:USGovernmentCorporationsAndAgenciesSecuritiesMember2023-12-310001107843us-gaap:CashEquivalentsMember2023-12-310001107843us-gaap:ShortTermInvestmentsMemberus-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2023-12-310001107843us-gaap:ShortTermInvestmentsMemberus-gaap:CorporateDebtSecuritiesMember2023-12-310001107843us-gaap:ShortTermInvestmentsMemberus-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-12-310001107843us-gaap:ShortTermInvestmentsMember2023-12-310001107843us-gaap:CorporateDebtSecuritiesMemberus-gaap:OtherLongTermInvestmentsMember2023-12-310001107843us-gaap:AssetBackedSecuritiesMemberus-gaap:OtherLongTermInvestmentsMember2023-12-310001107843us-gaap:USGovernmentAgenciesDebtSecuritiesMemberus-gaap:OtherLongTermInvestmentsMember2023-12-310001107843us-gaap:OtherLongTermInvestmentsMember2023-12-310001107843us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2024-03-310001107843us-gaap:AssetBackedSecuritiesMember2024-03-310001107843us-gaap:CorporateDebtSecuritiesMember2024-03-310001107843us-gaap:USGovernmentAgenciesDebtSecuritiesMember2024-03-310001107843us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember2023-12-310001107843us-gaap:AssetBackedSecuritiesMember2023-12-310001107843us-gaap:CorporateDebtSecuritiesMember2023-12-310001107843us-gaap:USGovernmentAgenciesDebtSecuritiesMember2023-12-3100011078432018-12-310001107843us-gaap:ForeignExchangeContractMemberus-gaap:CashFlowHedgingMemberus-gaap:DesignatedAsHedgingInstrumentMember2024-03-310001107843us-gaap:ForeignExchangeContractMemberus-gaap:CashFlowHedgingMemberus-gaap:DesignatedAsHedgingInstrumentMember2023-12-310001107843us-gaap:CashFlowHedgingMemberus-gaap:DesignatedAsHedgingInstrumentMemberqlys:ForeignExchangeContractsForGBPAndEuroMember2024-03-310001107843us-gaap:ForeignExchangeContractMemberus-gaap:NondesignatedMember2024-03-310001107843us-gaap:ForeignExchangeContractMemberus-gaap:NondesignatedMember2023-12-310001107843us-gaap:DesignatedAsHedgingInstrumentMember2024-03-310001107843us-gaap:DesignatedAsHedgingInstrumentMember2023-12-310001107843us-gaap:NondesignatedMember2024-03-310001107843us-gaap:NondesignatedMember2023-12-310001107843us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2023-12-310001107843us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-12-310001107843us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2024-01-012024-03-310001107843us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2024-01-012024-03-310001107843us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2024-03-310001107843us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2024-03-310001107843us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2022-12-310001107843us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2022-12-310001107843us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2023-01-012023-03-310001107843us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-01-012023-03-310001107843us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2023-03-310001107843us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-03-310001107843us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2024-01-012024-03-310001107843us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember2023-01-012023-03-310001107843us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2024-01-012024-03-310001107843us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMemberus-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember2023-01-012023-03-310001107843us-gaap:ComputerEquipmentMember2024-03-310001107843us-gaap:ComputerEquipmentMember2023-12-310001107843us-gaap:ComputerSoftwareIntangibleAssetMember2024-03-310001107843us-gaap:ComputerSoftwareIntangibleAssetMember2023-12-310001107843us-gaap:LeaseholdImprovementsMember2024-03-310001107843us-gaap:LeaseholdImprovementsMember2023-12-310001107843qlys:ScannerAppliancesMember2024-03-310001107843qlys:ScannerAppliancesMember2023-12-310001107843us-gaap:FurnitureAndFixturesMember2024-03-310001107843us-gaap:FurnitureAndFixturesMember2023-12-310001107843qlys:ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember2024-03-310001107843qlys:ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember2023-12-310001107843qlys:ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember2024-03-310001107843qlys:ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember2023-12-3100011078432024-04-012024-03-3100011078432025-01-012024-03-3100011078432026-01-012024-03-3100011078432027-01-012024-03-3100011078432028-01-012024-03-3100011078432029-01-012024-03-310001107843us-gaap:SalesChannelDirectlyToConsumerMember2024-01-012024-03-310001107843us-gaap:SalesChannelDirectlyToConsumerMember2023-01-012023-03-310001107843us-gaap:SalesChannelThroughIntermediaryMember2024-01-012024-03-310001107843us-gaap:SalesChannelThroughIntermediaryMember2023-01-012023-03-310001107843us-gaap:DevelopedTechnologyRightsMember2024-03-310001107843us-gaap:PatentsMember2024-03-310001107843qlys:AssembledWorkforceMember2024-03-310001107843qlys:IntangibleAssetsNotSubjectToAmortizationMember2024-03-310001107843us-gaap:DevelopedTechnologyRightsMember2023-12-310001107843us-gaap:PatentsMember2023-12-310001107843qlys:AssembledWorkforceMember2023-12-310001107843qlys:IntangibleAssetsNotSubjectToAmortizationMember2023-12-310001107843qlys:The2012EquityIncentivePlanMember2022-06-082022-06-080001107843qlys:The2021EmployeeStockPurchasePlanMember2021-06-090001107843qlys:The2021EmployeeStockPurchasePlanMember2021-06-092021-06-090001107843srt:MinimumMemberqlys:The2021EmployeeStockPurchasePlanMember2021-06-092021-06-090001107843srt:MaximumMemberqlys:The2021EmployeeStockPurchasePlanMember2021-06-092021-06-090001107843qlys:The2021EmployeeStockPurchasePlanMember2024-01-012024-03-310001107843qlys:The2021EmployeeStockPurchasePlanMember2024-03-310001107843qlys:The2012EquityIncentivePlanMember2024-01-012024-03-3100011078432023-01-012023-12-310001107843qlys:PerformanceBasedRestrictedStockUnitsMembersrt:ExecutiveOfficerMember2024-01-012024-03-310001107843srt:MaximumMemberqlys:PerformanceBasedRestrictedStockUnitsMembersrt:ExecutiveOfficerMember2024-01-012024-03-310001107843srt:MinimumMemberqlys:PerformanceBasedRestrictedStockUnitsMembersrt:ExecutiveOfficerMember2024-01-012024-03-310001107843us-gaap:RestrictedStockUnitsRSUMember2023-12-310001107843us-gaap:RestrictedStockUnitsRSUMember2024-01-012024-03-310001107843us-gaap:RestrictedStockUnitsRSUMember2024-03-310001107843qlys:PerformanceBasedRestrictedStockUnitsMemberqlys:ExecutiveOfficer1Member2023-01-012023-12-310001107843qlys:PerformanceBasedRestrictedStockUnitsMemberqlys:ExecutiveOfficer1Member2022-01-012022-12-310001107843qlys:PerformanceBasedRestrictedStockUnitsMemberqlys:ExecutiveOfficer1Member2021-01-012021-12-310001107843qlys:ExecutiveOfficer2Memberqlys:PerformanceBasedRestrictedStockUnitsMember2023-01-012023-12-310001107843qlys:ExecutiveOfficer2Memberqlys:PerformanceBasedRestrictedStockUnitsMember2021-01-012021-12-310001107843qlys:ExecutiveOfficer2Memberqlys:PerformanceBasedRestrictedStockUnitsMember2022-01-012022-12-310001107843qlys:PerformanceBasedRestrictedStockUnitsMemberqlys:ExecutiveOfficer3Member2022-01-012022-12-310001107843qlys:PerformanceBasedRestrictedStockUnitsMemberqlys:ExecutiveOfficer3Member2023-01-012023-12-310001107843qlys:PerformanceBasedRestrictedStockUnitsMemberqlys:ExecutiveOfficer3Member2021-01-012021-12-310001107843qlys:ExecutiveOfficer4Memberqlys:PerformanceBasedRestrictedStockUnitsMember2023-01-012023-12-310001107843qlys:ExecutiveOfficer4Memberqlys:PerformanceBasedRestrictedStockUnitsMember2021-01-012021-12-310001107843qlys:ExecutiveOfficer4Memberqlys:PerformanceBasedRestrictedStockUnitsMember2022-01-012022-12-310001107843qlys:ExecutiveOfficer4Memberqlys:PerformanceBasedRestrictedStockUnitsMember2024-01-012024-03-310001107843us-gaap:CostOfSalesMember2024-01-012024-03-310001107843us-gaap:CostOfSalesMember2023-01-012023-03-310001107843us-gaap:ResearchAndDevelopmentExpenseMember2024-01-012024-03-310001107843us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-03-310001107843us-gaap:SellingAndMarketingExpenseMember2024-01-012024-03-310001107843us-gaap:SellingAndMarketingExpenseMember2023-01-012023-03-310001107843us-gaap:GeneralAndAdministrativeExpenseMember2024-01-012024-03-310001107843us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-03-310001107843qlys:PerformanceBasedRestrictedStockUnitsMember2024-01-012024-03-310001107843qlys:PerformanceBasedRestrictedStockUnitsMember2023-01-012023-03-310001107843us-gaap:EmployeeStockOptionMember2024-03-310001107843qlys:PerformanceBasedRestrictedStockUnitsMember2024-03-310001107843qlys:ESPPSharesMember2024-03-310001107843us-gaap:EmployeeStockOptionMember2024-01-012024-03-310001107843qlys:ESPPSharesMember2024-01-012024-03-3100011078432018-02-1200011078432018-10-3000011078432019-10-3000011078432020-05-0700011078432021-02-1000011078432021-11-0300011078432022-05-0400011078432023-02-0900011078432024-02-070001107843country:US2024-01-012024-03-310001107843country:US2023-01-012023-03-310001107843us-gaap:NonUsMember2024-01-012024-03-310001107843us-gaap:NonUsMember2023-01-012023-03-310001107843country:US2024-03-310001107843country:US2023-12-310001107843country:IN2024-03-310001107843country:IN2023-12-310001107843qlys:OtherGeographicAreasMember2024-03-310001107843qlys:OtherGeographicAreasMember2023-12-310001107843us-gaap:EmployeeStockOptionMember2024-01-012024-03-310001107843us-gaap:EmployeeStockOptionMember2023-01-012023-03-310001107843us-gaap:RestrictedStockUnitsRSUMember2024-01-012024-03-310001107843us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-03-310001107843qlys:EmployeeStockPurchasePlanSharesMember2024-01-012024-03-310001107843qlys:EmployeeStockPurchasePlanSharesMember2023-01-012023-03-310001107843qlys:WendyPfeifferMember2024-01-012024-03-310001107843qlys:WendyPfeifferMember2024-03-310001107843qlys:SumedhThakarMember2024-01-012024-03-310001107843qlys:SumedhThakarMember2024-03-31
UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
__________________
FORM 10-Q
__________________
xQuarterly Report Pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934
For the Quarterly Period Ended March 31, 2024
oTransition 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-35662
__________________
QUALYS, INC.
(Exact name of registrant as specified in its charter)
__________________
Delaware77-0534145
(State or other jurisdiction of
incorporation or organization)
(I.R.S. Employer
Identification Number)
919 E. Hillsdale Boulevard, 4th Floor, Foster City, California 94404
(Address of principal executive offices, including zip code)
(650) 801-6100
(Registrant’s telephone number, including area code)
__________________
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading Symbol(s)Name of each exchange on which registered
Common stock, $0.001 par value per shareQLYSThe NASDAQ Stock Market LLC
Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.    Yes  x    No   o
Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    Yes  x    No o
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company” and "emerging growth company" in Rule 12b-2 of the Exchange Act.
Large accelerated filer
xAccelerated filero
Non-accelerated fileroSmaller reporting companyo
Emerging growth companyo
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. o
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).    Yes o    No  x
The number of shares of the registrant's common stock outstanding as of April 26, 2024 was 36,939,262.


Qualys, Inc.
TABLE OF CONTENTS
Page
2

RISK FACTOR SUMMARY
Our business is subject to significant risks and uncertainties that make an investment in us speculative and risky. Below we summarize what we believe are the principal risk factors but these risks are not the only ones we face, and you should carefully review and consider the full discussion of our risk factors in the section titled “Risk Factors,” together with the other information in this Quarterly Report on Form 10-Q. If any of the following risks actually occurs (or if any of those listed elsewhere in this Quarterly Report on Form 10-Q occur), our business, reputation, financial condition, results of operations, revenue, and future prospects could be seriously harmed. Additional risks and uncertainties that we are unaware of, or that we currently believe are not material, may also become important factors that adversely affect our business.

Our quarterly and annual operating results may vary from period to period, which could result in our failure to meet expectations with respect to operating results and cause the trading price of our stock to decline.
If we do not successfully anticipate market needs and opportunities or are unable to enhance our solutions and develop new solutions that meet those needs and opportunities on a timely or cost-effective basis, we may not be able to compete effectively and our business and financial condition may be harmed.
If we fail to continue to effectively scale and adapt our platform to meet the performance and other requirements of our customers, our operating results and our business would be harmed.
If we are unable to renew existing subscriptions for our IT, security and compliance solutions, sell additional subscriptions for our solutions and attract new customers, our operating results would be harmed.
Our current research and development efforts may not produce successful products or enhancements to our platform that result in significant revenue, cost savings or other benefits in the near future.
Our platform, website and internal systems may be subject to intentional disruption or other security incidents that could result in liability and adversely impact our reputation and future sales.
Our sales cycle can be long and unpredictable, and our sales efforts require considerable time and expense. As a result, revenues may vary from period to period, which may cause our operating results to fluctuate and could harm our business.
Adverse economic conditions or reduced IT spending may adversely impact our business.
Our IT, security and compliance solutions are delivered from 14 shared cloud platforms, and any disruption of service at these facilities would interrupt or delay our ability to deliver our solutions to our customers which could reduce our revenues and harm our operating results.
We face competition in our markets, and we may lack sufficient financial or other resources to maintain or improve our competitive position.
If our solutions fail to detect vulnerabilities or incorrectly detect vulnerabilities, our brand and reputation could be harmed, which could have an adverse effect on our business and results of operations.
If we are unable to continue the expansion of our sales force, sales of our solutions and the growth of our business would be harmed.
We rely on third-party channel partners to generate a substantial amount of our revenues, and if we fail to expand and manage our distribution channels, our revenues could decline and our growth prospects could suffer.
A significant portion of our customers, channel partners and employees are located outside of the United States, which subjects us to a number of risks associated with conducting international operations, and if we are unable to successfully manage these risks, our business and operating results could be harmed.
If the market for cloud solutions for IT, security and compliance does not evolve as we anticipate, our revenues may not grow and our operating results would be harmed.
Our business and operations have continued to grow since inception, and if we do not appropriately manage any future growth, or are unable to improve our systems and processes, our operating results may be negatively affected.
A portion of our revenues are generated by sales to government entities, which are subject to a number of challenges and risks.
Undetected software errors or flaws in our solutions could harm our reputation, decrease market acceptance of our solutions or result in liability.
Our solutions could be used to collect and store personal information of our customers’ employees or customers, and therefore privacy and other data handling concerns could result in additional cost and liability to us or inhibit sales of our solutions.
Our solutions contain third-party open source software components, and our failure to comply with the terms of the underlying open source software licenses could restrict our ability to sell our solutions.
We use third-party software and data that may be difficult to replace or cause errors or failures of our solutions that could lead to lost customers or harm to our reputation and our operating results.
Failure to protect our proprietary technology and intellectual property rights could substantially harm our business and operating results.
Assertions by third parties of infringement or other violations by us of their intellectual property rights could result in significant costs and harm our business and operating results.
3

PART I. FINANCIAL INFORMATION
Item 1.                                 Financial Statements
Qualys, Inc.
CONDENSED CONSOLIDATED BALANCE SHEETS
(unaudited)
(in thousands, except per share data)
March 31,
2024
December 31,
2023
Assets
Current assets:
Cash and cash equivalents$273,783 $203,665 
Restricted cash 1,500 
Short-term marketable securities179,887 221,893 
Accounts receivable, net of allowance of $1,099 and $778 as of March 31, 2024 and December 31, 2023, respectively
115,629 146,226 
Prepaid expenses and other current assets36,112 26,714 
Total current assets605,411 599,998 
Long-term marketable securities89,693 56,644 
Property and equipment, net30,191 32,599 
Operating leases - right of use asset31,371 22,391 
Deferred tax assets, net66,565 62,761 
Intangible assets, net8,943 9,715 
Goodwill7,447 7,447 
Noncurrent restricted cash1,200 1,200 
Other noncurrent assets20,961 19,863 
Total assets$861,782 $812,618 
Liabilities and Stockholders’ Equity
Current liabilities:
Accounts payable$645 $988 
Accrued liabilities48,246 43,096 
Deferred revenues, current332,128 333,267 
Operating lease liabilities, current10,046 11,857 
Total current liabilities391,065 389,208 
Deferred revenues, noncurrent31,311 31,671 
Operating lease liabilities, noncurrent27,784 16,885 
Other noncurrent liabilities7,420 6,680 
Total liabilities457,580 444,444 
Commitments and contingencies (Note 8)
Stockholders’ equity:
Preferred stock: $0.001 par value; 20,000 shares authorized, no shares issued and outstanding as of March 31, 2024 and December 31, 2023
  
Common stock: $0.001 par value; 1,000,000 shares authorized, 36,962 and 36,909 shares issued and outstanding as of March 31, 2024 and December 31, 2023, respectively
37 37 
Additional paid-in capital610,923 597,921 
Accumulated other comprehensive loss(1,007)(1,704)
Accumulated deficit(205,751)(228,080)
Total stockholders’ equity404,202 368,174 
Total liabilities and stockholders’ equity$861,782 $812,618 
The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.
4

Qualys, Inc.
CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS
(unaudited)
(in thousands, except per share data)
Three Months Ended
March 31,
20242023
Revenues$145,805 $130,683 
Cost of revenues27,198 26,954 
Gross profit118,607 103,729 
Operating expenses:
Research and development27,530 27,795 
Sales and marketing29,408 25,628 
General and administrative16,908 15,128 
Total operating expenses73,846 68,551 
Income from operations44,761 35,178 
Other income (expense), net:
Interest income6,123 2,397 
Other expense, net(1,399)(216)
Total other income, net4,724 2,181 
Income before income taxes49,485 37,359 
Income tax provision9,754 8,254 
Net income$39,731 $29,105 
Net income per share:
Basic$1.08 $0.79 
Diluted$1.05 $0.77 
Weighted average shares used in computing net income per share:
Basic36,95537,068
Diluted37,72337,669
The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.
5

Qualys, Inc.
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
(unaudited)
(in thousands)
Three Months Ended
March 31,
20242023
Net income$39,731 $29,105 
Other comprehensive income (loss), net of tax
Net change in unrealized gains (losses) on available-for-sale debt securities, net of tax(407)1,131 
Net change in unrealized gains (losses) on cash flow hedges, net of tax1,104 (755)
Other comprehensive income, net of tax697 376 
Comprehensive income$40,428 $29,481 
The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.
6

Qualys, Inc.
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
(unaudited)
(in thousands)
Three Months Ended
March 31,
20242023
Cash flow from operating activities:
Net income$39,731 $29,105 
Adjustments to reconcile net income to net cash provided by operating activities:  
Depreciation and amortization expense5,239 7,444 
Provision for credit losses193 119 
Stock-based compensation, net of amounts capitalized19,031 16,033 
Accretion of discount on marketable securities, net(1,915)(259)
Deferred income taxes(4,111)(4,241)
Changes in operating assets and liabilities:  
Accounts receivable30,404 19,890 
Prepaid expenses and other assets(10,126)(1,289)
Accounts payable(335)(1,215)
Accrued liabilities and other noncurrent liabilities8,892 (2)
Deferred revenues(1,498)1,228 
Net cash provided by operating activities85,505 66,813 
Cash flow from investing activities:
Purchases of marketable securities(61,340)(46,010)
Sales and maturities of marketable securities71,463 69,709 
Purchases of property and equipment(2,051)(4,037)
Net cash provided by investing activities8,072 19,662 
Cash flow from financing activities:
Repurchase of common stock(18,029)(66,551)
Proceeds from exercise of stock options2,770 2,328 
Payments for taxes related to net share settlement of equity awards(11,808)(5,105)
Proceeds from issuance of common stock through employee stock purchase plan3,608 2,988 
Payment of acquisition-related holdback(1,500) 
Net cash used in financing activities(24,959)(66,340)
Net increase in cash, cash equivalents and restricted cash68,618 20,135 
Cash, cash equivalents and restricted cash at beginning of period206,365 176,419 
Cash, cash equivalents and restricted cash at end of period$274,983 $196,554 
The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.
7

Qualys, Inc.
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY
(unaudited)
(in thousands)
Common Stock
Additional
Paid-In
Capital
Accumulated
Other
Comprehensive
Income (Loss)
Accumulated
Deficit
Total
Stockholders’
Equity
SharesAmount
Balances at December 31, 202336,909$37 $597,921 $(1,704)$(228,080)$368,174 
Net income— — — 39,731 39,731 
Other comprehensive income, net of tax— — 697 — 697 
Issuance of common stock upon exercise of stock options46— 2,770 — — 2,770 
Repurchase of common stock(105)— (627)— (17,402)(18,029)
Issuance of common stock upon vesting of restricted stock units149— — — — — 
Taxes related to net share settlement of equity awards(66)— (11,808)— — (11,808)
Issuance of common stock through employee stock purchase plan29— 3,608 — — 3,608 
Stock-based compensation— 19,059 — — 19,059 
Balances at March 31, 202436,962$37 $610,923 $(1,007)$(205,751)$404,202 

Common Stock
Additional
Paid-In
Capital
Accumulated
Other
Comprehensive
Income (Loss)
Accumulated
Deficit
Total
Stockholders’
Equity
SharesAmount
Balances at December 31, 202237,362$37 $512,486 $(1,947)$(221,447)$289,129 
Net income— — — 29,105 29,105 
Other comprehensive loss, net of tax— — 376 — 376 
Issuance of common stock upon exercise of stock options61— 2,328 — — 2,328 
Repurchase of common stock(584)— (7,014)— (60,018)(67,032)
Issuance of common stock upon vesting of restricted stock units108— — — — — 
Taxes related to net share settlement of equity awards(43)— (5,105)— — (5,105)
Issuance of common stock through employee stock purchase plan29— 2,988 — — 2,988 
Stock-based compensation— 16,033 — — 16,033 
Balances at March 31, 202336,933$37 $521,716 $(1,571)$(252,360)$267,822 
The accompanying notes are an integral part of these Condensed Consolidated Financial Statements.
8

Qualys, Inc.
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS
(unaudited)
NOTE 1.                              Description of Business and Summary of Significant Accounting Policies
Description of Business
Qualys, Inc. (the “Company”, "we", "us", "our") was incorporated in the state of Delaware on December 30, 1999. The Company is headquartered in Foster City, California and has wholly-owned subsidiaries throughout the world. The Company is a leading provider of cloud-based information technology ("IT"), security and compliance solutions that enable organizations to identify security risks to their IT infrastructures, help protect their IT systems and applications from ever-evolving cyber-attacks and achieve compliance with internal policies and external regulations. The Company’s cloud solutions address the growing security and compliance complexities and risks that are amplified by the dissolving boundaries between internal and external IT infrastructures and web environments, the rapid adoption of cloud computing and the proliferation of geographically dispersed IT assets. Organizations can use the Company’s integrated suite of solutions delivered on Qualys' Enterprise TruRisk Platform to cost-effectively obtain a unified view of their security and compliance posture across globally-distributed IT infrastructures.
Basis of Presentation
The accompanying unaudited condensed consolidated financial statements and condensed footnotes have been prepared in accordance with accounting principles generally accepted in the United States ("U.S. GAAP") for interim financial information as well as the instructions to Form 10-Q and the rules and regulations of the U.S. Securities and Exchange Commission ("SEC"). Certain information and disclosures normally included in the financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated balance sheet as of December 31, 2023, included herein, was derived from the audited financial statements as of that date but does not include all disclosures, including notes required by U.S. GAAP. In the opinion of management, the accompanying unaudited condensed consolidated financial statements reflect all adjustments, which include only normal recurring adjustments, necessary for the fair statement of the financial position, results of operations and cash flows for the interim periods. The results of operations for the three months ended March 31, 2024 are not necessarily indicative of the results of operations expected for the entire year ending December 31, 2024 or for any other future annual or interim periods. These condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023 filed with the SEC on February 22, 2024.
Use of Estimates
The preparation of the unaudited condensed consolidated financial statements in conformity with U.S. GAAP requires management to make certain estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of assets and liabilities at the date of the condensed consolidated financial statements and the reported results of operations during the reporting period. The Company’s management regularly assesses these estimates, which primarily affect revenue recognition, allowance for credit loss, the valuation of goodwill and intangible assets, leases, stock-based compensation and income tax provision. Actual results could differ from those estimates and such differences may be material to the accompanying unaudited condensed consolidated financial statements.
Recently Adopted Accounting Pronouncements
None.
9

Recently Issued Accounting Pronouncements Not Yet Adopted
In November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2023-07 requiring enhanced segment disclosures. The ASU requires disclosure of significant segment expenses regularly provided to the chief operating decision maker ("CODM") included within segment operating profit or loss. Additionally, the ASU requires a description of how the CODM utilizes segment operating profit or loss to assess segment performance. The requirements of the ASU are effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company's annual reporting requirements will be effective for fiscal 2024 and interim reporting requirements will be effective beginning with the first quarter of fiscal 2025. Early adoption is permitted and retrospective application is required for all periods presented. The Company is in the process of analyzing the impact of the ASU on related disclosures.
In December 2023, the FASB issued ASU 2023-09 requiring improvements to income tax disclosures. The new ASU requires disclosure of disaggregated information about the effective tax rate and income taxes paid. The requirements of the ASU are effective for annual periods beginning after December 15, 2024 and are to be applied on a prospective basis. Companies can choose to early adopt and apply the guidance retrospectively. The Company is in the process of analyzing the impact of the ASU on related disclosures.
There have been no material changes to the Company’s significant accounting policies set forth in "Note 1" of Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023.
NOTE 2.                              Fair Value of Financial Instruments
Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. For certain of the Company’s financial instruments, including certain cash equivalents, accounts receivable, accounts payable and accrued liabilities, the carrying amounts approximate their fair values due to the relatively short maturity of these balances.
The Company measures and reports certain cash equivalents, marketable securities, derivative foreign currency forward contracts at fair value in accordance with the provisions of the authoritative accounting guidance that addresses fair value measurements. This guidance establishes a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. The hierarchy is broken down into three levels based on the reliability of inputs as follows:
Level 1 - Valuations based on quoted prices in active markets for identical assets or liabilities.
Level 2 - Valuations based on other than quoted prices in active markets for identical assets and liabilities, including quoted prices for identical assets or liabilities in less active or inactive markets, quoted prices for similar assets or liabilities in active markets, or inputs other than quoted prices that are observable for substantially the full term of the assets or liabilities.
Level 3 - Valuations based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability.
The Company's financial instruments consist of assets and liabilities measured using Level 1 and 2 inputs. Level 1 assets include a highly liquid money market fund, which is valued using unadjusted quoted prices that are available in an active market for an identical asset. Level 2 assets include fixed-income U.S. Treasury and government agency securities, commercial paper, corporate bonds, asset-backed securities and derivative financial instruments consisting of foreign currency forward contracts. The securities, bonds and commercial paper are valued using prices from independent pricing services based on quoted prices of identical instruments in less active or inactive markets, quoted prices of similar instruments in active markets, or industry models using data inputs such as interest rates and prices that can be directly observed or corroborated in active markets. The foreign currency forward contracts are valued using observable inputs, such as quotations on forward foreign exchange points and foreign interest rates.
10

The following table sets forth by level within the fair value hierarchy the fair value of the Company's financial assets and liabilities measured at fair value on a recurring basis:
March 31, 2024
Level 1Level 2Fair Value
(in thousands)
Money market funds$11,466 $ $11,466 
Commercial paper 47,317 47,317 
U.S. Treasury and government agencies 178,188 178,188 
Corporate bonds 87,378 87,378 
Asset-backed securities 12,144 12,144 
Foreign currency forward contracts 590 590 
Total assets$11,466 $325,617 $337,083 
Foreign currency forward contracts$ $677 $677 
Total liabilities$ $677 $677 
December 31, 2023
Level 1Level 2Fair Value
(in thousands)
Money market funds$87 $ $87 
Commercial paper 54,279 54,279 
U.S. Treasury and government agencies 208,536 208,536 
Corporate bonds 56,465 56,465 
Asset-backed securities 13,881 13,881 
Foreign currency forward contracts 111 111 
Total assets$87 $333,272 $333,359 
Foreign currency forward contracts$ $1,986 $1,986 
Total liabilities$ $1,986 $1,986 
There were no transfers between Level 1, Level 2 and Level 3 categories during the three months ended March 31, 2024 and 2023.
11

Cash equivalent and investments
The Company's cash equivalents and marketable securities consist of the following:
March 31, 2024
Amortized CostUnrealized GainsUnrealized LossesFair Value
(in thousands)
Cash equivalents: (1)
Money market funds$11,466 $ $ $11,466 
Commercial paper1,600  (1)1,599 
U.S. Treasury and government agencies53,851  (3)53,848 
Total66,917  (4)66,913 
Short-term marketable securities:    
Commercial paper45,752 1 (35)45,718 
Corporate bonds28,822 8 (111)28,719 
U.S. Treasury and government agencies105,553 7 (110)105,450 
Total180,127 16 (256)179,887 
Long-term marketable securities:
Corporate bonds58,771 94 (206)58,659 
Asset-backed securities12,074 72 (2)12,144 
U.S. Treasury and government agencies18,904 12 (26)18,890 
Total89,749 178 (234)89,693 
Total$336,793 $194 $(494)$336,493 
(1)Excludes cash of $206.9 million.
December 31, 2023
Amortized CostUnrealized GainsUnrealized LossesFair Value
(in thousands)
Cash equivalents: (2)
Money market funds$87 $ $ $87 
U.S. Treasury and government agencies54,620 4  54,624 
Total54,707 4  54,711 
Short-term marketable securities:
Commercial paper54,254 32 (7)54,279 
Corporate bonds23,013 1 (149)22,865 
U.S. Treasury and government agencies144,901 52 (204)144,749 
Total222,168 85 (360)221,893 
Long-term marketable securities:
Corporate bonds33,337 285 (22)33,600 
Asset-backed securities13,785 102 (6)13,881 
U.S. Treasury and government agencies9,116 49 (2)9,163 
Total56,238 436 (30)56,644 
Total$333,113 $525 $(390)$333,248 
(2)Excludes cash of $149.0 million.
12

The following table summarizes the gross unrealized losses and fair value of the Company's marketable securities that were in an unrealized loss position aggregated by length of time:
March 31, 2024
Less than 12 months12 months or longerTotal
Fair valueGross unrealized lossesFair valueGross unrealized lossesFair valueGross unrealized losses
(in thousands)
Commercial paper$44,391 $(36)$ $ $44,391 $(36)
Asset-backed securities  687 (2)687 (2)
Corporate bonds45,533 (233)8,705 (84)54,238 (317)
U.S. Treasury and government agencies142,202 (65)12,864 (74)155,066 (139)
Total$232,126 $(334)$22,256 $(160)$254,382 $(494)
December 31, 2023
Less than 12 months12 months or longerTotal
Fair valueGross unrealized lossesFair valueGross unrealized lossesFair valueGross unrealized losses
(in thousands)
Commercial paper$24,838 $(7)$ $ $24,838 $(7)
Asset-backed securities  1,485 (6)1,485 (6)
Corporate bonds  20,717 (171)20,717 (171)
U.S. Treasury and government agencies43,373 (18)18,172 (188)61,545 (206)
Total$68,211 $(25)$40,374 $(365)$108,585 $(390)
The Company considered the extent to which any unrealized losses on its marketable securities were driven by credit risk and other factors, including market risk, and if it is more-likely-than-not that the Company would have to sell the security before the recovery of the amortized cost basis. At March 31, 2024 and December 31, 2023, the unrealized losses related to its marketable securities were due to rising market interest rates compared to when the investments were initiated. The Company does not believe the unrealized losses represent credit risk, and the Company does not intend to sell any of the securities in an unrealized loss position and it is not likely that the Company would be required to sell these securities before recovery of their amortized cost basis, which may be at maturity. Thus, no credit loss was recognized for the Company's marketable securities for the three months ended March 31, 2024 and 2023.
The following summarizes the fair value of marketable securities by contractual maturity:
March 31, 2024
Amortized CostFair Value
(in thousands)
Due within One Year$247,044 $246,801 
Due after One Year through Two Years49,810 49,762 
Mature over Two Years27,865 27,786 
Asset-backed securities12,074 12,144 
Total$336,793 $336,493 
13

Non-Marketable Securities
During the fiscal year ended December 31, 2018, the Company invested $2.5 million in preferred stock of a privately-held company. The fair value of the investment is not readily available, and there are no quoted market prices for the investment. The Company accounts for the investment at cost less impairment and will measure the investment at fair value when the Company identifies observable price changes. The investment is assessed for impairment whenever events or changes in circumstances indicate that the fair value of the investment is less than carrying value. During the second quarter of 2023, the Company identified an observable price change in the investment and recognized an immaterial unrealized loss in other income (expense), net of the condensed consolidated statement of operations. The investment is included in other noncurrent assets on the condensed consolidated balance sheets. The Company has not received any dividends from the investment.
Derivative Financial Instruments
Designated cash flow hedges
The Company enters into foreign currency forward contracts to reduce the risk of variability in future cash flow due to foreign currency exchange rate fluctuation from certain forecasted subscription revenue orders billed in British Pound ("GBP") and Euro ("EUR") and operating expenses incurred in Indian Rupee ("INR"), which are designated as cash flow hedges. Hedge effectiveness is assessed at inception and at each reporting period utilizing regression analysis. Unrealized foreign exchange gains or losses related to those designated cash flow hedge contracts are recorded in accumulated other comprehensive income ("AOCI") and will be reclassified into revenues or operating expenses, respectively, in the same periods when the hedged transactions are recognized in earnings.
As of March 31, 2024, the Company had designated cash flow hedge forward contracts with notional amounts of €46.1 million, £16.0 million and Rs.4,068.0 million. As of December 31, 2023, the Company had designated cash flow hedge forward contracts with notional amounts of €48.5 million, £14.6 million and Rs.4,042.0 million.
As of March 31, 2024, a net unrealized loss of $0.8 million before tax on the foreign currency forward contracts for GBP and EUR reported in AOCI is expected to be reclassified into revenue within the next 12 months. As of March 31, 2024, an immaterial amount of unrealized loss before tax on the foreign currency forward contracts for INR reported in AOCI is expected to be reclassified into operating expenses within the next 12 months.
Non-designated forward contracts
The Company also uses foreign currency forward contracts to hedge certain foreign currency denominated assets or liabilities, which are not designated as cash flow hedges. Unrealized foreign exchange gain or losses related to the non-designated forward contracts are recorded in other income (expenses), net and offset the foreign exchange gain or loss on the underlying net monetary assets or liabilities.
As of March 31, 2024, the Company had non-designated forward contracts with notional amounts of €10.7 million, £8.6 million, Rs.990.0 million, and Canadian Dollar ("C$" or "CAD") 1.0 million. As of December 31, 2023, the Company had non-designated forward contracts with notional amounts of €19.2 million, £6.0 million, Rs.440.0 million, and C$1.0 million.
14

The following summarizes the fair value of derivative financial instruments as of March 31, 2024 and December 31, 2023:
March 31,
2024
December 31,
2023
(in thousands)
Assets
Foreign currency forward contracts designated as cash flow hedge$552 $63 
Foreign currency forward contracts not designated as hedging instruments38 48 
Total$590 $111 
Liabilities
Foreign currency forward contracts designated as cash flow hedge$544 $1,502 
Foreign currency forward contracts not designated as hedging instruments133 484 
Total$677 $1,986 
The Company presents its derivative assets and derivative liabilities at gross fair values in the condensed consolidated balance sheets. However, under the master netting agreements with the respective counterparties of the foreign exchange contracts, subject to applicable requirements, the Company is allowed to net settle transactions of the same currency with a single net amount payable by one party to the other. The potential offset to both assets and liabilities under the right of set-off associated with the Company's foreign currency exchange contracts are immaterial as of March 31, 2024 and December 31, 2023. The derivatives held by the Company are not subject to any credit contingent features negotiated with its counterparties. The Company is not required to pledge nor is entitled to receive cash collateral related to the above contracts. The counterparties to these derivatives are large, global financial institutions that the Company believes are creditworthy, and therefore, it does not consider the risk of counterparty nonperformance to be material.
The following summarizes the gains (losses) recognized from forward contracts and other foreign currency transactions in other income (expense), net in the condensed consolidated statements of operations:
Three Months Ended
March 31,
20242023
(in thousands)
Net gains from non-designated forward contracts$512 $259 
Other foreign currency transactions losses(1,941)(425)
Total foreign exchange losses, net$(1,429)$(166)
15

NOTE 3.                              Accumulated Other Comprehensive Income (Loss)
The components and changes in accumulated other comprehensive income (loss) for the three months ended March 31, 2024 and 2023 were as follows:
Available-for-sale debt securitiesCash flow hedgesTotal
(in thousands)
Balances at December 31, 2023$108 $(1,812)$(1,704)
Change in unrealized gains (losses) during the period(436)1,222 786 
Amount reclassified into income during the period 218 218 
Tax effect29 (336)(307)
Net change during the period(407)1,104 697 
Balances at March 31, 2024$(299)$(708)$(1,007)
Balances at December 31, 2022$(2,705)$758 $(1,947)
Change in unrealized gains (losses) during the period1,131 (443)688 
Amount reclassified into income during the period (534)(534)
Tax effect 222 222 
Net change during the period1,131 (755)376 
Balances at March 31, 2023$(1,574)$3 $(1,571)
The effects on income before income taxes of amounts reclassified from AOCI to the condensed consolidated statements of operations were as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Reclassification of AOCI - Cash flow hedges
Revenues$(279)$1,136 
Cost of revenues15 (139)
Research and development37 (383)
Sales and marketing3 (23)
General and administrative6 (57)
Total$(218)$534 
There was no reclassification of AOCI to other income (expense), net related to Available-for-sale debt securities during the three months ended March 31, 2024 and 2023.
16

NOTE 4.                              Property and Equipment, Net
Property and equipment, net, consists of the following:
March 31,
2024
December 31,
2023
(in thousands)
Computer equipment$180,860 $179,002 
Computer software26,139 26,133 
Leasehold improvements20,924 20,924 
Scanner appliances18,449 18,369 
Furniture, fixtures and equipment6,712 6,699 
Total property and equipment253,084 251,127 
Less: accumulated depreciation and amortization(222,893)(218,528)
Property and equipment, net$30,191 $32,599 
As of March 31, 2024 and December 31, 2023, physical scanner appliances and other computer equipment that are or will be subject to leases by customers had a net carrying value of $9.6 million and $10.1 million, respectively, including assets that had not been placed in service of $6.1 million and $6.4 million, respectively.
Depreciation and amortization expenses relating to property and equipment were $4.5 million and $6.5 million for the three months ended March 31, 2024 and 2023, respectively, which were mainly recorded in cost of revenues in the condensed consolidated statements of operations.
NOTE 5.                              Revenue from Contracts with Customers
The Company records deferred revenue when cash payments are received or due in advance of its performance obligations offset by revenue recognized in the period. Revenues of $131.0 million and $113.8 million were recognized during the three months ended March 31, 2024 and 2023, respectively, which amounts were included in the deferred revenue balances of $364.9 million and $317.2 million as of December 31, 2023 and 2022, respectively.
The Company's payment terms vary by the type and location of its customers. The term between invoicing and when payment is due is not significant. In certain circumstances, based on the credit quality of the customer, the Company requires payment before the products or services are delivered to the customer.
The following table sets forth the expected revenue from all remaining performance obligations as of March 31, 2024:
(in thousands)
2024 (remaining nine months)$163,231 
2025141,528 
202663,966 
20277,421 
2028496 
2029 and thereafter110 
Total$376,752 
Revenues allocated to remaining performance obligations represents the transaction price of noncancelable orders for which service has not been performed, which include deferred revenue and the amounts that will be invoiced and recognized as revenues in future periods from open contracts and excludes unexercised renewals. The Company applied the short-term contract exemption to exclude the remaining performance obligations that are part of a contract that has an original expected duration of one year or less.
17

From time to time, the Company enters into contracts with customers that extend beyond one year, with certain of its customers electing to pay for more than one year of services upon contract execution. The Company concluded that these contracts did not contain a financing component.
Revenues by sales channel are as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Direct$80,126 $75,093 
Partner65,679 55,590 
Total$145,805 $130,683 
The Company utilizes partners to enable and accelerate the adoption of its cloud platform by increasing its distribution capabilities and market awareness of its cloud platform as well as by targeting geographic regions outside the reach of its direct sales force. The Company's channel partners maintain relationships with their customers throughout the territories in which they operate and provide their customers with services and third-party solutions to help meet those customers’ evolving security and compliance requirements. As such, these partners may offer the Company's IT security and compliance solutions in conjunction with one or more of their own products or services and act as a conduit through which the Company can connect with these prospective customers to offer its solutions. For sales involving a channel partner, the channel partner engages with the prospective customer directly and involves the Company's sales team as needed to assist in developing and closing an order. When a channel partner secures a sale, the Company sells the associated subscription to the channel partner who in turn resells the subscription to the customer. Sales to channel partners are made at a discount and revenues are recorded at this discounted price over the subscription terms. The Company does not have any influence or specific knowledge of its partners' selling terms with their customers. See Note 11, "Segment and Geographic Area Information" for disaggregation of revenue by geographic area.
Deferred costs to obtain contracts are as follows:
March 31,
2024
December 31,
2023
(in thousands)
Current$6,052 $5,858 
Noncurrent$12,141 $11,844 
For the three months ended March 31, 2024 and 2023, the Company recognized $1.6 million and $1.4 million, respectively, of amortization expense relating to deferred costs to obtain contracts in sales and marketing expense in the condensed consolidated statements of operations. During the same periods, there was no impairment loss related to the deferred costs to obtain contracts.
As of December 31, 2022, the net carrying value of the Company’s accounts receivable, current deferred revenues, and noncurrent deferred revenues were $121.8 million, $293.7 million and $23.5 million, respectively.
NOTE 6.                              Intangible Assets, Net
Intangible assets consist primarily of developed technology and patent licenses acquired from business or asset acquisitions. Acquired intangibles are amortized on a straight-line basis over the respective estimated useful lives of the assets.
18

The carrying values of intangible assets are as follows:
March 31, 2024
(in thousands)Weighted Average Life (Years)CostAccumulated AmortizationNet Book Value
Developed technology4.6$40,141 $(31,368)$8,773 
Patent licenses14.01,387 (1,346)41 
Assembled workforce2.0359 (270)89 
Total intangibles subject to amortization$41,887 $(32,984)$8,903 
Intangible assets not subject to amortization40 
Total intangible assets, net$8,943 
 December 31, 2023
(in thousands)Weighted Average Life (Years)CostAccumulated AmortizationNet Book Value
Developed technology4.6$40,141 $(30,667)$9,474 
Patent licenses14.01,387 (1,322)65 
Assembled workforce2.0359 (223)136 
Total intangibles subject to amortization$41,887 $(32,212)$9,675 
Intangible assets not subject to amortization40 
Total intangible assets, net$9,715 
Intangible asset amortization expense was $0.8 million and $0.8 million for the three months ended March 31, 2024 and 2023, respectively. Intangible asset amortization expenses were primarily recorded in cost of revenues in the condensed consolidated statements of operations.
As of March 31, 2024, the Company expects amortization expense in future periods to be as follows:
(in thousands)
2024 (remaining nine months)$2,132 
20252,556 
20262,477 
20271,738 
Total expected future amortization expense$8,903 
NOTE 7.                              Leases
The Company leases certain offices, computer equipment and its shared cloud platform facilities under non-cancelable operating leases for varying periods through 2029. While under the Company's lease agreements the Company has options to extend its certain leases, the Company has not included renewal options in determining the lease terms for calculating its lease liabilities, as these options are not reasonably certain of being exercised. Lease expense was $3.8 million and $4.0 million for the three months ended March 31, 2024 and 2023, respectively.
19

Supplemental cash flow information related to operating leases was as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Cash payments included in the measurement of lease liabilities$3,621 $3,905 
Lease liabilities arising from obtaining right-of-use assets$12,347 $ 
The weighted average remaining lease term and the weighted average discount rate of the Company's operating leases were as follows:
March 31,
2024
December 31,
2023
Weighted average remaining lease term (years)4.13.1
Weighted average discount rate6.7 %5.2 %
Maturities of the Company's operating lease liabilities as of March 31, 2024 are as follows:
(in thousands)
2024 (remaining nine months)$9,402 
20259,862 
20268,586 
20278,532 
20285,644 
2029 and thereafter1,741 
Total minimum lease payments43,767 
Less: interest(5,937)
Present value of net minimum lease payments$37,830 
The operating lease payments in the table above exclude approximately $19.4 million of legally binding minimum lease payments for a lease signed during the three months ended March 31, 2024 that has yet to commence.
NOTE 8.                              Commitments and Contingencies
Indemnifications
The Company from time to time enters into certain types of contracts that contingently require it to indemnify various parties against claims from third parties. These contracts primarily relate to (i) the Company's bylaws, under which it must indemnify directors and executive officers, and may indemnify other officers and employees, for liabilities arising out of their relationship, (ii) contracts under which the Company must indemnify directors and certain officers for liabilities arising out of their relationship, and (iii) contracts under which the Company may be required to indemnify customers or resellers from certain liabilities arising from potential infringement of intellectual property rights, as well as potential damages caused by limited product defects. To date, the Company has not incurred and has not recorded any liability in connection with such indemnifications.
The Company maintains director and officer insurance, which may cover certain liabilities arising from its obligation to indemnify its directors.
20

NOTE 9.                              Stockholders' Equity and Stock-based Compensation
Equity Incentive Plans
Restated 2012 Equity Incentive Plan
On June 8, 2022 ("Effective Date"), the Company's stockholders approved the Amended and Restated 2012 Equity Incentive Plan (the "Restated 2012 Plan"). Under the Restated 2012 Plan, the Company is authorized to grant to eligible participants incentive stock options, nonstatutory stock options, restricted stock, restricted stock units ("RSUs"), stock appreciation rights, performance units and performance shares. Pursuant to the relevant plan provisions, 3,072 thousand shares were available for grant under the Restated 2012 Plan on the Effective Date. In addition, any outstanding awards or options granted under the previous version of the 2012 Equity Incentive Plan (“Previous 2012 Plan”) will be added back to the shares available for grant under the Restated 2012 Plan if they expire unexercised or are otherwise forfeited after the Effective Date. Any remaining shares available for grant under the Previous 2012 Plan as of the Effective Date were no longer available for future grants under the Restated 2012 Plan.
As of March 31, 2024, 1,660 thousand shares were available for grant under the Restated 2012 Plan.
2021 Employee Stock Purchase Plan
On June 9, 2021, the Company’s stockholders approved the 2021 Employee Stock Purchase Plan (the “ESPP”). A total of 600 thousand shares were authorized for issuance to eligible participating employees upon adoption of the ESPP. The ESPP provides for consecutive 6-month offering periods beginning on or about August 16 and February 16 of each year. Eligible employees who elect to participate can contribute from 1% to 15% of their eligible compensation through payroll withholding. During any offering period, contribution rates cannot be changed. However, eligible employees may withdraw from the current offering period. Any contributions made prior to each purchase date in the case of withdrawal or termination of employment will be refunded. On each purchase date, eligible participating employees will purchase the shares at a price per share equal to 85% of the lesser of (i) the fair market value of the Company's stock on the first trading day of the offering period or (ii) the fair market value of the Company's stock on the purchase date (i.e., the last trading day of the offering period).
During the three months ended March 31, 2024, 29 thousand shares were issued in connection with the purchase of common stock by participating employees. As of March 31, 2024, 465 thousand shares were available for future purchases.
Stock Options
Stock options granted under the Restated 2012 Plan and Previous 2012 Plan (collectively, the Plans) generally vest based on continued service over four years and expire ten years from the date of grant.
A summary of the Company’s stock option activity during the three months ended March 31, 2024 is as follows:
Outstanding OptionsWeighted Average Exercise
Price
Weighted Average Remaining
Contractual Life
Aggregate Intrinsic Value
(in thousands)(Years)(in thousands)
Balance as of December 31, 20231,447$97.98 6.5$142,302 
Granted89$168.24 
Exercised(46)$60.33 
Canceled(26)$119.79 
Balance as of March 31, 20241,464$103.02 6.6$93,624 
Vested and expected to vest as of March 31, 20241,293$98.39 6.3$88,616 
Exercisable as of March 31, 2024771$74.64 4.7$71,126 
21

Restricted Stock Units
RSUs granted under the Plans generally only contain a service-based vesting condition that is typically satisfied over four years.
Performance-based Restricted Stock Units ("PRSUs") granted under the Plans contain both service-based and performance-based vesting conditions. During the three months ended March 31, 2024, the Company granted PRSUs to its executive officers and certain other members of its senior leadership team. The performance-based vesting condition is satisfied upon the achievement of certain Company annual performance targets, including revenue growth and adjusted EBITDA margin, set by the Compensation and Talent Committee of the board of directors of the Company. The target PRSUs are scheduled to vest in three equal annual installments over a three-year period. Each annual installments at 200% of the annual target will be considered granted when the performance targets for the corresponding performance year is determined and approved. The actual number of the PRSUs earned and eligible to vest ranges from 0% to 200% of the annual target number of PRSUs granted based on the weighted-average achievement of such Company annual performance metrics set for the corresponding annual performance period. The vesting and release of the first and second installment is capped at 100% of the target number at the end of the first and second year, respectively, with cumulative achievement over 100%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment. For PRSUs granted under the Plans, any unvested PRSU award may be accelerated in part or in full upon the occurrence of certain events, such as death or disability, or a change in control, as defined in the grant agreement.
A summary of the Company’s RSU activity, inclusive of PRSU activity, during the three months ended March 31, 2024 is as follows:
Outstanding RSUsWeighted Average Grant Date Fair Value
Per Share
(in thousands)
Balance as of December 31, 20231,074(1)$133.60 
Granted187(2)$168.24 
Vested(149)(3)$143.89 
Forfeited(86)(4)$135.63 
Balance as of March 31, 20241,026(5)$140.47 
Outstanding and expected to vest as of March 31, 2024815$138.10 
(1)Included 139 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.
(2)Included 156 thousand PRSUs granted to certain executive officers in the three months ended March 31, 2024.
(3)Included 64 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.
(4)Included 59 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.
(5)Included 172 thousand PRSUs granted to certain executive officers in 2024, 2023, 2022 and 2021.
22


Stock-based Compensation
The following table shows a summary of the stock-based compensation expense included in the condensed consolidated statements of operations:
Three Months Ended
March 31,
20242023
(in thousands)
Cost of revenues$2,020 $1,592 
Research and development5,303 4,960 
Sales and marketing3,739 2,454 
General and administrative7,969 7,027 
Total stock-based compensation, net of amounts capitalized (1)$19,031 $16,033 
(1)Total stock-based compensation expense capitalized was de minimis during the three months ended March 31, 2024.
Of the total stock-based compensation expense in the table above, the Company recognized stock-based compensation expenses related to all PRSUs of $2.8 million and $1.3 million during the three months ended March 31, 2024 and 2023, respectively.
As of March 31, 2024, the Company had unrecognized stock-based compensation expenses of $23.7 million, $85.9 million, $11.9 million, and $0.8 million related to options, RSUs, performance-based RSUs, and ESPP purchase rights, respectively, which are expected to be recognized over weighted-average periods of 2.5 years, 2.6 years, 0.9 years, and 0.4 years, respectively.
Share Repurchase Program
The Company's share repurchase program was authorized by the board of directors as follows:
Announcement DateAuthorized Dollar Value
(in millions)
February 12, 2018$100.0 
October 30, 2018100.0 
October 30, 2019100.0 
May 7, 2020100.0 
February 10, 2021100.0 
November 3, 2021200.0 
May 4, 2022200.0 
February 9, 2023100.0 
February 7, 2024200.0 
Total as of March 31, 2024$1,200.0 
Shares may be repurchased from time to time on the open market in accordance with Rule 10b-18 of the Exchange Act of 1934, including pursuant to a pre-set trading plan adopted in accordance with Rule 10b5-1 under the Exchange Act. All share repurchases have been made using cash resources. Repurchased shares are retired and reclassified as authorized and unissued shares of common stock. On retirement of the repurchased shares, common stock is reduced by an amount equal to the number of shares being retired multiplied by the par value. The excess amount that is retired over its par value
23

is first allocated as a reduction to additional paid-in capital based on the original cost of additional paid-in capital per share of identified issuances. The remaining amount is allocated to accumulated deficit.
During the three months ended March 31, 2024 and 2023, the Company repurchased 105 thousand shares and 584 thousand shares of its common stock for approximately $18.0 million and $66.6 million, respectively. As of March 31, 2024, approximately $265.7 million remained available for share repurchases pursuant to the Company's share repurchase program.
Excise tax on stock repurchases net of issue was immaterial to the Company's financial results and cash flows for the three months ended March 31, 2024 and 2023 and the Company's financial position as of March 31, 2024 and December 31, 2023.
NOTE 10.                            Income Taxes
The Company's income tax provision for interim periods is determined using an estimate of its annual effective tax rate, adjusted for discrete items, if any, that arise during the period. Each quarter, the Company updates its estimate of the annual effective tax rate, and if the estimated annual effective tax rate changes, the Company makes a cumulative adjustment in such period.
The Company's quarterly tax provision, and estimate of its annual effective tax rate, is subject to variation due to several factors, including variability in pretax income (or loss), the mix of jurisdictions to which such income relates, changes in how the Company does business, tax law developments and possible outcomes of audits. The Company's estimated effective tax rate for the year differs from the U.S. statutory rate of 21% primarily due to non-deductible stock-based compensation expense, state taxes, the benefit of U.S. federal income tax credits, the impact of mandatory capitalization of research expenses for U.S. tax purposes, and the benefits related to foreign-derived intangible income deduction.
The Company recorded an income tax provision of $9.8 million and $8.3 million for the three months ended March 31, 2024 and 2023, respectively, resulting in an effective tax rate of 19.7% and 22.1%, respectively. The increase in income tax provision for the three months ended March 31, 2024 compared to the three months ended March 31, 2023, was primarily due to tax effect of an increase in pretax income, partially offset by an increase in excess tax benefits arising from stock-based compensation and lower net capitalization of research and development expenses for tax purposes.
As of March 31, 2024, the Company had unrecognized tax benefits of $11.2 million, of which $6.5 million, if recognized, would favorably impact the Company's effective tax rate. As of December 31, 2023, the Company had unrecognized tax benefits of $11.9 million, of which $6.1 million, if recognized, would favorably impact the Company's effective tax rate. The Company does not anticipate a material change in its unrecognized tax benefits in the next 12 months.
NOTE 11.                            Segment and Geographic Area Information
Under ASC 280 Segment Reporting, operating segments are defined as components of an entity about which separate financial information is evaluated regularly by the chief operating decision maker in deciding how to allocate resources and in assessing performance. The Company operates in one segment and has only one reportable segment. The Company’s chief operating decision maker is the Chief Executive Officer, who makes operating decisions, assesses performance and allocates resources on a consolidated basis. All of the Company’s principal operations and decision-making functions are located in the United States.
24

Revenue by geographic area, based on the customer's billing address, is as follows:
Three Months Ended
March 31,
20242023
(in thousands)
United States$86,436 $78,016 
Foreign59,369 52,667 
Total revenues$145,805 $130,683 
Long-lived assets, which consist of Property and equipment, net and Operating leases - right of use asset, by geographic area, are as follows:
March 31,
2024
December 31,
2023
(in thousands)
United States$39,325 $42,622 
India20,223 9,952 
Rest of world2,014 2,416 
Total Long-lived Assets$61,562 $54,990 
NOTE 12.                            Net Income Per Share
The computations for basic and diluted net income per share are as follows:
Three Months Ended
March 31,
20242023
(in thousands, except per share data)
Numerator:
Net income$39,731 $29,105 
Denominator:
Basic weighted average shares36,955 37,068 
Effect of potentially dilutive shares:
Stock options471 489 
Restricted stock units292 110 
Employee stock purchase plan5 2 
Diluted weighted average shares37,723 37,669 
Net income per share:
Basic$1.08 $0.79 
Diluted$1.05 $0.77 
25

Potentially dilutive shares not included in the calculation of diluted net income per share because doing so would be anti-dilutive are as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Stock options325990
Restricted stock units365
Employee stock purchase plan14
Total anti-dilutive shares3251,369
26

Item 2.                                  Management's Discussion and Analysis of Financial Condition and Results of Operations
This Quarterly Report on Form 10-Q, including this Management’s Discussion and Analysis of Financial Condition and Results of Operations, should be read in conjunction with (1) our unaudited condensed consolidated financial statements and the related notes included elsewhere in this report, and (2) the audited consolidated financial statements and the related notes and section titled "Management’s Discussion and Analysis of Financial Condition and Results of Operations" included in our Annual Report on Form 10-K for the fiscal year ended December 31, 2023.
In addition to historical information, 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, or the Exchange Act. Forward-looking statements generally relate to future events or our future financial or operating performance. In some cases, it is possible to identify forward-looking statements because they contain words such as “anticipates,” “believes,” “contemplates,” “continue,” “could,” “estimates,” “expects,” “future,” “intends,” “likely,” “may,” “plans,” “potential,” “predicts,” “projects,” “seek,” “should,” “target,” or “will,” or the negative of these words or other similar terms or expressions that concern our expectations, strategy, plans or intentions. Forward-looking statements contained in this Quarterly Report on Form 10-Q include, but are not limited to, statements about:
our financial performance, including our revenues, costs, expenditures, growth rates, operating expenses and ability to generate positive cash flow to fund our operations and sustain profitability;
anticipated technology trends, such as the use of cloud solutions;
our ability to adapt to changing market conditions;
economic and financial conditions, including volatility in foreign exchange rates, inflation concerns, rising interest rates, recessionary fears, financial institution failures and associated uncertainty, significant volatility of global markets, reduced spending and extended sales cycles, and geopolitical conflicts;
our ability to diversify our sources of revenues, including selling additional solutions to our existing customers and our ability to pursue new customers;
the effects of increased competition in our market;
our ability to innovate and enhance our cloud solutions and platform and introduce new solutions;
our ability to effectively manage our growth;
our anticipated investments in sales and marketing, our infrastructure, new solutions, research and development, and acquisitions;
maintaining and expanding our relationships with channel partners;
our ability to maintain, protect and enhance our brand and intellectual property;
costs associated with defending intellectual property infringement and other claims;
our ability to attract and retain qualified employees and key personnel, including sales and marketing personnel;
our ability to successfully enter new markets and manage our international expansion;
our expectations, assumptions and conclusions related to our income tax provision, our deferred tax assets and our effective tax rate;
our expectations regarding the performance of, and our future trading activity with respect to, the marketable securities we hold;
our expectations regarding our share repurchase program; and
other factors discussed in this Quarterly Report on Form 10-Q in the sections titled “Risk Factors” and “Management's Discussion and Analysis of Financial Condition and Results of Operations.”
We have based the forward-looking statements contained in this Quarterly Report on Form 10-Q primarily on our current expectations and projections about future events and trends that we believe may affect our business, financial condition, results of operations and prospects. The results, events and circumstances reflected in these forward-looking statements are subject to risks, uncertainties, assumptions, and other factors including those described in Part II, Item 1A (Risk Factors) of this Quarterly Report on Form 10-Q and those discussed in other documents we file with the U.S. Securities and Exchange Commission (SEC). Moreover, we operate in a very competitive and rapidly changing environment. New risks and uncertainties emerge from time to time, and it is not possible for us to predict all risks and uncertainties that could have an impact on the forward-looking statements used herein. We cannot provide assurance that the results, events, and circumstances reflected in the forward-looking statements will be achieved or occur, and actual results, events or circumstances could differ materially from those described in the forward-looking statements.
27

Overview
We are a pioneer and leading provider of a cloud-based platform delivering information technology (IT), security and compliance solutions that enable organizations to identify security risks to their IT infrastructures, help protect their IT systems and applications from ever-evolving cyber-attacks and achieve compliance with internal policies and external regulations. Our cloud platform addresses the growing security and compliance complexities and risks that are amplified by the dissolving boundaries between IT infrastructures and web environments, the rapid adoption of cloud computing, containers and serverless IT models, and the proliferation of geographically dispersed IT assets. Our integrated suite of IT, security and compliance solutions delivered on Qualys' Enterprise TruRisk Platform enables our customers to identify and manage their IT and operational technology (OT) assets, collect and analyze large amounts of IT security data, discover and prioritize vulnerabilities, quantify cyber risk exposure, recommend and implement remediation actions and verify the implementation of such actions. Organizations use our integrated suite of solutions to cost-effectively obtain a unified view of their internal and external IT and OT asset inventory as well as security and compliance posture across globally-distributed IT infrastructures as our solution offers a single platform for information technology, information security, application security, endpoint, developer security and cloud teams.
We were founded and incorporated in December 1999 with a vision of transforming the way organizations secure and protect their IT infrastructure and applications and initially launched our first cloud solution, Vulnerability Management (VM), in 2000. As VM gained acceptance, we introduced additional solutions to help customers manage increasing IT, security and compliance requirements. Today, the suite of solutions that we offer on our cloud platform and refer to as the Qualys Cloud Apps help our customers detect, measure, prioritize and remediate cyber risk spanning a range of assets across on-premises, endpoints, cloud, containers, and mobile environments.
We provide our solutions through a software-as-a-service model, primarily with renewable annual subscriptions. These subscriptions require customers to pay a fee in order to access each of our cloud solutions. We generally invoice our customers for the entire subscription amount at the start of the subscription term, and the invoiced amounts are treated as deferred revenues and are recognized ratably over the term of each subscription. We continue to experience revenue growth from our existing customers as they renew and purchase additional subscriptions, as well as from the addition of new customers to our cloud platform.
We market and sell our solutions to enterprises, government entities and small and medium-sized businesses across a broad range of industries, including education, financial services, government, healthcare, insurance, manufacturing, media, retail, technology and utilities. For the three months ended March 31, 2024 and 2023, approximately 59% and 60%, respectively, of our revenues were derived from customers in the United States based on our customers' billing addresses. We sell our solutions to enterprises and government entities primarily through our field sales force and to small and medium-sized businesses through our inside sales force. We generate a significant portion of sales through our channel partners, including managed security service providers, leading cloud providers, value-added resellers and consulting firms in the United States and internationally.
Impacts of Current Macroeconomic Environment
The uncertainty surrounding macroeconomic factors in the U.S. and globally characterized by the inflationary pressure, rising interest rates, financial institution failures and associated uncertainty, significant volatility of global markets, reduced spending and extended sales cycles, and geopolitical conflicts could have a material adverse effect on our long-term business and could lead to further economic disruption and expose us to greater risk as our current and potential customers may reduce or eliminate their overall spending on IT security. We will continue to evaluate the nature and extent of the impact to our business, financial position, results of operations and cash flows.
28

Key Components of Results of Operations
Revenues
We derive revenues from the sale of subscriptions to our IT, security and compliance solutions, which are delivered on our cloud platform. Subscriptions to our solutions allow customers to access our cloud-based IT, security and compliance solutions through a unified, web-based interface. Customers generally enter into one-year renewable subscriptions. The subscription fee entitles the customer to an unlimited number of scans for a specified number of devices or web applications and, if requested by a customer as part of their subscription, a specified number of physical or virtual scanner appliances. Our physical and virtual scanner appliances are requested by certain customers as part of their subscriptions in order to scan IT infrastructures within their firewalls and do not function without, and are not sold separately from, subscriptions for our solutions. In some cases, we also provide certain computer equipment used to extend our cloud platform into our customers' private cloud environment. Customers are required to return physical scanner appliances and computer equipment if they do not renew their subscriptions.
We typically invoice our customers for the entire subscription amount at the start of the subscription term. Invoiced amounts are reflected on our condensed consolidated balance sheets as accounts receivable or as cash when collected, and as deferred revenues until earned and recognized ratably over the subscription period. Accordingly, deferred revenues represent the amount billed to customers that has not yet been earned or recognized as revenues, pursuant to subscriptions entered into in current and prior periods.
Cost of Revenues
Cost of revenues consists primarily of personnel expenses, comprised of salaries, benefits, performance-based compensation and stock-based compensation, for employees who operate our shared cloud platforms and provide support services to our customers. Other expenses include depreciation of shared cloud platform equipment, physical scanner appliances and computer hardware provided to certain customers as part of their subscriptions, expenses related to the use of shared cloud platforms, amortization of software and license fees, amortization of intangibles related to acquisitions, maintenance support, fees paid to contractors who supplement or support our operations center personnel and overhead allocations. We expect to continue to expand our shared cloud platform infrastructures and hire additional employees to support our operations, which will increase the cost of revenues in absolute dollars.
Operating Expenses
Research and Development
Research and development expenses consist primarily of personnel expenses, comprised of salaries, benefits, performance-based compensation and stock-based compensation, for our research and development teams. Other expenses include third-party contractor fees, software and license fees, amortization of intangibles related to acquisitions and overhead allocations. We expect to continue to devote resources to research and development in an effort to continuously improve our existing solutions as well as develop new solutions and capabilities and expect that research and development expenses will increase in absolute dollars.
Sales and Marketing
Sales and marketing expenses consist primarily of personnel expenses, comprised of salaries, benefits, sales commissions, performance-based compensation and stock-based compensation for our worldwide sales and marketing teams. Other expenses include marketing and promotional events, lead-generation marketing programs, public relations, travel, software licenses and overhead allocations. Sales commissions related to new business and upsells are capitalized as an asset. We amortize the capitalized commission cost as a selling expense on a straight-line basis over a period of five years. We expense sales commissions related to contract renewals as incurred. Our new sales personnel are typically not immediately productive, and the resulting increase in sales and marketing expenses we incur when we add new personnel may not result in increased revenues if these new sales personnel fail to become productive. The timing of our hiring of sales personnel, or the participation in new marketing events or programs, and the rate at which these generate incremental revenues, may affect our future operating results. We expect to continue to invest in additional sales personnel worldwide and also in more marketing programs to support new solutions on our platform, which will increase sales and marketing expenses in absolute dollars.
29

General and Administrative
General and administrative expenses consist primarily of personnel expenses, comprised of salaries, benefits, performance-based compensation and stock-based compensation for our executive, finance and accounting, IT, legal and human resources teams, as well as professional services, fees, software licenses and overhead allocations. We expect that general and administrative expenses will increase in absolute dollars, as we continue to add personnel and incur professional services to support our growth and compliance with legal and regulatory requirements.
Other Income (Expense), Net
Our other income (expense), net consists primarily of interest and returns from our cash equivalent, short-term and long-term marketable securities, non-marketable securities gains and losses, and foreign exchange gains and losses.
Income Tax Provision
We are subject to federal, state and foreign income taxes for jurisdictions in which we operate, and we use estimates in determining our income tax provision and deferred tax assets. Earnings from our non-U.S. activities are subject to income taxes in the local countries at rates which are generally similar to the U.S. statutory tax rate. We regularly assess the realizability of our net deferred tax assets. As of March 31, 2024, valuation allowances remain in certain jurisdictions where we believe it is necessary to see further positive evidence, such as sustained achievement of sufficient profits, to meet a more likely than not stance that the valuation allowance should be reversed. If additional positive evidence becomes available in the foreseeable future, we may release all or a portion of the valuation allowance. The exact timing and amount of the valuation allowance release is subject to change based on the level of profitability achieved in future periods. Release of the valuation allowance would result in the recognition of deferred tax assets and a corresponding decrease to income tax expense in the period the release is recorded.
Results of Operations
The following table sets forth selected condensed consolidated statements of operations data for each of the periods presented as a percentage of revenues:
Three Months Ended
March 31,
20242023
Revenues100 %100 %
Cost of revenues19 21 
Gross profit81 79 
Operating expenses:
Research and development18 21 
Sales and marketing20 20 
General and administrative12 12 
Total operating expenses50 53 
Income from operations31 26 
Total other income, net
Income before income taxes34 28 
Income tax provision
Net income27 %22 %
30

Comparison of Three Months Ended March 31, 2024 and 2023
Revenues
Three Months Ended
March 31,
Change
20242023$%
(in thousands, except percentages)
Revenues$145,805 $130,683 $15,122 12 %
Revenues increased by $15.1 million for the three months ended March 31, 2024 compared to the same period in 2023, driven by increased demand for our subscription services by our end customers. Of the total increase of $15.1 million in revenues, 96% was from revenues from customers existing prior to January 1, 2024, and the remaining 4% was from new customers added in the three months ended March 31, 2024. Of the total increase of $15.1 million, 56% was from customers in the United States and the remaining 44% was from customers in foreign countries. Of the total increase of $15.1 million, 33% was from direct customers and the remaining 67% was from partners. In the three months ended March 31, 2024, 55% of total revenue was direct and the remaining 45% was from partners. With our strong market position driving further demand for our solutions, we expect revenue growth from new and existing customers to continue.
Cost of Revenues
Three Months Ended
March 31,
Change
20242023$%
(in thousands, except percentages)
Cost of revenues$27,198 $26,954 $244 %
Cost of revenues increased by $0.2 million for the three months ended March 31, 2024 compared to the same period in 2023, due to an increase in personnel costs, including stock-based compensation, of $1.2 million, driven by additional employees hired to support the growth of our business, an increase in shared cloud platform cost of $1.0 million, partially offset by a decrease in depreciation and amortization expense of $2.0 million resulting from certain of our assets becoming fully depreciated or amortized.
Research and Development Expenses
Three Months Ended
March 31,
Change
20242023$%
(in thousands, except percentages)
Research and development$27,530 $27,795 $(265)(1 %)
Research and development expenses decreased by $0.3 million for the three months ended March 31, 2024 compared to the same period in 2023, due to a decrease in professional service expense of $0.3 million, and a decrease in depreciation and amortization expense in property and equipment of $0.2 million, partially offset by an increase in personnel costs, including stock-based compensation, of $0.2 million.
31

Sales and Marketing Expenses
Three Months Ended
March 31,
Change
20242023$%
(in thousands, except percentages)
Sales and marketing$29,408 $25,628 $3,780 15 %
Sales and marketing expenses increased by $3.8 million for the three months ended March 31, 2024 compared to the same period in 2023, primarily due to an increase in personnel costs, including stock-based compensation, of $3.5 million, driven by increased headcount, and an increase in subscribed license and software costs of $0.3 million.
General and Administrative Expenses
Three Months Ended
March 31,
Change
20242023$%
(in thousands, except percentages)
General and administrative$16,908 $15,128 $1,780 12 %
General and administrative expenses increased by $1.8 million for the three months ended March 31, 2024 compared to the same period in 2023, primarily due to an increase in personnel costs, including stock-based compensation of $2.6 million, driven by increased headcount, refresh grants to eligible employees and executives, and higher expected achievement of the performance metrics related to the PRSUs granted to executives, partially offset by a decrease in professional service expense of $0.5 million, and a decrease in legal expense of $0.3 million.
Total other income, net
Three Months Ended
March 31,
Change
20242023$%
(in thousands, except percentages)
Total other income, net$4,724 $2,181 $2,543 117 %
Total other income, net increased by $2.5 million for the three months ended March 31, 2024, compared to the same periods in 2023, primarily due to an increase in interest income of $3.7 million driven by an increase of market interest rates, partially offset by a $1.2 million increase in foreign currency loss.
Income tax provision
Three Months Ended
March 31,
Change
20242023$%
(in thousands, except percentages)
Income tax provision$9,754 $8,254 $1,500 18 %
Income tax provision increased by $1.5 million for the three months ended March 31, 2024 compared to the same period in 2023 due to the tax effect of an increase in pretax income, partially offset by an increase in excess tax benefits arising from stock-based compensation and lower net capitalization of research and development expenses for tax purposes.
32

Key Operating and Non-GAAP Financial Performance Metrics
In addition to measures of financial performance presented in our condensed consolidated financial statements, we monitor the key metrics set forth below to help us evaluate growth trends, establish budgets, measure the effectiveness of our sales and marketing efforts and assess operational efficiencies.
Net Dollar Expansion Rate
We evaluate our ability to retain and grow existing customers by assessing our net dollar expansion rate on a last twelve months, or LTM, basis. This metric is used to appropriately manage resources and customer retention and expansion. We calculate the net dollar expansion rate on a foreign exchange neutral basis by dividing a numerator by a denominator, each defined as follows:
Denominator: To calculate our net dollar expansion rate as of the end of a reporting period, we first determine the annual recurring revenue, or ARR, from all active subscriptions as of the last day of the same reporting period in the prior year. This represents recurring payments that we expect to receive in the next 12-month period from the cohort of customers that existed on the last day of the same reporting period in the prior year.
Numerator: We measure the ARR for that same cohort of customers representing all active subscriptions as of the end of the reporting period, using the same foreign exchange rate from the prior year.
Our net dollar expansion rates were 104% and 109% as of March 31, 2024 and March 31, 2023, respectively.
Adjusted EBITDA
We monitor Adjusted EBITDA, a non-GAAP financial measure, to analyze our financial results and believe that it is useful to investors, as a supplement to U.S. GAAP measures, in evaluating our ongoing operational performance and enhancing an overall understanding of our past financial performance. We believe that Adjusted EBITDA helps illustrate underlying trends in our business that could otherwise be masked by the effect of the income or expenses that we exclude in Adjusted EBITDA. Furthermore, we use this measure to establish budgets and operational goals for managing our business and evaluating our performance. We also believe that Adjusted EBITDA provides an additional tool for investors to use in comparing our recurring core business operating results over multiple periods with other companies in our industry.
Adjusted EBITDA should not be considered in isolation from, or as a substitute for, financial information prepared in accordance with U.S. GAAP. We calculate Adjusted EBITDA as net income before (1) other (income) expense, net, which includes interest income, interest expense and other income and expense, (2) income tax provision (benefit), (3) depreciation and amortization of property and equipment, (4) amortization of intangible assets, (5) stock-based compensation and (6) non-recurring expenses that do not reflect ongoing costs of operating the business.
Adjusted EBITDA has limitations as an analytical tool and should not be considered in isolation from or as a substitute for the measures presented in accordance with U.S. GAAP. Some of these limitations are:
Adjusted EBITDA does not reflect certain cash and non-cash charges that are recurring;
Adjusted EBITDA does not reflect income tax payments that reduce cash available to us;
Adjusted EBITDA excludes depreciation and amortization of property and equipment and amortization of intangible assets, although these are non-cash charges, the assets being depreciated and amortized may have to be replaced in the future; and
Other companies, including companies in our industry, may calculate Adjusted EBITDA differently or not at all, which reduces its usefulness as a comparative measure.
33

Because of these limitations, Adjusted EBITDA should be considered alongside other financial performance measures, including revenues, net income, cash flows from operating activities and our financial results presented in accordance with U.S. GAAP. The following unaudited table presents the reconciliation of net income to Adjusted EBITDA for the three months ended March 31, 2024 and 2023:
Three Months Ended
March 31,
20242023
(in thousands, except percentages)
Net income$39,731 $29,105 
Net income as a percentage of revenues27 %22 %
Depreciation and amortization of property and equipment4,467 6,672 
Amortization of intangible assets772 772 
Income tax provision9,754 8,254 
Stock-based compensation19,031 16,033 
Total other income, net
(4,724)(2,181)
Adjusted EBITDA$69,031 $58,655 
Adjusted EBITDA as a percentage of revenues47 %45 %
Liquidity and Capital Resources
As of March 31, 2024, our principal source of liquidity was cash, cash equivalents and marketable securities of $543.4 million, including $120.5 million of cash held outside of the United States. The following summary of cash flows for the periods indicated has been derived from our condensed consolidated financial statements included elsewhere in this report:
Three Months Ended
March 31,
20242023
(in thousands)
Net cash provided by operating activities$85,505 $66,813 
Net cash provided by investing activities8,072 19,662 
Net cash used in financing activities(24,959)(66,340)
Net increase in cash, cash equivalents and restricted cash$68,618 $20,135 
Operating Activities
During the three months ended March 31, 2024, we generated $58.2 million of cash from our net income, as adjusted for non-cash items mainly related to stock-based compensation expense, depreciation and amortization expense and deferred taxes, as compared to $48.2 million during the three months ended March 31, 2023. In addition, we also generated $27.3 million of cash from changes in working capital during the three months ended March 31, 2024, of which $28.9 million was primarily attributed to a decrease in accounts receivable due to the timing of collections and $8.6 million was due to an increase in payables and accrued liabilities, partially offset by a $10.1 million increase in prepaid expenses primarily driven by the timing of payments. During the three months ended March 31, 2023, we generated $18.6 million of cash from changes in working capital, of which $21.1 million was related to a net increase in deferred revenue and a net decrease in accounts receivable as a result of our continued growth in billing and timing of collections, partially offset by $1.2 million due to a decrease in payables and accrued liabilities in line with our cost savings initiatives, and $1.3 million due to higher prepaid expenses.
34

Investing Activities
During the three months ended March 31, 2024, we generated $10.1 million of cash from sales and maturities of marketable securities net of purchases, partially offset by $2.1 million of cash used in capital expenditures mainly related to purchases of computer equipment to support our growth and development, as compared to $23.7 million of cash provided by sales and maturity of marketable securities net of purchases, partially offset by $4.0 million of cash used in capital expenditures during the three months ended March 31, 2023.
Financing Activities
During the three months ended March 31, 2024, we used $18.0 million of cash for share repurchases, $11.8 million of cash in payment of employee withholding taxes upon vesting of restricted stock units and $1.5 million payment of cash held in escrow as part of the Blue Hexagon acquisition on October 4, 2022, partially offset by $3.6 million of proceeds from issuance of common stock through our ESPP and $2.8 million of proceeds from employee exercise of stock options, as compared to $66.6 million of cash used for share repurchases, $5.1 million of cash used in payment of employee withholding taxes upon vesting of restricted stock units, partially offset by $2.3 million of proceeds from employee exercise of stock options and $3.0 million of proceeds from issuance of common stock through our ESPP during the three months ended March 31, 2023.
Material Cash Requirements
We believe our existing cash and cash equivalents, marketable securities and our expected cash flow generated from operations will be sufficient to fund our operations for the next twelve months and beyond. If we repatriate funds from our foreign subsidiaries, we could be subject to foreign withholding taxes.
Operating lease obligations
Our material cash requirements include our operating lease obligations to make payments under our non-cancelable lease agreements for our facilities and shared cloud platforms. We had fixed operating lease payment obligations of $43.8 million as of March 31, 2024, with $12.7 million expected to be paid within the next 12 months.
As of March 31, 2024, we committed to an operating lease related to shared cloud platform infrastructure that has not yet commenced. Under the lease, we are obligated to make undiscounted future minimum payments of approximately $19.4 million. This lease will commence in June 2024 with an expiration date in 2030.
Purchase Commitments
As of March 31, 2024, other than the changes described above in this section entitled "Liquidity and Capital Resources" in this Quarterly Report on Form 10-Q, there have been no other material changes to our cash requirements for purchase commitments as described in “Part II, Item 7. Management’s Discussion and Analysis of Financial Condition and Results of Operations” of our Annual Report on Form 10-K for the fiscal year ended December 31, 2023.
Share Repurchases
We expect to continue to use cash to repurchase shares in 2024 under our share repurchase program authorized by our board of directors on February 5, 2018. On February 7, 2024, we announced that our board of directors authorized an additional $200.0 million to the share repurchase program authorization, increasing the total amount of authorized repurchase to $1.2 billion. As of March 31, 2024, approximately $265.7 million remained available under our share repurchase program. Shares will be repurchased from time to time in privately negotiated transactions or on the open market in accordance with Rule 10b-18 of the Exchange Act of 1934, including pursuant to a pre-set trading plan adopted in accordance with Rule 10b5-1 under the Exchange Act.
Recent Accounting Pronouncements
See Note 1 to the unaudited condensed consolidated financial statements in Part I, Item 1 of this Quarterly Report on Form 10-Q for a discussion of recent accounting pronouncements.
35

Critical Accounting Estimates
There have been no material changes to our critical accounting estimates as described in our Annual Report on Form 10-K for the fiscal year ended December 31, 2023.
36

Item 3.                                Quantitative and Qualitative Disclosures about Market Risk
We have domestic and international operations and we are exposed to market risks in the ordinary course of our business. These risks primarily include interest rate, foreign exchange and inflation risks, as well as risks relating to changes in the general economic conditions in the countries where we conduct business. To reduce certain of these risks, we monitor the financial condition of our large customers and limit credit exposure by collecting subscription fees in advance.
Foreign Currency Risk
Our results of operations and cash flows have been and will continue to be subject to fluctuations because of changes in foreign currency exchange rates, particularly changes in exchange rates between the U.S. Dollar and the EUR, GBP, INR and CAD, the currencies of countries where we currently have our most significant international operations. We enter into foreign currency forward contracts to reduce our exposure to foreign currency exchange rate fluctuations related to forecasted subscription revenue, operating expenses and foreign currency denominated assets or liabilities. As of March 31, 2024, we had designated cash flow hedge forward contracts with notional amounts of €46.1 million, £16.0 million and Rs.4,068.0 million and non-designated forward contracts with notional amounts of €10.7 million, £8.6 million, Rs.990.0 million and C$1.0 million. With our hedging strategy applied, the effect of an immediate 10% adverse change in foreign exchange rates would not be material to our financial condition, operating results or cash flows.
Interest Rate Sensitivity
We had $543.4 million in cash, cash equivalents and short-term and long-term marketable securities as of March 31, 2024. Our exposure to market risk for changes in interest rates primarily relates to our cash and cash equivalents and marketable securities. Our cash equivalents and marketable securities are held in money market funds, fixed-income U.S. Treasury and government agency securities, commercial paper, corporate bonds and asset-backed securities. The primary objectives of our investment activities are the preservation of principal and support of our liquidity requirements. We do not invest for trading or speculative purposes. Our marketable securities are subject to market risk due to changes in interest rates, which may affect the interest income we earn and the fair market value. As of March 31, 2024, a hypothetical 100 basis point increase in interest rate would result in a decrease in the fair value of our marketable securities by $1.0 million.
Item 4.                                Controls and Procedures
Evaluation of Disclosure Controls and Procedures
Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of our disclosure controls and procedures as of March 31, 2024. The term “disclosure controls and procedures,” as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act, means controls and other procedures of a company that are designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported, within the time periods specified in the Securities and Exchange Commission’s rules and forms. Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is accumulated and communicated to the company’s management, including its principal executive and principal financial officers, as appropriate to allow timely decisions regarding required disclosure. Management recognizes that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving their objectives and management necessarily applies its judgment in evaluating the cost-benefit relationship of possible controls and procedures. Based on the evaluation of our disclosure controls and procedures as of March 31, 2024, our Chief Executive Officer and Chief Financial Officer concluded that, as of such date, our disclosure controls and procedures were effective 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 Rules 13a-15(d) and 15d-15(d) of the Exchange Act that occurred during the period covered by this report that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.
37

PART II. OTHER INFORMATION
Item 1.                                  Legal Proceedings
From time to time the Company may become involved in legal proceedings or be subject to claims arising in the ordinary course of our business. As of March 31, 2024, there has not been at least a reasonable possibility that the Company has incurred a material loss from any ongoing legal proceedings, individually or taken together. However, litigation is inherently unpredictable and is subject to significant uncertainties, some of which are beyond the Company's control. Should any of these estimates and assumptions change or prove to have been incorrect, the Company could incur significant charges related to legal matters which could have a material impact on its results of operations, financial position and cash flows.
Item 1A.                               Risk Factors
An investment in our common stock involves a high degree of risk. You should carefully consider the risks and uncertainties described below, and all other information contained in this Quarterly Report on Form 10-Q, including our condensed consolidated financial statements and the related notes, before making a decision to invest in our common stock. Our business, operating results, financial condition, or prospects could be materially and adversely affected by any of these risks and uncertainties. In that case, the trading price of our common stock could decline, and you might lose all or part of your investment. In addition, the risks and uncertainties discussed below are not the only ones we face. Our business, operating results, financial performance or prospects could also be harmed by risks and uncertainties not currently known to us or that we currently do not believe are material.
Risks Related to Our Business and Industry
Our quarterly and annual operating results may vary from period to period, which could result in our failure to meet expectations with respect to operating results and cause the trading price of our stock to decline.
Our operating results have historically varied from period to period, and we expect that they will continue to do so as a result of a number of factors, many of which are outside of our control, including:
the level of demand for our solutions, from both existing and new customers;
the extent to which customers subscribe for additional solutions;
changes in customer renewals of our solutions;
timing of deals signed within the applicable fiscal period;
seasonal buying patterns of our customers;
timely invoicing or changes in billing terms of customers;
the length of our sales cycle for our products and services;
price competition;
the timing and success of new product or service introductions by us or our competitors or any other changes in the competitive landscape of our industry, including consolidation among our competitors;
the introduction or adoption of new technologies that compete with our solutions;
decisions by potential customers to purchase IT, security and compliance products or services from other vendors;
general economic conditions, both domestically and in the foreign markets in which we sell our solutions;
changes in foreign currency exchange rates;
changes in the growth rate of the IT, security and compliance market;
actual or perceived security breaches and incidents, technical difficulties or interruptions with our service;
failure of our products and services to operate as designed;
publicity regarding security breaches and incidents generally and the level of perceived threats to IT security;
38

the announcement or adoption of new regulations and policy mandates or changes to existing regulations and policy mandates;
the amount and timing of operating costs and capital expenditures related to the operations and expansion of our business;
pace and cost of hiring employees;
expenses associated with our existing and new products and services;
the timing of sales commissions relative to the recognition of revenues;
insolvency or credit difficulties confronting our customers, affecting their ability to purchase or pay for our solutions;
our ability to integrate any products or services that we have acquired or may acquire in the future into our product suite or migrate existing customers of any companies that we have acquired or may acquire in the future to our products and services;
future accounting pronouncements or changes in our accounting policies;
our effective tax rate, changes in tax rules, tax effects of infrequent or unusual transactions, and tax audit settlements;
the amount and timing of income tax that we recognize resulting from stock-based compensation;
the timing of expenses related to the development or acquisition of technologies, services or businesses; and
potential goodwill and intangible asset impairment charges associated with acquired businesses.
Further, the interpretation and application of international laws and regulations in many cases is uncertain, and our legal and regulatory obligations in foreign jurisdictions are subject to frequent and unexpected changes, including the potential for various regulatory or other governmental bodies to enact new or additional laws or regulations or to issue rulings that invalidate prior laws or regulations.
Each factor above or discussed elsewhere in this Quarterly Report on Form 10-Q or the cumulative effect of some of these factors may result in fluctuations in our operating results. This variability and unpredictability could result in our failure to meet expectations with respect to operating results, or those of securities analysts or investors, for a particular period. In addition, a significant percentage of our operating expenses are fixed in nature and based on forecasted trends in revenues. Accordingly, in the event of shortfalls in revenues, we are generally unable to mitigate the negative impact on margins in the short term by reducing our operating expenses. If we fail to meet or exceed expectations for our operating results for these or any other reasons, the trading price of our common stock could fall and we could face costly lawsuits, including securities class action suits.
If we do not successfully anticipate market needs and opportunities or are unable to enhance our solutions and develop new solutions that meet those needs and opportunities on a timely or cost-effective basis, we may not be able to compete effectively and our business and financial condition may be harmed.
The IT, security and compliance market is characterized by rapid technological advances, customer price sensitivity, short product and service life cycles, intense competition, changes in customer requirements, frequent new product introductions and enhancements and evolving industry standards and regulatory mandates. Any of these factors could create downward pressure on pricing and gross margins, and could adversely affect our renewal rates, as well as our ability to attract new customers. Our future success will depend on our ability to enhance existing solutions, introduce new solutions on a timely and cost-effective basis, meet changing customer needs, extend our core technology into new applications, and anticipate and respond to emerging standards and business models. We must also continually change and improve our solutions in response to changes in operating systems, application software, computer and communications hardware, networking software, shared cloud platform infrastructures, programming tools and computer language technology.
We may not be able to anticipate future market needs and opportunities or develop enhancements or new solutions to meet such needs or opportunities in a timely manner or at all. The market for cloud solutions for IT, security and compliance continues to evolve, and it is uncertain whether our new solutions will gain market acceptance.
39

Our solution enhancements or new solutions could fail to attain sufficient market acceptance for many reasons, including:
failure to timely meet market demand for product functionality;
inability to identify and provide intelligence regarding the attacks or techniques used by cyber-attackers;
inability to inter-operate effectively with the database technologies, file systems or web applications of our prospective customers;
defects, errors or failures;
delays in releasing our enhancements or new solutions;
negative publicity about their performance or effectiveness;
introduction or anticipated introduction of products by our competitors;
poor business conditions, causing customers to delay IT, security and compliance purchases;
easing or changing of external regulations related to IT, security and compliance; and
reluctance of customers to purchase cloud solutions for IT, security and compliance.
Furthermore, diversifying our solutions and expanding into new IT, security and compliance markets will require significant investment and planning, require that our research and development and sales and marketing organizations develop expertise in these new markets, bring us more directly into competition with IT, security compliance providers that may be better established or have greater resources than we do, require additional investment of time and resources in the development and training of our channel partners and entail significant risk of failure.
If we fail to anticipate market requirements or fail to develop and introduce solution enhancements or new solutions to satisfy those requirements in a timely manner, such failure could substantially decrease or delay market acceptance and sales of our present and future solutions and cause us to lose existing customers or fail to gain new customers, which would significantly harm our business, financial condition and results of operations.
If we fail to continue to effectively scale and adapt our platform to meet the performance and other requirements of our customers, our operating results and our business would be harmed.
Our future growth depends to a significant extent on our ability to continue to meet the expanding needs of our customers as their use of our cloud platform grows. As these customers gain more experience with our solutions, the number of users and the number of locations where our solutions are being accessed may expand rapidly in the future. In order to ensure that we meet the performance and other requirements of our customers, we intend to continue to make significant investments to develop and implement new proprietary and third-party technologies at all levels of our cloud platform. These technologies, which include databases, applications and server optimizations, and network and hosting strategies, are often complex, new and unproven. We may not be successful in developing or implementing these technologies. To the extent that we do not effectively scale our platform to maintain performance as our customers expand their use of our platform, our operating results and our business may be harmed.
If we are unable to renew existing subscriptions for our IT, security and compliance solutions, sell additional subscriptions for our solutions and attract new customers, our operating results would be harmed.
We offer our cloud platform and integrated suite of solutions pursuant to a software-as-a-service model, and our customers purchase subscriptions from us that are generally one year in length. Our customers have no obligation to renew their subscriptions after their subscription period expires, and they may not renew their subscriptions at the same or higher levels or at all. As a result, our ability to grow depends in part on customers renewing their existing subscriptions and purchasing additional subscriptions and solutions. Our customers may choose not to renew their subscriptions to our solutions or purchase additional solutions due to a number of factors, including their satisfaction or dissatisfaction with our solutions, the prices of our solutions, the prices of products or services offered by our competitors, reductions in our customers’ spending levels due to the macroeconomic environment or other factors. If our customers do not renew their subscriptions to our solutions, renew on less favorable terms, or do not purchase additional solutions or subscriptions, our revenues may grow more slowly than expected or decline and our operating results would be harmed.
40

In addition, our future growth depends in part upon increasing our customer base. Our ability to achieve significant growth in revenues in the future will depend, in large part, upon continually attracting new customers and obtaining subscription renewals to our solutions from those customers. If we fail to attract new customers, our revenues may grow more slowly than expected and our operating results would be harmed.
Our current research and development efforts may not produce successful products or enhancements to our platform that result in significant revenue, cost savings or other benefits in the near future.
We must continue to dedicate significant financial and other resources to our research and development efforts if we are to maintain our competitive position. However, developing products and enhancements to our platform is expensive and time consuming, and there is no assurance that such activities will result in significant new marketable products or enhancements to our platform, design improvements, cost savings, revenue or other expected benefits. If we spend significant resources on research and development and are unable to generate an adequate return on our investment, our business and results of operations may be materially and adversely affected.
Our platform, website and internal systems may be subject to intentional disruption or other security incidents that could result in liability and adversely impact our reputation and future sales.
We and our service providers face threats from a variety of sources, including attacks on our networks and systems from numerous sources, including traditional “hackers,” sophisticated nation-state and nation-state supported actors, other sources of malicious code (such as viruses and worms), ransomware, social engineering, denial of service attacks, and phishing attempts. We and our service providers could be a target of cyber-attacks or other malfeasance designed to impede the performance of our solutions, penetrate our network security or the security of our cloud platform or our internal systems, misappropriate proprietary information and/or cause interruptions to our services. We and our service providers have experienced and may continue to experience security incidents and attacks of varying degrees from time to time. We have incurred costs to respond to such incidents and may continue to incur costs to support our efforts to enhance our security measures. Additionally, due to political uncertainty and military actions in parts of Eastern Europe and the Middle East, we and our service providers are vulnerable to heightened risks of cybersecurity incidents and security and privacy breaches from or affiliated with nation-state actors, including attacks that could materially disrupt our systems, operations and services.
Our solutions, platforms, and system, and those of our service providers, may also suffer security incidents as a result of non-technical issues, including intentional or inadvertent acts or omissions by our employees or service providers. With the increase in personnel working remotely, we and our service providers are at increased risk for security breaches and incidents. We have taken and intend to continue to take steps to monitor and enhance the security of our solutions, cloud platform, and other relevant systems, IT infrastructure, networks, and data; however, the unprecedented scale of remote work may require additional personnel and resources, which nevertheless cannot be guaranteed to fully safeguard our solutions, our cloud platform, or any systems, IT infrastructure networks, or data upon which we rely. Further, because our operations involve providing IT security solutions to our customers, we may be targeted for cyber-attacks and other security incidents. A breach in or incident impacting our data security, an attack against our service availability, or any breach, incident, or attack impacting our third-party service providers, could impact our networks or networks secured by our solutions, creating system disruptions or slowdowns and exploiting security vulnerabilities of our solutions, and the information stored on our networks or those of our third-party service providers could be accessed, used, publicly disclosed, altered, lost, or stolen, which could subject us to liability and cause us financial harm. If an actual or perceived disruption in the availability of our solutions or the breach or other compromise of our security measures or those of our service providers occurs, it could adversely affect the market perception of our solutions, result in a loss of competitive advantage, have a negative impact on our reputation, or result in the loss of customers, channel partners and sales, and it may expose us to the loss, unavailability or alteration of information, claims, demands and litigation, regulatory investigations, actions and other proceedings and possible liability. Any such actual or perceived security breach or incident or disruption could also divert the efforts of our technical and management personnel. We and our service providers may face difficulties or delays in identifying and responding to any security breach or incident. We also may incur significant costs and operational consequences of investigating, remediating, eliminating and putting in place additional tools and devices designed to prevent actual or perceived security incidents, as well as costs to respond to and otherwise address any breach or incident, including any to comply with any notification obligations resulting from any security incidents. In addition, any such actual or perceived security breach or incident could impair our ability to operate our business and provide solutions to our customers. If this happens, our reputation could be harmed, our revenues could decline and our business could suffer.
41

Although we maintain insurance coverage that may be applicable to certain liabilities in the event of a security breach or other security incident, we cannot be certain that our insurance coverage will be adequate for liabilities that actually are incurred, that insurance will continue to be available to us on economically reasonable terms, or at all, or that any insurer will not deny coverage as to any future claim. The successful assertion of one or more large claims against us that exceed available insurance coverage or the occurrence of changes in our insurance policies, including premium increases or the imposition of large deductible or co-insurance requirements, could have a material and adverse effect on our business, including our financial condition, operating results and reputation.
Our sales cycle can be long and unpredictable, and our sales efforts require considerable time and expense. As a result, revenues may vary from period to period, which may cause our operating results to fluctuate and could harm our business.
The timing of sales of subscriptions for our solutions can be difficult to forecast because of the length and unpredictability of our sales cycle, particularly with large transactions and in the current macroeconomic environment. We sell subscriptions to our IT, security and compliance solutions primarily to IT departments that are managing a growing set of user and compliance demands, which has increased the complexity of customer requirements to be met and confirmed during the sales cycle and prolonged our sales cycle. Further, the length of time that potential customers devote to their testing and evaluation, contract negotiation and budgeting processes varies significantly, which has also made our sales cycle long and unpredictable. The length of the sales cycle for our solutions typically ranges from six to twelve months but can be more than eighteen months. In addition, we might devote substantial time and effort to a particular unsuccessful sales effort, and as a result we could lose other sales opportunities or incur expenses that are not offset by an increase in revenues, which could harm our business.
Adverse economic conditions or reduced IT spending may adversely impact our business.
Our business depends to a significant extent on the overall demand for IT and on the economic health of our current and prospective customers. Economic weakness, customer financial difficulties, change in interest rates, inflationary pressures and potential for a recession, and constrained spending on IT security, as well as longer sales cycles, which factors we have experienced in 2023 and into 2024, have resulted and may in the future result in decreased revenue and earnings. Such factors have made and could in the future make it difficult to accurately forecast our sales and operating results and could negatively affect our ability to provide accurate forecasts to our contract manufacturers. In addition, continued governmental budgetary challenges in the United States and Europe, inflationary pressures and potential for a recession, and geopolitical turmoil in many parts of the world, including the ongoing military conflicts in parts of Eastern Europe and the Middle East, and other disruptions to global and regional economies and markets in many parts of the world, as well as uncertainties related to changes in public policies such as domestic and international regulations, taxes or international trade agreements, have and may continue to put pressure on global economic conditions and overall spending on IT security and may further increase inflation, both in the U.S. and globally, which could increase our operating costs in the future and reduce overall spending on IT security. General economic weakness may also lead to longer collection cycles for payments due from our customers, an increase in customer bad debt, restructuring initiatives and associated expenses, and impairment of investments. Furthermore, the continued weakness and uncertainty in worldwide credit markets, including the sovereign debt situation in certain countries in the European Union, may adversely impact our European operations, as well as our current and potential customers' available budgetary spending, which could lead to delays or reductions in planned purchases of our solutions.
Uncertainty about future economic conditions also makes it difficult to forecast operating results and to make decisions about future investments. Future or continued economic weakness for us or our customers, failure of our customers and markets to recover from such weakness, customer financial difficulties, and reductions in spending on IT security could have a material adverse effect on demand for our platform and consequently on our business, financial condition and results of operations.
42

Our IT, security and compliance solutions are delivered from 14 shared cloud platforms, and any disruption of service at these facilities would interrupt or delay our ability to deliver our solutions to our customers which could reduce our revenues and harm our operating results.
We currently host substantially all of our solutions from third-party shared cloud platforms located in the United States, Canada, Switzerland, the Netherlands, United Arab Emirates, Australia, United Kingdom, Italy, the Kingdom of Saudi Arabia and India. These facilities are vulnerable to damage or interruption from earthquakes, hurricanes, floods, fires, cybersecurity attacks, terrorist attacks, employee negligence, power losses, telecommunications failures and similar events. The facilities also could be subject to break-ins, sabotage, intentional acts of vandalism and other misconduct. The occurrence of a natural disaster, an act of terrorism or misconduct, a decision to close the facilities without adequate notice or other unanticipated problems could result in interruptions in our services.
Some of our shared cloud platforms are not currently redundant and we may not be able to rapidly move our customers from one shared cloud platform to another, which may increase delays in the restoration of our service for our customers if an adverse event occurs. We have added shared cloud platforms to provide additional capacity and to enable disaster recovery. We continue to build out these facilities; however, these additional facilities may not be operational in the anticipated time-frame and we may incur unplanned expenses.
Additionally, our existing shared cloud platform providers have no obligations to renew their agreements with us on commercially reasonable terms, or at all. If we are unable to renew our agreements with the facilities providers on commercially reasonable terms or if in the future we add additional shared cloud platform providers, we may experience costs or downtime in connection with the loss of an existing facility or the transfer to, or addition of, new facilities.
Any disruptions or other performance problems with our solutions could harm our reputation and business and may damage our customers’ businesses. Interruptions in our service delivery might reduce our revenues, cause us to issue credits to customers, subject us to potential liability and cause customers to terminate their subscriptions or not renew their subscriptions.
We face competition in our markets, and we may lack sufficient financial or other resources to maintain or improve our competitive position.
We compete with a large range of established and emerging vulnerability management vendors, compliance vendors and data security vendors in a highly fragmented and competitive environment. We face significant competition for each of our solutions from companies with broad product suites and greater name recognition and resources than we have, as well as from small companies focused on specialized security solutions.
We compete with large and small public companies, such as Broadcom (Symantec Enterprise Security), CrowdStrike, Palo Alto Networks, Rapid7, Tenable Holdings, as well as privately held security providers including Axonius, Checkmarx, Flexera, Invicti, Ivanti, Tanium, HelpSystems (Tripwire), Trustwave Holdings, Veracode and Wiz. We also seek to replace IT, security and compliance solutions that organizations have developed internally. As we continue to extend our cloud platform’s functionality by further developing IT, security and compliance solutions, such as Cybersecurity Asset Management and Patch Management, we expect to face additional competition in these new markets. Our competitors may also attempt to further expand their presence in the IT, security and compliance market and compete more directly against one or more of our solutions.
We believe that the principal competitive factors affecting our markets include product functionality, breadth of offerings, flexibility of delivery models, ease of deployment and use, total cost of ownership, scalability and performance, customer support and the extensibility of our platform. Many of our existing and potential competitors have competitive advantages, including:
greater brand name recognition;
larger sales and marketing budgets and resources;
broader distribution networks and more established relationships with distributors and customers;
access to larger customer bases;
greater customer support resources;
greater resources to make acquisitions;
43

greater resources to develop and introduce products that compete with our solutions;
greater resources to meet relevant regulatory requirements; and
substantially greater financial, technical and other resources.
As a result, our competitors may be able to respond more quickly and effectively than we can to new or changing opportunities, technologies, standards or customer requirements. With the introduction of new technologies, the evolution of our service and new market entrants, we expect competition to intensify in the future.
In addition, some of our larger competitors have substantially broader product offerings and can bundle competing products and services with other software offerings. As a result, customers may choose a bundled product offering from our competitors, even if individual products have more limited functionality than our solutions. These competitors may also offer their products at a lower price as part of this larger sale, which could increase pricing pressure on our solutions and cause the average sales price for our solutions to decline. These larger competitors are also often in a better position to withstand any significant reduction in capital spending and will therefore not be as susceptible to economic downturns.
Furthermore, our current and potential competitors may establish cooperative relationships among themselves or with third parties that may further enhance their resources and product and services offerings in the markets we address. In addition, current or potential competitors may be acquired by third parties with greater available resources. As a result of such relationships and acquisitions, our current or potential competitors might be able to adapt more quickly to new technologies and customer needs, devote greater resources to the promotion or sale of their products and services, initiate or withstand substantial price competition, take advantage of other opportunities more readily or develop and expand their product and service offerings more quickly than we do. For all of these reasons, we may not be able to compete successfully against our current or future competitors.
The sales prices of our solutions are subject to competitive pressures and may decrease, which may reduce our gross profits and adversely impact our financial results.
The sales prices for our solutions may decline for a variety of reasons, including competitive pricing pressures, discounts, a change in our mix of solutions and subscriptions, anticipation of the introduction of new solutions or subscriptions, or promotional programs. Competition continues to increase in the market segments in which we participate, and we expect competition to further increase in the future, thereby leading to increased pricing pressures. Larger competitors with more diverse product and service offerings may reduce the price of products or subscriptions that compete with ours or may bundle them with other products and subscriptions. Additionally, although we price our products and subscriptions worldwide in U.S. Dollars, Euros, British Pounds, Canadian Dollars, Japanese Yen and Indian Rupee, currency fluctuations in certain countries and regions may negatively impact actual prices that partners and customers are willing to pay in those countries and regions, or the effective prices we realize in our reporting currency. We cannot assure you that we will be successful in developing and introducing new offerings with enhanced functionality on a timely basis, or that our new product and subscription offerings, if introduced, will enable us to maintain our prices and gross profits at levels that will allow us to maintain positive gross margins and profitability.
If our solutions fail to help our customers achieve and maintain compliance with regulations and industry standards, our revenues and operating results could be harmed.
We generate a portion of our revenues from solutions that help organizations achieve and maintain compliance with regulations and industry standards. For example, many of our customers subscribe to our IT, security and compliance solutions to help them comply with the security standards developed and maintained by the Payment Card Industry Security Standards Council, or the PCI Council, which apply to companies that store cardholder data. Industry organizations like the PCI Council may significantly change their security standards with little or no notice, including changes that could make their standards more or less onerous for businesses. Governments may also adopt new laws or regulations, or make changes to existing laws or regulations, which could impact the demand for or value of our solutions.
44

If we are unable to adapt our solutions to changing regulatory standards in a timely manner, or if our solutions fail to assist with or expedite our customers’ compliance initiatives, our customers may lose confidence in our solutions and could switch to products offered by our competitors. In addition, if regulations and standards related to data security, vulnerability management and other IT, security and compliance requirements are relaxed or the penalties for non-compliance are changed in a manner that makes them less onerous, our customers may view government and industry regulatory compliance as less critical to their businesses, and our customers may be less willing to purchase our solutions. In any of these cases, our revenues and operating results could be harmed.
If our solutions fail to detect vulnerabilities or incorrectly detect vulnerabilities, our brand and reputation could be harmed, which could have an adverse effect on our business and results of operations.
If our solutions fail to detect vulnerabilities in our customers’ IT infrastructures, or if our solutions fail to identify and respond to new and increasingly complex methods of attacks, our business and reputation may suffer. There is no guarantee that our solutions will detect all vulnerabilities. Additionally, our IT, security and compliance solutions may falsely detect vulnerabilities or threats that do not actually exist. For example, some of our solutions rely on information on attack sources aggregated from third-party data providers who monitor global malicious activity originating from a variety of sources, including anonymous proxies, specific IP addresses, botnets and phishing sites. If the information from these data providers is inaccurate, the potential for false indications of security vulnerabilities increases. These false positives, while typical in the industry, may impair the perceived reliability or usability of our solutions and may therefore adversely impact market acceptance of our solutions and could result in negative publicity, loss of customers and sales, increased costs to remedy any incorrect information or problem, or claims by aggrieved parties. Similar issues may be generated by the misuse of our tools to identify and exploit vulnerabilities.
Further, our solutions sometimes are tested against other security products, and may fail to perform as effectively, or to be perceived as performing as effectively, as competitive products for any number of reasons, including misconfiguration. To the extent current or potential customers, channel partners, or others believe there has been an occurrence of an actual or perceived failure of our solutions to detect a vulnerability or otherwise to function as effectively as competitive products in any particular test, or indicates our solutions do not provide significant value, our business, competitive position, and reputation could be harmed.
In addition, our solutions do not currently extend to cover all mobile and personal devices that employees may bring into an organization. As such, our solutions would not identify or address vulnerabilities in all mobile and personal devices, and our customers’ IT infrastructures may be compromised by attacks that infiltrate their networks through such devices.
An actual or perceived security breach or incident or loss, theft, unavailability or other compromise of the sensitive data of one of our customers, regardless of whether the breach is attributable to the failure of our solutions, could adversely affect the market’s perception of our security solutions.
If we are unable to continue the expansion of our sales force, sales of our solutions and the growth of our business would be harmed.
We believe that our growth will depend, to a significant extent, on our success in recruiting and retaining a sufficient number of qualified sales personnel and their ability to obtain new customers, manage our existing customer base and expand the sales of our newer solutions. We plan to continue to expand our sales force and invest in our sales and marketing activities. Our recent hires and planned hires may not become as productive as quickly as we would like, and we may be unable to hire or retain sufficient numbers of qualified individuals in the future in the competitive markets where we do business. Competition for highly skilled personnel is frequently intense and we may not be able to compete for these employees. If we are unable to recruit and retain a sufficient number of productive sales personnel, sales of our solutions and the growth of our business may be harmed. Additionally, if our efforts do not result in increased revenues, our operating results could be negatively impacted due to the upfront operating expenses associated with expanding our sales force.
45

We rely on third-party channel partners to generate a substantial amount of our revenues, and if we fail to expand and manage our distribution channels, our revenues could decline and our growth prospects could suffer.
Our success significantly depends to a significant extent on establishing and maintaining relationships with a variety of channel partners and we anticipate that we will continue to depend on these partners in order to grow our business. For the three months ended March 31, 2024, we derived approximately 45% of our revenues from sales of subscriptions for our solutions through channel partners, and the percentage of revenues derived from channel partners may increase in future periods. Our agreements with our channel partners are generally non-exclusive and do not prohibit them from working with our competitors or offering competing solutions, and many of our channel partners have more established relationships with our competitors. If our channel partners choose to place greater emphasis on products of their own or those offered by our competitors, do not effectively market and sell our solutions, or fail to meet the needs of our customers, then our ability to grow our business and sell our solutions may be adversely affected. In addition, the loss of one or more of our larger channel partners, who may cease marketing our solutions with limited or no notice, and our possible inability to replace them, could adversely affect our sales. Moreover, our ability to expand our distribution channels depends in part on our ability to educate our channel partners about our solutions, which can be complex. Our failure to recruit additional channel partners, or any reduction or delay in their sales of our solutions or conflicts between channel sales and our direct sales and marketing activities may harm our results of operations. Even if we are successful, these relationships may not result in greater customer usage of our solutions or increased revenues.
In addition, the financial health of our channel partners and our continuing relationships with them are important to our success. Some of these channel partners may be unable to withstand adverse changes in economic conditions, which could result in insolvency and/or the inability of such distributors to obtain credit to finance purchases of our products and services. In addition, weakness in the end-user market could negatively affect the cash flows of our channel partners who could, in turn, delay paying their obligations to us, which would increase our credit risk exposure. Our business could be harmed if the financial condition of some of these channel partners substantially weakened and we were unable to timely secure replacement channel partners.
A significant portion of our customers, channel partners and employees are located outside of the United States, which subjects us to a number of risks associated with conducting international operations, and if we are unable to successfully manage these risks, our business and operating results could be harmed.
We market and sell subscriptions to our solutions throughout the world and have personnel in many parts of the world. In addition, we have sales offices and research and development facilities outside the United States and we conduct, and expect to continue to conduct, a significant amount of our business with organizations that are located outside the United States, particularly in Europe and Asia. Therefore, we are subject to risks associated with having international sales and worldwide operations, including:
foreign currency exchange fluctuations;
trade and foreign exchange restrictions;
economic or political instability in foreign markets, including as a result of increasing tensions between India and China;
greater difficulty in enforcing contracts, accounts receivable collection and longer collection periods;
changes in regulatory requirements;
tax laws (including U.S. taxes on foreign subsidiaries);
difficulties and costs of staffing and managing foreign operations;
the uncertainty and limitation of protection for intellectual property rights in some countries;
costs of compliance with foreign laws and regulations and the risks and costs of non-compliance with such laws and regulations;
costs of complying with U.S. laws and regulations for foreign operations, including the Foreign Corrupt Practices Act, import and export control laws, tariffs, trade barriers, economic sanctions and other regulatory or contractual limitations on our ability to sell our solutions in certain foreign markets, and the risks and costs of non-compliance;
46

heightened risks of unfair or corrupt business practices in certain geographies and of improper or fraudulent sales arrangements that may impact financial results and result in restatements of, and irregularities in, financial statements;
the potential for political unrest, acts of terrorism, hostilities or war;
management communication and integration problems resulting from cultural differences and geographic dispersion; and
multiple and possibly overlapping tax structures.
Some of our business partners also have international operations and are subject to the risks described above. Even if we are able to successfully manage the risks of international operations, our business may be adversely affected if our business partners are not able to successfully manage these risks.
Our business, including the sales of subscriptions of our solutions, may be subject to foreign governmental regulations, which vary substantially from country to country and change from time to time. Failure to comply with these regulations could adversely affect our business. Further, in many foreign countries it is common for others to engage in business practices that are prohibited by our internal policies and procedures or U.S. regulations applicable to us. Although we have implemented policies and procedures designed to ensure compliance with these laws and policies, there can be no assurance that all of our employees, contractors, channel partners and agents have complied or will comply with these laws and policies. Violations of laws or key control policies by our employees, contractors, channel partners or agents could result in delays in revenue recognition, financial reporting misstatements, fines, penalties or the prohibition of the importation or exportation of our solutions and could have a material adverse effect on our business and results of operations. If we are unable to successfully manage the challenges of international operations, our business and operating results could be adversely affected.
In addition, as of March 31, 2024, approximately 75% of our employees were located outside of the United States, with 66% of our employees located in Pune, India. Accordingly, we are exposed to changes in laws governing our employee relationships in various U.S. and foreign jurisdictions, including laws and regulations regarding wage and hour requirements, fair labor standards, employee data privacy, unemployment tax rates, workers’ compensation rates, citizenship requirements and payroll and other taxes which may have a direct impact on our operating costs. We may continue to expand our international operations and international sales and marketing activities. Expansion in international markets has required, and will continue to require, significant management attention and resources. We may be unable to scale our infrastructure effectively or as quickly as our competitors in these markets and our revenues may not increase to offset any increased costs and operating expenses, which would cause our results to suffer.
We are exposed to fluctuations in currency exchange rates, which could negatively affect our financial condition and results of operations.
Our reporting currency is the U.S. dollar and we generate a majority of our revenues in U.S. dollars. However, for the three months ended March 31, 2024, we incurred approximately 26% of our expenses in foreign currencies, primarily the Euro, British Pound, and Indian Rupee, principally with respect to salaries and related personnel expenses associated with our European and Indian operations. Additionally, for the three months ended March 31, 2024, approximately 24% of our revenues were generated in foreign currencies. Accordingly, changes in exchange rates may have a material adverse effect on our business, operating results and financial condition. The exchange rate between the U.S. dollar and foreign currencies has fluctuated substantially in recent years and may continue to fluctuate substantially in the future. We expect that a majority of our revenues will continue to be generated in U.S. dollars for the foreseeable future and that a significant portion of our expenses, including personnel costs, as well as capital and operating expenditures, will continue to be denominated in the Euro, British Pound and Indian Rupee. The result of our operations may be adversely affected by foreign exchange fluctuations.
We use derivative financial instruments to reduce our foreign currency exchange risks. We use foreign currency forward contracts to mitigate the impact of foreign currency fluctuations of certain non-U.S. dollar denominated net asset positions, to date primarily cash, accounts receivable and operating lease liabilities (non-designated), as well as to manage foreign currency fluctuation risk related to forecasted transactions (designated). However, we may not be able to purchase derivative instruments that are adequate to insulate ourselves from foreign currency exchange risks. Additionally, our hedging activities may contribute to increased losses as a result of volatility in foreign currency markets.
47

If the market for cloud solutions for IT, security and compliance does not evolve as we anticipate, our revenues may not grow and our operating results would be harmed.
Our success depends to a significant extent on the willingness of organizations to increase their use of cloud solutions for their IT, security and compliance. Some organizations may be reluctant to use cloud solutions because they have concerns regarding the risks associated with the reliability or security of the technology delivery model associated with these solutions. If other cloud service providers experience security incidents, loss of customer data, disruptions in service delivery or other problems, the market for cloud solutions as a whole, including our solutions, may be negatively impacted. Moreover, organizations that have invested substantial personnel and financial resources to integrate on-premise software into their businesses may be reluctant or unwilling to migrate to a cloud solution. Organizations that use on-premise security products, such as network firewalls, security information and event management products or data loss prevention solutions, may also believe that these products sufficiently protect their IT infrastructure and deliver adequate security. Therefore, they may continue spending their IT security budgets on these products and may not adopt our IT, security and compliance solutions in addition to or as a replacement for such products.
If customers do not recognize the benefits of our cloud solutions over traditional on-premise enterprise software products, and as a result we are unable to increase sales of subscriptions to our solutions, then our revenues may not grow or may decline, and our operating results would be harmed.
Our business and operations have continued to grow since inception, and if we do not appropriately manage any future growth, or are unable to improve our systems and processes, our operating results may be negatively affected.
We have continued to grow over the last several years, with revenues increasing from $411.2 million in 2021 to $554.5 million in 2023, and headcount increasing from 1,498 employees at the beginning of 2021 to 2,210 employees as of March 31, 2024. We rely on information technology systems to help manage critical functions such as order processing, revenue recognition and financial forecasts. To manage any future growth effectively we must continue to improve and expand our IT systems, financial infrastructure, and operating and administrative systems and controls, and continue to manage headcount, capital and processes in an efficient manner. We may not be able to successfully implement improvements to these systems and processes in a timely or efficient manner.
Our failure to improve our systems and processes, or their failure to operate in the intended manner, may result in our inability to manage the growth of our business and to accurately forecast our revenues, expenses and earnings, or to prevent certain losses. In addition, as we continue to grow, our productivity and the quality of our solutions may also be adversely affected if we do not integrate and train our new employees quickly and effectively. Any future growth would add complexity to our organization and require effective coordination across our organization. Failure to manage any future growth effectively could result in increased costs, harm our results of operations and lead to investors losing confidence in our internal systems and processes.
We depend on the continued services and performance of our senior management and other key employees, the loss of any of whom could adversely affect our business, operating results and financial condition.
Our future performance depends to a significant extent on the continued services and continuing contributions of our senior management and other key employees, to execute on our business plan and to identify and pursue new opportunities and product innovations. We do not maintain key-man insurance for any member of our senior management team. Our senior management and key employees are generally employed on an at-will basis, which means that they could terminate their employment with us at any time. From time to time, there may be changes in our senior management team resulting from the termination or departure of executives. The loss of the services of our senior management or other key employees for any reason could significantly delay or prevent the achievement of our development and strategic objectives and harm our business, financial condition and results of operations.
48

If we are unable to hire, retain and motivate qualified personnel, our business may suffer.
Our future success depends, in part, on our ability to continue to attract and retain highly skilled personnel. The loss of the services of any of our key personnel, the inability to attract or retain qualified personnel or delays in hiring required personnel, particularly in engineering and sales, may seriously harm our business, financial condition and results of operations. Any of our employees may terminate their employment at any time. Competition for highly skilled personnel is frequently intense, especially within our industry, and we may not be able to compete for such personnel.
We are required under accounting principles generally accepted in the United States (U.S. GAAP) to recognize compensation expense in our operating results for employee stock-based compensation under our equity grant programs, which may negatively impact our operating results and may increase the pressure to limit stock-based compensation that we might otherwise offer to current or potential employees, thereby potentially harming our ability to attract or retain highly skilled personnel. In addition, to the extent we hire personnel from competitors, we may be subject to allegations that they have been improperly solicited or divulged proprietary or other confidential information, which could result in a diversion of management's time and our resources.
A portion of our revenues are generated by sales to government entities, which are subject to a number of challenges and risks.
Government entities have historically been particularly concerned about adopting cloud-based solutions for their operations, including security solutions, and increasing sales of subscriptions for our solutions to government entities may be more challenging than selling to commercial organizations. Selling to government entities can be highly competitive, expensive and time-consuming, often requiring significant upfront time and expense without any assurance that we will win a sale. We have invested in the creation of a cloud offering certified under the Federal Information Security Management Act for government usage but we cannot be sure that we will continue to sustain or renew this certification, that the government will continue to mandate such certification or that other government agencies or entities will use this cloud offering. Government demand and payment for our solutions may be impacted by public sector budgetary cycles and funding authorizations, with funding reductions or delays adversely affecting public sector demand for our solutions. Government entities may have contractual or other legal rights to terminate contracts with our channel partners for convenience or due to a default, and any such termination may adversely impact our future results of operations. Governments routinely investigate and audit government contractors’ administrative processes, and any unfavorable audit could result in the government refusing to continue buying our solutions, a reduction of revenues or fines or civil or criminal liability if the audit uncovers improper or illegal activities. Any such penalties could adversely impact our results of operations in a material way.
Our success in acquiring and integrating other businesses, products or technologies could impact our financial position.
In order to remain competitive, we have in the past and may in the future seek to acquire additional businesses, products, services or technologies. For example, we acquired certain intellectual property of TotalCloud on August 19, 2021 and certain assets of Blue Hexagon on October 4, 2022. The environment for acquisitions in our industry is very competitive and acquisition candidate purchase prices may exceed what we would prefer to pay. Moreover, achieving the anticipated benefits of past and future acquisitions will depend in part upon whether we can integrate acquired operations, products and technology in a timely and cost-effective manner, and even if we achieve benefits from acquisitions, such acquisitions may still be viewed negatively by customers, financial markets or investors. The acquisition and integration process is complex, expensive and time-consuming, and may cause an interruption of, or loss of momentum in, product development and sales activities and operations of both companies, as well as divert the attention of management, and we may incur substantial cost and expense. We may issue equity securities which could dilute current stockholders’ ownership, incur debt, assume contingent or other liabilities and expend cash in acquisitions, which could negatively impact our financial position, stockholder equity and stock price. We may not find suitable acquisition candidates, and acquisitions we complete may be unsuccessful. If we consummate a transaction, we may be unable to integrate and manage acquired products and businesses effectively or retain key personnel. If we are unable to effectively execute acquisitions, our business, financial condition and operating results could be adversely affected.
49

We rely on software-as-a-service vendors to operate certain functions of our business and any failure of such vendors to provide services to us could adversely impact our business and operations.
We rely on third-party software-as-a-service vendors to operate certain critical functions of our business, including financial management and human resource management. If these services become unavailable due to extended outages or interruptions or because they are no longer available on commercially reasonable terms or prices, our expenses could increase, our ability to manage our finances could be interrupted and our processes for managing sales of our solutions and supporting our customers could be impaired until equivalent services, if available, are identified, obtained and integrated, all of which could harm our business.
Incorrect or improper implementation or use of our solutions could result in customer dissatisfaction and harm our business and reputation.
If our customers are unable to implement our solutions successfully, customer perceptions of our platform and solutions may be impaired or our reputation and brand may suffer. Our customers have in the past inadvertently misused our solutions, which triggered downtime in their internal infrastructure until the problem was resolved. Additionally, any failure to implement and configure our solutions correctly may result in our solutions failing to detect vulnerabilities or compliance issues, or otherwise to perform effectively, and may result in disruptions to our customers’ IT environments and businesses. Any misuse of our solutions, including any failure to implement and configure them appropriately, could result in disruption to our customers’ businesses, customer dissatisfaction, negative impacts on the perceived reliability or effectiveness of our solutions, and claims and litigation, and may result in negative press coverage, negative effects on our reputation and competitive position, a loss of sales, customers, and channel partners, and harm our financial results.
We recognize revenues from subscriptions over the term of the relevant service period, and therefore any decreases or increases in bookings are not immediately reflected in our operating results.
We recognize revenues from subscriptions over the term of the relevant service period, which is typically one year. As a result, most of our reported revenues in each quarter are derived from the recognition of deferred revenues relating to subscriptions entered into during previous quarters. Consequently, a shortfall in demand for our solutions in any period may not significantly reduce our revenues for that period, but could negatively affect revenues in future periods. Accordingly, the effect of significant downturns in bookings may not be fully reflected in our results of operations until future periods. We may be unable to adjust our costs and expenses to compensate for such a potential shortfall in revenues. Our subscription model also makes it difficult for us to rapidly increase our revenues through additional bookings in any period, as revenues are recognized ratably over the subscription period.
Our business is subject to the risks of earthquakes, fire, power outages, floods and other catastrophic events, and to interruption by man-made problems such as terrorism.
A significant natural disaster, such as an earthquake, fire or a flood, or a significant power outage could have a material adverse impact on our business, operating results and financial condition. Our corporate headquarters and a significant portion of our operations are located in the San Francisco Bay Area, a region known for seismic activity. In addition, natural disasters could affect our business partners’ ability to perform services for us on a timely basis. In the event we or our business partners are hindered by any of the events discussed above, our ability to provide our solutions to customers could be delayed, resulting in our missing financial targets, such as revenues and net income, for a particular quarter. Further, if a natural disaster occurs in a region from which we derive a significant portion of our revenues, customers in that region may delay or forego subscriptions of our solutions, which may materially and adversely impact our results of operations for a particular period. In addition, war, acts of terrorism, pandemics or other health emergencies, or responses to these events could cause disruptions in our business or the business of our business partners, customers or the economy as a whole. All of the aforementioned risks may be exacerbated if the disaster recovery plans for us and our suppliers prove to be inadequate. To the extent that any of the above results in delays of customer subscriptions or commercialization of our solutions, our business, financial condition and results of operations could be adversely affected.
50

Risks Related to Intellectual Property, Legal, Tax and Regulatory Matters
Undetected software errors or flaws in our solutions could harm our reputation, decrease market acceptance of our solutions or result in liability.
Our solutions may contain undetected errors or defects when first introduced or as new versions are released. We have experienced these errors or defects in the past in connection with new solutions and solution upgrades and we expect that these errors or defects will be found from time to time in the future in new or enhanced solutions after commercial release of these solutions. Since our customers use our solutions for IT, security and compliance reasons, any errors, defects, disruptions in service or other performance problems with our solutions, or any other failure of our solutions to detect vulnerabilities or compliance problems or otherwise to perform effectively, may result in disruptions or damage to the business of our customers, including security breaches or compliance failures. Additionally, any such issues, or the perception that they have occurred, whether or not relating to any actual or perceived error or defect in our solutions, could hurt our reputation and competitive position and we may incur significant costs, the attention of key personnel could be diverted, our customers may delay or withhold payment to us or elect not to renew, we could face a loss of sales, customers, and channel partners, and other significant problems with our relationships with customers and channel partners may arise. We may also be subject to liability claims for damages related to actual or perceived errors or defects in our solutions. A material liability claim or other occurrence that harms our reputation or decreases market acceptance of our solutions may harm our business, competitive and financial position, and operating results.
Although we maintain insurance coverage that may be applicable to certain liabilities in connection with these matters, we cannot be certain that our insurance coverage will be adequate for liabilities that actually are incurred, that insurance will continue to be available to us on economically reasonable terms, or at all, or that any insurer will not deny coverage as to any future claim. The successful assertion of one or more large claims against us that exceed available insurance coverage or the occurrence of changes in our insurance policies, including premium increases or the imposition of large deductible or co-insurance requirements, could have a material and adverse effect on our business, including our financial condition, operating results and reputation.
Our solutions could be used to collect and store personal information of our customers employees or customers, and therefore privacy and other data handling concerns could result in additional cost and liability to us or inhibit sales of our solutions.
We collect the names and email addresses of our customers in connection with subscriptions to our solutions. Additionally, the data that our solutions collect to help secure and protect the IT infrastructure of our customers may include additional personal or confidential information of our customers’ employees and their customers, and we may collect, store and otherwise process personal or confidential information more generally in connection with our business and operations. Personal privacy has become a significant issue in the United States and in many other countries where we offer our solutions. The regulatory framework for privacy issues worldwide is currently evolving and is likely to remain uncertain for the foreseeable future. Many federal, state and foreign government bodies and agencies have adopted or are considering adopting laws and regulations regarding the collection, use, disclosure and retention of personal information. In the United States, these include, for example, rules and regulations promulgated under the authority of the Federal Trade Commission, the Health Insurance Portability and Accountability Act of 1996, the Gramm-Leach-Bliley Act, and state breach notification laws. Internationally, virtually every jurisdiction in which we operate has established its own data security and privacy legal framework with which we or our customers must comply.
51

These privacy, data protection and information security laws and regulations may result in ever-increasing regulatory and public scrutiny and escalating levels of enforcement and sanctions. Additionally, new laws and regulations relating to privacy and data protection continue to be proposed and enacted. For example, the European Union has adopted the Global Data Protection Regulation (“GDPR”). This regulation, which took effect in May of 2018, provides for substantial obligations relating to the handling, storage and other processing of data relating to individuals and administrative fines for violations, which can be up to four percent of the previous year’s annual revenue or €20 million, whichever is higher. The GDPR may be subject to new or changing interpretations by courts, and our interpretation of the law and efforts to comply with the rules and regulations of the law may be ruled invalid. Similarly, the California Consumer Privacy Act (“CCPA”) requires covered companies to, among other things, provide new disclosures to California consumers and affords such consumers new rights to opt-out of certain sales of personal information. The CCPA also creates a private right of action for statutory damages for certain breaches of information. Additionally, the California Privacy Rights Act (“CPRA”), was approved by voters in the November 3, 2020 election. The CPRA modified the CCPA significantly, creating obligations relating to consumer data beginning on January 1, 2022, with enforcement authorized as of July 1, 2023. In addition, other states have enacted or proposed legislation that regulates the collection, use, and sale of personal information, including, for example, Washington's My Health, My Data Act and legislation similar to the CCPA adopted in Virginia, Colorado, Utah, Connecticut, Iowa, Indiana, Montana, Tennessee, Oregon, Florida, Delaware, and Texas. Aspects of the CCPA, CPRA, and these other new and evolving state laws, as well their interpretation and enforcement, remain uncertain. We cannot predict the impact of the CCPA, CPRA, or other evolving privacy and data protection obligations on our business or operations, but they may require us to modify our data processing practices and policies and incur substantial costs and expenses in an effort to comply.
The privacy, data protection, and information security laws and regulations we must comply with also are subject to change. For example, the United Kingdom has enacted a Data Protection Act, and has implemented legislation referred to as the “UK GDPR,” that substantially implement the GDPR in the United Kingdom following the United Kingdom’s exit from the European Union. This legislation provides for substantial penalties for noncompliance of up to the greater of £17.5 million or four percent of the previous year’s annual revenues. While the European Union has deemed the United Kingdom an “adequate country” to which personal data could be exported from the European Economic Area (“EEA”), this decision is required to be renewed after four years of being in effect and may be modified, revoked, or challenged in the interim, creating uncertainty regarding transfers of personal data to the United Kingdom from the EEA. It remains unclear how United Kingdom data protection laws or regulations will develop in the medium to longer term and how data transfers to and from the United Kingdom will be regulated. Additionally, we have self-certified under the EU-U.S. Data Privacy Framework and a related program, the Swiss-U.S. Data Privacy Framework, and have adopted certain standard contractual clauses approved by the European Commission (“SCCs”) as part of our data processing agreements with regard to certain transfers of personal data from the EEA to the U.S. Both the EU-U.S. Data Privacy Framework and SCCs have, however, been subject to legal challenge. In its July 16, 2020 opinion, the CJEU imposed additional obligations on companies when relying on SCCs to transfer personal data. The European Commission has published revised SCCs addressing the CJEU concerns on June 4, 2021, that are required to be implemented. The United Kingdom has adopted new standard contractual clauses (“UK SCCs”), that became effective as of March 21, 2022, and which also are required to be implemented. The EU-U.S. Data Privacy Framework, Swiss-U.S. Data Privacy Framework revised SCCs and UK SCCs, guidance and opinions of regulators, and other developments relating to cross-border data transfer may require us to implement additional contractual and technical safeguards for any personal data transferred out of Europe, which may increase compliance costs, lead to increased regulatory scrutiny or liability, and which may adversely impact our business, financial condition and operating results. We may be unsuccessful in maintaining legitimate means for our transfer and receipt of personal data from the EEA or Switzerland. We may experience reluctance or refusal by current or prospective European customers to use our products, and we and our customers may face a risk of enforcement actions by data protection authorities in the EEA relating to personal data transfers to us and by us from the EEA. Any such enforcement actions could result in substantial costs and diversion of resources, distract management and technical personnel and negatively affect our business, operating results and financial condition. Some countries also are considering or have passed legislation requiring local storage and processing of data, or similar requirements, which could increase the cost and complexity of delivering our services.
52

In addition to laws and regulations, privacy advocacy and industry groups or other private parties may propose new and different privacy standards that either legally or contractually apply to us. Because the interpretation and application of privacy and data protection laws, regulations, standards and contractual obligations are uncertain, it is possible that they may be interpreted and applied in a manner that is, or perceived to be, inconsistent with our data management practices or the features of our solutions. If so, in addition to the possibility of regulatory investigations and enforcement actions, fines, lawsuits and other claims, other forms of injunctive or operations-limiting relief, and damage to our reputations and loss of goodwill, we could be required to fundamentally change our business activities and practices or modify our solutions and may face limitations in our ability to develop new solutions and features, any of which could have an adverse effect on our business. Any inability to adequately address privacy concerns, even if unfounded, or any actual or perceived inability to comply with applicable privacy or data protection laws, regulations and privacy standards, could result in cost and liability to us, damage our reputation, inhibit sales of subscriptions and harm our business.
Furthermore, the costs of compliance with, and other burdens imposed by, the laws, regulations, and privacy standards that are applicable to the businesses of our customers may limit the use and adoption of, and reduce the overall demand for, our solutions. Privacy concerns, whether valid or not valid, may inhibit market adoption of our solutions particularly in certain industries and foreign countries.
We use AI/machine learning technologies in our solutions that could result in harm to our business and operating results.
We have incorporated and may continue to incorporate additional AI/machine learning solutions and features into our solutions, and these solutions and features may become more important to our operations or to our future growth over time. We expect to rely on AI/machine learning solutions and features to help drive future growth in our business, but there can be no assurance that we will realize the desired or anticipated benefits from AI/machine learning or at all. We may also fail to properly implement or market our AI/machine learning solutions and features. Our competitors or other third parties may incorporate AI/machine learning into their products, offerings, and solutions more quickly or more successfully than us, which could impair our ability to compete effectively and adversely affect our results of operations. Additionally, our offerings based on AI/machine learning may expose us to additional claims, demands and proceedings by private parties and regulatory authorities and subject us to legal liability as well as brand and reputational harm. The legal, regulatory, and policy environments around AI/machine learning are evolving rapidly, and we may become subject to new and evolving legal and other obligations. These and other developments may require us to make significant changes to our use of AI/machine learning, including by limiting or restricting our use of AI/machine learning, and which may require us to make significant changes to our policies and practices, which may necessitate expenditure of significant time, expense, and other resources, AI/machine learning also presents emerging ethical issues that could harm our reputation and business if our use of AI/machine learning becomes controversial.
Our solutions contain third-party open source software components, and our failure to comply with the terms of the underlying open source software licenses could restrict our ability to sell our solutions.
Our solutions contain software licensed to us by third-parties under so-called “open source” licenses, including the GNU General Public License, the GNU Lesser General Public License, the BSD License, the Apache License and others. From time to time, there have been claims against companies that distribute or use open source software in their products and services, asserting that such open source software infringes the claimants’ intellectual property rights. We could be subject to suits by parties claiming that what we believe to be licensed open source software infringes their intellectual property rights. Use and distribution of open source software may entail greater risks than use of third-party commercial software, as open source licensors generally do not provide warranties or other contractual protections regarding infringement claims or the quality of the code. In addition, certain open source licenses require that source code for software programs that are subject to the license be made available to the public and that any modifications or derivative works to such open source software continue to be licensed under the same terms. If we combine our proprietary software with open source software in certain ways, we could, in some circumstances, be required to release the source code of our proprietary software to the public. Disclosing the source code of our proprietary software could make it easier for cyber attackers and other third parties to discover vulnerabilities in or to defeat the protections of our solutions, which could result in our solutions failing to provide our customers with the security they expect from our services. This could harm our business and reputation. Disclosing our proprietary source code also could allow our competitors to create similar products with lower development effort and time and ultimately could result in a loss of sales for us. Any of these events could have a material adverse effect on our business, operating results and financial condition.
53

Although we monitor our use of open source software in an effort both to comply with the terms of the applicable open source licenses and to avoid subjecting our solutions to conditions we do not intend, the terms of many open source licenses have not been interpreted by U.S. courts, and there is a risk that these licenses could be construed in a way that could impose unanticipated conditions or restrictions on our ability to commercialize our solutions. In this event, we could be required to seek licenses from third parties to continue offering our solutions, to make our proprietary code generally available in source code form, to re-engineer our solutions or to discontinue the sale of our solutions if re-engineering could not be accomplished on a timely basis, any of which could adversely affect our business, operating results and financial condition.
We use third-party software and data that may be difficult to replace or cause errors or failures of our solutions that could lead to lost customers or harm to our reputation and our operating results.
We license third-party software as well as security and compliance data from various third parties to deliver our solutions. In the future, this software or data may not be available to us on commercially reasonable terms, or at all. Any loss of the right to use any of this software or data could result in delays in the provisioning of our solutions until equivalent technology or data is either developed by us, or, if available, is identified, obtained and integrated, which could harm our business. In addition, any errors or defects in or failures of this third-party software or data could result in errors or defects in our solutions or cause our solutions to fail, which could harm our business and be costly to correct. Many of these providers attempt to impose limitations on their liability for such errors, defects or failures, and if enforceable, we may have additional liability to our customers or third-party providers that could harm our reputation and increase our operating costs.
We will need to maintain our relationships with third-party software and data providers, and to obtain software and data from such providers that do not contain any errors or defects. Any failure to do so could adversely impact our ability to deliver effective solutions to our customers and could harm our operating results.
Failure to protect our proprietary technology and intellectual property rights could substantially harm our business and operating results.
The success of our business depends in part on our ability to protect and enforce our trade secrets, trademarks, copyrights, patents and other intellectual property rights. We attempt to protect our intellectual property under copyright, trade secret, patent and trademark laws, and through a combination of confidentiality procedures, contractual provisions and other methods, all of which offer only limited protection.
We primarily rely on our unpatented proprietary technology and trade secrets. Despite our efforts to protect our proprietary technology and trade secrets, unauthorized parties may attempt to misappropriate, reverse engineer or otherwise obtain and use them. The contractual provisions that we enter into with employees, consultants, partners, vendors and customers may not prevent unauthorized use or disclosure of our proprietary technology or intellectual property rights and may not provide an adequate remedy in the event of unauthorized use or disclosure of our proprietary technology or intellectual property rights. Moreover, policing unauthorized use of our technologies, solutions and intellectual property is difficult, expensive and time-consuming, particularly in foreign countries where the laws may not be as protective of intellectual property rights as those in the United States and where mechanisms for enforcement of intellectual property rights may be weak. We may be unable to determine the extent of any unauthorized use or infringement of our solutions, technologies or intellectual property rights.
The process of obtaining patent protection is expensive and time-consuming, and we may not be able to prosecute all necessary or desirable patent applications at a reasonable cost or in a timely manner, if at all. We may choose not to seek patent protection for certain innovations and may choose not to pursue patent protection in certain jurisdictions.
Furthermore, it is possible that our patent applications may not result in granted patents, that the scope of our issued patents will be limited or not provide the coverage originally sought, that our issued patents will not provide us with any competitive advantages, or that our patents and other intellectual property rights may be challenged by others or invalidated through administrative processes or litigation. In addition, issuance of a patent does not guarantee that we have an absolute right to practice the patented invention. As a result, we may not be able to obtain adequate patent protection or to enforce our issued patents effectively.
54

From time to time, legal action by us may be necessary to enforce our patents and other intellectual property rights, to protect our trade secrets, to determine the validity and scope of the intellectual property rights of others or to defend against claims of infringement or invalidity. Such litigation could result in substantial costs and diversion of resources and could negatively affect our business, operating results and financial condition. If we are unable to protect our intellectual property rights, we may find ourselves at a competitive disadvantage to others who need not incur the additional expense, time and effort required to create the innovative solutions that have enabled us to be successful to date.
Assertions by third parties of infringement or other violations by us of their intellectual property rights could result in significant costs and harm our business and operating results.
Patent and other intellectual property disputes are common in our industry. Some companies, including some of our competitors, own large numbers of patents, copyrights and trademarks, which they may use to assert claims against us. Third parties may in the future assert claims of infringement, misappropriation or other violations of intellectual property rights against us. They may also assert such claims against our customers or channel partners whom we typically indemnify against claims that our solutions infringe, misappropriate or otherwise violate the intellectual property rights of third parties. As the numbers of products and competitors in our market increase and overlaps occur, claims of infringement, misappropriation and other violations of intellectual property rights may increase. Any claim of infringement, misappropriation or other violation of intellectual property rights by a third party, even those without merit, could cause us to incur substantial costs defending against the claim and could distract our management from our business.
The patent portfolios of our most significant competitors are larger than ours. This disparity may increase the risk that they may sue us for patent infringement and may limit our ability to counterclaim for patent infringement or settle through patent cross-licenses. In addition, future assertions of patent rights by third parties, and any resulting litigation, may involve patent holding companies or other adverse patent owners who have no relevant product revenues and against whom our own patents may therefore provide little or no deterrence or protection. There can be no assurance that we will not be found to infringe or otherwise violate any third-party intellectual property rights or to have done so in the past.
An adverse outcome of a dispute may require us to:
pay substantial damages, including treble damages, if we are found to have willfully infringed a third party’s patents or copyrights;
cease making, licensing or using solutions that are alleged to infringe or misappropriate the intellectual property of others;
expend additional development resources to attempt to redesign our solutions or otherwise develop non-infringing technology, which may not be successful;
enter into potentially unfavorable royalty or license agreements in order to obtain the right to use necessary technologies or intellectual property rights; and
indemnify our partners and other third parties.
In addition, royalty or licensing agreements, if required or desirable, may be unavailable on terms acceptable to us, or at all, and may require significant royalty payments and other expenditures. Some licenses may also be non-exclusive, and therefore our competitors may have access to the same technology licensed to us. Any of the foregoing events could seriously harm our business, financial condition and results of operations.
Governmental export or import controls could subject us to liability if we violate them or limit our ability to compete in foreign markets.
Our solutions are subject to U.S. export controls, specifically, the Export Administration Regulations and economic sanctions enforced by the Office of Foreign Assets Control. We incorporate encryption technology into certain of our solutions. These encryption solutions and the underlying technology may be exported only with the required export authorizations, including by license, a license exception or other appropriate government authorizations. U.S. export controls may require submission of an encryption registration, product classification and/or annual or semi-annual reports. Governmental regulation of encryption technology and regulation of imports or exports of encryption products, or our failure to obtain required import or export authorization for our solutions, when applicable, could harm our international sales and adversely affect our revenues. Compliance with applicable regulatory requirements regarding the export of our solutions, including with respect to new releases of our solutions, may create delays in the introduction of our solutions in international markets, prevent our customers with international operations from deploying our solutions throughout their
55

globally-distributed systems or, in some cases, prevent the export of our solutions to some countries altogether. In addition, various countries regulate the import of our appliance-based solutions and have enacted laws that could limit our ability to distribute solutions or could limit our customers’ ability to implement our solutions in those countries. Any new export or import restrictions, new legislation or shifting approaches in the enforcement or scope of existing regulations, or in the countries, persons or technologies targeted by such regulations, could result in decreased use of our solutions by existing customers with international operations, declining adoption of our solutions by new customers with international operations and decreased revenues. If we fail to comply with export and import regulations, we may be fined or other penalties could be imposed, including denial of certain export privileges.
If we are required to collect higher sales and use or other taxes on the solutions we sell, we may be subject to liability for past sales and our future sales may decrease.
Taxing jurisdictions, including state and local entities, have differing rules and regulations governing sales and use or other taxes, and these rules and regulations are subject to varying interpretations that may change over time. In particular, the applicability of sales taxes to our subscription services in various jurisdictions is unclear. It is possible that we could face sales tax audits and that our liability for these taxes could exceed our estimates as tax authorities could still assert that we are obligated to collect additional amounts as taxes from our customers and remit those taxes to those authorities. We could also be subject to audits with respect to state and international jurisdictions for which we may not have accrued tax liabilities. A successful assertion that we should be collecting additional sales or other taxes on our services in jurisdictions where we have not historically done so and do not accrue for sales taxes could result in substantial tax liabilities for past sales, discourage customers from purchasing our solutions or otherwise harm our business and operating results.
Changes in our income tax provision or adverse outcomes resulting from examination of our income tax returns could adversely affect our operating results. We could be subject to additional taxes.
We are subject to income taxes in the United States and various foreign jurisdictions, and our domestic and international tax liabilities are subject to the allocation of expenses in differing jurisdictions. Our tax rate is affected by changes in the mix of earnings and losses in countries with differing statutory tax rates, certain non-deductible expenses, excess tax benefits arising from stock-based compensation, other tax benefits and credits, and the valuation of deferred tax assets and liabilities. Increases in our effective tax rate could harm our operating results.
Additionally, significant judgment is required in evaluating our tax positions and our worldwide tax provisions. During the ordinary course of business, there are many activities and transactions for which the ultimate tax determination is uncertain. In addition, our tax obligations and effective tax rates could be adversely affected by changes in the relevant tax, accounting and other laws, regulations, principles and interpretations, including those relating to income tax nexus, by recognizing tax losses or lower than anticipated earnings in jurisdictions where we have lower statutory rates and higher than anticipated earnings in jurisdictions where we have higher statutory rates, by changes in foreign currency exchange rates, or by changes in the valuation of our deferred tax assets and liabilities. The Tax Cuts and Jobs Act of 2017 introduced a Base Erosion and Anti-Abuse Tax which imposes a minimum tax on adjusted income of corporations with average applicable gross receipt of at least $500 million for prior three tax years and that make certain payments to related foreign persons. While these rules do not impact our results of operations in the current year, these could impact our financial results in future periods. The Organization for Economic Cooperation and Development has issued model rules in connection with the Base Erosion and Profit Shifting integrated framework that determine multi-jurisdictional taxing rights (Pillar One) and the minimum rate of tax applicable to certain types of income (Pillar Two). Many countries have enacted legislation to apply the Pillar Two directive for tax years beginning in January 2024, which generally provides for a minimum effective tax rate of 15% on the income arising in each jurisdiction where the Company operates. We do not anticipate these rules to have an impact on our current year’s financial results. If applicable in the future, these could have an impact on our financial results, the extent of which is currently uncertain. We may be audited in various jurisdictions, and such jurisdictions may assess additional taxes, sales taxes and value-added taxes against us. Although we believe our tax estimates are reasonable, the final determination of any tax audits or litigation could be materially different from our historical tax provisions and accruals, which could have a material adverse effect on our operating results or cash flows in the period or periods for which a determination is made.
56

Risks Related to Ownership of Our Common Stock
Market volatility may affect our stock price and the value of an investment in our common stock and could subject us to litigation.
The trading price of our common stock has been, and may continue to be, subject to significant fluctuations in response to a number of factors, most of which we cannot predict or control, including:
announcements of new solutions, services or technologies, commercial relationships, acquisitions or other events by us or our competitors;
fluctuations in stock market prices and trading volumes of securities of similar companies;
general market conditions and overall fluctuations in U.S. equity markets;
variations in our operating results, or the operating results of our competitors;
changes in our financial guidance or securities analysts’ estimates of our financial performance;
changes in accounting principles;
sales of large blocks of our common stock, including sales by our executive officers, directors and significant stockholders;
additions or departures of any of our key personnel;
announcements related to litigation;
changing legal or regulatory developments in the United States and other countries; and
discussion of us or our stock price by the financial press and in online investor communities.
In addition, the stock market in general, and the stocks of technology companies such as ours in particular, have experienced substantial price and volume volatility that is often seemingly unrelated to the operating performance of particular companies. These broad market fluctuations may cause the trading price of our common stock to decline. In the past, securities class action litigation has often been brought against a company after a period of volatility in the trading price of its common stock. We may become involved in this type of litigation in the future. Any securities litigation claims brought against us could result in substantial expenses and the diversion of our management’s attention from our business.
Our actual operating results may differ significantly from our guidance.
From time to time, we have released, and may continue to release, guidance in our quarterly earnings conference calls, quarterly earnings releases, or otherwise, regarding our future performance that represents our management's estimates as of the date of release. This guidance, which includes forward-looking statements, has been and will be based on projections prepared by our management. These projections are not prepared with a view toward compliance with published guidelines of the American Institute of Certified Public Accountants, and neither our registered public accountants nor any other independent expert or outside party compiles or examines the projections. Accordingly, no such person expresses any opinion or any other form of assurance with respect to the projections.
Projections are based upon a number of assumptions and estimates that, while presented with numerical specificity, are inherently subject to significant business, economic and competitive uncertainties and contingencies, many of which are beyond our control and are based upon specific assumptions with respect to future business decisions, some of which will change. We intend to state possible outcomes as high and low ranges which are intended to provide a sensitivity analysis as variables are changed but are not intended to imply that actual results could not fall outside of the suggested ranges. The principal reason that we release guidance is to provide a basis for our management to discuss our business outlook with analysts and investors. We do not accept any responsibility for any projections or reports published by any such third parties.
Guidance is necessarily speculative in nature, and it can be expected that some or all of the assumptions underlying the guidance furnished by us will not materialize or will vary significantly from actual results. Accordingly, our guidance is only an estimate of what management believes is realizable as of the date of release. Actual results may vary from our guidance and the variations may be material. In light of the foregoing, investors are urged not to rely upon our guidance in making an investment decision regarding our common stock.
57

Any failure to successfully implement our operating strategy or the occurrence of any of the events or circumstances set forth in this “Risk Factors” section in this Quarterly Report on Form 10-Q could result in our actual operating results being different from our guidance, and the differences may be adverse and material.
Future sales of shares by existing stockholders could cause our stock price to decline.
The market price of shares of our common stock could decline as a result of substantial sales of our common stock, particularly sales by our directors, executive officers, employees and significant stockholders, a large number of shares of our common stock becoming available for sale, or the perception in the market that holders of a large number of shares intend to sell their shares. As of March 31, 2024, we had approximately 37.0 million shares of our common stock outstanding.
In addition, as of March 31, 2024, there were approximately 1.5 million options and 1.0 million restricted stock units outstanding. If such options are exercised and restricted stock units are released, these additional shares will become available for sale. As of March 31, 2024, we had an aggregate of 1.7 million shares of our common stock reserved for future issuance under our Restated 2012 Equity Incentive Plan and 0.5 million shares reserved for future purchase under our 2021 Employee Stock Purchase Plan, which can be freely sold in the public market upon issuance. If a large number of these shares are sold in the public market, the sales could reduce the trading price of our common stock.
We cannot guarantee that our share repurchase program will be fully consummated or that it will enhance stockholder value, and any share repurchases we make could affect the price of our common stock.
On February 12, 2018, we announced that our board of directors had authorized a $100.0 million repurchase program. On each of October 30, 2018, October 30, 2019, May 7, 2020, February 10, 2021 and February 9, 2023, we announced that our board of directors had authorized an increase of $100.0 million, and on each of November 3, 2021, May 4, 2022 and February 7, 2024, we announced that our board of directors had authorized an increase of $200.0 million to the share repurchase program, resulting in an aggregate authorization of $1.2 billion as of March 31, 2024. Although our board of directors authorized the share repurchase program, we are not obligated to repurchase any specific dollar amount or to acquire any specific number of shares. The share repurchase program could affect the price of our common stock, increase volatility and diminish our cash reserves. In addition, it may be suspended or terminated at any time, which may result in a decrease in the price of our common stock. Finally, our share repurchases in 2023 and 2024 were subject to the 1% excise tax introduced in the Inflation Reduction Act. The amount of share repurchases subject to the excise tax are reduced by the fair market value of any shares issued during the taxable year. This provision does not currently, nor do we expect it to in the future, have a material impact to our results of operations. During the three months ended March 31, 2024, we repurchased 0.1 million shares of our common stock for approximately $18.0 million. As of March 31, 2024, approximately $265.7 million remained available for share repurchases pursuant to our share repurchase program.
We do not intend to pay dividends on our common stock and therefore any returns will be limited to the value of our stock.
We have never declared or paid any cash dividend on our common stock. We currently anticipate that we will retain future earnings for the development, operation and expansion of our business and do not anticipate declaring or paying any cash dividends for the foreseeable future. Any return to stockholders will therefore be limited to the value of their stock.
Anti-takeover provisions in our charter documents and under Delaware law could make an acquisition of us, which may be beneficial to our stockholders, more difficult and may prevent attempts by our stockholders to replace or remove our current management.
Our amended and restated certificate of incorporation and amended and restated bylaws contain provisions that may delay or prevent an acquisition of us or a change in our management. These provisions include:
authorizing “blank check” preferred stock, which could be issued by our board of directors without stockholder approval and may contain voting, liquidation, dividend and other rights superior to our common stock, which would increase the number of outstanding shares and could thwart a takeover attempt;
a classified board of directors whose members can only be dismissed for cause;
the prohibition on actions by written consent of our stockholders;
58

the limitation on who may call a special meeting of stockholders;
the establishment of advance notice requirements for nominations for election to our board of directors or for proposing matters that can be acted upon at stockholder meetings; and
the requirement of at least two-thirds of the outstanding capital stock to amend any of the foregoing second through fifth provisions.
In addition, because we are incorporated in Delaware, we are governed by the provisions of Section 203 of the Delaware General Corporation Law, which limits the ability of stockholders owning in excess of 15% of our outstanding voting stock to merge or combine with us. Although we believe these provisions collectively provide for an opportunity to obtain greater value for stockholders by requiring potential acquirers to negotiate with our board of directors, they would apply even if an offer rejected by our board of directors were considered beneficial by some stockholders. In addition, these provisions may frustrate or prevent any attempts by our stockholders to replace or remove our current management by making it more difficult for stockholders to replace members of our board of directors, which is responsible for appointing the members of our management.
General Risk Factors
Disruptive technologies could gain wide adoption and supplant our cloud-based IT, security and compliance solutions, thereby weakening our sales and harming our results of operations.
The introduction of products and services embodying new technologies could render our existing solutions obsolete or less attractive to customers. Our business could be harmed if new IT, security and compliance technologies are widely adopted. We may not be able to successfully anticipate or adapt to changing technology or customer requirements on a timely basis, or at all. If we fail to keep up with technological changes or to convince our customers and potential customers of the value of our solutions even in light of new technologies, our business could be harmed and our revenues may decline.
We may not maintain profitability in the future.
We may not be able to sustain or increase our growth or maintain profitability in the future. We plan to continue to invest in our infrastructure, new solutions, research and development and sales and marketing, and as a result, we cannot assure you that we will maintain profitability. We may incur losses in the future for a number of reasons, including without limitation, the other risks and uncertainties described in this Quarterly Report on Form 10-Q. Additionally, we may encounter unforeseen operating expenses, difficulties, complications, delays and other unknown factors that may result in losses in future periods. If our revenue growth does not meet our expectations in future periods, our financial performance may be harmed and we may not again achieve or maintain profitability in the future.
Forecasts of market growth may prove to be inaccurate, and even if the markets in which we compete achieve the forecasted growth, there can be no assurance that our business will grow at similar rates, or at all.
Growth forecasts relating to the expected growth in the market for IT, security and compliance and other markets are subject to significant uncertainty and are based on assumptions and estimates which may prove to be inaccurate. Even if these markets experience the forecasted growth, we may not grow our business at similar rates, or at all. Our growth is subject to many factors, including our success in implementing our business strategy, which is subject to many risks and uncertainties. Accordingly, forecasts of market growth should not be taken as indicative of our future growth.
Our financial results are based in part on our estimates or judgments relating to our critical accounting policies. These estimates or judgments may prove to be incorrect, which could harm our operating results and result in a decline in our stock price.
The preparation of financial statements in conformity with U.S. GAAP requires management to make estimates and assumptions that affect the amounts reported in the condensed consolidated financial statements and accompanying notes. We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances, as provided in the section titled “Part I, Item 2 - Management’s Discussion and Analysis of Financial Condition and Results of Operations,” the results of which form the basis for making judgments about the carrying values of assets, liabilities, equity, revenues and expenses that are not readily apparent from other sources. Our operating results may be adversely affected if our assumptions change or if actual circumstances differ from those in our assumptions, which
59

could cause our operating results to fall below the expectations of securities analysts and investors, resulting in a decline in our stock price. Significant assumptions and estimates used in preparing our condensed consolidated financial statements include those related to revenue recognition, accounting for income taxes and stock-based compensation.
Changes in financial accounting standards may cause adverse and unexpected revenue fluctuations and impact our reported results of operations.
We prepare our financial statements in accordance with U.S. GAAP. These principles are subject to interpretation by the SEC and various bodies formed to interpret and create appropriate accounting principles. A change in these accounting standards or practices could harm our operating results and could have a significant effect on our reporting of transactions and reported results and may even retroactively affect previously reported transactions. New accounting pronouncements and varying interpretations of accounting pronouncements have occurred and may occur in the future. Changes to existing rules or the questioning of current practices may harm our operating results or require that we make significant changes to our systems, processes and controls or the way we conduct our business.
If we fail to maintain an effective system of internal control over financial reporting, our ability to produce timely and accurate financial statements or comply with applicable regulations could be impaired.
As a public company, we are subject to the reporting requirements of the Securities Exchange Act of 1934, or the Exchange Act, the Sarbanes-Oxley Act of 2002, or the Sarbanes-Oxley Act, and the rules and regulations of the NASDAQ Stock Market. To continue to comply with the requirements of being a public company, we may need to undertake various actions, such as implementing additional internal controls and procedures and hiring additional accounting or internal audit staff.
Our internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements in accordance with U.S. GAAP. Our current controls and any new controls that we develop may become inadequate because of changes in conditions in our business. Any failure to maintain effective controls, or any difficulties encountered in their improvement, could harm our operating results or cause us to fail to meet our reporting obligations. Any failure to maintain effective internal control over financial reporting also could adversely affect the results of periodic management evaluations regarding the effectiveness of our internal control over financial reporting that we are required to include in our periodic reports we file with the SEC under Section 404 of the Sarbanes-Oxley Act. While we were able to assert in our Annual Report on Form 10-K that our internal control over financial reporting was effective as of December 31, 2023, we cannot predict the outcome of our testing in future periods. If we are unable to assert in any future reporting period that our internal control over financial reporting is effective (or if our independent registered public accounting firm is unable to express an opinion on the effectiveness of our internal controls), investors may lose confidence in our operating results and our stock price could decline. In addition, if we are unable to continue to meet these requirements, we may not be able to remain listed on the NASDAQ Stock Market.
Item 2.                                  Unregistered Sales of Equity Securities and Use of Proceeds
A summary of our repurchases of common stock during the three months ended March 31, 2024 is as follows:

PeriodTotal Number of Shares PurchasedAverage Price Paid per Share
Total Number of Shares Purchased
as Part of Publicly Announced Plan
or Program (1)
Approximate
Dollar Value of
Shares that May
Yet Be Purchased under the Plan or
Program
January 1 - January 31, 202424,000$190.16 24,000$79,118,127 
February 1 - February 29, 202450,500$168.11 50,500$270,628,594 
March 1 - March 31, 202430,000$165.84 30,000$265,653,363 
Total104,500104,500 
(1) On February 12, 2018, we announced that our board of directors authorized a $100.0 million share repurchase program. On each of October 30, 2018, October 30, 2019, May 7, 2020, February 10, 2021 and February 9, 2023, we announced that our board of directors had authorized an increase of $100.0 million, and on each of November 3, 2021,
60

May 4, 2022 and February 7, 2024, we announced that our board of directors had authorized an increase of $200.0 million to the share repurchase program, resulting in an aggregate authorization of $1.2 billion as of March 31, 2024. Shares may be repurchased from time to time on the open market in accordance with Rule 10b-18 of the Exchange Act of 1934. We have entered into a pre-set trading plan adopted in accordance with Rule 10b5-1 under the Exchange Act to effect repurchases under our share repurchase program. All share repurchases have been made using cash resources. Our share repurchase program does not have an expiration date.
Item 3.                                  Defaults upon Senior Securities
None.
Item 4.                                  Mine Safety Disclosures
None.
Item 5.                                  Other Information
Securities Trading Plans of Directors and Executive Officers
During the three months ended March 31, 2024, the following directors and officer, as defined in Rule 16a-1(f), adopted a “Rule 10b5-1 trading arrangement” as defined in Regulation S-K Item 408, as follows:
On February 23, 2024, Wendy M. Pfeiffer, a member of our board of directors, adopted a Rule 10b5-1 trading arrangement providing for the sale from time to time of an aggregate of up to 2,000 shares of our common stock. The trading arrangement is intended to satisfy the affirmative defense in Rule 10b5-1(c). The duration of the trading arrangement is until May 23, 2025, or earlier if all transactions under the trading arrangement are completed. Prior to entering into the new Rule 10b5-1 trading arrangement in February 2024, Ms. Pfeiffer’s previous Rule 10b5-1 trading arrangement expired according to its terms because all the transactions under the arrangement were completed.
On February 28, 2024, Sumedh S. Thakar, our Chief Executive Officer and a member of our board of directors, adopted a Rule 10b5-1 trading arrangement providing for the sale from time to time of an aggregate of up to 114,000 shares of our common stock, which represents the gross number of shares authorized to be sold during the duration of the plan, before excluding any shares withheld by the company to satisfy its income tax withholding in connection with the net settlement of the equity awards. The trading arrangement is intended to satisfy the affirmative defense in Rule 10b5-1(c). The duration of the trading arrangement is until May 28, 2025, or earlier if all transactions under the trading arrangement are completed.
No other director or officer, as defined in Rule 16a-1(f), adopted or terminated a “Rule 10b5-1 trading arrangement” or a “non-Rule 10b5-1 trading arrangement,” as defined in Regulation S-K Item 408, during the three months ended March 31, 2024.
61

Item 6.                                  Exhibits
Exhibit NumberDescription
31.1
31.2
32.1^
32.2^
101 INSInline XBRL Instance Document - the instance document does not appear in the interactive data file because its XBRL tags are embedded within the inline XBRL document.
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 Labels Linkbase Document.
101 PREInline XBRL Taxonomy Extension Presentation Linkbase Document.
104Cover Page Interactive Data File - the cover page interactive data is embedded within the Inline XBRL document or included within Exhibit 101 attachments.
^Exhibits 32.1 and 32.2 are being furnished and shall not be deemed to be “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, as amended (the “Exchange Act”), or otherwise subject to the liability of that section, nor shall such exhibits be deemed to be incorporated by reference in any registration statement or other document filed under the Securities Act of 1933, as amended, or the Exchange Act, except as otherwise specifically stated in such filing.
62

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, in the City of Foster City, State of California on May 7, 2024.
QUALYS, INC.
By:/s/ JOO MI KIM
Name: Joo Mi Kim
Title: Chief Financial Officer
(principal financial and accounting officer)
63
EX-31.1 2 qlys-20240331xex311.htm EX-31.1 Document

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

EX-31.2 3 qlys-20240331xex312.htm EX-31.2 Document

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

EX-32.1 4 qlys-20240331xex321.htm EX-32.1 Document

Exhibit 32.1
CERTIFICATION OF CHIEF EXECUTIVE OFFICER
PURSUANT TO RULE 13a-14(b) OR RULE 15d-14(b)
OF THE SECURITIES EXCHANGE ACT OF 1934 AND 18 U.S.C. SECTION 1350
In connection with the Quarterly Report of Qualys, Inc. (the “Company”) on Form 10-Q for the quarter ended March 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Sumedh Thakar, President and Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that, to the best of my knowledge:
(1)The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
(2)The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
Date:
May 7, 2024
By:/s/ SUMEDH THAKAR
Sumedh Thakar
President and Chief Executive Officer
(principal executive officer)
Qualys, Inc.

EX-32.2 5 qlys-20240331xex322.htm EX-32.2 Document

Exhibit 32.2
CERTIFICATION OF CHIEF FINANCIAL OFFICER
PURSUANT TO RULE 13a-14(b) OR RULE 15d-14(b)
OF THE SECURITIES EXCHANGE ACT OF 1934 AND 18 U.S.C. SECTION 1350
In connection with the Quarterly Report of Qualys, Inc. (the “Company”) on Form 10-Q for the quarter ended March 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Joo Mi Kim, Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. § 1350, as adopted pursuant to § 906 of the Sarbanes-Oxley Act of 2002, that, to the best of my knowledge:
(1)The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
(2)The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
Date:
May 7, 2024
By:/s/ JOO MI KIM
Joo Mi Kim
Chief Financial Officer
(principal financial and accounting officer)
Qualys, Inc.

EX-101.SCH 6 qlys-20240331.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - Condensed Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - Condensed Consolidated Statements of Operations link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - Condensed Consolidated Statements of Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - Condensed Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - Condensed Consolidated Statements of Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Description of Business and Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Fair Value of Financial Instruments link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Accumulated Other Comprehensive Income (Loss) link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Property and Equipment, Net link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Revenue from Contracts with Customers link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Intangible Assets, Net link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Stockholders' Equity and Stock-based Compensation link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Segment and Geographic Area Information link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Net Income Per Share link:presentationLink link:calculationLink link:definitionLink 9954471 - Disclosure - Description of Business and Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9954472 - Disclosure - Fair Value of Financial Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 9954473 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables) link:presentationLink link:calculationLink link:definitionLink 9954474 - Disclosure - Property and Equipment, Net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954475 - Disclosure - Revenue from Contracts with Customers (Tables) link:presentationLink link:calculationLink link:definitionLink 9954476 - Disclosure - Intangible Assets, Net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954477 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 9954478 - Disclosure - Stockholders' Equity and Stock-based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 9954479 - Disclosure - Segment and Geographic Area Information (Tables) link:presentationLink link:calculationLink link:definitionLink 9954480 - Disclosure - Net Income Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954481 - Disclosure - Fair Value of Financial Instruments - Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954482 - Disclosure - Fair Value of Financial Instruments - Cash and Cash Equivalents (Details) link:presentationLink link:calculationLink link:definitionLink 9954483 - Disclosure - Fair Value of Financial Instruments - Summary of Securities in Unrealized Loss Positions (Details) link:presentationLink link:calculationLink link:definitionLink 9954484 - Disclosure - Fair Value of Financial Instruments - Summary of the Fair Value of Marketable Securities (Details) link:presentationLink link:calculationLink link:definitionLink 9954485 - Disclosure - Fair Value of Financial Instruments - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954486 - Disclosure - Fair Value of Financial Instruments - Summary of Derivative Financial Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 9954487 - Disclosure - Fair Value of Financial Instruments - Amounts Recognized In Statement of Operations (Details) link:presentationLink link:calculationLink link:definitionLink 9954488 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Components and Changes (Details) link:presentationLink link:calculationLink link:definitionLink 9954489 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Amounts Reclassified from AOCI (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - Property and Equipment, Net - Property and Equipment, Net (Details) link:presentationLink link:calculationLink link:definitionLink 9954491 - Disclosure - Property and Equipment, Net - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954492 - Disclosure - Revenue from Contracts with Customers - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954493 - Disclosure - Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954493 - Disclosure - Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954494 - Disclosure - Revenue from Contracts with Customers - Revenue by Sales Channel (Details) link:presentationLink link:calculationLink link:definitionLink 9954495 - Disclosure - Revenue from Contracts with Customers - Capitalized Cost to Obtain Contracts, Current and Noncurrent (Details) link:presentationLink link:calculationLink link:definitionLink 9954496 - Disclosure - Intangible Assets, Net- Carrying Value of Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954497 - Disclosure - Intangible Assets, Net - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - Intangible Assets, Net - Expected Amortization Expense in Future Periods (Details) link:presentationLink link:calculationLink link:definitionLink 9954499 - Disclosure - Leases - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954500 - Disclosure - Leases - Supplemental Cash Flow Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954501 - Disclosure - Leases- Weighted Average Remaining Lease Term and Weighted Average Discount Rate (Details) link:presentationLink link:calculationLink link:definitionLink 9954502 - Disclosure - Leases - Minimum Annual Lease Payments (Details) link:presentationLink link:calculationLink link:definitionLink 9954502 - Disclosure - Leases - Minimum Annual Lease Payments (Details) link:presentationLink link:calculationLink link:definitionLink 9954503 - Disclosure - Stockholders' Equity and Stock-based Compensation - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954504 - Disclosure - Stockholders' Equity and Stock-based Compensation - Summary of Stock-based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 9954505 - Disclosure - Stockholders' Equity and Stock-based Compensation - Share-based Compensation and Stock Options Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954506 - Disclosure - Stockholders' Equity and Stock-based Compensation - Summary of Restricted Stock Unit Activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954507 - Disclosure - Stockholders' Equity and Stock-based Compensation - Schedule of Repurchase Agreements (Details) link:presentationLink link:calculationLink link:definitionLink 9954508 - Disclosure - Income Taxes - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954509 - Disclosure - Segment and Geographic Area Information - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954510 - Disclosure - Segment and Geographic Area Information - Revenue and Property and Equipment, Net by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 9954511 - Disclosure - Net Income Per Share - Basic and Diluted Net Income Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 9954512 - Disclosure - Net Income Per Share - Anti-dilutive Net Income Per Share (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 qlys-20240331_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 8 qlys-20240331_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 9 qlys-20240331_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Deferred income taxes Deferred Income Taxes and Tax Credits Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Pay vs Performance Disclosure [Line Items] Accrued liabilities Accrued Liabilities, Current Statistical Measurement [Domain] Statistical Measurement [Domain] Research and development Research and development Research and Development Expense Changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Expiration period Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period Schedule of the Average Remaining Lease Term and the Weighted Average Discount Rate of Operating Leases Lessee, Weighted Average Remaining Lease Term and Weighted Average Discount Rate [Table Text Block] Tabular disclosure of lessee's weighted average remaining lease term and weighted average discount rate. Award Type [Domain] Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Remaining performance obligation, period Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Beginning balance (in shares) Ending balance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Accumulated Other Comprehensive Income (Loss) Accumulated Other Comprehensive Income Disclosure [Text Block] The entire note disclosure of accumulated other comprehensive income. MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Authorized Dollar Value Stock Repurchase Program [Roll Forward] Stock Repurchase Program Segment Reporting [Abstract] Accounts payable Accounts Payable, Current Computer equipment Computer Equipment [Member] Asset-backed securities Debt Securities, Available-for-Sale, Maturity, without Single Maturity Date, Fair Value Restatement Determination Date: Restatement Determination Date [Axis] Impairment loss related to deferred contract costs Capitalized Contract Cost, Impairment Loss Corporate bonds Corporate Debt Securities [Member] Total other income, net Nonoperating Income (Expense) Commitments and contingencies (Note 8) Commitments and Contingencies Insider Trading Policies and Procedures [Line Items] Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Assembled workforce Assembled Workforce [Member] Represents Assembled Workforce. Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Sumedh Thakar [Member] Sumedh Thakar Vested and expected to vest as of March 31, 2024 Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block] Proceeds from issuance of common stock through employee stock purchase plan Proceeds from Issuance of Common Stock Geographical [Axis] Geographical [Axis] Income Taxes Income Tax Disclosure [Text Block] Deferred revenues Increase (Decrease) in Contract with Customer, Liability Schedule of Share Repurchase Program Share Repurchase Program [Table Text Block] Tabular disclosure of share repurchase program. Noncurrent restricted cash Restricted Cash and Cash Equivalents, Noncurrent Total liabilities Financial Liabilities Fair Value Disclosure Total property and equipment Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization Current liabilities: Liabilities, Current [Abstract] Amortized Cost Debt Securities, Available-for-Sale, Amortized Cost [Abstract] Preferred stock, par value (in USD per share) Preferred Stock, Par or Stated Value Per Share Preferred stock: $0.001 par value; 20,000 shares authorized, no shares issued and outstanding as of March 31, 2024 and December 31, 2023 Preferred Stock, Value, Issued Weighted Average Grant Date Fair Value Per Share Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Wendy Pfeiffer [Member] Wendy Pfeiffer Payment of acquisition-related holdback Payment for Contingent Consideration Liability, Financing Activities Canceled (in USD per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price Diluted (in USD per share) Earnings Per Share, Diluted Reclassification of AOCI - Cash flow hedges AOCI Attributable to Parent [Abstract] PEO Total Compensation Amount PEO Total Compensation Amount Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Hedging Relationship [Axis] Hedging Relationship [Axis] Accounts receivable, net of allowance of $1,099 and $778 as of March 31, 2024 and December 31, 2023, respectively Accounts Receivable, after Allowance for Credit Loss, Current Foreign currency forward contracts Foreign currency forward contracts, liability Foreign Currency Contracts, Liability, Fair Value Disclosure Vested and expected to vest (in USD per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price Net change in unrealized gains (losses) on cash flow hedges, net of tax Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax, Parent Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Beginning balance (in shares) Ending balance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number Issuance of common stock upon exercise of stock options Stock Issued During Period, Value, Stock Options Exercised Trading Symbol Trading Symbol U.S. Treasury and government agencies US Government Agencies Debt Securities [Member] Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Granted (in USD per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Net income Net income Net Income (Loss) Total current liabilities Liabilities, Current Derivative Contract [Domain] Derivative Contract [Domain] Fair Value Disclosures [Abstract] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Indefinite-Lived Intangible Assets, Major Class Name [Domain] Indefinite-Lived Intangible Assets, Major Class Name [Domain] Liabilities and Stockholders’ Equity Liabilities and Equity [Abstract] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Issuance of common stock upon vesting of restricted stock units (in shares) Issuance of common stock upon vesting of restricted stock units (in shares) Number of shares issued during period for restricted stock vested. Repurchase of common stock Stock Repurchased During Period, Value Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] Stockholders’ equity: Equity, Attributable to Parent [Abstract] Unrealized Losses Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax Deferred revenue Contract with Customer, Liability Issuance of common stock upon exercise of stock options (in shares) Exercised (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Schedule of Earnings Per Share, Basic and Diluted Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Vesting period (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Executive Category: Executive Category [Axis] Contract with Customer, Sales Channel [Axis] Contract with Customer, Sales Channel [Axis] Net gains from non-designated forward contracts Gain (Loss) on Foreign Currency Derivative Instruments Not Designated as Hedging Instruments Foreign Exchange Contract Foreign Exchange Contract [Member] Outstanding RSUs Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Exercised (in USD per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Level 1 Fair Value, Inputs, Level 1 [Member] Name Measure Name Patent licenses Patents [Member] Name Forgone Recovery, Individual Name Goodwill Goodwill Schedule of Property, Plant and Equipment, Net Property, Plant and Equipment [Table Text Block] Equity Components [Axis] Equity Components [Axis] Financial Instruments [Domain] Financial Instruments [Domain] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Hedging Relationship [Domain] Hedging Relationship [Domain] Shares available for grant (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant Granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross Underlying Securities Award Underlying Securities Amount Entity Small Business Entity Small Business Local Phone Number Local Phone Number Accounts receivable Increase (Decrease) in Accounts Receivable Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Derivative Derivative, Notional Amount Measurement Frequency [Axis] Measurement Frequency [Axis] Operating lease liabilities, noncurrent Operating Lease, Liability, Noncurrent Schedule of the Fair Value of Cash Equivalents and Marketable Securities by Contractual Maturity Investments Classified by Contractual Maturity Date [Table Text Block] Amount reclassified into income during the period Reclassification from AOCI, Current Period, before Tax, Attributable to Parent Restricted stock units Restricted Stock Units (RSUs) [Member] Schedule of RSU Activity Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block] Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Reclassification out of Accumulated Other Comprehensive Income [Axis] Reclassification out of Accumulated Other Comprehensive Income [Axis] Mature over Two Years Debt Securities, Available-For-Sale, Fair Value, Maturity, Allocated And Single Maturity Date, Over Two Years Represents fair value of available-for-sale for debt maturities after year two. Income Statement Location [Axis] Income Statement Location [Axis] U.S. Treasury and government agencies US Government Corporations and Agencies Securities [Member] Taxes related to net share settlement of equity awards Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation Schedule of Lease Maturities Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] Schedule of Potentially Dilutive Shares Excluded from Diluted Net Income Per Share Calculation Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block] Other Performance Measure, Amount Other Performance Measure, Amount Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Research and development Research and Development Expense [Member] Cash flow from investing activities: Net Cash Provided by (Used in) Investing Activities [Abstract] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Total anti-dilutive shares Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Award Type [Axis] Award Type [Axis] Granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Plan Name [Domain] Plan Name [Domain] Document Quarterly Report Document Quarterly Report Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] General and administrative General and Administrative Expense [Member] Shares authorized for issuance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized Hedging Designation [Axis] Hedging Designation [Axis] Computer equipment Property, Plant and Equipment, Gross Weighted average remaining contractual life, balance (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Lease liabilities arising from obtaining right-of-use assets Right-of-Use Asset Obtained in Exchange for Operating Lease Liability 2024 (remaining nine months) Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year Schedule of Deferred Costs to Obtain Contracts Contract With Customer, Commission Asset Balances [Table Text Block] Tabular disclosure of commission asset balance of contract with customer. Trading Arrangement: Trading Arrangement [Axis] Less: interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Rest of world Other Geographic Areas [Member] Represents information related to other geographic areas. Use of Estimates Use of Estimates, Policy [Policy Text Block] PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Entity File Number Entity File Number Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Current Capitalized Contract Cost, Net, Current Operating lease liabilities, current Operating Lease, Liability, Current Schedule of Cash Equivalents and Marketable Securities Cash And Cash Equivalents And Debt Securities, Available-For-Sale, Amortized Cost To Fair Value [Table Text Block] Tabular disclosure of cash and cash equivalents and debt securities available-for-sale amortized cost to fair value. Available-for-sale debt securities AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member] Computer software Computer Software, Intangible Asset [Member] Issuance of common stock through employee stock purchase plan (in shares) Stock Issued During Period, Shares, Employee Stock Purchase Plans Intangible asset amortization expense Amortization of Intangible Assets Less than 12 months Debt Securities, Current [Abstract] Entity Shell Company Entity Shell Company 2027 Lessee, Operating Lease, Liability, to be Paid, Year Three Total intangibles Finite-Lived Intangible Assets, Net Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Recently Adopted Accounting Pronouncements and Recently Issued Accounting Pronouncements Not Yet Adopted New Accounting Pronouncements, Policy [Policy Text Block] Restatement Determination Date Restatement Determination Date Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization Asset Class [Axis] Asset Class [Axis] 2026 Lessee, Operating Lease, Liability, to be Paid, Year Two Interest income Investment Income, Interest Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Fair value Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer Common stock, shares issued (in shares) Common Stock, Shares, Issued Vested (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Gross profit Gross Profit Deferred revenues, current Contract with Customer, Liability, Current Security Exchange Name Security Exchange Name Gross unrealized losses Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax U.S. Treasury and government agencies US Government Agencies Securities, at Carrying Value Stock options Employee Stock Option [Member] Stock-based compensation, recognition period (in years) Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Foreign currency forward contracts, asset Foreign Currency Contract, Asset, Fair Value Disclosure Maximum Maximum [Member] Comprehensive income Comprehensive Income (Loss), Net of Tax, Attributable to Parent Stock-based compensation expenses, unrecognized Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Document Type Document Type Tabular List, Table Tabular List [Table Text Block] Offering period (in months) qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardOfferingPeriod Represents the offering period under a share-based payment arrangement. Entity Address, Address Line One Entity Address, Address Line One Antidilutive Securities, Name [Domain] Antidilutive Securities, Name [Domain] Asset-backed securities Asset-Backed Securities, at Carrying Value Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Weighted Average Exercise Price Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Executive Officer 1 Executive Officer 1 [Member] Represents executive officer 1. Income Statement [Abstract] Income Statement [Abstract] Title of 12(b) Security Title of 12(b) Security Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Vesting range (percentage) qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage The target percentage for vesting of equity-based award under share based payment arrangement. Intangible assets not subject to amortization Indefinite-Lived Intangible Assets (Excluding Goodwill) Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Beginning balance (in USD per share) Ending balance (in USD per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Income Tax Disclosure [Abstract] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Entity Tax Identification Number Entity Tax Identification Number Scanner appliances Scanner Appliances [Member] Represents information related to scanner appliances. Purchases of marketable securities Payments to Acquire Marketable Securities Statistical Measurement [Axis] Statistical Measurement [Axis] The 2012 Equity Incentive Plan The 2012 Equity Incentive Plan [Member] Represents plan 2012. Financial Instrument [Axis] Financial Instrument [Axis] Total assets Financial Instruments, Owned, at Fair Value Entity Interactive Data Current Entity Interactive Data Current Total Shareholder Return Amount Total Shareholder Return Amount Repurchase of common stock Payments for Repurchase of Common Stock Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Scanner Appliances and Other Computer Equipment Scanner Appliances and Other Computer Equipment Subject To Subscription [Member] Represents information related to scanner appliances and other computer equipment subject to subscription. Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Accumulated deficit Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Name Outstanding Recovery, Individual Name Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets: Assets, Current [Abstract] Executive Officer 2 Executive Officer 2 [Member] Represents executive officer 2. Leases [Abstract] Entity Address, State or Province Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Schedule of Revenues from External Customers and Long-Lived Assets [Table] Schedule of Revenues from External Customers and Long-Lived Assets [Table] Cash flow from operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] 2025 Finite-Lived Intangible Asset, Expected Amortization, Year One Cash payments included in the measurement of lease liabilities Operating Lease, Payments Total Debt Securities [Abstract] Net change in unrealized gains (losses) on available-for-sale debt securities, net of tax OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax Common stock, shares outstanding (in shares) Common Stock, Shares, Outstanding Scanner Appliances and Other Computer Equipment Not Placed In Service Scanner Appliances and Other Computer Equipment Not Placed In Service [Member] Represents scanner appliances and other computer equipment not placed in service. PEO PEO [Member] Cash equivalents Cash Equivalents [Member] Beginning balance (in shares) Ending balance (in shares) Shares, Outstanding Accumulated Other Comprehensive Income (Loss) [Line Items] Accumulated Other Comprehensive Income (Loss) [Line Items] Asset Class [Domain] Asset Class [Domain] Common stock, par value (in USD per share) Common Stock, Par or Stated Value Per Share Net cash provided by investing activities Net Cash Provided by (Used in) Investing Activities Schedule of Amounts Reclassified from AOCI to the Statements of Operations Reclassification out of Accumulated Other Comprehensive Income [Table Text Block] Revenues from External Customers and Long-Lived Assets [Line Items] Revenues from External Customers and Long-Lived Assets [Line Items] Outstanding Options Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward] Shares repurchased and retired Stock Repurchased and Retired During Period, Value Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Income tax rate, percentage Effective Income Tax Rate Reconciliation, Percent Present value of net minimum lease payments Operating Lease, Liability Exercisable as of March 31, 2024 Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value Total liabilities Liabilities Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Stockholders' Equity and Stock-based Compensation Shareholders' Equity and Share-Based Payments [Text Block] Weighted average exercise price, exercisable (in USD per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price Accumulated Other Comprehensive Income (Loss) AOCI Attributable to Parent [Member] Prepaid expenses and other assets Increase (Decrease) in Prepaid Expense and Other Assets Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Fair value Debt Securities, Available-for-Sale, Unrealized Loss Position Measurement Frequency [Domain] Measurement Frequency [Domain] Property and Equipment, Net Property, Plant and Equipment Disclosure [Text Block] All Executive Categories All Executive Categories [Member] Deferred revenues, noncurrent Contract with Customer, Liability, Noncurrent Title of Individual [Axis] Title of Individual [Axis] Accumulated Other Comprehensive Income (Loss) [Table] Accumulated Other Comprehensive Income (Loss) [Table] Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Plan Name [Axis] Plan Name [Axis] Long-Lived Tangible Asset [Domain] Long-Lived Tangible Asset [Domain] Number of reportable segments Number of Reportable Segments Executive Officer 4 Executive Officer 4 [Member] Represents executive 4. Net income per share: Earnings Per Share [Abstract] Sales and marketing Sales and marketing Selling and Marketing Expense Common stock: $0.001 par value; 1,000,000 shares authorized, 36,962 and 36,909 shares issued and outstanding as of March 31, 2024 and December 31, 2023, respectively Common Stock, Value, Issued Fair Value Debt Securities, Held-to-Maturity, Fair Value [Abstract] Fair value Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months General and administrative General and administrative General and Administrative Expense Tax effect Other Comprehensive Income (Loss), Tax, Portion Attributable to Parent Leases not yet commenced Unrecorded Unconditional Purchase Obligation Foreign currency forward contracts Financial Instruments, Owned, Derivatives and Other Contractual Agreements, at Fair Value Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Foreign Exchange Contracts for GBP and Euro Foreign Exchange Contracts for GBP and Euro [Member] Information related to foreign exchange contracts for BPG and Euro. Total current assets Assets, Current Carrying value of accounts receivable Accounts Receivable, after Allowance for Credit Loss All Individuals All Individuals [Member] Other expense, net Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date Stock repurchase program, authorized amount Stock Repurchase Program, Authorized Amount Executive Officer 3 Executive Officer 3 [Member] Represents executive officer 3. Repurchase of common stock (in shares) Stock Repurchased During Period, Shares Unrecognized tax benefits Unrecognized Tax Benefits PEO Name PEO Name Due after One Year through Two Years Debt Securities, Available-For-Sale, Fair Value, Maturity, Allocated And Single Maturity Date, Due After One Year Through Two Years Represents fair value of debt maturities for available-for-sale securities through year one to year two. Schedule of Accumulated Other Comprehensive Income (Loss) Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block] Preferred stock, shares authorized (in shares) Preferred Stock, Shares Authorized Investments Investments Granted (in USD per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Restricted cash Restricted Cash, Current Preferred stock, shares outstanding (in shares) Preferred Stock, Shares Outstanding Asset-backed securities Asset-Backed Securities [Member] Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Schedule of Finite-Lived Intangible Assets, Future Amortization Expense Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] India INDIA Foreign Currency Cash Flow Hedge Gain (Loss) to be Reclassified During Next 12 Months Foreign Currency Cash Flow Hedge Gain (Loss) to be Reclassified During Next 12 Months Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Short-term marketable securities Debt Securities, Available-for-Sale, Current Leases Lessee, Operating Leases and Finance Lease [Text Block] The entire disclosure of operating lease and finance lease for lessee. Depreciation and amortization expense Depreciation, Depletion and Amortization Furniture, fixtures and equipment Furniture and Fixtures [Member] Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Total stockholders’ equity Beginning balance Ending balance Equity, Attributable to Parent Commercial paper Commercial Paper [Member] Unrecognized tax benefits effecting the tax rate Unrecognized Tax Benefits that Would Impact Effective Tax Rate Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Revenue from contract with customer, revenue recognized Contract with Customer, Liability, Revenue Recognized Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Other foreign currency transactions losses Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Cash flow hedges Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member] Outstanding and expected to vest (in USD per share) Expected to vest, weighted average grant date fair value (in dollars per share) Represents weighted average exercise for share-based compensation arrangement by share-based payment award for equity instruments other than options, expected to vest. Income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest ESPP eligible percent to contribute qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable Represents the percentage of employee's eligible compensation that can be used to contribute, through payroll withholding, to an employee stock purchase plan. 2029 and thereafter Lessee, Operating Lease, Liability, to be Paid, after Year Four Lessee, Operating Lease, Liability, to be Paid, after Year Four Not Designated as Hedging Instrument Not Designated as Hedging Instrument [Member] Net income per share: Earnings Per Share Reconciliation [Abstract] Long-Lived Tangible Asset [Axis] Long-Lived Tangible Asset [Axis] Change in unrealized gains (losses) during the period OCI, before Reclassifications, before Tax, Attributable to Parent Preferred stock, shares issued (in shares) Preferred Stock, Shares Issued Hedging Designation [Domain] Hedging Designation [Domain] Level 2 Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Intangible assets, net Intangible assets, net Intangible Assets, Net (Excluding Goodwill) Schedule of Gains (Losses) Recognized from Forward Contracts and Other Foreign Currency Transactions in Other Income (Expense) Derivative Instruments, Gain (Loss) [Table Text Block] Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Document Fiscal Period Focus Document Fiscal Period Focus 2025 Lessee, Operating Lease, Liability, to be Paid, Year One Weighted Average Life (Years) Finite-Lived Intangible Asset, Useful Life Accrued liabilities and other noncurrent liabilities Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Antidilutive Securities [Axis] Antidilutive Securities [Axis] 2028 Lessee, Operating Lease, Liability, to be Paid, Year Four Title Trading Arrangement, Individual Title Beginning balance (in USD per share) Ending balance (in USD per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Lease expense Operating Lease, Expense Stock-based compensation, net of amounts capitalized Share-Based Payment Arrangement, Noncash Expense Performance-based Restricted Stock Units Performance-based Restricted Stock Units [Member] Information related to performance-based restricted stock units. Common Stock Common Stock [Member] Long-term marketable securities Debt Securities, Available-for-Sale, Noncurrent Individual: Individual [Axis] City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Net Income Per Share Earnings Per Share [Text Block] Income Statement Location [Domain] Income Statement Location [Domain] Document Fiscal Year Focus Document Fiscal Year Focus Geographical [Domain] Geographical [Domain] Description of Business Description Of Business Policy [Policy Text Block] Disclosure of accounting policy for description of business. Minimum Minimum [Member] Weighted average shares used in computing net income per share: Weighted Average Number of Shares Outstanding, Diluted [Abstract] Property and equipment, net Property and equipment, net Property, Plant and Equipment, Net Direct Sales Channel, Directly to Consumer [Member] Schedule of Stock Option Activity Share-Based Payment Arrangement, Option, Activity [Table Text Block] Schedule of the Carrying Value of Intangible Assets Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block] Exercise Price Award Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Cash, excluded Cash Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items] Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items] Assets Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Goodwill and Intangible Assets Disclosure [Abstract] Outstanding and expected to vest (in shares) Expected to vest, number of shares (in shares) Represents vested and expected to vest outstanding number Fair Value Disclosure of Asset and Liability Not Measured at Fair Value [Table] Fair Value Disclosure of Asset and Liability Not Measured at Fair Value [Table] Total foreign exchange losses, net Gain (Loss), Foreign Currency Transaction, before Tax Payments for taxes related to net share settlement of equity awards Payment, Tax Withholding, Share-Based Payment Arrangement Intangible assets not subject to amortization Intangible Assets Not Subject to Amortization [Member] Represents intangible assets not subject to amortization. Net cash used in financing activities Net Cash Provided by (Used in) Financing Activities Deferred tax assets, net Deferred Income Tax Assets, Net Schedule of Fair Value of Financial Assets and Liabilities Measured on Recurring Basis Fair Value, Assets Measured on Recurring Basis [Table Text Block] Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Developed technology Developed Technology Rights [Member] Accumulated Deficit Retained Earnings [Member] Schedule of Stock-Based Compensation Expense in Statements of Operations Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Accretion of discount on marketable securities, net Accretion (Amortization) of Discounts and Premiums, Investments Total liabilities and stockholders’ equity Liabilities and Equity Amortized Cost Debt Securities, Available-for-Sale, Amortized Cost Other income (expense), net: Nonoperating Income (Expense) [Abstract] Other noncurrent assets Other Assets, Noncurrent Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Basic (in USD per share) Earnings Per Share, Basic Operating leases - right of use asset Operating Lease, Right-of-Use Asset Issuance of common stock through employee stock purchase plan Stock Issued During Period, Value, Employee Stock Purchase Plan Accounting Policies [Abstract] Accounting Policies [Abstract] Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] 2024 (remaining nine months) Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Arrangement Duration Trading Arrangement Duration Schedule of Gross Unrealized Losses and Fair Value of Marketable Securities in an Unrealized Loss Position Debt Securities, Available-for-Sale, Unrealized Loss Position, Fair Value [Table Text Block] Entity Address, City or Town Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Asset-backed securities Debt Securities, Available-for-Sale, Maturity, without Single Maturity Date, Amortized Cost Weighted average remaining contractual life, vested and expected to vest (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term Outstanding options, exercisable (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Partner Sales Channel, Through Intermediary [Member] Amortization expense related to deferred costs Amortization of Deferred Sales Commissions Authorized repurchase amount remaining Stock Repurchase Program, Remaining Authorized Repurchase Amount Termination Date Trading Arrangement Termination Date Sales and maturities of marketable securities Proceeds from Sale and Maturity of Marketable Securities Accounts payable Increase (Decrease) in Accounts Payable Common stock, shares authorized (in shares) Common Stock, Shares Authorized Fair Value Fair Value Debt Securities, Available-for-Sale Unrealized Gains Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax Short-term marketable securities Short-Term Investments [Member] Indefinite-Lived Intangible Assets [Axis] Indefinite-Lived Intangible Assets [Axis] Property, Plant and Equipment [Abstract] Derivative Instrument [Axis] Derivative Instrument [Axis] Retired stock units (in shares) Incremental Common Shares Attributable to Dilutive Effect of Call Options and Warrants Adjustments to reconcile net income to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] All Trading Arrangements All Trading Arrangements [Member] Due within One Year Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One All Adjustments to Compensation All Adjustments to Compensation [Member] Award Timing Disclosures [Line Items] Commercial paper Commercial Paper, at Carrying Value Title of Individual [Domain] Title of Individual [Domain] Additional authorized amount Additional Authorized Dollar Value Amount of additional stock repurchase plan authorized 1. Compensation Amount Outstanding Recovery Compensation Amount Schedule of Expected Revenue from Performance Obligations Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block] Provision for credit losses Accounts Receivable, Credit Loss Expense (Reversal) Additional paid-in capital Additional Paid in Capital Executive Officer Executive Officer [Member] Forfeited (in USD per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Proceeds from exercise of stock options Proceeds from Stock Options Exercised Statement of Comprehensive Income [Abstract] ESPP Shares ESPP Shares [Member] Represents information regarding ESPP shares. Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current 2027 Finite-Lived Intangible Asset, Expected Amortization, Year Three Forfeited (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Insider Trading Arrangements [Line Items] AOCI Attributable to Parent, Net of Tax [Roll Forward] AOCI Attributable to Parent, Net of Tax [Roll Forward] Accounts receivable, net of allowance Accounts Receivable, Allowance for Credit Loss Depreciation and amortization qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization Represents amount of depreciation, depletion and amortization excluding intangible asset amortization. Aggregate Intrinsic Value Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value Entity Registrant Name Entity Registrant Name Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Award Timing Method Award Timing Method [Text Block] Stock options (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements 2026 Finite-Lived Intangible Asset, Expected Amortization, Year Two Adjustment to Compensation, Amount Adjustment to Compensation Amount Cost of revenues Cost of Sales [Member] Accumulated Other Comprehensive Income (Loss), Net of Tax [Abstract] Document Period End Date Document Period End Date Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Adoption Date Trading Arrangement Adoption Date Less: accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Entity Central Index Key Entity Central Index Key Reclassification out of Accumulated Other Comprehensive Income Reclassification out of Accumulated Other Comprehensive Income [Member] Description of Business and Summary of Significant Accounting Policies Basis of Presentation and Significant Accounting Policies [Text Block] Stock-based compensation Stock-based compensation Share-Based Payment Arrangement, Expense Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Denominator: Net Income (Loss) Available to Common Stockholders, Diluted [Abstract] Cost Finite-Lived Intangible Assets, Gross Income tax provision Income Tax Expense (Benefit) Foreign Non-US [Member] Designated as Hedging Instrument Designated as Hedging Instrument [Member] Fair Value of Financial Instruments Fair Value Disclosures [Text Block] Number of operating segments Number of Operating Segments Name Trading Arrangement, Individual Name Other comprehensive income, net of tax Other comprehensive income, net of tax Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent Schedule of Revenue by Sales Channel Disaggregation of Revenue [Table Text Block] Noncurrent Capitalized Contract Cost, Net, Noncurrent Gross unrealized losses Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss Equity [Abstract] Weighted average remaining lease term (years) Operating Lease, Weighted Average Remaining Lease Term Revenues Revenue from Contract with Customer, Excluding Assessed Tax Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Amendment Flag Amendment Flag Intangible Assets, Net Intangible Assets Disclosure [Text Block] Money market funds Money Market Funds [Member] Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] Gross unrealized losses Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Taxes related to net share settlement of equity awards (in shares) Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation Other comprehensive income (loss), net of tax Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent, Alternative [Abstract] The 2021 Employee Stock Purchase Plan The 2021 Employee Stock Purchase Plan [Member] Information related to the 2021 Employee Stock Purchase Plan. Weighted average discount rate Operating Lease, Weighted Average Discount Rate, Percent Due within One Year Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One Shares repurchased and retired (in shares) Stock Repurchased and Retired During Period, Shares Mature over Two Years Debt Securities, Available-For-Sale, Amortized Cost, Maturity, Allocated And Single Maturity Date, Over Two Years, Amortized Cost Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing after second fiscal year following current fiscal year. Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Numerator: Net Income (Loss) Available to Common Stockholders, Basic [Abstract] Leasehold improvements Leasehold Improvements [Member] Sales and marketing Selling and Marketing Expense [Member] Diluted (in shares) Diluted weighted average shares (in shares) Weighted Average Number of Shares Outstanding, Diluted Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Total Long-lived Assets Property And equipment, Net And Operating Leases - Right Of Use Assets 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 and right-of-use assets under operating leases. 12 months or longer Debt Securities, Noncurrent [Abstract] Money market funds Money Market Funds, at Carrying Value Share-based compensation, additional shares available (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Additional Shares Authorized Operating expenses: Operating Expenses [Abstract] Revenue from Contracts with Customers Revenue from Contract with Customer [Text Block] Purchases of property and equipment Payments to Acquire Property, Plant, and Equipment Company Selected Measure Amount Company Selected Measure Amount Due after One Year through Two Years Debt Securities, Available-For-Sale, Amortized Cost, Maturity, Allocated And Single Maturity Date, Due After One Year Through Two Years, Amortized Cost Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing after year one through year two. Additional Paid-In Capital Additional Paid-in Capital [Member] Cash, cash equivalents and restricted cash at beginning of period Cash, cash equivalents and restricted cash at end of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations Total assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name Employee stock purchase plan (in shares) Incremental Common Shares Attributable to Dilutive Effect of Equity Unit Purchase Agreements Cover [Abstract] Cover [Abstract] Commercial paper Commercial Paper, Not Included with Cash and Cash Equivalents [Member] Weighted average remaining contractual life, exercisable (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition United States UNITED STATES Fair Value, Recurring Fair Value, Recurring [Member] Other noncurrent liabilities Other Liabilities, Noncurrent Vested (in USD per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Corporate bonds Financial Instruments, Owned, Corporate Debt, at Fair Value Non-NEOs Non-NEOs [Member] Canceled (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period Total minimum lease payments Lessee, Operating Lease, Liability, to be Paid Remaining performance obligation Revenue, Remaining Performance Obligation, Amount Cash Flow Hedging Cash Flow Hedging [Member] Total operating expenses Operating Expenses Segment and Geographic Area Information Segment Reporting Disclosure [Text Block] Net increase in cash, cash equivalents and restricted cash Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Total Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest Cash flow from financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Non-PEO NEO Non-PEO NEO [Member] Equity Component [Domain] Equity Component [Domain] Adjustment to Compensation: Adjustment to Compensation [Axis] Purchase price of stock, percentage Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent Long-term marketable securities Other Long-Term Investments [Member] Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Basic (in shares) Basic weighted average shares (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Shares that will vest upon trigger (in percentage) qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger Represents percentage of shares that will vest upon trigger for share-based compensation. Income from operations Operating Income (Loss) Schedule of Supplemental Cash Flow Information for Operating Leases Lessee, Operating Lease, Supplemental Cash Flow Disclosure [Table Text Block] Tabular disclosure of lessee's supplemental cash flow information associated with operating lease. Revenue Recognition [Abstract] Cost of revenues Cost of revenues Cost of Revenue Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Statement [Line Items] Statement [Line Items] Vested and expected to vest (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number Stock Options Additional Disclosures Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract] Schedule of Derivative Instruments Schedule of Derivative Instruments [Table Text Block] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Contract with Customer, Sales Channel [Domain] Contract with Customer, Sales Channel [Domain] Reclassification out of Accumulated Other Comprehensive Income [Domain] Reclassification out of Accumulated Other Comprehensive Income [Domain] Employee stock purchase plan Employee Stock Purchase Plan Shares [Member] Represents information regarding employee stock purchase plan shares. EX-101.PRE 10 qlys-20240331_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 12 R1.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Cover - shares
3 Months Ended
Mar. 31, 2024
Apr. 26, 2024
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Mar. 31, 2024  
Document Transition Report false  
Entity File Number 001-35662  
Entity Registrant Name QUALYS, INC.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 77-0534145  
Entity Address, Address Line One 919 E. Hillsdale Boulevard, 4th Floor  
Entity Address, City or Town Foster City  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 94404  
City Area Code 650  
Local Phone Number 801-6100  
Title of 12(b) Security Common stock, $0.001 par value per share  
Trading Symbol QLYS  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   36,939,262
Entity Central Index Key 0001107843  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q1  
Amendment Flag false  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Balance Sheets - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Current assets:    
Cash and cash equivalents $ 273,783 $ 203,665
Restricted cash 0 1,500
Short-term marketable securities 179,887 221,893
Accounts receivable, net of allowance of $1,099 and $778 as of March 31, 2024 and December 31, 2023, respectively 115,629 146,226
Prepaid expenses and other current assets 36,112 26,714
Total current assets 605,411 599,998
Long-term marketable securities 89,693 56,644
Property and equipment, net 30,191 32,599
Operating leases - right of use asset 31,371 22,391
Deferred tax assets, net 66,565 62,761
Intangible assets, net 8,943 9,715
Goodwill 7,447 7,447
Noncurrent restricted cash 1,200 1,200
Other noncurrent assets 20,961 19,863
Total assets 861,782 812,618
Current liabilities:    
Accounts payable 645 988
Accrued liabilities 48,246 43,096
Deferred revenues, current 332,128 333,267
Operating lease liabilities, current 10,046 11,857
Total current liabilities 391,065 389,208
Deferred revenues, noncurrent 31,311 31,671
Operating lease liabilities, noncurrent 27,784 16,885
Other noncurrent liabilities 7,420 6,680
Total liabilities 457,580 444,444
Commitments and contingencies (Note 8)
Stockholders’ equity:    
Preferred stock: $0.001 par value; 20,000 shares authorized, no shares issued and outstanding as of March 31, 2024 and December 31, 2023 0 0
Common stock: $0.001 par value; 1,000,000 shares authorized, 36,962 and 36,909 shares issued and outstanding as of March 31, 2024 and December 31, 2023, respectively 37 37
Additional paid-in capital 610,923 597,921
Accumulated other comprehensive loss (1,007) (1,704)
Accumulated deficit (205,751) (228,080)
Total stockholders’ equity 404,202 368,174
Total liabilities and stockholders’ equity $ 861,782 $ 812,618
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Balance Sheets (Parenthetical) - USD ($)
shares in Thousands, $ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Statement of Financial Position [Abstract]    
Accounts receivable, net of allowance $ 1,099 $ 778
Preferred stock, par value (in USD per share) $ 0.001 $ 0.001
Preferred stock, shares authorized (in shares) 20,000 20,000
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
Common stock, par value (in USD per share) $ 0.001 $ 0.001
Common stock, shares authorized (in shares) 1,000,000 1,000,000
Common stock, shares issued (in shares) 36,962 36,909
Common stock, shares outstanding (in shares) 36,962 36,909
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Statements of Operations - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income Statement [Abstract]    
Revenues $ 145,805 $ 130,683
Cost of revenues 27,198 26,954
Gross profit 118,607 103,729
Operating expenses:    
Research and development 27,530 27,795
Sales and marketing 29,408 25,628
General and administrative 16,908 15,128
Total operating expenses 73,846 68,551
Income from operations 44,761 35,178
Other income (expense), net:    
Interest income 6,123 2,397
Other expense, net (1,399) (216)
Total other income, net 4,724 2,181
Income before income taxes 49,485 37,359
Income tax provision 9,754 8,254
Net income $ 39,731 $ 29,105
Net income per share:    
Basic (in USD per share) $ 1.08 $ 0.79
Diluted (in USD per share) $ 1.05 $ 0.77
Weighted average shares used in computing net income per share:    
Basic (in shares) 36,955 37,068
Diluted (in shares) 37,723 37,669
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Statements of Comprehensive Income - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Statement of Comprehensive Income [Abstract]    
Net income $ 39,731 $ 29,105
Other comprehensive income (loss), net of tax    
Net change in unrealized gains (losses) on available-for-sale debt securities, net of tax (407) 1,131
Net change in unrealized gains (losses) on cash flow hedges, net of tax 1,104 (755)
Other comprehensive income, net of tax 697 376
Comprehensive income $ 40,428 $ 29,481
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Cash flow from operating activities:    
Net income $ 39,731 $ 29,105
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation and amortization expense 5,239 7,444
Provision for credit losses 193 119
Stock-based compensation, net of amounts capitalized 19,031 16,033
Accretion of discount on marketable securities, net (1,915) (259)
Deferred income taxes (4,111) (4,241)
Changes in operating assets and liabilities:    
Accounts receivable 30,404 19,890
Prepaid expenses and other assets (10,126) (1,289)
Accounts payable (335) (1,215)
Accrued liabilities and other noncurrent liabilities 8,892 (2)
Deferred revenues (1,498) 1,228
Net cash provided by operating activities 85,505 66,813
Cash flow from investing activities:    
Purchases of marketable securities (61,340) (46,010)
Sales and maturities of marketable securities 71,463 69,709
Purchases of property and equipment (2,051) (4,037)
Net cash provided by investing activities 8,072 19,662
Cash flow from financing activities:    
Repurchase of common stock (18,029) (66,551)
Proceeds from exercise of stock options 2,770 2,328
Payments for taxes related to net share settlement of equity awards (11,808) (5,105)
Proceeds from issuance of common stock through employee stock purchase plan 3,608 2,988
Payment of acquisition-related holdback (1,500) 0
Net cash used in financing activities (24,959) (66,340)
Net increase in cash, cash equivalents and restricted cash 68,618 20,135
Cash, cash equivalents and restricted cash at beginning of period 206,365 176,419
Cash, cash equivalents and restricted cash at end of period $ 274,983 $ 196,554
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Condensed Consolidated Statements of Stockholders' Equity - USD ($)
shares in Thousands, $ in Thousands
Total
Common Stock
Additional Paid-In Capital
Accumulated Other Comprehensive Income (Loss)
Accumulated Deficit
Beginning balance (in shares) at Dec. 31, 2022   37,362      
Beginning balance at Dec. 31, 2022 $ 289,129 $ 37 $ 512,486 $ (1,947) $ (221,447)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 29,105       29,105
Other comprehensive income, net of tax 376     376  
Issuance of common stock upon exercise of stock options (in shares)   61      
Issuance of common stock upon exercise of stock options 2,328   2,328    
Repurchase of common stock (in shares)   (584)      
Repurchase of common stock (67,032)   (7,014)   (60,018)
Issuance of common stock upon vesting of restricted stock units (in shares)   108      
Taxes related to net share settlement of equity awards (in shares)   (43)      
Taxes related to net share settlement of equity awards (5,105)   (5,105)    
Issuance of common stock through employee stock purchase plan (in shares)   29      
Issuance of common stock through employee stock purchase plan 2,988   2,988    
Stock-based compensation 16,033   16,033    
Ending balance (in shares) at Mar. 31, 2023   36,933      
Ending balance at Mar. 31, 2023 267,822 $ 37 521,716 (1,571) (252,360)
Beginning balance (in shares) at Dec. 31, 2023   36,909      
Beginning balance at Dec. 31, 2023 368,174 $ 37 597,921 (1,704) (228,080)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 39,731       39,731
Other comprehensive income, net of tax $ 697     697  
Issuance of common stock upon exercise of stock options (in shares) 46 46      
Issuance of common stock upon exercise of stock options $ 2,770   2,770    
Repurchase of common stock (in shares)   (105)      
Repurchase of common stock (18,029)   (627)   (17,402)
Issuance of common stock upon vesting of restricted stock units (in shares)   149      
Taxes related to net share settlement of equity awards (in shares)   (66)      
Taxes related to net share settlement of equity awards (11,808)   (11,808)    
Issuance of common stock through employee stock purchase plan (in shares)   29      
Issuance of common stock through employee stock purchase plan 3,608   3,608    
Stock-based compensation 19,059   19,059    
Ending balance (in shares) at Mar. 31, 2024   36,962      
Ending balance at Mar. 31, 2024 $ 404,202 $ 37 $ 610,923 $ (1,007) $ (205,751)
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Description of Business and Summary of Significant Accounting Policies
3 Months Ended
Mar. 31, 2024
Accounting Policies [Abstract]  
Description of Business and Summary of Significant Accounting Policies Description of Business and Summary of Significant Accounting Policies
Description of Business
Qualys, Inc. (the “Company”, "we", "us", "our") was incorporated in the state of Delaware on December 30, 1999. The Company is headquartered in Foster City, California and has wholly-owned subsidiaries throughout the world. The Company is a leading provider of cloud-based information technology ("IT"), security and compliance solutions that enable organizations to identify security risks to their IT infrastructures, help protect their IT systems and applications from ever-evolving cyber-attacks and achieve compliance with internal policies and external regulations. The Company’s cloud solutions address the growing security and compliance complexities and risks that are amplified by the dissolving boundaries between internal and external IT infrastructures and web environments, the rapid adoption of cloud computing and the proliferation of geographically dispersed IT assets. Organizations can use the Company’s integrated suite of solutions delivered on Qualys' Enterprise TruRisk Platform to cost-effectively obtain a unified view of their security and compliance posture across globally-distributed IT infrastructures.
Basis of Presentation
The accompanying unaudited condensed consolidated financial statements and condensed footnotes have been prepared in accordance with accounting principles generally accepted in the United States ("U.S. GAAP") for interim financial information as well as the instructions to Form 10-Q and the rules and regulations of the U.S. Securities and Exchange Commission ("SEC"). Certain information and disclosures normally included in the financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated balance sheet as of December 31, 2023, included herein, was derived from the audited financial statements as of that date but does not include all disclosures, including notes required by U.S. GAAP. In the opinion of management, the accompanying unaudited condensed consolidated financial statements reflect all adjustments, which include only normal recurring adjustments, necessary for the fair statement of the financial position, results of operations and cash flows for the interim periods. The results of operations for the three months ended March 31, 2024 are not necessarily indicative of the results of operations expected for the entire year ending December 31, 2024 or for any other future annual or interim periods. These condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023 filed with the SEC on February 22, 2024.
Use of Estimates
The preparation of the unaudited condensed consolidated financial statements in conformity with U.S. GAAP requires management to make certain estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of assets and liabilities at the date of the condensed consolidated financial statements and the reported results of operations during the reporting period. The Company’s management regularly assesses these estimates, which primarily affect revenue recognition, allowance for credit loss, the valuation of goodwill and intangible assets, leases, stock-based compensation and income tax provision. Actual results could differ from those estimates and such differences may be material to the accompanying unaudited condensed consolidated financial statements.
Recently Adopted Accounting Pronouncements
None.
Recently Issued Accounting Pronouncements Not Yet Adopted
In November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2023-07 requiring enhanced segment disclosures. The ASU requires disclosure of significant segment expenses regularly provided to the chief operating decision maker ("CODM") included within segment operating profit or loss. Additionally, the ASU requires a description of how the CODM utilizes segment operating profit or loss to assess segment performance. The requirements of the ASU are effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company's annual reporting requirements will be effective for fiscal 2024 and interim reporting requirements will be effective beginning with the first quarter of fiscal 2025. Early adoption is permitted and retrospective application is required for all periods presented. The Company is in the process of analyzing the impact of the ASU on related disclosures.
In December 2023, the FASB issued ASU 2023-09 requiring improvements to income tax disclosures. The new ASU requires disclosure of disaggregated information about the effective tax rate and income taxes paid. The requirements of the ASU are effective for annual periods beginning after December 15, 2024 and are to be applied on a prospective basis. Companies can choose to early adopt and apply the guidance retrospectively. The Company is in the process of analyzing the impact of the ASU on related disclosures.
There have been no material changes to the Company’s significant accounting policies set forth in "Note 1" of Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023.
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value of Financial Instruments
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Fair Value of Financial Instruments Fair Value of Financial Instruments
Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. For certain of the Company’s financial instruments, including certain cash equivalents, accounts receivable, accounts payable and accrued liabilities, the carrying amounts approximate their fair values due to the relatively short maturity of these balances.
The Company measures and reports certain cash equivalents, marketable securities, derivative foreign currency forward contracts at fair value in accordance with the provisions of the authoritative accounting guidance that addresses fair value measurements. This guidance establishes a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. The hierarchy is broken down into three levels based on the reliability of inputs as follows:
Level 1 - Valuations based on quoted prices in active markets for identical assets or liabilities.
Level 2 - Valuations based on other than quoted prices in active markets for identical assets and liabilities, including quoted prices for identical assets or liabilities in less active or inactive markets, quoted prices for similar assets or liabilities in active markets, or inputs other than quoted prices that are observable for substantially the full term of the assets or liabilities.
Level 3 - Valuations based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability.
The Company's financial instruments consist of assets and liabilities measured using Level 1 and 2 inputs. Level 1 assets include a highly liquid money market fund, which is valued using unadjusted quoted prices that are available in an active market for an identical asset. Level 2 assets include fixed-income U.S. Treasury and government agency securities, commercial paper, corporate bonds, asset-backed securities and derivative financial instruments consisting of foreign currency forward contracts. The securities, bonds and commercial paper are valued using prices from independent pricing services based on quoted prices of identical instruments in less active or inactive markets, quoted prices of similar instruments in active markets, or industry models using data inputs such as interest rates and prices that can be directly observed or corroborated in active markets. The foreign currency forward contracts are valued using observable inputs, such as quotations on forward foreign exchange points and foreign interest rates.
The following table sets forth by level within the fair value hierarchy the fair value of the Company's financial assets and liabilities measured at fair value on a recurring basis:
March 31, 2024
Level 1Level 2Fair Value
(in thousands)
Money market funds$11,466 $— $11,466 
Commercial paper— 47,317 47,317 
U.S. Treasury and government agencies— 178,188 178,188 
Corporate bonds— 87,378 87,378 
Asset-backed securities— 12,144 12,144 
Foreign currency forward contracts— 590 590 
Total assets$11,466 $325,617 $337,083 
Foreign currency forward contracts$— $677 $677 
Total liabilities$— $677 $677 
December 31, 2023
Level 1Level 2Fair Value
(in thousands)
Money market funds$87 $— $87 
Commercial paper— 54,279 54,279 
U.S. Treasury and government agencies— 208,536 208,536 
Corporate bonds— 56,465 56,465 
Asset-backed securities— 13,881 13,881 
Foreign currency forward contracts— 111 111 
Total assets$87 $333,272 $333,359 
Foreign currency forward contracts$— $1,986 $1,986 
Total liabilities$— $1,986 $1,986 
There were no transfers between Level 1, Level 2 and Level 3 categories during the three months ended March 31, 2024 and 2023.
Cash equivalent and investments
The Company's cash equivalents and marketable securities consist of the following:
March 31, 2024
Amortized CostUnrealized GainsUnrealized LossesFair Value
(in thousands)
Cash equivalents: (1)
Money market funds$11,466 $— $— $11,466 
Commercial paper1,600 — (1)1,599 
U.S. Treasury and government agencies53,851 — (3)53,848 
Total66,917 — (4)66,913 
Short-term marketable securities:    
Commercial paper45,752 (35)45,718 
Corporate bonds28,822 (111)28,719 
U.S. Treasury and government agencies105,553 (110)105,450 
Total180,127 16 (256)179,887 
Long-term marketable securities:
Corporate bonds58,771 94 (206)58,659 
Asset-backed securities12,074 72 (2)12,144 
U.S. Treasury and government agencies18,904 12 (26)18,890 
Total89,749 178 (234)89,693 
Total$336,793 $194 $(494)$336,493 
(1)Excludes cash of $206.9 million.
December 31, 2023
Amortized CostUnrealized GainsUnrealized LossesFair Value
(in thousands)
Cash equivalents: (2)
Money market funds$87 $— $— $87 
U.S. Treasury and government agencies54,620 — 54,624 
Total54,707 — 54,711 
Short-term marketable securities:
Commercial paper54,254 32 (7)54,279 
Corporate bonds23,013 (149)22,865 
U.S. Treasury and government agencies144,901 52 (204)144,749 
Total222,168 85 (360)221,893 
Long-term marketable securities:
Corporate bonds33,337 285 (22)33,600 
Asset-backed securities13,785 102 (6)13,881 
U.S. Treasury and government agencies9,116 49 (2)9,163 
Total56,238 436 (30)56,644 
Total$333,113 $525 $(390)$333,248 
(2)Excludes cash of $149.0 million.
The following table summarizes the gross unrealized losses and fair value of the Company's marketable securities that were in an unrealized loss position aggregated by length of time:
March 31, 2024
Less than 12 months12 months or longerTotal
Fair valueGross unrealized lossesFair valueGross unrealized lossesFair valueGross unrealized losses
(in thousands)
Commercial paper$44,391 $(36)$— $— $44,391 $(36)
Asset-backed securities— — 687 (2)687 (2)
Corporate bonds45,533 (233)8,705 (84)54,238 (317)
U.S. Treasury and government agencies142,202 (65)12,864 (74)155,066 (139)
Total$232,126 $(334)$22,256 $(160)$254,382 $(494)
December 31, 2023
Less than 12 months12 months or longerTotal
Fair valueGross unrealized lossesFair valueGross unrealized lossesFair valueGross unrealized losses
(in thousands)
Commercial paper$24,838 $(7)$— $— $24,838 $(7)
Asset-backed securities— — 1,485 (6)1,485 (6)
Corporate bonds— — 20,717 (171)20,717 (171)
U.S. Treasury and government agencies43,373 (18)18,172 (188)61,545 (206)
Total$68,211 $(25)$40,374 $(365)$108,585 $(390)
The Company considered the extent to which any unrealized losses on its marketable securities were driven by credit risk and other factors, including market risk, and if it is more-likely-than-not that the Company would have to sell the security before the recovery of the amortized cost basis. At March 31, 2024 and December 31, 2023, the unrealized losses related to its marketable securities were due to rising market interest rates compared to when the investments were initiated. The Company does not believe the unrealized losses represent credit risk, and the Company does not intend to sell any of the securities in an unrealized loss position and it is not likely that the Company would be required to sell these securities before recovery of their amortized cost basis, which may be at maturity. Thus, no credit loss was recognized for the Company's marketable securities for the three months ended March 31, 2024 and 2023.
The following summarizes the fair value of marketable securities by contractual maturity:
March 31, 2024
Amortized CostFair Value
(in thousands)
Due within One Year$247,044 $246,801 
Due after One Year through Two Years49,810 49,762 
Mature over Two Years27,865 27,786 
Asset-backed securities12,074 12,144 
Total$336,793 $336,493 
Non-Marketable Securities
During the fiscal year ended December 31, 2018, the Company invested $2.5 million in preferred stock of a privately-held company. The fair value of the investment is not readily available, and there are no quoted market prices for the investment. The Company accounts for the investment at cost less impairment and will measure the investment at fair value when the Company identifies observable price changes. The investment is assessed for impairment whenever events or changes in circumstances indicate that the fair value of the investment is less than carrying value. During the second quarter of 2023, the Company identified an observable price change in the investment and recognized an immaterial unrealized loss in other income (expense), net of the condensed consolidated statement of operations. The investment is included in other noncurrent assets on the condensed consolidated balance sheets. The Company has not received any dividends from the investment.
Derivative Financial Instruments
Designated cash flow hedges
The Company enters into foreign currency forward contracts to reduce the risk of variability in future cash flow due to foreign currency exchange rate fluctuation from certain forecasted subscription revenue orders billed in British Pound ("GBP") and Euro ("EUR") and operating expenses incurred in Indian Rupee ("INR"), which are designated as cash flow hedges. Hedge effectiveness is assessed at inception and at each reporting period utilizing regression analysis. Unrealized foreign exchange gains or losses related to those designated cash flow hedge contracts are recorded in accumulated other comprehensive income ("AOCI") and will be reclassified into revenues or operating expenses, respectively, in the same periods when the hedged transactions are recognized in earnings.
As of March 31, 2024, the Company had designated cash flow hedge forward contracts with notional amounts of €46.1 million, £16.0 million and Rs.4,068.0 million. As of December 31, 2023, the Company had designated cash flow hedge forward contracts with notional amounts of €48.5 million, £14.6 million and Rs.4,042.0 million.
As of March 31, 2024, a net unrealized loss of $0.8 million before tax on the foreign currency forward contracts for GBP and EUR reported in AOCI is expected to be reclassified into revenue within the next 12 months. As of March 31, 2024, an immaterial amount of unrealized loss before tax on the foreign currency forward contracts for INR reported in AOCI is expected to be reclassified into operating expenses within the next 12 months.
Non-designated forward contracts
The Company also uses foreign currency forward contracts to hedge certain foreign currency denominated assets or liabilities, which are not designated as cash flow hedges. Unrealized foreign exchange gain or losses related to the non-designated forward contracts are recorded in other income (expenses), net and offset the foreign exchange gain or loss on the underlying net monetary assets or liabilities.
As of March 31, 2024, the Company had non-designated forward contracts with notional amounts of €10.7 million, £8.6 million, Rs.990.0 million, and Canadian Dollar ("C$" or "CAD") 1.0 million. As of December 31, 2023, the Company had non-designated forward contracts with notional amounts of €19.2 million, £6.0 million, Rs.440.0 million, and C$1.0 million.
The following summarizes the fair value of derivative financial instruments as of March 31, 2024 and December 31, 2023:
March 31,
2024
December 31,
2023
(in thousands)
Assets
Foreign currency forward contracts designated as cash flow hedge$552 $63 
Foreign currency forward contracts not designated as hedging instruments38 48 
Total$590 $111 
Liabilities
Foreign currency forward contracts designated as cash flow hedge$544 $1,502 
Foreign currency forward contracts not designated as hedging instruments133 484 
Total$677 $1,986 
The Company presents its derivative assets and derivative liabilities at gross fair values in the condensed consolidated balance sheets. However, under the master netting agreements with the respective counterparties of the foreign exchange contracts, subject to applicable requirements, the Company is allowed to net settle transactions of the same currency with a single net amount payable by one party to the other. The potential offset to both assets and liabilities under the right of set-off associated with the Company's foreign currency exchange contracts are immaterial as of March 31, 2024 and December 31, 2023. The derivatives held by the Company are not subject to any credit contingent features negotiated with its counterparties. The Company is not required to pledge nor is entitled to receive cash collateral related to the above contracts. The counterparties to these derivatives are large, global financial institutions that the Company believes are creditworthy, and therefore, it does not consider the risk of counterparty nonperformance to be material.
The following summarizes the gains (losses) recognized from forward contracts and other foreign currency transactions in other income (expense), net in the condensed consolidated statements of operations:
Three Months Ended
March 31,
20242023
(in thousands)
Net gains from non-designated forward contracts$512 $259 
Other foreign currency transactions losses(1,941)(425)
Total foreign exchange losses, net$(1,429)$(166)
XML 21 R10.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accumulated Other Comprehensive Income (Loss)
3 Months Ended
Mar. 31, 2024
Accumulated Other Comprehensive Income (Loss), Net of Tax [Abstract]  
Accumulated Other Comprehensive Income (Loss) Accumulated Other Comprehensive Income (Loss)
The components and changes in accumulated other comprehensive income (loss) for the three months ended March 31, 2024 and 2023 were as follows:
Available-for-sale debt securitiesCash flow hedgesTotal
(in thousands)
Balances at December 31, 2023$108 $(1,812)$(1,704)
Change in unrealized gains (losses) during the period(436)1,222 786 
Amount reclassified into income during the period— 218 218 
Tax effect29 (336)(307)
Net change during the period(407)1,104 697 
Balances at March 31, 2024$(299)$(708)$(1,007)
Balances at December 31, 2022$(2,705)$758 $(1,947)
Change in unrealized gains (losses) during the period1,131 (443)688 
Amount reclassified into income during the period— (534)(534)
Tax effect— 222 222 
Net change during the period1,131 (755)376 
Balances at March 31, 2023$(1,574)$$(1,571)
The effects on income before income taxes of amounts reclassified from AOCI to the condensed consolidated statements of operations were as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Reclassification of AOCI - Cash flow hedges
Revenues$(279)$1,136 
Cost of revenues15 (139)
Research and development37 (383)
Sales and marketing(23)
General and administrative(57)
Total$(218)$534 
There was no reclassification of AOCI to other income (expense), net related to Available-for-sale debt securities during the three months ended March 31, 2024 and 2023.
XML 22 R11.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Property and Equipment, Net
3 Months Ended
Mar. 31, 2024
Property, Plant and Equipment [Abstract]  
Property and Equipment, Net Property and Equipment, Net
Property and equipment, net, consists of the following:
March 31,
2024
December 31,
2023
(in thousands)
Computer equipment$180,860 $179,002 
Computer software26,139 26,133 
Leasehold improvements20,924 20,924 
Scanner appliances18,449 18,369 
Furniture, fixtures and equipment6,712 6,699 
Total property and equipment253,084 251,127 
Less: accumulated depreciation and amortization(222,893)(218,528)
Property and equipment, net$30,191 $32,599 
As of March 31, 2024 and December 31, 2023, physical scanner appliances and other computer equipment that are or will be subject to leases by customers had a net carrying value of $9.6 million and $10.1 million, respectively, including assets that had not been placed in service of $6.1 million and $6.4 million, respectively.
Depreciation and amortization expenses relating to property and equipment were $4.5 million and $6.5 million for the three months ended March 31, 2024 and 2023, respectively, which were mainly recorded in cost of revenues in the condensed consolidated statements of operations.
XML 23 R12.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue from Contracts with Customers
3 Months Ended
Mar. 31, 2024
Revenue Recognition [Abstract]  
Revenue from Contracts with Customers Revenue from Contracts with Customers
The Company records deferred revenue when cash payments are received or due in advance of its performance obligations offset by revenue recognized in the period. Revenues of $131.0 million and $113.8 million were recognized during the three months ended March 31, 2024 and 2023, respectively, which amounts were included in the deferred revenue balances of $364.9 million and $317.2 million as of December 31, 2023 and 2022, respectively.
The Company's payment terms vary by the type and location of its customers. The term between invoicing and when payment is due is not significant. In certain circumstances, based on the credit quality of the customer, the Company requires payment before the products or services are delivered to the customer.
The following table sets forth the expected revenue from all remaining performance obligations as of March 31, 2024:
(in thousands)
2024 (remaining nine months)$163,231 
2025141,528 
202663,966 
20277,421 
2028496 
2029 and thereafter110 
Total$376,752 
Revenues allocated to remaining performance obligations represents the transaction price of noncancelable orders for which service has not been performed, which include deferred revenue and the amounts that will be invoiced and recognized as revenues in future periods from open contracts and excludes unexercised renewals. The Company applied the short-term contract exemption to exclude the remaining performance obligations that are part of a contract that has an original expected duration of one year or less.
From time to time, the Company enters into contracts with customers that extend beyond one year, with certain of its customers electing to pay for more than one year of services upon contract execution. The Company concluded that these contracts did not contain a financing component.
Revenues by sales channel are as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Direct$80,126 $75,093 
Partner65,679 55,590 
Total$145,805 $130,683 
The Company utilizes partners to enable and accelerate the adoption of its cloud platform by increasing its distribution capabilities and market awareness of its cloud platform as well as by targeting geographic regions outside the reach of its direct sales force. The Company's channel partners maintain relationships with their customers throughout the territories in which they operate and provide their customers with services and third-party solutions to help meet those customers’ evolving security and compliance requirements. As such, these partners may offer the Company's IT security and compliance solutions in conjunction with one or more of their own products or services and act as a conduit through which the Company can connect with these prospective customers to offer its solutions. For sales involving a channel partner, the channel partner engages with the prospective customer directly and involves the Company's sales team as needed to assist in developing and closing an order. When a channel partner secures a sale, the Company sells the associated subscription to the channel partner who in turn resells the subscription to the customer. Sales to channel partners are made at a discount and revenues are recorded at this discounted price over the subscription terms. The Company does not have any influence or specific knowledge of its partners' selling terms with their customers. See Note 11, "Segment and Geographic Area Information" for disaggregation of revenue by geographic area.
Deferred costs to obtain contracts are as follows:
March 31,
2024
December 31,
2023
(in thousands)
Current$6,052 $5,858 
Noncurrent$12,141 $11,844 
For the three months ended March 31, 2024 and 2023, the Company recognized $1.6 million and $1.4 million, respectively, of amortization expense relating to deferred costs to obtain contracts in sales and marketing expense in the condensed consolidated statements of operations. During the same periods, there was no impairment loss related to the deferred costs to obtain contracts.
As of December 31, 2022, the net carrying value of the Company’s accounts receivable, current deferred revenues, and noncurrent deferred revenues were $121.8 million, $293.7 million and $23.5 million, respectively.
XML 24 R13.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Intangible Assets, Net
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Intangible Assets, Net Intangible Assets, Net
Intangible assets consist primarily of developed technology and patent licenses acquired from business or asset acquisitions. Acquired intangibles are amortized on a straight-line basis over the respective estimated useful lives of the assets.
The carrying values of intangible assets are as follows:
March 31, 2024
(in thousands)Weighted Average Life (Years)CostAccumulated AmortizationNet Book Value
Developed technology4.6$40,141 $(31,368)$8,773 
Patent licenses14.01,387 (1,346)41 
Assembled workforce2.0359 (270)89 
Total intangibles subject to amortization$41,887 $(32,984)$8,903 
Intangible assets not subject to amortization40 
Total intangible assets, net$8,943 
 December 31, 2023
(in thousands)Weighted Average Life (Years)CostAccumulated AmortizationNet Book Value
Developed technology4.6$40,141 $(30,667)$9,474 
Patent licenses14.01,387 (1,322)65 
Assembled workforce2.0359 (223)136 
Total intangibles subject to amortization$41,887 $(32,212)$9,675 
Intangible assets not subject to amortization40 
Total intangible assets, net$9,715 
Intangible asset amortization expense was $0.8 million and $0.8 million for the three months ended March 31, 2024 and 2023, respectively. Intangible asset amortization expenses were primarily recorded in cost of revenues in the condensed consolidated statements of operations.
As of March 31, 2024, the Company expects amortization expense in future periods to be as follows:
(in thousands)
2024 (remaining nine months)$2,132 
20252,556 
20262,477 
20271,738 
Total expected future amortization expense$8,903 
XML 25 R14.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases
3 Months Ended
Mar. 31, 2024
Leases [Abstract]  
Leases Leases
The Company leases certain offices, computer equipment and its shared cloud platform facilities under non-cancelable operating leases for varying periods through 2029. While under the Company's lease agreements the Company has options to extend its certain leases, the Company has not included renewal options in determining the lease terms for calculating its lease liabilities, as these options are not reasonably certain of being exercised. Lease expense was $3.8 million and $4.0 million for the three months ended March 31, 2024 and 2023, respectively.
Supplemental cash flow information related to operating leases was as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Cash payments included in the measurement of lease liabilities$3,621 $3,905 
Lease liabilities arising from obtaining right-of-use assets$12,347 $— 
The weighted average remaining lease term and the weighted average discount rate of the Company's operating leases were as follows:
March 31,
2024
December 31,
2023
Weighted average remaining lease term (years)4.13.1
Weighted average discount rate6.7 %5.2 %
Maturities of the Company's operating lease liabilities as of March 31, 2024 are as follows:
(in thousands)
2024 (remaining nine months)$9,402 
20259,862 
20268,586 
20278,532 
20285,644 
2029 and thereafter1,741 
Total minimum lease payments43,767 
Less: interest(5,937)
Present value of net minimum lease payments$37,830 
The operating lease payments in the table above exclude approximately $19.4 million of legally binding minimum lease payments for a lease signed during the three months ended March 31, 2024 that has yet to commence.
XML 26 R15.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Commitments and Contingencies
3 Months Ended
Mar. 31, 2024
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Indemnifications
The Company from time to time enters into certain types of contracts that contingently require it to indemnify various parties against claims from third parties. These contracts primarily relate to (i) the Company's bylaws, under which it must indemnify directors and executive officers, and may indemnify other officers and employees, for liabilities arising out of their relationship, (ii) contracts under which the Company must indemnify directors and certain officers for liabilities arising out of their relationship, and (iii) contracts under which the Company may be required to indemnify customers or resellers from certain liabilities arising from potential infringement of intellectual property rights, as well as potential damages caused by limited product defects. To date, the Company has not incurred and has not recorded any liability in connection with such indemnifications.
The Company maintains director and officer insurance, which may cover certain liabilities arising from its obligation to indemnify its directors.
XML 27 R16.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stockholders' Equity and Stock-based Compensation
3 Months Ended
Mar. 31, 2024
Equity [Abstract]  
Stockholders' Equity and Stock-based Compensation Stockholders' Equity and Stock-based Compensation
Equity Incentive Plans
Restated 2012 Equity Incentive Plan
On June 8, 2022 ("Effective Date"), the Company's stockholders approved the Amended and Restated 2012 Equity Incentive Plan (the "Restated 2012 Plan"). Under the Restated 2012 Plan, the Company is authorized to grant to eligible participants incentive stock options, nonstatutory stock options, restricted stock, restricted stock units ("RSUs"), stock appreciation rights, performance units and performance shares. Pursuant to the relevant plan provisions, 3,072 thousand shares were available for grant under the Restated 2012 Plan on the Effective Date. In addition, any outstanding awards or options granted under the previous version of the 2012 Equity Incentive Plan (“Previous 2012 Plan”) will be added back to the shares available for grant under the Restated 2012 Plan if they expire unexercised or are otherwise forfeited after the Effective Date. Any remaining shares available for grant under the Previous 2012 Plan as of the Effective Date were no longer available for future grants under the Restated 2012 Plan.
As of March 31, 2024, 1,660 thousand shares were available for grant under the Restated 2012 Plan.
2021 Employee Stock Purchase Plan
On June 9, 2021, the Company’s stockholders approved the 2021 Employee Stock Purchase Plan (the “ESPP”). A total of 600 thousand shares were authorized for issuance to eligible participating employees upon adoption of the ESPP. The ESPP provides for consecutive 6-month offering periods beginning on or about August 16 and February 16 of each year. Eligible employees who elect to participate can contribute from 1% to 15% of their eligible compensation through payroll withholding. During any offering period, contribution rates cannot be changed. However, eligible employees may withdraw from the current offering period. Any contributions made prior to each purchase date in the case of withdrawal or termination of employment will be refunded. On each purchase date, eligible participating employees will purchase the shares at a price per share equal to 85% of the lesser of (i) the fair market value of the Company's stock on the first trading day of the offering period or (ii) the fair market value of the Company's stock on the purchase date (i.e., the last trading day of the offering period).
During the three months ended March 31, 2024, 29 thousand shares were issued in connection with the purchase of common stock by participating employees. As of March 31, 2024, 465 thousand shares were available for future purchases.
Stock Options
Stock options granted under the Restated 2012 Plan and Previous 2012 Plan (collectively, the Plans) generally vest based on continued service over four years and expire ten years from the date of grant.
A summary of the Company’s stock option activity during the three months ended March 31, 2024 is as follows:
Outstanding OptionsWeighted Average Exercise
Price
Weighted Average Remaining
Contractual Life
Aggregate Intrinsic Value
(in thousands)(Years)(in thousands)
Balance as of December 31, 20231,447$97.98 6.5$142,302 
Granted89$168.24 
Exercised(46)$60.33 
Canceled(26)$119.79 
Balance as of March 31, 20241,464$103.02 6.6$93,624 
Vested and expected to vest as of March 31, 20241,293$98.39 6.3$88,616 
Exercisable as of March 31, 2024771$74.64 4.7$71,126 
Restricted Stock Units
RSUs granted under the Plans generally only contain a service-based vesting condition that is typically satisfied over four years.
Performance-based Restricted Stock Units ("PRSUs") granted under the Plans contain both service-based and performance-based vesting conditions. During the three months ended March 31, 2024, the Company granted PRSUs to its executive officers and certain other members of its senior leadership team. The performance-based vesting condition is satisfied upon the achievement of certain Company annual performance targets, including revenue growth and adjusted EBITDA margin, set by the Compensation and Talent Committee of the board of directors of the Company. The target PRSUs are scheduled to vest in three equal annual installments over a three-year period. Each annual installments at 200% of the annual target will be considered granted when the performance targets for the corresponding performance year is determined and approved. The actual number of the PRSUs earned and eligible to vest ranges from 0% to 200% of the annual target number of PRSUs granted based on the weighted-average achievement of such Company annual performance metrics set for the corresponding annual performance period. The vesting and release of the first and second installment is capped at 100% of the target number at the end of the first and second year, respectively, with cumulative achievement over 100%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment. For PRSUs granted under the Plans, any unvested PRSU award may be accelerated in part or in full upon the occurrence of certain events, such as death or disability, or a change in control, as defined in the grant agreement.
A summary of the Company’s RSU activity, inclusive of PRSU activity, during the three months ended March 31, 2024 is as follows:
Outstanding RSUsWeighted Average Grant Date Fair Value
Per Share
(in thousands)
Balance as of December 31, 20231,074(1)$133.60 
Granted187(2)$168.24 
Vested(149)(3)$143.89 
Forfeited(86)(4)$135.63 
Balance as of March 31, 20241,026(5)$140.47 
Outstanding and expected to vest as of March 31, 2024815$138.10 
(1)Included 139 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.
(2)Included 156 thousand PRSUs granted to certain executive officers in the three months ended March 31, 2024.
(3)Included 64 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.
(4)Included 59 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.
(5)Included 172 thousand PRSUs granted to certain executive officers in 2024, 2023, 2022 and 2021.
Stock-based Compensation
The following table shows a summary of the stock-based compensation expense included in the condensed consolidated statements of operations:
Three Months Ended
March 31,
20242023
(in thousands)
Cost of revenues$2,020 $1,592 
Research and development5,303 4,960 
Sales and marketing3,739 2,454 
General and administrative7,969 7,027 
Total stock-based compensation, net of amounts capitalized (1)$19,031 $16,033 
(1)Total stock-based compensation expense capitalized was de minimis during the three months ended March 31, 2024.
Of the total stock-based compensation expense in the table above, the Company recognized stock-based compensation expenses related to all PRSUs of $2.8 million and $1.3 million during the three months ended March 31, 2024 and 2023, respectively.
As of March 31, 2024, the Company had unrecognized stock-based compensation expenses of $23.7 million, $85.9 million, $11.9 million, and $0.8 million related to options, RSUs, performance-based RSUs, and ESPP purchase rights, respectively, which are expected to be recognized over weighted-average periods of 2.5 years, 2.6 years, 0.9 years, and 0.4 years, respectively.
Share Repurchase Program
The Company's share repurchase program was authorized by the board of directors as follows:
Announcement DateAuthorized Dollar Value
(in millions)
February 12, 2018$100.0 
October 30, 2018100.0 
October 30, 2019100.0 
May 7, 2020100.0 
February 10, 2021100.0 
November 3, 2021200.0 
May 4, 2022200.0 
February 9, 2023100.0 
February 7, 2024200.0 
Total as of March 31, 2024$1,200.0 
Shares may be repurchased from time to time on the open market in accordance with Rule 10b-18 of the Exchange Act of 1934, including pursuant to a pre-set trading plan adopted in accordance with Rule 10b5-1 under the Exchange Act. All share repurchases have been made using cash resources. Repurchased shares are retired and reclassified as authorized and unissued shares of common stock. On retirement of the repurchased shares, common stock is reduced by an amount equal to the number of shares being retired multiplied by the par value. The excess amount that is retired over its par value
is first allocated as a reduction to additional paid-in capital based on the original cost of additional paid-in capital per share of identified issuances. The remaining amount is allocated to accumulated deficit.
During the three months ended March 31, 2024 and 2023, the Company repurchased 105 thousand shares and 584 thousand shares of its common stock for approximately $18.0 million and $66.6 million, respectively. As of March 31, 2024, approximately $265.7 million remained available for share repurchases pursuant to the Company's share repurchase program.
Excise tax on stock repurchases net of issue was immaterial to the Company's financial results and cash flows for the three months ended March 31, 2024 and 2023 and the Company's financial position as of March 31, 2024 and December 31, 2023.
XML 28 R17.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes
3 Months Ended
Mar. 31, 2024
Income Tax Disclosure [Abstract]  
Income Taxes Income Taxes
The Company's income tax provision for interim periods is determined using an estimate of its annual effective tax rate, adjusted for discrete items, if any, that arise during the period. Each quarter, the Company updates its estimate of the annual effective tax rate, and if the estimated annual effective tax rate changes, the Company makes a cumulative adjustment in such period.
The Company's quarterly tax provision, and estimate of its annual effective tax rate, is subject to variation due to several factors, including variability in pretax income (or loss), the mix of jurisdictions to which such income relates, changes in how the Company does business, tax law developments and possible outcomes of audits. The Company's estimated effective tax rate for the year differs from the U.S. statutory rate of 21% primarily due to non-deductible stock-based compensation expense, state taxes, the benefit of U.S. federal income tax credits, the impact of mandatory capitalization of research expenses for U.S. tax purposes, and the benefits related to foreign-derived intangible income deduction.
The Company recorded an income tax provision of $9.8 million and $8.3 million for the three months ended March 31, 2024 and 2023, respectively, resulting in an effective tax rate of 19.7% and 22.1%, respectively. The increase in income tax provision for the three months ended March 31, 2024 compared to the three months ended March 31, 2023, was primarily due to tax effect of an increase in pretax income, partially offset by an increase in excess tax benefits arising from stock-based compensation and lower net capitalization of research and development expenses for tax purposes.
As of March 31, 2024, the Company had unrecognized tax benefits of $11.2 million, of which $6.5 million, if recognized, would favorably impact the Company's effective tax rate. As of December 31, 2023, the Company had unrecognized tax benefits of $11.9 million, of which $6.1 million, if recognized, would favorably impact the Company's effective tax rate. The Company does not anticipate a material change in its unrecognized tax benefits in the next 12 months.
XML 29 R18.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment and Geographic Area Information
3 Months Ended
Mar. 31, 2024
Segment Reporting [Abstract]  
Segment and Geographic Area Information Segment and Geographic Area Information
Under ASC 280 Segment Reporting, operating segments are defined as components of an entity about which separate financial information is evaluated regularly by the chief operating decision maker in deciding how to allocate resources and in assessing performance. The Company operates in one segment and has only one reportable segment. The Company’s chief operating decision maker is the Chief Executive Officer, who makes operating decisions, assesses performance and allocates resources on a consolidated basis. All of the Company’s principal operations and decision-making functions are located in the United States.
Revenue by geographic area, based on the customer's billing address, is as follows:
Three Months Ended
March 31,
20242023
(in thousands)
United States$86,436 $78,016 
Foreign59,369 52,667 
Total revenues$145,805 $130,683 
Long-lived assets, which consist of Property and equipment, net and Operating leases - right of use asset, by geographic area, are as follows:
March 31,
2024
December 31,
2023
(in thousands)
United States$39,325 $42,622 
India20,223 9,952 
Rest of world2,014 2,416 
Total Long-lived Assets$61,562 $54,990 
XML 30 R19.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income Per Share
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Net Income Per Share Net Income Per Share
The computations for basic and diluted net income per share are as follows:
Three Months Ended
March 31,
20242023
(in thousands, except per share data)
Numerator:
Net income$39,731 $29,105 
Denominator:
Basic weighted average shares36,955 37,068 
Effect of potentially dilutive shares:
Stock options471 489 
Restricted stock units292 110 
Employee stock purchase plan
Diluted weighted average shares37,723 37,669 
Net income per share:
Basic$1.08 $0.79 
Diluted$1.05 $0.77 
Potentially dilutive shares not included in the calculation of diluted net income per share because doing so would be anti-dilutive are as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Stock options325990
Restricted stock units365
Employee stock purchase plan14
Total anti-dilutive shares3251,369
XML 31 R20.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Pay vs Performance Disclosure    
Net income $ 39,731 $ 29,105
XML 32 R21.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Insider Trading Arrangements
3 Months Ended
Mar. 31, 2024
shares
Trading Arrangements, by Individual  
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
Wendy Pfeiffer [Member]  
Trading Arrangements, by Individual  
Material Terms of Trading Arrangement
On February 23, 2024, Wendy M. Pfeiffer, a member of our board of directors, adopted a Rule 10b5-1 trading arrangement providing for the sale from time to time of an aggregate of up to 2,000 shares of our common stock. The trading arrangement is intended to satisfy the affirmative defense in Rule 10b5-1(c). The duration of the trading arrangement is until May 23, 2025, or earlier if all transactions under the trading arrangement are completed. Prior to entering into the new Rule 10b5-1 trading arrangement in February 2024, Ms. Pfeiffer’s previous Rule 10b5-1 trading arrangement expired according to its terms because all the transactions under the arrangement were completed.
Name Wendy M. Pfeiffer
Title board of directors
Rule 10b5-1 Arrangement Adopted true
Adoption Date February 23, 2024
Arrangement Duration 455 days
Aggregate Available 2,000
Sumedh Thakar [Member]  
Trading Arrangements, by Individual  
Material Terms of Trading Arrangement
On February 28, 2024, Sumedh S. Thakar, our Chief Executive Officer and a member of our board of directors, adopted a Rule 10b5-1 trading arrangement providing for the sale from time to time of an aggregate of up to 114,000 shares of our common stock, which represents the gross number of shares authorized to be sold during the duration of the plan, before excluding any shares withheld by the company to satisfy its income tax withholding in connection with the net settlement of the equity awards. The trading arrangement is intended to satisfy the affirmative defense in Rule 10b5-1(c). The duration of the trading arrangement is until May 28, 2025, or earlier if all transactions under the trading arrangement are completed.
Name Sumedh S. Thakar
Title Chief Executive Officer
Rule 10b5-1 Arrangement Adopted true
Adoption Date February 28, 2024
Arrangement Duration 452 days
Aggregate Available 114,000
XML 33 R22.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Description of Business and Summary of Significant Accounting Policies (Policies)
3 Months Ended
Mar. 31, 2024
Accounting Policies [Abstract]  
Description of Business
Description of Business
Qualys, Inc. (the “Company”, "we", "us", "our") was incorporated in the state of Delaware on December 30, 1999. The Company is headquartered in Foster City, California and has wholly-owned subsidiaries throughout the world. The Company is a leading provider of cloud-based information technology ("IT"), security and compliance solutions that enable organizations to identify security risks to their IT infrastructures, help protect their IT systems and applications from ever-evolving cyber-attacks and achieve compliance with internal policies and external regulations. The Company’s cloud solutions address the growing security and compliance complexities and risks that are amplified by the dissolving boundaries between internal and external IT infrastructures and web environments, the rapid adoption of cloud computing and the proliferation of geographically dispersed IT assets. Organizations can use the Company’s integrated suite of solutions delivered on Qualys' Enterprise TruRisk Platform to cost-effectively obtain a unified view of their security and compliance posture across globally-distributed IT infrastructures.
Basis of Presentation
Basis of Presentation
The accompanying unaudited condensed consolidated financial statements and condensed footnotes have been prepared in accordance with accounting principles generally accepted in the United States ("U.S. GAAP") for interim financial information as well as the instructions to Form 10-Q and the rules and regulations of the U.S. Securities and Exchange Commission ("SEC"). Certain information and disclosures normally included in the financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated balance sheet as of December 31, 2023, included herein, was derived from the audited financial statements as of that date but does not include all disclosures, including notes required by U.S. GAAP. In the opinion of management, the accompanying unaudited condensed consolidated financial statements reflect all adjustments, which include only normal recurring adjustments, necessary for the fair statement of the financial position, results of operations and cash flows for the interim periods. The results of operations for the three months ended March 31, 2024 are not necessarily indicative of the results of operations expected for the entire year ending December 31, 2024 or for any other future annual or interim periods. These condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023 filed with the SEC on February 22, 2024.
Use of Estimates
Use of Estimates
The preparation of the unaudited condensed consolidated financial statements in conformity with U.S. GAAP requires management to make certain estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of assets and liabilities at the date of the condensed consolidated financial statements and the reported results of operations during the reporting period. The Company’s management regularly assesses these estimates, which primarily affect revenue recognition, allowance for credit loss, the valuation of goodwill and intangible assets, leases, stock-based compensation and income tax provision. Actual results could differ from those estimates and such differences may be material to the accompanying unaudited condensed consolidated financial statements.
Recently Adopted Accounting Pronouncements and Recently Issued Accounting Pronouncements Not Yet Adopted
Recently Adopted Accounting Pronouncements
None.
Recently Issued Accounting Pronouncements Not Yet Adopted
In November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2023-07 requiring enhanced segment disclosures. The ASU requires disclosure of significant segment expenses regularly provided to the chief operating decision maker ("CODM") included within segment operating profit or loss. Additionally, the ASU requires a description of how the CODM utilizes segment operating profit or loss to assess segment performance. The requirements of the ASU are effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company's annual reporting requirements will be effective for fiscal 2024 and interim reporting requirements will be effective beginning with the first quarter of fiscal 2025. Early adoption is permitted and retrospective application is required for all periods presented. The Company is in the process of analyzing the impact of the ASU on related disclosures.
In December 2023, the FASB issued ASU 2023-09 requiring improvements to income tax disclosures. The new ASU requires disclosure of disaggregated information about the effective tax rate and income taxes paid. The requirements of the ASU are effective for annual periods beginning after December 15, 2024 and are to be applied on a prospective basis. Companies can choose to early adopt and apply the guidance retrospectively. The Company is in the process of analyzing the impact of the ASU on related disclosures.
There have been no material changes to the Company’s significant accounting policies set forth in "Note 1" of Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023.
XML 34 R23.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value of Financial Instruments (Tables)
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Schedule of Fair Value of Financial Assets and Liabilities Measured on Recurring Basis
The following table sets forth by level within the fair value hierarchy the fair value of the Company's financial assets and liabilities measured at fair value on a recurring basis:
March 31, 2024
Level 1Level 2Fair Value
(in thousands)
Money market funds$11,466 $— $11,466 
Commercial paper— 47,317 47,317 
U.S. Treasury and government agencies— 178,188 178,188 
Corporate bonds— 87,378 87,378 
Asset-backed securities— 12,144 12,144 
Foreign currency forward contracts— 590 590 
Total assets$11,466 $325,617 $337,083 
Foreign currency forward contracts$— $677 $677 
Total liabilities$— $677 $677 
December 31, 2023
Level 1Level 2Fair Value
(in thousands)
Money market funds$87 $— $87 
Commercial paper— 54,279 54,279 
U.S. Treasury and government agencies— 208,536 208,536 
Corporate bonds— 56,465 56,465 
Asset-backed securities— 13,881 13,881 
Foreign currency forward contracts— 111 111 
Total assets$87 $333,272 $333,359 
Foreign currency forward contracts$— $1,986 $1,986 
Total liabilities$— $1,986 $1,986 
Schedule of Cash Equivalents and Marketable Securities
The Company's cash equivalents and marketable securities consist of the following:
March 31, 2024
Amortized CostUnrealized GainsUnrealized LossesFair Value
(in thousands)
Cash equivalents: (1)
Money market funds$11,466 $— $— $11,466 
Commercial paper1,600 — (1)1,599 
U.S. Treasury and government agencies53,851 — (3)53,848 
Total66,917 — (4)66,913 
Short-term marketable securities:    
Commercial paper45,752 (35)45,718 
Corporate bonds28,822 (111)28,719 
U.S. Treasury and government agencies105,553 (110)105,450 
Total180,127 16 (256)179,887 
Long-term marketable securities:
Corporate bonds58,771 94 (206)58,659 
Asset-backed securities12,074 72 (2)12,144 
U.S. Treasury and government agencies18,904 12 (26)18,890 
Total89,749 178 (234)89,693 
Total$336,793 $194 $(494)$336,493 
(1)Excludes cash of $206.9 million.
December 31, 2023
Amortized CostUnrealized GainsUnrealized LossesFair Value
(in thousands)
Cash equivalents: (2)
Money market funds$87 $— $— $87 
U.S. Treasury and government agencies54,620 — 54,624 
Total54,707 — 54,711 
Short-term marketable securities:
Commercial paper54,254 32 (7)54,279 
Corporate bonds23,013 (149)22,865 
U.S. Treasury and government agencies144,901 52 (204)144,749 
Total222,168 85 (360)221,893 
Long-term marketable securities:
Corporate bonds33,337 285 (22)33,600 
Asset-backed securities13,785 102 (6)13,881 
U.S. Treasury and government agencies9,116 49 (2)9,163 
Total56,238 436 (30)56,644 
Total$333,113 $525 $(390)$333,248 
(2)Excludes cash of $149.0 million.
Schedule of Gross Unrealized Losses and Fair Value of Marketable Securities in an Unrealized Loss Position
The following table summarizes the gross unrealized losses and fair value of the Company's marketable securities that were in an unrealized loss position aggregated by length of time:
March 31, 2024
Less than 12 months12 months or longerTotal
Fair valueGross unrealized lossesFair valueGross unrealized lossesFair valueGross unrealized losses
(in thousands)
Commercial paper$44,391 $(36)$— $— $44,391 $(36)
Asset-backed securities— — 687 (2)687 (2)
Corporate bonds45,533 (233)8,705 (84)54,238 (317)
U.S. Treasury and government agencies142,202 (65)12,864 (74)155,066 (139)
Total$232,126 $(334)$22,256 $(160)$254,382 $(494)
December 31, 2023
Less than 12 months12 months or longerTotal
Fair valueGross unrealized lossesFair valueGross unrealized lossesFair valueGross unrealized losses
(in thousands)
Commercial paper$24,838 $(7)$— $— $24,838 $(7)
Asset-backed securities— — 1,485 (6)1,485 (6)
Corporate bonds— — 20,717 (171)20,717 (171)
U.S. Treasury and government agencies43,373 (18)18,172 (188)61,545 (206)
Total$68,211 $(25)$40,374 $(365)$108,585 $(390)
Schedule of the Fair Value of Cash Equivalents and Marketable Securities by Contractual Maturity
The following summarizes the fair value of marketable securities by contractual maturity:
March 31, 2024
Amortized CostFair Value
(in thousands)
Due within One Year$247,044 $246,801 
Due after One Year through Two Years49,810 49,762 
Mature over Two Years27,865 27,786 
Asset-backed securities12,074 12,144 
Total$336,793 $336,493 
Schedule of Derivative Instruments
The following summarizes the fair value of derivative financial instruments as of March 31, 2024 and December 31, 2023:
March 31,
2024
December 31,
2023
(in thousands)
Assets
Foreign currency forward contracts designated as cash flow hedge$552 $63 
Foreign currency forward contracts not designated as hedging instruments38 48 
Total$590 $111 
Liabilities
Foreign currency forward contracts designated as cash flow hedge$544 $1,502 
Foreign currency forward contracts not designated as hedging instruments133 484 
Total$677 $1,986 
Schedule of Gains (Losses) Recognized from Forward Contracts and Other Foreign Currency Transactions in Other Income (Expense)
The following summarizes the gains (losses) recognized from forward contracts and other foreign currency transactions in other income (expense), net in the condensed consolidated statements of operations:
Three Months Ended
March 31,
20242023
(in thousands)
Net gains from non-designated forward contracts$512 $259 
Other foreign currency transactions losses(1,941)(425)
Total foreign exchange losses, net$(1,429)$(166)
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accumulated Other Comprehensive Income (Loss) (Tables)
3 Months Ended
Mar. 31, 2024
Accumulated Other Comprehensive Income (Loss), Net of Tax [Abstract]  
Schedule of Accumulated Other Comprehensive Income (Loss)
The components and changes in accumulated other comprehensive income (loss) for the three months ended March 31, 2024 and 2023 were as follows:
Available-for-sale debt securitiesCash flow hedgesTotal
(in thousands)
Balances at December 31, 2023$108 $(1,812)$(1,704)
Change in unrealized gains (losses) during the period(436)1,222 786 
Amount reclassified into income during the period— 218 218 
Tax effect29 (336)(307)
Net change during the period(407)1,104 697 
Balances at March 31, 2024$(299)$(708)$(1,007)
Balances at December 31, 2022$(2,705)$758 $(1,947)
Change in unrealized gains (losses) during the period1,131 (443)688 
Amount reclassified into income during the period— (534)(534)
Tax effect— 222 222 
Net change during the period1,131 (755)376 
Balances at March 31, 2023$(1,574)$$(1,571)
Schedule of Amounts Reclassified from AOCI to the Statements of Operations
The effects on income before income taxes of amounts reclassified from AOCI to the condensed consolidated statements of operations were as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Reclassification of AOCI - Cash flow hedges
Revenues$(279)$1,136 
Cost of revenues15 (139)
Research and development37 (383)
Sales and marketing(23)
General and administrative(57)
Total$(218)$534 
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Property and Equipment, Net (Tables)
3 Months Ended
Mar. 31, 2024
Property, Plant and Equipment [Abstract]  
Schedule of Property, Plant and Equipment, Net
Property and equipment, net, consists of the following:
March 31,
2024
December 31,
2023
(in thousands)
Computer equipment$180,860 $179,002 
Computer software26,139 26,133 
Leasehold improvements20,924 20,924 
Scanner appliances18,449 18,369 
Furniture, fixtures and equipment6,712 6,699 
Total property and equipment253,084 251,127 
Less: accumulated depreciation and amortization(222,893)(218,528)
Property and equipment, net$30,191 $32,599 
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue from Contracts with Customers (Tables)
3 Months Ended
Mar. 31, 2024
Revenue Recognition [Abstract]  
Schedule of Expected Revenue from Performance Obligations
The following table sets forth the expected revenue from all remaining performance obligations as of March 31, 2024:
(in thousands)
2024 (remaining nine months)$163,231 
2025141,528 
202663,966 
20277,421 
2028496 
2029 and thereafter110 
Total$376,752 
Schedule of Revenue by Sales Channel
Revenues by sales channel are as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Direct$80,126 $75,093 
Partner65,679 55,590 
Total$145,805 $130,683 
Schedule of Deferred Costs to Obtain Contracts
Deferred costs to obtain contracts are as follows:
March 31,
2024
December 31,
2023
(in thousands)
Current$6,052 $5,858 
Noncurrent$12,141 $11,844 
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Intangible Assets, Net (Tables)
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of the Carrying Value of Intangible Assets
The carrying values of intangible assets are as follows:
March 31, 2024
(in thousands)Weighted Average Life (Years)CostAccumulated AmortizationNet Book Value
Developed technology4.6$40,141 $(31,368)$8,773 
Patent licenses14.01,387 (1,346)41 
Assembled workforce2.0359 (270)89 
Total intangibles subject to amortization$41,887 $(32,984)$8,903 
Intangible assets not subject to amortization40 
Total intangible assets, net$8,943 
 December 31, 2023
(in thousands)Weighted Average Life (Years)CostAccumulated AmortizationNet Book Value
Developed technology4.6$40,141 $(30,667)$9,474 
Patent licenses14.01,387 (1,322)65 
Assembled workforce2.0359 (223)136 
Total intangibles subject to amortization$41,887 $(32,212)$9,675 
Intangible assets not subject to amortization40 
Total intangible assets, net$9,715 
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense
As of March 31, 2024, the Company expects amortization expense in future periods to be as follows:
(in thousands)
2024 (remaining nine months)$2,132 
20252,556 
20262,477 
20271,738 
Total expected future amortization expense$8,903 
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases (Tables)
3 Months Ended
Mar. 31, 2024
Leases [Abstract]  
Schedule of Supplemental Cash Flow Information for Operating Leases
Supplemental cash flow information related to operating leases was as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Cash payments included in the measurement of lease liabilities$3,621 $3,905 
Lease liabilities arising from obtaining right-of-use assets$12,347 $— 
Schedule of the Average Remaining Lease Term and the Weighted Average Discount Rate of Operating Leases
The weighted average remaining lease term and the weighted average discount rate of the Company's operating leases were as follows:
March 31,
2024
December 31,
2023
Weighted average remaining lease term (years)4.13.1
Weighted average discount rate6.7 %5.2 %
Schedule of Lease Maturities
Maturities of the Company's operating lease liabilities as of March 31, 2024 are as follows:
(in thousands)
2024 (remaining nine months)$9,402 
20259,862 
20268,586 
20278,532 
20285,644 
2029 and thereafter1,741 
Total minimum lease payments43,767 
Less: interest(5,937)
Present value of net minimum lease payments$37,830 
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stockholders' Equity and Stock-based Compensation (Tables)
3 Months Ended
Mar. 31, 2024
Equity [Abstract]  
Schedule of Stock Option Activity
A summary of the Company’s stock option activity during the three months ended March 31, 2024 is as follows:
Outstanding OptionsWeighted Average Exercise
Price
Weighted Average Remaining
Contractual Life
Aggregate Intrinsic Value
(in thousands)(Years)(in thousands)
Balance as of December 31, 20231,447$97.98 6.5$142,302 
Granted89$168.24 
Exercised(46)$60.33 
Canceled(26)$119.79 
Balance as of March 31, 20241,464$103.02 6.6$93,624 
Vested and expected to vest as of March 31, 20241,293$98.39 6.3$88,616 
Exercisable as of March 31, 2024771$74.64 4.7$71,126 
Schedule of RSU Activity
A summary of the Company’s RSU activity, inclusive of PRSU activity, during the three months ended March 31, 2024 is as follows:
Outstanding RSUsWeighted Average Grant Date Fair Value
Per Share
(in thousands)
Balance as of December 31, 20231,074(1)$133.60 
Granted187(2)$168.24 
Vested(149)(3)$143.89 
Forfeited(86)(4)$135.63 
Balance as of March 31, 20241,026(5)$140.47 
Outstanding and expected to vest as of March 31, 2024815$138.10 
(1)Included 139 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.
(2)Included 156 thousand PRSUs granted to certain executive officers in the three months ended March 31, 2024.
(3)Included 64 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.
(4)Included 59 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.
(5)Included 172 thousand PRSUs granted to certain executive officers in 2024, 2023, 2022 and 2021.
Schedule of Stock-Based Compensation Expense in Statements of Operations
The following table shows a summary of the stock-based compensation expense included in the condensed consolidated statements of operations:
Three Months Ended
March 31,
20242023
(in thousands)
Cost of revenues$2,020 $1,592 
Research and development5,303 4,960 
Sales and marketing3,739 2,454 
General and administrative7,969 7,027 
Total stock-based compensation, net of amounts capitalized (1)$19,031 $16,033 
(1)Total stock-based compensation expense capitalized was de minimis during the three months ended March 31, 2024.
Schedule of Share Repurchase Program
The Company's share repurchase program was authorized by the board of directors as follows:
Announcement DateAuthorized Dollar Value
(in millions)
February 12, 2018$100.0 
October 30, 2018100.0 
October 30, 2019100.0 
May 7, 2020100.0 
February 10, 2021100.0 
November 3, 2021200.0 
May 4, 2022200.0 
February 9, 2023100.0 
February 7, 2024200.0 
Total as of March 31, 2024$1,200.0 
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment and Geographic Area Information (Tables)
3 Months Ended
Mar. 31, 2024
Segment Reporting [Abstract]  
Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas
Revenue by geographic area, based on the customer's billing address, is as follows:
Three Months Ended
March 31,
20242023
(in thousands)
United States$86,436 $78,016 
Foreign59,369 52,667 
Total revenues$145,805 $130,683 
Long-lived assets, which consist of Property and equipment, net and Operating leases - right of use asset, by geographic area, are as follows:
March 31,
2024
December 31,
2023
(in thousands)
United States$39,325 $42,622 
India20,223 9,952 
Rest of world2,014 2,416 
Total Long-lived Assets$61,562 $54,990 
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income Per Share (Tables)
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Schedule of Earnings Per Share, Basic and Diluted
The computations for basic and diluted net income per share are as follows:
Three Months Ended
March 31,
20242023
(in thousands, except per share data)
Numerator:
Net income$39,731 $29,105 
Denominator:
Basic weighted average shares36,955 37,068 
Effect of potentially dilutive shares:
Stock options471 489 
Restricted stock units292 110 
Employee stock purchase plan
Diluted weighted average shares37,723 37,669 
Net income per share:
Basic$1.08 $0.79 
Diluted$1.05 $0.77 
Schedule of Potentially Dilutive Shares Excluded from Diluted Net Income Per Share Calculation
Potentially dilutive shares not included in the calculation of diluted net income per share because doing so would be anti-dilutive are as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Stock options325990
Restricted stock units365
Employee stock purchase plan14
Total anti-dilutive shares3251,369
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value of Financial Instruments - Assets and Liabilities (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Foreign currency forward contracts $ 677 $ 1,986
Fair Value, Recurring    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Money market funds 11,466 87
Commercial paper 47,317 54,279
U.S. Treasury and government agencies 178,188 208,536
Corporate bonds 87,378 56,465
Asset-backed securities 12,144 13,881
Foreign currency forward contracts 590 111
Total assets 337,083 333,359
Foreign currency forward contracts 677 1,986
Total liabilities 677 1,986
Level 1 | Fair Value, Recurring    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Money market funds 11,466 87
Commercial paper 0 0
U.S. Treasury and government agencies 0 0
Corporate bonds 0 0
Asset-backed securities 0 0
Foreign currency forward contracts 0 0
Total assets 11,466 87
Foreign currency forward contracts 0 0
Total liabilities 0 0
Level 2 | Fair Value, Recurring    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Money market funds 0 0
Commercial paper 47,317 54,279
U.S. Treasury and government agencies 178,188 208,536
Corporate bonds 87,378 56,465
Asset-backed securities 12,144 13,881
Foreign currency forward contracts 590 111
Total assets 325,617 333,272
Foreign currency forward contracts 677 1,986
Total liabilities $ 677 $ 1,986
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value of Financial Instruments - Cash and Cash Equivalents (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Amortized Cost $ 336,793 $ 333,113
Unrealized Gains 194 525
Unrealized Losses (494) (390)
Fair Value 336,493 333,248
Cash, excluded 206,900 149,000
Cash equivalents    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Amortized Cost 66,917 54,707
Unrealized Gains 0 4
Unrealized Losses (4) 0
Fair Value 66,913 54,711
Short-term marketable securities    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Amortized Cost 180,127 222,168
Unrealized Gains 16 85
Unrealized Losses (256) (360)
Fair Value 179,887 221,893
Long-term marketable securities    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Amortized Cost 89,749 56,238
Unrealized Gains 178 436
Unrealized Losses (234) (30)
Fair Value 89,693 56,644
Commercial paper | Short-term marketable securities    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Amortized Cost 45,752 54,254
Unrealized Gains 1 32
Unrealized Losses (35) (7)
Fair Value 45,718 54,279
Corporate bonds | Short-term marketable securities    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Amortized Cost 28,822 23,013
Unrealized Gains 8 1
Unrealized Losses (111) (149)
Fair Value 28,719 22,865
Corporate bonds | Long-term marketable securities    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Amortized Cost 58,771 33,337
Unrealized Gains 94 285
Unrealized Losses (206) (22)
Fair Value 58,659 33,600
Asset-backed securities | Long-term marketable securities    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Amortized Cost 12,074 13,785
Unrealized Gains 72 102
Unrealized Losses (2) (6)
Fair Value 12,144 13,881
U.S. Treasury and government agencies | Short-term marketable securities    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Amortized Cost 105,553 144,901
Unrealized Gains 7 52
Unrealized Losses (110) (204)
Fair Value 105,450 144,749
U.S. Treasury and government agencies | Long-term marketable securities    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Amortized Cost 18,904 9,116
Unrealized Gains 12 49
Unrealized Losses (26) (2)
Fair Value 18,890 9,163
Money market funds | Cash equivalents    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Amortized Cost 11,466 87
Unrealized Gains 0 0
Unrealized Losses 0 0
Fair Value 11,466 87
U.S. Treasury and government agencies | Cash equivalents    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Amortized Cost 53,851 54,620
Unrealized Gains 0 4
Unrealized Losses (3) 0
Fair Value 53,848 $ 54,624
Commercial paper | Cash equivalents    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Amortized Cost 1,600  
Unrealized Gains 0  
Unrealized Losses (1)  
Fair Value $ 1,599  
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value of Financial Instruments - Summary of Securities in Unrealized Loss Positions (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Less than 12 months    
Fair value $ 232,126 $ 68,211
Gross unrealized losses (334) (25)
12 months or longer    
Fair value 22,256 40,374
Gross unrealized losses (160) (365)
Total    
Fair value 254,382 108,585
Gross unrealized losses (494) (390)
Commercial paper    
Less than 12 months    
Fair value 44,391 24,838
Gross unrealized losses (36) (7)
12 months or longer    
Fair value 0 0
Gross unrealized losses 0 0
Total    
Fair value 44,391 24,838
Gross unrealized losses (36) (7)
Asset-backed securities    
Less than 12 months    
Fair value 0 0
Gross unrealized losses 0 0
12 months or longer    
Fair value 687 1,485
Gross unrealized losses (2) (6)
Total    
Fair value 687 1,485
Gross unrealized losses (2) (6)
Corporate bonds    
Less than 12 months    
Fair value 45,533 0
Gross unrealized losses (233) 0
12 months or longer    
Fair value 8,705 20,717
Gross unrealized losses (84) (171)
Total    
Fair value 54,238 20,717
Gross unrealized losses (317) (171)
U.S. Treasury and government agencies    
Less than 12 months    
Fair value 142,202 43,373
Gross unrealized losses (65) (18)
12 months or longer    
Fair value 12,864 18,172
Gross unrealized losses (74) (188)
Total    
Fair value 155,066 61,545
Gross unrealized losses $ (139) $ (206)
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value of Financial Instruments - Summary of the Fair Value of Marketable Securities (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Amortized Cost    
Due within One Year $ 247,044  
Due after One Year through Two Years 49,810  
Mature over Two Years 27,865  
Asset-backed securities 12,074  
Amortized Cost 336,793 $ 333,113
Fair Value    
Due within One Year 246,801  
Due after One Year through Two Years 49,762  
Mature over Two Years 27,786  
Asset-backed securities 12,144  
Fair Value $ 336,493 $ 333,248
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value of Financial Instruments - Narrative (Details)
€ in Millions, ₨ in Millions, £ in Millions, $ in Millions, $ in Millions
Mar. 31, 2024
USD ($)
Mar. 31, 2024
EUR (€)
Mar. 31, 2024
GBP (£)
Mar. 31, 2024
INR (₨)
Mar. 31, 2024
CAD ($)
Dec. 31, 2023
EUR (€)
Dec. 31, 2023
GBP (£)
Dec. 31, 2023
INR (₨)
Dec. 31, 2023
CAD ($)
Dec. 31, 2018
USD ($)
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]                    
Investments                   $ 2.5
Foreign Exchange Contract | Designated as Hedging Instrument | Cash Flow Hedging                    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]                    
Derivative   € 46.1 £ 16.0 ₨ 4,068.0   € 48.5 £ 14.6 ₨ 4,042.0    
Foreign Exchange Contract | Not Designated as Hedging Instrument                    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]                    
Derivative   € 10.7 £ 8.6 ₨ 990.0 $ 1.0 € 19.2 £ 6.0 ₨ 440.0 $ 1.0  
Foreign Exchange Contracts for GBP and Euro | Designated as Hedging Instrument | Cash Flow Hedging                    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]                    
Foreign Currency Cash Flow Hedge Gain (Loss) to be Reclassified During Next 12 Months $ 0.8                  
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value of Financial Instruments - Summary of Derivative Financial Instruments (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Foreign currency forward contracts, asset $ 590 $ 111
Foreign currency forward contracts, liability 677 1,986
Designated as Hedging Instrument    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Foreign currency forward contracts, asset 552 63
Foreign currency forward contracts, liability 544 1,502
Not Designated as Hedging Instrument    
Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]    
Foreign currency forward contracts, asset 38 48
Foreign currency forward contracts, liability $ 133 $ 484
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value of Financial Instruments - Amounts Recognized In Statement of Operations (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Fair Value Disclosures [Abstract]    
Net gains from non-designated forward contracts $ 512 $ 259
Other foreign currency transactions losses (1,941) (425)
Total foreign exchange losses, net $ (1,429) $ (166)
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accumulated Other Comprehensive Income (Loss) - Components and Changes (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
AOCI Attributable to Parent, Net of Tax [Roll Forward]    
Beginning balance $ 368,174 $ 289,129
Other comprehensive income, net of tax 697 376
Ending balance 404,202 267,822
Accumulated Other Comprehensive Income (Loss)    
AOCI Attributable to Parent, Net of Tax [Roll Forward]    
Beginning balance (1,704) (1,947)
Change in unrealized gains (losses) during the period 786 688
Amount reclassified into income during the period 218 (534)
Tax effect (307) 222
Other comprehensive income, net of tax 697 376
Ending balance (1,007) (1,571)
Available-for-sale debt securities    
AOCI Attributable to Parent, Net of Tax [Roll Forward]    
Beginning balance 108 (2,705)
Change in unrealized gains (losses) during the period (436) 1,131
Amount reclassified into income during the period 0 0
Tax effect 29 0
Other comprehensive income, net of tax (407) 1,131
Ending balance (299) (1,574)
Cash flow hedges    
AOCI Attributable to Parent, Net of Tax [Roll Forward]    
Beginning balance (1,812) 758
Change in unrealized gains (losses) during the period 1,222 (443)
Amount reclassified into income during the period 218 (534)
Tax effect (336) 222
Other comprehensive income, net of tax 1,104 (755)
Ending balance $ (708) $ 3
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accumulated Other Comprehensive Income (Loss) - Amounts Reclassified from AOCI (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Reclassification of AOCI - Cash flow hedges    
Revenues $ 145,805 $ 130,683
Cost of revenues (27,198) (26,954)
Research and development (27,530) (27,795)
Sales and marketing (29,408) (25,628)
General and administrative (16,908) (15,128)
Other expense, net (1,399) (216)
Reclassification out of Accumulated Other Comprehensive Income | Cash flow hedges    
Reclassification of AOCI - Cash flow hedges    
Revenues (279) 1,136
Cost of revenues 15 (139)
Research and development 37 (383)
Sales and marketing 3 (23)
General and administrative 6 (57)
Total (218) 534
Reclassification out of Accumulated Other Comprehensive Income | Available-for-sale debt securities    
Reclassification of AOCI - Cash flow hedges    
Other expense, net $ 0 $ 0
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Property and Equipment, Net - Property and Equipment, Net (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Property, Plant and Equipment [Line Items]    
Total property and equipment $ 253,084 $ 251,127
Less: accumulated depreciation and amortization (222,893) (218,528)
Property and equipment, net 30,191 32,599
Computer equipment    
Property, Plant and Equipment [Line Items]    
Computer equipment 180,860 179,002
Computer software    
Property, Plant and Equipment [Line Items]    
Total property and equipment 26,139 26,133
Leasehold improvements    
Property, Plant and Equipment [Line Items]    
Total property and equipment 20,924 20,924
Scanner appliances    
Property, Plant and Equipment [Line Items]    
Total property and equipment 18,449 18,369
Furniture, fixtures and equipment    
Property, Plant and Equipment [Line Items]    
Total property and equipment $ 6,712 $ 6,699
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Property and Equipment, Net - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Property, Plant and Equipment [Line Items]      
Property and equipment, net $ 30,191   $ 32,599
Depreciation and amortization 4,500 $ 6,500  
Scanner Appliances and Other Computer Equipment      
Property, Plant and Equipment [Line Items]      
Property and equipment, net 9,600   10,100
Scanner Appliances and Other Computer Equipment Not Placed In Service      
Property, Plant and Equipment [Line Items]      
Property and equipment, net $ 6,100   $ 6,400
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue from Contracts with Customers - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Dec. 31, 2022
Revenue Recognition [Abstract]        
Revenue from contract with customer, revenue recognized $ 131,000 $ 113,800    
Deferred revenue     $ 364,900 $ 317,200
Amortization expense related to deferred costs 1,600 1,400    
Impairment loss related to deferred contract costs 0 $ 0    
Carrying value of accounts receivable       121,800
Deferred revenues, current 332,128   333,267 293,700
Deferred revenues, noncurrent $ 31,311   $ 31,671 $ 23,500
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details)
$ in Thousands
Mar. 31, 2024
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 376,752
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-04-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 163,231
Remaining performance obligation, period 9 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 141,528
Remaining performance obligation, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 63,966
Remaining performance obligation, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 7,421
Remaining performance obligation, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2028-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 496
Remaining performance obligation, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2029-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 110
Remaining performance obligation, period
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue from Contracts with Customers - Revenue by Sales Channel (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenues $ 145,805 $ 130,683
Direct    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenues 80,126 75,093
Partner    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Revenues $ 65,679 $ 55,590
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue from Contracts with Customers - Capitalized Cost to Obtain Contracts, Current and Noncurrent (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Revenue Recognition [Abstract]    
Current $ 6,052 $ 5,858
Noncurrent $ 12,141 $ 11,844
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Intangible Assets, Net- Carrying Value of Intangible Assets (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Finite-Lived Intangible Assets [Line Items]    
Cost $ 41,887 $ 41,887
Accumulated Amortization (32,984) (32,212)
Total intangibles 8,903 9,675
Intangible assets, net 8,943 9,715
Intangible assets not subject to amortization    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets not subject to amortization $ 40 $ 40
Developed technology    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Life (Years) 4 years 7 months 6 days 4 years 7 months 6 days
Cost $ 40,141 $ 40,141
Accumulated Amortization (31,368) (30,667)
Total intangibles $ 8,773 $ 9,474
Patent licenses    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Life (Years) 14 years 14 years
Cost $ 1,387 $ 1,387
Accumulated Amortization (1,346) (1,322)
Total intangibles $ 41 $ 65
Assembled workforce    
Finite-Lived Intangible Assets [Line Items]    
Weighted Average Life (Years) 2 years 2 years
Cost $ 359 $ 359
Accumulated Amortization (270) (223)
Total intangibles $ 89 $ 136
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Intangible Assets, Net - Narrative (Details) - USD ($)
$ in Millions
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]    
Intangible asset amortization expense $ 0.8 $ 0.8
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Intangible Assets, Net - Expected Amortization Expense in Future Periods (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]    
2024 (remaining nine months) $ 2,132  
2025 2,556  
2026 2,477  
2027 1,738  
Total intangibles $ 8,903 $ 9,675
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases - Narrative (Details) - USD ($)
$ in Millions
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Leases [Abstract]    
Lease expense $ 3.8 $ 4.0
Leases not yet commenced $ 19.4  
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases - Supplemental Cash Flow Information (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Leases [Abstract]    
Cash payments included in the measurement of lease liabilities $ 3,621 $ 3,905
Lease liabilities arising from obtaining right-of-use assets $ 12,347 $ 0
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases- Weighted Average Remaining Lease Term and Weighted Average Discount Rate (Details)
Mar. 31, 2024
Dec. 31, 2023
Leases [Abstract]    
Weighted average remaining lease term (years) 4 years 1 month 6 days 3 years 1 month 6 days
Weighted average discount rate 6.70% 5.20%
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases - Minimum Annual Lease Payments (Details)
$ in Thousands
Mar. 31, 2024
USD ($)
Leases [Abstract]  
2024 (remaining nine months) $ 9,402
2025 9,862
2026 8,586
2027 8,532
2028 5,644
2029 and thereafter 1,741
Total minimum lease payments 43,767
Less: interest (5,937)
Present value of net minimum lease payments $ 37,830
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stockholders' Equity and Stock-based Compensation - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended
Jun. 08, 2022
Jun. 09, 2021
Mar. 31, 2024
Mar. 31, 2023
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Shares available for grant (in shares)     1,660,000  
Vesting period (in years)     4 years  
Stock-based compensation     $ 19,031 $ 16,033
Shares repurchased and retired (in shares)     105,000 584,000
Shares repurchased and retired     $ 18,000 $ 66,600
Authorized repurchase amount remaining     265,700  
Stock options        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Stock-based compensation expenses, unrecognized     $ 23,700  
Stock-based compensation, recognition period (in years)     2 years 6 months  
Restricted stock units        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Stock-based compensation expenses, unrecognized     $ 85,900  
Stock-based compensation, recognition period (in years)     2 years 7 months 6 days  
Granted (in shares)     187,000  
Performance-based Restricted Stock Units        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Stock-based compensation expenses, unrecognized     $ 11,900  
Stock-based compensation, recognition period (in years)     10 months 24 days  
Stock-based compensation     $ 2,800 $ 1,300
Performance-based Restricted Stock Units | Executive Officer        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Vesting period (in years)     3 years  
Shares that will vest upon trigger (in percentage)     100.00%  
Granted (in shares)     156,000  
ESPP Shares        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Stock-based compensation expenses, unrecognized     $ 800  
Stock-based compensation, recognition period (in years)     4 months 24 days  
Minimum | Performance-based Restricted Stock Units | Executive Officer        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Vesting range (percentage)     0.00%  
Maximum | Performance-based Restricted Stock Units | Executive Officer        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Vesting range (percentage)     200.00%  
The 2012 Equity Incentive Plan        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Share-based compensation, additional shares available (in shares) 3,072,000      
Vesting period (in years)     4 years  
Expiration period     10 years  
The 2021 Employee Stock Purchase Plan        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
Shares available for grant (in shares)     465,000  
Shares authorized for issuance (in shares)   600,000    
Offering period (in months)   6 months    
Purchase price of stock, percentage   85.00%    
Issuance of common stock through employee stock purchase plan (in shares)     29,000  
The 2021 Employee Stock Purchase Plan | Minimum        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
ESPP eligible percent to contribute   1.00%    
The 2021 Employee Stock Purchase Plan | Maximum        
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]        
ESPP eligible percent to contribute   15.00%    
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stockholders' Equity and Stock-based Compensation - Summary of Stock-based Compensation Expense (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Stock-based compensation $ 19,031 $ 16,033
Cost of revenues    
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Stock-based compensation 2,020 1,592
Research and development    
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Stock-based compensation 5,303 4,960
Sales and marketing    
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Stock-based compensation 3,739 2,454
General and administrative    
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Stock-based compensation $ 7,969 $ 7,027
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stockholders' Equity and Stock-based Compensation - Share-based Compensation and Stock Options Activity (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Outstanding Options    
Beginning balance (in shares) 1,447  
Granted (in shares) 89  
Exercised (in shares) (46)  
Canceled (in shares) (26)  
Ending balance (in shares) 1,464 1,447
Weighted Average Exercise Price    
Beginning balance (in USD per share) $ 97.98  
Granted (in USD per share) 168.24  
Exercised (in USD per share) 60.33  
Canceled (in USD per share) 119.79  
Ending balance (in USD per share) $ 103.02 $ 97.98
Stock Options Additional Disclosures    
Vested and expected to vest (in shares) 1,293  
Vested and expected to vest (in USD per share) $ 98.39  
Weighted average remaining contractual life, balance (in years) 6 years 7 months 6 days 6 years 6 months
Weighted average remaining contractual life, vested and expected to vest (in years) 6 years 3 months 18 days  
Aggregate Intrinsic Value $ 93,624 $ 142,302
Vested and expected to vest as of March 31, 2024 $ 88,616  
Outstanding options, exercisable (in shares) 771  
Weighted average exercise price, exercisable (in USD per share) $ 74.64  
Weighted average remaining contractual life, exercisable (in years) 4 years 8 months 12 days  
Exercisable as of March 31, 2024 $ 71,126  
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stockholders' Equity and Stock-based Compensation - Summary of Restricted Stock Unit Activity (Details) - $ / shares
shares in Thousands
3 Months Ended 12 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Restricted stock units        
Outstanding RSUs        
Beginning balance (in shares) 1,074      
Granted (in shares) 187      
Vested (in shares) (149)      
Forfeited (in shares) (86)      
Ending balance (in shares) 1,026 1,074    
Outstanding and expected to vest (in shares) 815      
Weighted Average Grant Date Fair Value Per Share        
Beginning balance (in USD per share) $ 133.60      
Granted (in USD per share) 168.24      
Vested (in USD per share) 143.89      
Forfeited (in USD per share) 135.63      
Ending balance (in USD per share) 140.47 $ 133.60    
Outstanding and expected to vest (in USD per share) $ 138.10      
Performance-based Restricted Stock Units | Executive Officer 1        
Outstanding RSUs        
Granted (in shares)   139 139 139
Performance-based Restricted Stock Units | Executive Officer        
Outstanding RSUs        
Granted (in shares) 156      
Performance-based Restricted Stock Units | Executive Officer 2        
Outstanding RSUs        
Granted (in shares)   64 64 64
Performance-based Restricted Stock Units | Executive Officer 3        
Outstanding RSUs        
Granted (in shares)   59 59 59
Performance-based Restricted Stock Units | Executive Officer 4        
Outstanding RSUs        
Granted (in shares) 172 172 172 172
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stockholders' Equity and Stock-based Compensation - Schedule of Repurchase Agreements (Details) - USD ($)
$ in Millions
Mar. 31, 2024
Feb. 07, 2024
Feb. 09, 2023
May 04, 2022
Nov. 03, 2021
Feb. 10, 2021
May 07, 2020
Oct. 30, 2019
Oct. 30, 2018
Feb. 12, 2018
Authorized Dollar Value                    
Stock repurchase program, authorized amount $ 1,200.0                 $ 100.0
Additional authorized amount   $ 200.0 $ 100.0 $ 200.0 $ 200.0 $ 100.0 $ 100.0 $ 100.0 $ 100.0  
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Income Tax Disclosure [Abstract]      
Income tax provision $ 9,754 $ 8,254  
Income tax rate, percentage 19.70% 22.10%  
Unrecognized tax benefits $ 11,200   $ 11,900
Unrecognized tax benefits effecting the tax rate $ 6,500   $ 6,100
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment and Geographic Area Information - Narrative (Details)
3 Months Ended
Mar. 31, 2024
segment
Segment Reporting [Abstract]  
Number of operating segments 1
Number of reportable segments 1
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment and Geographic Area Information - Revenue and Property and Equipment, Net by Geographic Area (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenues $ 145,805 $ 130,683  
Total Long-lived Assets 61,562   $ 54,990
United States      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenues 86,436 78,016  
Total Long-lived Assets 39,325   42,622
Foreign      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Revenues 59,369 $ 52,667  
India      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Total Long-lived Assets 20,223   9,952
Rest of world      
Revenues from External Customers and Long-Lived Assets [Line Items]      
Total Long-lived Assets $ 2,014   $ 2,416
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income Per Share - Basic and Diluted Net Income Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Numerator:    
Net income $ 39,731 $ 29,105
Denominator:    
Basic weighted average shares (in shares) 36,955 37,068
Stock options (in shares) 471 489
Retired stock units (in shares) 292 110
Employee stock purchase plan (in shares) 5 2
Diluted weighted average shares (in shares) 37,723 37,669
Net income per share:    
Basic (in USD per share) $ 1.08 $ 0.79
Diluted (in USD per share) $ 1.05 $ 0.77
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income Per Share - Anti-dilutive Net Income Per Share (Details) - shares
shares in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Total anti-dilutive shares 325 1,369
Stock options    
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Total anti-dilutive shares 325 990
Restricted stock units    
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Total anti-dilutive shares 0 365
Employee stock purchase plan    
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Total anti-dilutive shares 0 14
EXCEL 75 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( .Z(IU@'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 " #NB*=8=FMX.>\ K @ $0 &1O8U!R;W!S+V-O&ULS9+! M3L,P#(9?!>7>.NT&$U&7"V@GD)"8!.(6)=X6K6FCQ*C=VY.&K1."!^ 8^\_G MSY(;[87N [Z$WF,@B_%F=&T7A?9K=B#R B#J SH5RY3H4G/7!ZO-)' MM4>H.;\#AZ2,(@43L/ SD?HM[!= M)-5I3+^B%73RN&:7R6^+A\?MALF:U\N"WQ9\M:TKP5>"WW],KC_\KL*N-W9G M_['Q15 V\.LNY!=02P,$% @ [HBG6)E&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" #NB*=8-4M+.-H% #5'@ & 'AL+W=OG1T>26=KZ7ZFBV%T.0YCI+LHK/4.GW7[6;^4L0\ M.Y&I2.#-7*J8:[A5BVZ6*L&#(BB.NLQQ!MV8ATEG=%X\FZC1N9@.*+WT.QSEY=$X,RD_*KN;D-+CJ.*9&(A*^-!(=_*^&)*#)*4(Y_ M-J*=ZC=-X.OKK?I- 0\P,YX)3T9_A(%>7G3..B00-<2[Y*-,]#(CUTD@@F_CNU"6JD!L6Z!+A@I^Y.J$N/2(,(?U M+.7Q\/!Q"N%L8 O_ICAN53]NH>>B]?/7>)9I!4WN;UL-E0H]NX+IA^^RE/OB MH@,=+1-J)3JCGWZ@ ^=7&]YW$OL&ME?!]C#UT97T<^BBFCR]I,)&BH=3Y_C! MAH1&M43J5TC]_9 >12I5-J&ATMIE=LJQ4.C6N(-*KS!?G@3H4(9 MF%Y(8!RP)@]7JOI=8\=#XUMRGE:NSV!P-F@T-#6\(-*[CA/G"/8A&: M8132>,]C:QO%=1X^C^^^3(_([;UW8F-$HULR4J>>29U]*&\37RIHF=PTTB,R MU= =B53$DWFBU0O\#ZSH.]2OKFW$>%!;Y%?F@>Z#_,2?R6T W3.0M;=>J)DJLP\>V)QS6]L17T$&:)UFZ) MXA[G+>@$TL(C\F>8-H];N.*PUW.L=@*/:TM:&R>*^YVBO8YAY=L,A@L,^HX5 MZQ VB=8^B>+FYD[ZD*_)4B:8C]@A<@9&8D =.]\A7!*M;1+%/QFEVP0F]7*GSBQ+^1;P@6QV@6QO5R06;:!>0%3 ML)#*.ACMT+GC"EK[V/<%"(%,4$I:B0]AA5AMA=A>5F@:\R@BEWD&KS-[N\5U M&E?A>%Q;OMH!L;T@ #8<9HN4)_;4XH+-H(R6_"GL9=>T<. MI<[I6<^U,AS"[[#:[S#/B86T9:PODXH;E+>-FY[J9$I=[L.81#VK+ M6-L?%S8'0*-HRH>]W_!NJ\.#LV$5YRG9L0W6Y7E&6+UM#JS M'1/B[TB>WDMU MJQ="&/105XT^FRR,69Y,ISI?B)KK8[D4#?QR+57-#=RJFZE>*L&+KE%=32G& M;%KSLIG,3[OO+M3\5+:F*AMQH9!NZYJKQ_>BDO=G$S)Y^N)+>;,P]HOI_'3) M;\2E,-^6%PKNIIM>BK(6C2YE@Y2X/IN\(R?G$;,-.HN_2G&OMZZ1=>5*REM[ M\[$XFV"K2%0B-[8+#O_NQ+FH*ML3Z/B^[G2R>:9MN'W]U/NOG?/@S!77XEQ6 M?Y>%69Q-T@DJQ#5O*_-%WO\NU@[-;'^YK'3W%]VO;?$$Y:TVLEXW!@5UV:S^ M\X=U(+8:D'BD 5TWH,]M$*T;1)VC*V6=6Q^XX?-3)>^1LM;0F[WH8M.U!F_* MQK[&2Z/@UQ+:F?FY; IX*:) <*5E51;%/IT:D"#[6F:KY_W?O4\.O*\/[DZ1A$Y1!33V-/\/-S\@\@W MS:/=YE/P?.,^W;A/N_ZB,?=;I41C$-<:_#SQ^;/J(/9W8&?9B5[R7)Q-8!II MH>[$9/[J%\+P6Y]W/ZFS'5^CC:]1J/?Y.=<+!&\-Y?9"?&_+.UZ!\]ZWN.J* M=5W95' WITF4I!#SNVU_/&8X8FRV,=M1&F^4QD&E7X0VJLSM0+1:??I6'3,U9%D M:9H,Y+IFE)(TB_R"V48P"PI^E^>RA5<,&3<7\+Y![B%J@ [R&O$*/4-BZCR,QB@$E+FL1L$-A8NJ.7S;;0LE: MJL>,)FQ,:@]'$J;CQ\;PYJ:TPW:?T,@S<./AN/5890D9 2/IR4C":/Q-RN*^ MK"JO,!=Y21P/0;//:E=83T821N,GV3RE*+4?W\1#18J'"-]GM2NU9R()0_%S ME_.;7O!X3B4NBBC.F#-_/,3*4C8";](3BX21M4K] 7DN<%)&DG3()9\=H8R, M)'W2HXFDSZJ?JY)?E567ZKU%- DB[J55],_J;=?I'G4DS+I-4;7DCY9S7H== M;K'8R66N$52&_G=">[31,-I GFIA[FV]$^^ZQF55G-*8#33ZS"*8 B,J>Z31 M,-(V:%#B3C2M@'R[GHY>L1Z.1930=*C69Q=!$38B=VN=&";9@,#;P0T+=W%% M,':C[#$CZ6Q,=D\U&J;:;NVX;T2XR((: #L(]MFE&<5C([>'&PW#S3,F^BSM M5>RR#,H;I^3UFK%DI&:@/?-HF'G!0;%'N6>]!^NN>*C<0T"6IB-E!.T12%^( MP'U#PP5<$M,AKSU6C*4CO*8]!>ES*+A/H8NX>);,4D>CQZ[[C*CL44C#R[1S M6=>EL:N(U1OM6TH^I2UMHW"" M#O QQ@2J X7N>-6*MXCB0XPQT@NN[+Y#:Q92E?^(PF:)IV]+K2VUNTV)UFA8 MC10VL_S(1HQW0\_E^'!J!$UV@]-C/@ICWLX*V8Q'AMC C 4G8H<9HYVC]A)G M_T.L]F]:19Z:8KBH"MOLQJZO.:)PS?&N*$I[U@')SVY<'94-K*>6)21#KTS/ MPIC@C#I;MJ[=+$LR.D+#:&M[.5QK0-W9UFW5G1^LM]5D#3-N80]][H".4ONW MFMURX@AJ)"?$/K,$C^3MJ"\ZHG#1L2V[$-=E7GJ!';DUQ!'%0)AAL>$UI"D> MXV#4EQM1N-Q8<5"/IEJO;+> B#&0>[A"]-A%+"7)6'C[2B,*5QH.O+NY^$(G MF'/,X%WF^NQ\R]SIUGF9/:R$C'%3-AJJN&MHB(\3"(-:G?^M;HQ<=D=H5](8 M67>7"\%!O#6 WZ\ET'U]8T_E-J>P\W\!4$L#!!0 ( .Z(IUADO"PG.0, M !D+ 8 >&PO=V]R:W-H965T&ULK99-;]LX$(;_"J$M MB@3(1I3L^".U!20.BO90P*C;W<-B#[0TMHA0I):D[+2_OD-)4:5$L>-@+Q8I MSKQZ9CPD9[97^MZD )8\9$*:N9=:FU_[OHE3R)BY5#E(7-DHG3&+4[WU3:Z! M):53)OR0TI&?,2Z]:%:^6^IHI@HKN(2E)J;(,J9_W()0^[D7>(\OOO)M:MT+ M/YKE; LKL-_SI<:9WZ@D/ -IN))$PV;NW037BZ!T*"W^XK WK3%QH:R5NG>3 MS\GP=@A?ZS"H'09EH!59&=8=LRR::;4GVEFCFAN4N2F],1HNW=^XLAI7.?K9 M:*%D@G\*) 1'1@F>,(N36R:8C(&LG+ A9TNF0=H4+(^9."=_DN^K.W+V[IR8 M%%<,X9)\2U5AF$S,!7G7F<]\BZ#NG03QZJ06 T:8N [MA9P022466$"SP-7,7T9J&1'I:P[5G910*?3F;]K1_;< M:#R>-#8=X&$#/#P(O,03 ;3&I*. ==E?!Y'W@E M/VXQT4M*@R?DQZPZ[%<-^]5I[/5&8X5-E>8_<<'%4+WMA:_TKUI8>+13^@3^ MF%4'?M3 C]X$SXTICH./GB$]A3YDT0$>-\#C-P'CO6 'YR94^?)3*@M*>VC]MUZ /Z M^\ZDI_._KKAKY3;48#0=A4_0^\WH] 7RUFT?G$Y^0I77\D?Q>\V>X?NMOL4U MC7CO;[DT1, &_>CE& 5TU8=5$ZORLI59*XN-43E,L7<%[0QP?:.4?9RX[JCI MAJ-?4$L#!!0 ( .Z(IU@,=FIV!@4 ,(4 8 >&PO=V]R:W-H965T M&ULK9C;;N,V$(9?A7 710)D8Y$ZIXZ!Q.DA%^D&R6[WHN@% M8].V$$ET2=I)W[Y#299LD6)3P#>6*,^,OB&'_$5.WKAXE6O&%'HO\E)>C]9* M;:[&8SE?LX+*2[YA)?RSY**@"IIB-98;P>BBFOFT>!;3&;91% M5K!29KQ$@BVO1S?X:D9"[5!9_)&Q-WEPCW0J+YR_ZL;]XGKD:2*6L[G2(2A< M=FS&\EQ' HZ_FZ"C]IW:\?!^'_V7*GE(YH5*-N/Y]VRAUM>C9(06;$FWN7KB M;[^Q)J$*<,YS6?VBM\;6&Z'Y5BI>-,Y 4&1E?:7O34<<.$ "OR&AK2&:OJGZIO*&;+)2#^.S$O!O!GYJ.N/E @:% M+1#<29YG"ZJ@\:S@ J.E).)+]&7#!-6]+M%G].WY#IU].D=R3063*"O1US7? M2EHNY 7Z=-2>C!4@ZA>-YPW.;8U#!G!\],!+M9;H9\!:'/N/(;4V/[+/[Y8X M SY0<8E\?(&(1P(+S^SC[KX#QV^[VZ_B^0/Q[LLY+UC7O>C/FQ>I!!3S7[;. MJH,%]F!ZAE_)#9VSZQ%,8'>);S'PO2OS6[ @L;,%")]B,2Z5+7#@ ZPCA MP9M)C-.DQV>QBM(PL.-%+5[DQ/M5<"G11O!EIFQHD?%2C)/(BWML%C//CTEJ MAXM;N-A9S,VR4*X0>]_H141>V1CC4Q;QB8(=Y9NT^2;_4<2243%?(UC;0"IV MH($;/8EM22>6F@E]KSW#DK:8J1/SF>:P+FM&$.97I@?(1IB:[TX# MKU_5%JLP(HF=$'N=ZGCNNF8EU$Y>4=(%Z%JF5T&MZ%;-\,SZC5*#U686XD'8 M XG$3MBO7 $J-ZK=BHH-AMA/@JB/:II%21CB 532H1(G:J,O2\&+/3"HMA64 M& 1!$$>X#VJ:^2&.A_JTTT'L%L(O:LT$?"Q4N&=-CYY?H)(IZR*"3RJ%IXIV MG'PGAMBMAO>E8A!7-?E;\PW, L'$[X^.:47\-!X8G$X3L5L4Z\%I!J4:$RNB MJ7B?L9^F?4:+&<'1 &,GC-BMC,VD/"BC85!3_H*8!'U.TXK@9&A&=AJ)G9*T MGY$O#+9<;%_PBKX/+!^QB9H&2?];R&+FQWXXH.>X$SCL5KC[%D]_<^PRO5FS M8IK"E<:AT:.F54*&OHAP)V_8K6^_,^?$28WO1)@1OK&NF68DQ=Z ])).V(CG M7-&EENLO,MXH,!)IX_$K8]W6;[5^]L/HA(;:G\R6JP =6 1)IU"$K=" M?J].(("5[D#'5VR_X=[JS3K@0XUMMM7W2/GAFCNIB)XJVG'_=")*W"+:U5S= M,?81- 72AUV9,806LQ@VEP-CV DI<0OI8;FY*$V)]./84'NK613U)\7XX#2H M8&)5'9))J)=MJ>J#D_9I>Q!W4QT_]9[?XJM9?9S6A:E/]QZH6&6E1#E;0DBH M=F 2]8%9W5!\4YTYO7"E>%'=KAE=,*$-X/\EYVK?T"]HCRVG_P)02P,$% M @ [HBG6+;('',O P W0D !@ !X;"]W;W)K;LSLVO=UFD-!]96<@<"= MB50%-3A54U_/%-#,.17<#X.@[1>4"2_IN[4'E?3EW' FX$$1/2\*JG[? I?+ M@=?TU@N/;)H;N^ G_1F=P@C,T^Q!X0N&WB!)00<4F,1*+X6, 3.+1#2^+7"]*I/6L?-\1K]H].. M6L94PU#R[RPS^<#K>B2#"9US\RB7GV"EIV7Q4LFU>Y+ERC;P2#K71A8K9V10 M,%&^Z&VY! >X!"1>RE,KLD' MY))M^_NHIQ(5KD7=ADW2$3E3%.')XT0&\*I@' M8_GC9JR-PB/]LRYZ)7I=K+Y]%$O4Z4;/O+S;Y[UN%O6;0JJRVB+4J8JVC M&?IBP,O*.-TS*&!Q:2A*0>\/\>&:$CGBAD&^E34 M2BJMC5PVXJ"SD_!]HV9SXU1LJ>Q4*CNOI3*E.B<3+'8DAVQZ6E.GAFX0[VC: M-VIT6@?.<+?2U#VJZ? 9/D6YN\>FW=O-PKY-U&G7$^Y5A'M'"0]KJ-;1Z^W] M\7$0A]T=@OM682_N[IX3?Z-2%J"FKH'0&+6Y,&5]J5:K'N7&E>:=]5OL7#ILIFHIP8.7/U>"P-5GJCB[Y"U!+ P04 " #NB*=8V)%E!;$& "!&P & 'AL+W=O/+!,/UPN\>'[PC>]3;1XLUUL4%P42++=]>(&7VY<8A;4$G]S]J".KI$Q92O$O;GY,[E>. 81RUBLC0H* M_PYLP[+,: (<_[5*%]T[S<+CZV?MGVOCP9@M56PCLG]XHM/K1;A "=O1*M/? MQ,,?K#7(-_IBD:GZ+WIH99T%BBNE1=XN!@0Y+YK_]+%UQ-$"T&-?0-H%9+C MFUC@M@O?T"_O?D7O$"_07ZFH M%"T2=;74@,;H7,;MFS\V;R83;W;1%U'H5*'? 4%RNGX)5G2FD&=3/I)9A5^H M_(!<_!X1AW@6/)O7+W=GX+B=9]U:GSOE6>.T'3@-[:3($12>I)H7^R9SN>9, M7=J\UFCU[%I-55^JDL;L>@%EJY@\L,7ZYY]PX/QF,_E,RDX*KY>$8_UB*1-CQ.ZD38'X'S)^-S$WR+Q16 MD]U:0#.*11'SC*&B0VR>F[O8!+&4XL A1]'VZ?5A],\9QC,I._%6T'DKF WC M)P9*8TZ;KELDB.9":OZC>< >2],^;!YHU/I'L?.)&PT"/!9:>9YGC^^J0[R: M17QKXE7S#- .Z=A.BSH1H MUH2;&)Q;IP' 3;B*#6 $M[ CN&>:;J&F%(LK69=);9C-@FB$[0)'V!]88)$B M_D0,L-/3G_-"=N^8A SIZIX^VK.DU7/R?@_CH9^M8L3#$SB/:!K/LTE*BSU3 MAG./6A"D-"2(*A66TF MHUBXCN=XPY"-Q7 41LY$R'K^Q[/L"FV(E90GSRVRB9/0*9-MX*R874LQ.)@$ M0] V.1).U4//V7B>M#O7EO1ITJ_>^-VN.ZQ7FQ0F>(*[<4_>>);MZJ93L9., M/_)L 51>04%#'SH2L%KAC_"%842&5HRE+LB$"3VCXIY^;:2<4I-VP%NMO*QU046E@VPZSG# MT%GDO,#!$TV3]'Q,YOGXCF9M/<.(W@)]DP5D3, K[ 7##9U%+(A6SD3_)#U/ MDUGJ.W4[U Y4C'ZJ[6'_5;PT0X<5-;:T&<\<+"L/F;2#C6P.FW!E!@RKZ39F#ATRG,UL3%>?DH'%RI"DIHE$E(IU)4^Q2QO,S$$V/MXR[SRHP65O/&-.\&8^/&4B0* MIT+6[P7(_)3=AJR>IV,(A.(FM2Z>PY:*+-G2B3(9S\P7V'=&N386FV+!GKS) M/'EW_;A2]6AJ;6M6S+8IV8O\46G;>#XXYOG3,\^>O]UY_FX/_20S&0' C17O M&UM,'1R WHMV9(5&J"6/31C,[]:S4 M+AP$>YHY%C#C8G2@,MR=S=Y[,-Z\& MCZA&6[;G16%B9*B?22ZLYS7NF,.)$[C!<'=LD<.KP)LZ=G)[LG?GR?YM5C$S M6LW:0\9GM"N84X8[+HL<; !\?WC8MSSZF)$SN:^_\2A4CZ7-QX#N:?<=Z:;^ M>C)X_A%?;IJO0;V:YN/4%RHA5 IE; 3K=!:Y/5E MRFC"I!& WW="Z.<;\X+NJ]OZ?U!+ P04 " #NB*=8*O<5!]\' $/@ M& 'AL+W=ODD_?>C9-4R'Z:MY'9?$LOF/8>ZAZ3$ MA+"IV.5ESOGDUF[%T3?VX#J[G+AMCVA!4]Y").+?'5W2HFB11#^^]*"3/6<;>/CY M&SKI3EZ$T65=_)UG?'TYF4^E'FU^Y\\](DX"$#>D0#M2/K/6_$ MK[F(XU?+NLK$.*&9(SZQNLBSA(N#]US\$P.(,Z>^$4=U^GE=%QEMV$]._&6; M\Z_.U/GX?N7\_.RYP]9)0YF35\Z'=;UE296Q%\XSZ?ABQD5G6\I9VG?LS:YC M^$C'/M0\*0QA2WO8LBY+,6"['ANB5_;HUUF6MP,^*9RW29Y-KRMGF6QRYE655[=BNA9)E8K^"1EW C]W$BZHTI>.AUXX MV,78I*H5OUTG7[%-DM++B4@%H\T=G5S]^ ,*W5],6N_ @@ZL72/OKKS("P7O MW:&FD)0Q)!@! I.D]/92>B.E/$>^'69XD'$\7R"\D%.^U)MYD:**WB1 V)^' MP)$*.D2[76)K+I<,[;M+AA"@'1W/\7: M%='9;L1'^D";-&?=K[NOZTU[S\0.;Q5,HEE)QRZ/D9;#$"D7($B^&!*, (%) MXL[WXLZ_A[@F0>?ZHN#AN3(-K;T9.PW/88PA&0D0F"358B_5PBK5.[K9-NDZ M8;I8)Z::%7?L5%MH29\&L,#=4<;;/9'X4722-WG: M;J#[!E7.3U[%[.QCYU:/=I@%Y"H+V@J4,@9%(U!HLMB#78'L?L6'Y($RH>3. M!^%U=]_8J>5BMV'2WB4O:S=MIC4%-#*2[&%/?4S4&-3% T0@4FJSQ MX&,@NY'Q.(V-NGJ&2YF^I[/W9_3J>A9I#$I*H-!DR09;!5GW[VJJ3$]0_ 44C4&BRTH.%@NP>RI.4 M-JIKLAKFZJ["WJO14_0R^=Q3EM:W)9Y\#0BB7M1L\H MB6Y8B'YXGJH)J.-R'FD,2DJ@T&11!M\%V8V7N,HLI9??DV;OW7M&G4 =%J1; M+%ZX4 58@9+&H&@$"DV60\2T*#PQ%&G"S &K "C"*D5 M&$.[*0HBQ4XCIF8XP%[H'MFQ#38'LOLUNP)0SP,4 MC4"AR47DP?7 =M?C9.W1J"+6+0$OG*-(,2*6?3OKX#=@!8MH@951'1O:35'D M*I3$U SCN3L_,OCQ8%=@]#^6(#&H.P&*M@)%BT'1"!2:/ @.GKJPVQCV2B0V M/ :QB#RD3@O(3?\*%"T&12,G$R++,#@-V.XT/+X@B?4'%,)%I H$ZBN HL58 M=RFT$R!0E+(\@ZN '^DJ/*TNB74'P%>+R6>T6=E[/UH04)< "DU6;G )\"-= M@O%%QYY)>D(IBEQ5+U!_ !O\ 8TS!N4D4&BR8H,_@.W^P.-KCW;@T;<@N@TP MUHW;R FAF@: 0*37Z,>C S/+N9 5=_]$QF@UA>U>J&O4-C M5](Y\"@:A VKG'SD]/?P9$JT"",L:@: 0*359Z\$X\ MNW<"7H'T#.Y"J,]14+?E+,X8E)- H8C=;QE0@/=V=0 LWT-Y* 358 MSB.-04D)%)HLRF"Q>':+Y?P*I&_4"?31#$\W7;QPH;W^!4H:@Z(1*#19SL%W M\>R^B[T":990]U=\U\>N6H$TM--? =/;A,A=8+6(;V@G-OFN]A*8H1EV@RA0 MC=_9P?NP[?O1XJ1O\XHY!;T1D>[+2 UNU>.=P>\WG2OR'ZJ.:_+[N.:)AEM MV@;B]YNZYM\.VK=N]R]^7_T'4$L#!!0 ( .Z(IUAZ?<"LZ@D +\: 8 M >&PO=V]R:W-H965T&ULO5EK;]LX%OTKA :8:0''=IQT M^DH")&D[&RS:R=3)+!:+_4!+M,2)1*HD9NE$I<&V:;JN)F.DHJ3,G<&O$OO< MV3MA4R-K'R&]9!>-Q0)K&5<9FX=$T?=SF2NYE"E7CIVGJ6Z4DRIGU[J4J13V M9.)@"TF9R+;W3^!#Y\BL=>1B]J3 C]R,V='A MB,VFL^,GY!UU@3GR\H[VR-OA)?O/^<(Z R#]=Y?#0=[Q;GE47&]LS5-QFJ!Z MK# KD9S]^,/AS].W3UA[W%E[_)3T[YC&_X=>MD_,;PTO-W;$KE0Z9L]<(=B/ M/[R:S:9O+W55<[7Q=X=O1RQ9BP3_&TO_=6.2YVS-+9,JU:;6ACN1X8:1!.MP M1UK>B9*ON<&UPG4JJH4P[&@Z8H>O7[\>LQNLC6J8M*P XWUIN''"!%D?M,4U MNY1N,V*7O)1@2"6Y=[V [G6ARW)SH-<*ZVVSL#*3W)"WKC"ZR0M0I#<(M%5F MC_1Q5D(C1:DV>B4SJ(+-::F;[(!HB&P(G$Q!LKI%$:T6]_%;(_*F#'JV8DN0 M.7SYUH90#J+!L\P0YB@E./ ^Q_7XL%DK:21BLT1X>HDP+#:XE89;HKHN ? M6=KX8J.]M!+I@6W"\'9A+G2.[072 L"2J;4P!# 8P*T5:/KLURUXH(Y98X47 M]S"LY$L>"LXV,E1:'^1,E&C"5$'0':K[)[0 >%PCA(+=F.8S0LFND3I"-\$M M1:$=B.52^ 8."_7"8=I A30J!'E%W1]Z N+V):V&G(:2DQJ-/.>E7I##!W#8 M&;EH7'#Y09)"&I1D]3-ES!=YGY M<"RE@AT2F?44Y),7;6S7+[5V"M4#NN& _(+ @6Y1\\@YI-!D?0WPGDL1/P@' M*N&94$@OY1*_BWK ?;?*&S@G_19,<3N>C]DOY^?7X$N$.P!15@-3AR1#I(;Q MB3Y)F%0A2BUCT)3$#J<'OW50,TW9UD=?C3%1S.N>AURU9?3^/BVXRCVJ*I0, M:7V6S-]?)L_'[%(8G_QTX: \R@,- S7X,YS9TI[8CA9GF:-3[5*"" MI!KY%H?&@*K( I>2IRT*=\,MAA\\1:H94,\R[0/G6OD, 1P&M55,* O@-.)+ M(TU@MRY.8W1I;X"NI8K44G&%R9Y4!Y;Z&PH&0SM-]-Y(GOV!"3FRX!H$5G0^ M: 40!#1@"T!F/ <.-RA$V%J:4 CZ'B22 _ZS/?6E6AMWZU%W-<(H>>;H(Y:/>1M!#>DC4+U$'_'A'E:3_.)QB;< M-8%/E0*1LP%]#!VU>U&_,[T68U$)8)'IW!TYY:F$0 MG<4AW>UGS;UIWS)M=P5DC>>#?J5OH1ZVNZ?%0;P"JQMJKW"!_D@. 8?A_.%M1FQSB7N<:3 M98A7ZNLPDS#?S6RPE%0?3E[$Z::E0!2$" M 1:Y!]V@'P> 8F=?S=N590>G[78_4;ZROG>WZ(WGRJS-$9VSNB*!#9E(/30\ M.Q@8>_GKNX_D6,NCQ"W@BU9%OQ.2E\ PT$PP!K2RS&.=)K,0RBWK.51MG?\+ MO0X,#84,)X=2?L6R;^DA/T)%=DNQTL^*"&7;=;W.D/5(+V0+==/NB!';G.\& ML94!T[E4RL\02SKV=_1_^*(=SV))#CM@&Z(E\@-AU#Z^+>IXBX%^LJTI/5%M M>>'I8/'0_*@QC H#P_ZRD-[*KJ,MI;&.Q8<@%+U>R8LQ>Q\HL3V!XLB$(,09 M.31CAW-7'<4/G@/0TFZB]*$O^[C7X5UB96I M&R;9/T8.$\%6.5T-GO\,JAUEW!4Q=H4 MC2[%"SHWCV/*J+738X.TT-1%L%7T>.F>#(6')7DCPT%L"S+EYCM"X(:.5(.3 MGM)]"PM'TO;)UZ/)8,BVP_-X^U0*C9G"[)]8L02=1K##A&SZY*=22+T<]KZ^ MR7NW@Z ), M64PG2VR=CE^^2)@)KTO"C=.U?T6QT,[IRE_2\U9A: %^I^]Q$ 4Z 8 >&PO=V]R:W-H965T&ULU5O9;MM(%OV5@MJ8L0%:%A=15#; L7L)T$N0=&8P&,Q#B2Q) MG%"DFD7:5G_]G'N+NR1+27<_S$,BDZKEKNIQM58IOEEF^D04>\]6-WN9*1CQID]PXDXE_LY%Q.GKSBM^] MS]^\RLHBB5/U/A>ZW&QDOGNKDNSQ]<@>U2\^Q*MU02]NWKS:RI7ZJ(I/V_CV:$$$J M46%!*TA\/*@[E22T$,CXK5ISU&Q)$[M_UZM_Q[R#EX74ZBY+_AE'Q?KU*!B) M2"UEF10?LL0?J%?W138B(;?A-6B;\VBSI%%7?%3EA9K M+;Y-(Q7UY]^ P(9*IZ;RK?/L@C_)?"Q6<]MN'9Y/?Q#I-, ME[G2XM^W"W -0_G/(9[-DM[A)$VLR=ZP1":E%L59BF\>APE^R@.^52206"HX:*OA9 M)(I,P/D2(>%Z6@->LEQL9;(S0Z1Q MW84J'I5*8??Y9RRTE7D1A_%6$H'8FTC9*$DZ)*)%) LU%G!:$:J\ # 1>S3H M+MM@TNYOWP2./7NIQ;)A.6Y9MO 0)F44IZMF?BCU6JC?RAB2,&-D&&8E[6_X ME8M$=5YNY8[>@)^(7N8EY%$S&BM,)VI"F><[VD5NS"RYW>;94PRH(:$J"'[9 M2!^RAPI(=&N2<2()S" FO<[R H(IRIQD:!C5"DB5@#6EQ^+7EO%:2IH)R]46 M<_4S3!IY,R=:A;0#$P\%80P1(! 5@'N86^:Y2L,=O7B4>21" !Y$BMHV3&B ME*641T0=L*Y85Y:4/<0$]+K6E2P+L!879I]*LB2M51F;R6QW,HK CP9+G4TZ MQL "@.4VLY0FAF(@)D@3ZUCE,@_73#B(VY:@N-10%P@UR]">G;5Y5P!PO(E_ M5\8-,)ZHSA;D]2RM:B&2,C![?VB9[@]>[* 12)\WY%W8KC-='%AYH0R5CVNX MA7R0<4+?&F6W/('O19Y]QI H>TPQE^TG5THD"M:C.9Y% AY6657CBZ"QY@&2 MS1+$;OU"_$BSA"VN&35DP?IJUOBMS K\Q:"@C:)9=\:*M)%P!)W$(3R.,4$3 M*'0<8UQMX1S9(@.=.0GG*WF.VGSX1UH%5-:PA MD?GQ-8=+M'9YE'OC";GJ&@KO52*> 26!<(2HT/&R!"(7*M\T;O:<&MPC:JCH M:;9=J10F1WOT#)ND7>RV),*$C'M)J1@82Y'MD6\V. R?9-1CYP=%Y69K=JR< M;1_U3;@A;X+$2 K&:50;:AI;[B'@WX^ /N&5CLG5ED=LI085VI4VJWV!ACF5 M1,;M6[.&,2_%0+-:0PA)# \'*&2IVM6,+>/\5?SLF0]; 5X.3+EULP&=R_A)1==XRC9*?!I_A.QR9GO'?*ZR!Y6G M'&.A0H+[;EC I(W*6;);N54YO?%N5'E. M1206:.ETY#&*[U+(5/!F0UI9E#W)URZ;9QM0$2E4023$QMC(RGG$$?PC!&VD MWF7CRV$#2]6H,5CH(%9$L!D!D.A[P4ZJZ&61%+A$&1= MKU5OHIY"P.(*B406IY7SUM_U^:R)HY#&H%&E-R9D(!U!'.;HR,E);$)C)_ZW MT77P13_'[ '-*43IITA4JU):";D1@;"O&+'W)]JTJ8$:H*D=N9/+7S+16:FQ MG[ZB4JR/-5I<"-NV/-_''XS!SLOVU=W0,^H1WLQR[5G]<1HFST*Q*1I"!&PKX>?O47KJ[HL?,R[GCIO[@!M@XZ5] M/LR=!CS;\B>39ARM;5O3^;F.,87-3NUVNGO%K[R@,AC?M^: EN9[[\J\!,C@)K/J&@@:E$,8331()@;LV\.44I M?.E",WCAS]WJ6\(-WYKA&;8#2B^@O#D&F?<>WI.M?/O$J73E1G","S TG@OD M;PFRE_$!I/^+G<,Y+T+T8L69MNY9OC,17C>2^/!V(R\\S":S_K:P(W@#+8WAYT[5H!0![,PA93,HL)E$HOR!8, M*PX6LWTD)E-XFC^AQ6W8C?OEADZ1QYW!";&2 \W@F=#FJ*&[U@Q#[0GH(FLU M ?$\GN:6#<<$#V0!>/!K0T80=MQ > C7ERZ8P;/O>1TK=S&3K'SJ3,G*W?GD MJHZ?7L#+[5LY9#Z>M%9^,,GF@Y^F%[;*8I/'_! )E!_#BT< M46CJN@2@"'V ]0DL/?",U\+J+E$]7)WME8[EL.E/&>4#'_%A1MXYG5H3Q.Y+ MVX6GUX;KN/!2QV>&7 9FN"WB$KVP?;9AH(CE!DZ#W8?2[O]3C3N>%4"^%PR1 MAQ7>&W*NOI$E$5@1^C1_'8KW@)(SBJPD:(RG&!& M/15$29%5#3D:LJ\-ZH$6QY"(02C*XPT10)6.B#K'J^:XK[-?I>:! MB@$PAY1<]YTWDNQ#R/8HD018XGO4JY4PF.Y'R4>>V2KEE:B_?$YTKL=]2=7: M3R$&R4,_03B\Z6+7%/(E@*+F[%1Q>CRYOB]5W17\)57B7TH:X)U9$\_COWPK M0!9)X^02YML. ^-9N5J+7Q\S?@&,0ZED3^ACYCL@"<2!EP<*+D=$&P4-'!YXW#--XX,8 M=^&,IW4":(YEU%+E9*NZR,+/?+1"'>8'^"> ;*V2R'AU6IW1["=]K7_7#D(7 MCV)X2'/LT;@GG868_DK5/:_/C=JSM_Z2?8AHSN[W!Y);L,MPWS[&^#C?U'V4 M1S!<=W(/S.OPU*!6(SD^'UB2 CJ-;W.IPK2SJVYU7PS4U=*ZE41R:>P85TIP2?M+D1M M2K6Z J"IIE]%Q-);;OCI+(DC#E@04F%NDM"I/K(K<^YP2!?5P5G4;IAFJ6DG M%LW9:OK<9M5%#<%7N ;7-=:R-OKJ3@U'G_B!1!A59U-#F[YOC]$.W^BY5SI> MI;PW%V]+ *Q8JXCLI+NYHOBKS:6!,\YR*'ZKJ RK!(.R'4CO 9#=N=^S+!GE MVGVKR+^W?G.>PTGF,BD)PCE>,M/UE16:A\58:>5"AWG,!\>@!"Y EDR7B1 ( MX*-&1V\)\+#Y>_AZ)"Y'W[]]/[IBT_JVS#.\^/;3A^I%I7A8=F4[K.V2 0TK MO8,'P08_E%L$M,O1NY\QKXZFA$-1*V:I]R0]%C_0IU#+I>*SLY2AI>/H*ZERS!FADQVG,5UND=[IV4K[B]Q M43-,V1#V=(^+ 0N#8SSRS#RJ3P.!-*59R3@%P7RNUG27\T$U/CFZ_>7N725M MAE%S?2R!# P^L.U5NF0R]W5BX7N]-3),=E:-&UIB R,?W0(O$QYUKY:UQ%>P M@OF(?"FVH 28SU[[V4(?S-8R>DY&^V["-Y[@T]B;#BBJFU_8!:63ZWLO/7]L MUT'4$G1_T'UI^VUGA87U08\]U+]!M^%B:#V2G/]UY 9MS&_(]<;^ 7(]9Y_< M02*&6,[P/$1SZB]-QD&S:%W)R*<:7,\ *(J6<'?C[)\^5'YD5$Z&2-Y'5A56 M#O"<,7;/AE.4C&V'X#AGO7AE)&FN@O5Y_6K>@$!?Q],!H'N&/4HB.R:T3TLO MJ4IT1K=T])D1I$*6#KKWYB#L99NX!M4#%Y>Z $R!\Q0(G\+&8]!(JY\0PQ 4 M#Z8CNLI'.-XLEW1UJ:OQ@[349H$ 1A=E26^T!%TI*B3U5 [?Z#H/RTZR=0H0 M[,EX-@2$H,4#B\!@/I^T4&#R]SO$*XZG]RCX4'E M?U&Y\4/V2#6C9>#$7#FFA#HG4.&@()%3JJK%5E_7;G,NP56SROEVIM+M38 ! M@C7"HQM=B__215 @J=QN$]2A5/U5C:WJ"GZO8 2CY#P&? GK()<"4WIY7-UX MH\2O41T3+ 6U%1-ED-8$WOJ"_F('.%5\MW170SLCM?':;4;=8/+!&IT10S-: M\_"-KE:(.?T:B&_NJ>(:DVE&%G)KLA5CYZ[8T0*H'U&Z*<392&!X:6V(S#7A MTZ^NF.N8V55/VK2OB0Q(D)>%=Q K;*BPU+,ES2[YM O9YL63MO"W";L M@2EU,J@A6,1%8KZI:E[CK"%%A8+N& _CL%QD#QTAF0T'-FF&ZKX(B%U$FI6R MQ"K)X!8#P(V+LG,'N2NHJH=LEC#B>:2;@[M.*XKT:5%?M^D5U^<,O?*X0^B. MHA4R,?Z='?^\@=.U6MTGHH@IY"Y-KG+5Z]!2O7P@/6E/(H:FUW.K$XV4Y\&F M::3H?B?E!9BA/G#W5V+&?CEP#>+3S]C'\,>\G SJ@'/;X;.^N?CE#!;K$S8@ MLV=?B4N/3I$,:._!F!EK>*=31"L>J -FE]^OOD?4$L#!!0 ( .Z(IUCAK*\]6 0 *D* 9 M >&PO=V]R:W-H965TYTA6C@H>%"SX+*F,WY8*#S"ANFS^0&!:V44C7,T%2M!WJCD!7.J.&# M. S'@X;5(IA/W;LK-9_*K>&UP"L%>MLT3/U[@5SN9D$4[%]#^73# MUGB#YH_-E:+9H$,IZ@:%KJ4 A>4L6$3G%T.[WVWXL\:=/AB#]60EY9V=7!:S M(+2$D&-N+ *COWM<(N<6B&A\;C&#[DAK>#C>H__B?"=?5DSC4O*_ZL)4LR + MH,"2;;FYEKO?L/5G9/%RR;5[PL[O'4\"R+?:R*8U)@9-+?P_>VAU.##(PE<, MXM8@=KS]08[E>V;8?*KD#I3=36AVX%QUUD2N%O92;HRBU9KLS'R1Y]MFRYG! M CZ9"A4L94/76UG=[Q$N12X;A-X'J75_.C!TI#4/7X%/X*,4IM+P MLRBP>&P_(*H=WWC/]R(^"OB1J3-(HA.(PWAX!"_I_$\<7O(C_#^!WRE-9 FW M[ '^7JRT4115_[PDBS]U^/*I-M/.]8;E. OH+(WJ'H/YVS?1.'QWQ*=AY]/P M&/KWW^D/A(?;"H'F&RE0& U,%)!73*Q10VV3\BN6=%CY(ZRZQ>(.BVH0T";Z M*41H?&2AC2R@N,BK+C#<,31(8(<*@6DRY51_]#DL[EG-V8KC*:&=:L:1DGAE M0&.^5;6IB=>2Z0I*V@X5%I;HK32,0X_XFDIN-8$3F0O&F&P#TOGO75^*ZB,\OH+T5]3^=3>323L@JB(M?-U M@ZJ6!?2&R;@/T4DS,8QE2=41X@GT$HO?2\*T[X+I(]D>'()Y',\F3C? MTS!K-0BM^3'M8F='6HVL13IJ59P,T_^K'9%-(B(^3/HPSK+OT*XW2N@&_?- MOTY:(F]_1P5LV:0C\B])QZ\+F'C'1^G0"M'-(I]3_F@-]&5K::^0(KI+&<,> M")-J%7/>ZL?NEDHVL/BTO 1RV[@4I302FI9HI"6O"Y>3VM!?XS*7H*@54,Q^ M3/7SO+IU.7E8[7T0.$>>I,YU1R5W(]B2P,;%:F+)JO@F(J. M=K58[3=$(Q(HF5AXC4Y(6P4*6N9R8WT@N2G",XJ"&TI[7XNH$[E#8Z^(6,:T M]"L*V5=ZV#C"FFZ<@]-7 THE<4%,TV!LA/78DB) '2C]QC[3V M16Y?UO!A8T6G#XM &Y"^$-*V;ZA2!Y'U[?7P[*7/R^"@?6A0K5V3I"D0*&Y\ M)]&][?JPA6\_OF[W31P=N[;9R+$DT_ L'06@?&/D)T9N7#.RDH9:&S>LJ)=$ M93?0>BFEV4_L 5UW.O\/4$L#!!0 ( .Z(IU@*P7-F[0, -X( 9 M>&PO=V]R:W-H965T%^V+>,XWQ\>9T72K]&=3 M(UIX;H0TLZ"VMIU$D2EK;)@9J!8EG:R4;IBEI5Y'IM7(*B_4B"B-XU'4,"Z# M^=3O+?1\JCHKN,2%!M,U#=.[!Q1J.PN2X+#QB:]KZS:B^;1E:WQ"^VN[T+2* MCB@5;U :KB1H7,V"^V3RD+O[_L)O'+?FQ1R<)TNE/KO%3]4LB)U!*+"T#H'1 ML,%'%,(!D1E?]IC!4:43?#D_H+_WOI,O2V;P48G?>67K63 .H,(5ZX3]I+8_ MXMZ?H<,KE3#^"]O^;DX:R\Y8U>R%:=UPV8_L>1^'%P+C^!6!="^0>KM[1=[* MM\RR^52K+6AWF]#>K#T%; ,/BAI:P/O9(75N7Q$AAVM2P_6/:17 3\P/8 L M"2&-T_P*7G;T-O-XV;]X&\)",&G/G88_[I?&:GHG?UYRO4?.+R.[W)F8EI4X M"R@Y#.H-!O/OOTM&\0]7[,Z/=N?7T/\K2_\;#,[.\'0FD3ZEHEPTUH!:@:T1 M5DI03G.YG@ 15=:>J;=88K-$[1=ON*2;JC,$9V[A435M9^GLB PWD(SC<#R* MW>RN".,X/5TS:F6W3".DHS#)BG[(X&>D-*R5J( WK58;=$B&WDA8I/EA>"J9 ME(3!VE9P)DLTI"G,\\(-V:B ]YV6W'8:0UCQ9S?>>E!,++E^\Y!D=M)M!"&V] M,[PD=\RW,7(RBLC5Q/8W9-F:4RVC$V:O933(+RL94+BN\83/ MU N=BQJ)5F<*>?W*F]@BQ>DF'PS_J?NT02W5YY&M-2(T?>E$5SHO,;DG[SPH MVYK3/:_+=6"QH_-2Z:J/0JF,=2'0N$'9D=T^'=$E!2!8M>]!QB>NT[JR' 3MJ^_1QWC\W[ON]9I^M]YR=GUUP:>C\K M$HT'=\, =-]-^X55K>]@2V7I6?EI33\@J-T%.E\I90\+I^#X2S/_"E!+ P04 M " #NB*=8AZS(J;0( !N%0 &0 'AL+W=OJ+$D0 MU/CV_(/G8?B?K0>B5QM95.&]_;P5]7:LR1Y MF2T]_XI#G#O'Y*SQP5;M8FA0:1/_Y5/KAY,%Z^D+"V;M@AGK'3=B+=_((!_N MG#T(1[,AC1[85%X-Y;2AH'P(#E\UUH6']VJO3*/$UME*O+8F./C)0XE0B->\ MO7+^;A*P%2V89*W85U'L[ 6Q<_$[9!5>_&IRE9^OGT#%7L]9I^>KV5<%_B[= M6,S31,RFL\57Y,U[N^G_>Y3^#V+%QT+A8U5+&A3ZIVD6'A\WGKDI,VQW\+%4/T):1 3H!76:IN/16L'%HFMN$KGZ7@* MKI0ET][D&$KGXW4_=%#N3%K>.&UV+#$43BE11>PJPJX \K*BAQ[+P\-<)!#A M:\59I3PF\(#&/%G9AHSG/;3)RB8?]/W":QM9DN%DK;B:KQ;CFW.]Y^GU>#8, M\;PW<&FU4:Y3:=ZI-+M0:7P:N1]\%Q@1E*N\V",%DW?9ZF.M6$II,W9_%YRL M T&412O%1H6#0K"UV5N=D>-H)<>_VT'[&&POC W":_AYJS-IPEB\!4J4"Z@6 M(M,N:RH?V ,)YU;@)'HJ@Y=T$)\;6>IP)'5XM%4GX;5@(?;E8K>KX6U\EBQG/68G'#8S<<*UB ^KU%-$6:3L5' M&V0)H?/K57*]G UL@CV$A^BC;QOF%&<^0C^#RDGC9:R]M=.1\<::C!:6[%6D M$DHPD-:RIPV1*&2$SH: UNZG\HYC+:V^I%-K7$_"4,B ;(:P;%2+5\RF62?L ME[Y;[XFGVR8TKDLM/@:66B"1]?F1!*@GUL&+QJ@GY3+M60^C#K+T9\P3LJY+ MK:)FO@"&?F8>=?(@2E4UNPEN;N7RY&^[G TD.-?2!?*O',3R-W*D!)V=WFF# M*/? 1<[KF6Z!K:.2CDA2*@_U?R.K YHO9@?^SQF'&%/ M K(HW'^T)N\W2MJY;2*X3#8B]FQ$/DND9H!4D=)D3*_N=N!T4UMSYM*L(?/. M(X'O;4)FY6"25R<&Y#IGU-$(Z27%%DXSG.,RB,#&E,)Z?B![>@F'B0QJ&55R M)*1ODX>_Q=Y434X[HC,7[Q!D ]*N MELGJ^D8LE\GR9J!ONE@FZ^F2GN;39+6>GYD.;Y2 NV>D&(X/P&:8AH1GF8&4 M"IB(T).YK<\*06F;7-2E#(1#LAPD1!+QY!O-OD/KI#?L=/0!M=Q@OZ!59 OZ M_4\HYO(@B2+>OR!64MT$6R7[-DBW4PR#G;([)VN0'YS8Q?:@"5[W/)'P:2LR MC]Z+@8'43%W6P2Y:O2>(91QPA[S$Q"ITW>(9\K4[0[6SS0[!"C')(0'I 'K% MY!'S$SX<*6>P-\E\5*%]J^R9,-YA*$N2R[TGLPBSR;(^V4MNX: M+E#'Q^=81L?B#VK!OE \AHU9B[YN-SYSN2])SAA\* MRTUMXX@U@YAGU_:=U8=HI/V2@I0Y*PF*4#VC9))1!6]+==>.M%V[(]=P^M:^ MGZKRKLG8M]@]5X5ZWO-BD%L5FXQ"[HFFE-*V9:.XQL)M""-UK>*3L8=2Y;OA MQ-(J_0.[C\L4=]3/Y0O8C KP-XM$D*;HSTT0.0V\<+UF@ M\(AK'HR3NQU27E^J^X/#\30IPC-RC(-!VPYEUH<(]TULM(?.Y:) #=7H[%1Q M49!>-Q!KJ"*MDBD:Q"N!2K-5O?MVA7 MZ7AU<: ;+[J!RW,8=4'(-D'_&;U&+8_QJDWNL:G(O^TJO$1.#O6+%G?2VA,= MI2AZ)TD&.47GD4(!?_$43/T5EX*8;-X,9TTOJ[[/3&)3+@[<^ H-%VC'0 '- M?=1].*M\6WU.\,\<%F?1QP9U))/.'4F7O03JNR-6Z_VVJGCJ"V(O'4_RU"\D MHHOZ90,.,\A;9L#%%S/BP?@JG:7#@3P15[.;^?CZ/,2S^7CY?(S'S]VH3$[N MP,"\'=_TH=B3]O$ZK!_M+Q,?XQW:,#W>1 *?Z)8]>N$MED['U\N1K]^1M%TG<=)M M&+ O$D7=/7SNE3?9*OW1K!$MW#5"FFFTMK:]ZO=-M<:&F9YJ4=*?I=(-L_2I M5WW3:F2U5VI$/TN28;]A7$:SB=^[U;.)ZJS@$F\UF*YIF-Y=HU#;:91&AXTW M?+6V;J,_F[1LA6_1_M+>:OKJ'U%JWJ T7$G0N)Q&\_3JNG#R7N ]QZTY68.S M9*'41_?QJIY&B2.$ BOK$!B]-GB#0C@@HO%ICQD=CW2*I^L#^O?>=K)EP0S> M*/&!UW8]C481U+ADG;!OU/9'W-LS<'B5$L8_81MD!WD$56>L:O;*Q*#A,KS9 MW=X/)PJCY F%;*^0>=[A(,_R);-L-M%J"]I)$YI;>%.]-I'CT@7EK=7TEY.> MG;V2ELD57PB$N3%H30P_HYWT+6$[B7ZUQ[D..-D3.#F\5M*N#7PG:ZSOZ_>) MTY%8=B!VG3T+^)KI'N1I#%F2%<_@Y4=#P8:(+(OR1*SP3 TLEJ+F9*Z"DK=;'K(4++@E7 M=88<82[A@V\1=/:<[=16\(+Z!(XK1(:7%!//+AZ)*6H[@L<[A]$(JTZ"5 ,J,2+NA5 M#"^!%%WP&[*Q]OV4VGZ%D)%@/AC#158FES :PSMEF;@7%-,M_B G@U6'V 3B M1"B-1W2$(Y3%XU$1"(V3_$QN266?1"J21\?NU6*0Y!Z/6N3DFXH,H-COXY#_ M[W%(XN&P=&:/XZ(LOA2'++N$X> +<B.ZW83P%S5UC7L;9+LO3[O6B-"$>P;=/?.PX)RJBWA\ M4O-BU_M[3 QLD>KY,I1?-+M8W#DH0S0X=S>\\X!U[K!O5M$SN/)_*=9=S[J)SEYUU]Q2!N4G,G>I=-*&L>6X>QSZYF'6^2P>)D9R MXHI+ P*7I)KTRD$$.DQAX<.JUD\^"V5ICO++-0VNJ)T _5\J90\?[H#C*#S[ M"U!+ P04 " #NB*=8NOR#G+($ #6"@ &0 'AL+W=O*B4=N>#TOOZ=#AT M>8F5<+&I4=/)RMA*>-K:]=#5%D41C"HU3$:CZ; 24@\69T%V8Q=GIO%*:KRQ MX)JJ$G9[B:@ MOY(-]]<[]-^#[^3+4CB\,NI.%KX\'\P'4.!*-,I_,9L_L/-GPGBY42[\PJ;5 M'9-RWCAOJLZ8&%12MU_QT,5ASV ^>L,@Z0R2P+N]*+#\++Q8G%FS 22^YLZ F+)<.\L[ML[9(W[%*X-MJ7#G[3!19/ M[8?$H2>2[(A<)N\"7@L;0SJ.(!DEV3MX:>]8&O#2=QV#?R^6SEO*_7^O^=A" M9*]#<#^#Z@@G=H[W&P^/AA/!U]>H=@UA/,WD-_)_(_8P=?2X0K4]5" M;T&UHARMIS8$LUK)'%T$.9TW'BW@]T;6U$H>A"Y >@>N%!8+R)5I"JB5\-S? ML!*Y5-)+ FLHKQ:TT<>YT#DJL50(- NL\%*O=U>2%=Q3,[.(SJ0I'/C2FF9= M.^H[-UL*T0LK M;3Q(G:N&"I/FAL:-4#T4V15((:%68LYLV])@6>M/+E3>J-9-OJ\]5U(LN]A$ M( )7ASTL!3/<2W/1&4VQVNYE Y;(6/B -I<.BQA"#DE HY6^&X([2.,Y];=2 M8521IP=9/.H%3(NI4F@1H6H[#[GS@/HF+_O&"::T2".BXFH,,T]M8[AMZEJ% M,%,P0T(5*T7^29*0H.CR(K=TK5QT3V1T![/5\-A^2U M+TWCB(P[@BN^K1;;-L=]9H(2.4,7-#8PXU"]"#8<0!I-DW'XGHPF7>SV-825 MCKFNK*G +#GJO+4\D(_-ZKCA*G,./8.-DRC-9K3X^&&>C)-/H9$V87@3*7%/ MCJ^18E%U*(_5$6+K7],NI,M-0PY0T)"]>%KG+Z.)%I^$\S&)GS'':DFMPIN[ MGZ)UN$5A*.?6L M#(+.X:,']+,KY2-*QTF4C1)6FM!R/@W+*-"-HUDVAJ^&JYQ;O&JJCGY?@%D:S:8S*B-''*4F*W0>#B?123H[@AL> M]!2J>Z&:D$I-#Z,WD*@B9]$\'842>AZNO8)O6S<,4+$T]]SXH0= U+4U#Y+Z MCWH4#L8G<=:W?.B%M5!TL)2Z8. W:/!P$)W0R;6FS!>4U6ZZ_7AD^%+X,#BW MY"HU/_W7(. <(7[MO]QP[ZU1H5V'%Q4-92ZP]MG12_M'VT7[5GE4;U]\Q&,M M-0_8%9F.XMEDT#;M;N--'5XN2^/I'126)3T\T;("G:^,\;L-7] _91?_ U!+ M P04 " #NB*=8PIC1"ZP# #W" &0 'AL+W=O]-@:QO8W;1H'@(LDEX>BC[0%&T1 MX44A1^O5W_<,)6OM8N.VZ8O%R\R9,Q?.>'4(\6.JM2;QY*Q/ZZ(F:F[*,JE: M.YFFH=$>-[L0G21LX[Y,3=2RRDK.EO/9[%7II/'%9I7/'N)F%5JRQNN'*%+K MG(S=G;;AL"ZNBN/!>[.OB0_*S:J1>_U!TZ_-0\2N'%$JX[1/)G@1]6Y=W%[= MW"U9/@O\9O0AG:P%>[(-X2-OWE;K8L:$M-6*&$'B\ZCOM;4,!!J?!LQB-,F* MI^LC^D_9=_BRE4G?!_N[J:A>%Z\+4>F=;"V]#X>?]>#/->.I8%/^%8=>]GI> M"-4F"FY0!@-G?/^53T,<3A1>SSZC,!\4YIEW;RBS?"-);E8Q'$1D::#Q(KN: MM4'.>$[*!XJX-="CS7UPSA"B3$E(7XG[X,GXO?;*Z+0J"298L%0#W%T/-_\, MW$*\ T"=Q(^^TM6Y?@EJ([_YD=_=_"+@.QFG8G$U$?/9?'D!;S'ZN\AXBR_Q M5[PQ2=F0VJC%'[?;1!%%\^=+4>B-+%\VP@_I)C52Z76!EY)T?-3%YNNOKE[- M?KC@PG)T87D)_;^G['_ B;?(H_-F9Y3D5Y3$+[6&B&ND[\0N!B<(;U10Z+] MT3$)XW&@="1T!4%= Z"P$PK('-$DJ):4M]D0V0[O^U-K$'9#C&4&JYUXE-&$ M-HE&1F(^<@_(!&4KC4L#@]K$ZB@Q989)GQAKHD&_,=F(E93)?FN^@]KHR3=) M;#LK#VDB6IB.XE ;53,9AR=X0J<"1T4A]J'23UJUW%7@'2($SR?YW,GN1"? M4!PE>D77V-!I#7GT56&-W!IK>@>C28B*0 /EF$'7Q)XXA[\VS03DP?[9OU/& M)SY=IGY,SDCK"W@P#KC\.S((R58?TUR=)[GO<\PBL WT;)LI<7*/1%_BE@6: M0"@A(RT =Y$+BFN9.:,*&4E1B\LF8I!%0A%PG^9$)7' -7^?(2KI,(J24+)- M8+GM8!>O TOH5ZTB[OA Y#(+D"8].7.S!IH/'';51O:38W0\1/Q#K/)A-_K# ME<+Q\\.8.ABJ,2*Y^O[V]*9G;X\'+@PM6:?[9ZGBN_&2IJ^U,W*DV&$G.[SR$5$0^NIGTOCZ3C5;_MA]BS> M_R5 \]^SAU;OH#J;?G]=].D[;B@T>;1M Z& \K+&/Q,=60#WNX#,#ALV,/[7 MV?P%4$L#!!0 ( .Z(IUC*N<<-A0P &DD 9 >&PO=V]R:W-H965T M^6M> MNRK.7V=U%>M4716BK)-$%INW*L[6;WI>KUFXULM510MGYZ]SN50WJOJ:7Q5X M.FNI1#I1::FS5!1J\:9WX;U\.Z3]O.&;5NNR\UF0)O,L^TX/'Z,W/9<$4K$* M*Z(@\>]6O5-Q3(0@Q@]+L]>RI(/=SPWU#ZP[=)G+4KW+XK]T5*W>]*8]$:F% MK./J.EO_J:P^(Z(79G')?\7:[!VY/1'6994E]C D2'1J_LL[:X?.@>FQ [X] MX+/J M*'\7ES]J76V$3"/!+TY)X4B\RQ(X02G)CJ_/*K"EPV>A9?'6L/"/L C$IRRM M5J6X3",5[9X_@[BMS'XC\UO_08*?9.&(P!L(W_6'#] +6AL$3"\X0L]J_>^+ M>5D5<)/_'-+1D!@>)D&A\[+,9:C>]! ;I2IN5>_\MU^\L?OJ 0&'K8##AZC_ MG$OZR2R:/1_34*446>(JEFDIKE59R0J;?=?S#V\2GU/QCSI58LI7Z(M^[W*Q M4!R? EZL>B<#4:T4\Y/IYO=2E!WQA,SS(KL%"]IS 82 6[&L3^'=IT.]W9WT MHG?BB*^@5##5^^]W)!(:4M35*BOT_TB.3"P+F5;T0<5ZJ>>Q$KDL*AUJ;*]* MH5LA6!.1Y63#E MD3 8N!,?>[*Z)&*&@%BK0@EY*W4LR1"@;\U3/V!? 5'IS:XG.+@^(:-(DRH# M0:9'9L'9--+I4LBU+*)2@($UFF$$NEM6,,6MAH#B%KY#!LD6O/Z0C_SVR]3W MW5=7S=%62G[AO3H!2L>QF"N2#=SF$E:WUK)&>+;^FL7:"'67ZX*N2-VI(M04 M=R FB+#^V*-%2*Y4)K.RT5E2>X;[@*V*A3E9;+4DZ2ZKZ^096.O7?KFDM-, MQ%FZQ/%=PHNZJO&:Z9-), \IY(Q66'L M'E-Y"S:DLRXI0!&R!P&GH@M75AB8/Z?J)S(1TMXF1'#$%_O)!'6$S40]1""I ML.:['I\FE+QQ;*$*H@O T!EB;JZ6.F77(J)P@#D"4US42]0LPALSN'Q0\Z)& MJ4?/X*LDKGBC*'M?-D)OQ5RO2!>X&"FUU46)$-:#2 "^>8W'19$EPON5=GFC M7ZT^NMC:(>QFJ6I59/5R!8*;(HNINJI6=(,0W!'O:U:)4657O\&6(V,HY"A) MD#2K*.IQK_#ZR!%_9FL%7!ELN6\52N2&V46%7!NIR?!A713 FGV&)EZ[3(E M1/"E85VZ9[)>WOA41);1!C)#6H =&F;D2SBB"M2+LKET(U="K!OL0OU+80/> M\/[[Y >/NQ93:@]UT:\2DD2'BT(_LRK4CQJB095I>V\B5B6J)7KJZQ->64A< M)AJ$[^A(;F5UHQP# M$;%\$O.3UMGH)9P2*)&8JMB4+_?PSY\=1@(*?>S7'!.I[6WHYG?EA!B( ["P M>LPWQR[Q* (/QZ.GX*_%^H8SZ!GX^VPS\DVWJ#F0GP^D0F)X(!?UT>S$)@?% M&V-^KCE/Q%*EJI!QO$&2QWV8:C4SL*%3LA>5Y.2-0&R(G-4% Y&I@6S&K51J M%]M@Y=N&;5AJ0FK;N^YYRVZ"L+J:AI.JB^@Y-T^5)<%PC':Y?"D^=ZJ=QJ)_ M<:N)HQ=0!IVSN+25POTWUVT!<+%<%FI)^GPDC$%7'8IO[/E]AA%SS[!E_U]D M@Y/]Y;Y[)@/K\9#VNH$# M;F-G3'($@S'>?8,_V.X UZRX= 8"L9L<(>;/ CH_=8(9:-'GZ70P1@JS(K/G M'SP[F7C8/1DZ$&?HD#4FWL#SQ^SCMFXWX?"5"W"JV@]$A&FDMCZ=I;%)#;A* MP*IU9=N3D29TOWAOJF20 /K"C:I-KD,F0+FP7&B*B5WW1ZV_K?\MP2.R]GM7 MILDX*G CX1QUZIZ0>YW&,='+YZ'D;DO6B,5BTAV3U*BA;2$#0(8\-N+Q@47E MBEHD[,I\H72F5"FEW%A)JO-6.@4 MU%"8H1-$9@/H-Q9J"R(Z\T7&) ;6$UU5JDU^\PSM%#U$P,,0+6FY!W3&"$8P M:VA*[#0JC.JX$UJ,'71]CT(FB+1(:54MS7TQ@\Z[GP6C+/8]I&2,,JW-!RH. M#F+CXR#H3H:B[S%R!8&##J;!/F\Z ::=; '0(E/?&\X M@&_&08.,/)#V]WU MIP#!_M"0&SGCX#$@= $V_9&AY3H Y*[B3P?!J>9Q3J29L*%?X27[*$9H)')()J_\#5WI\K&;3D&]T+V758R MX%KH+.'7/L+$)?\>C&8^Y3O%/D)6B+ KSG)&Z1%JET ,!S-$\0T0TZ0.TS20 M$8+!!,'@#X:CH?C#)&N+R.B[-(V2V?(3$)CAK^M/Q!=N](\9:"!2Q;+*)*M) M[5#F&@>X[;>@,ANX@<<@@@\!KSY,M+5ZE]@:48_>DN1,@)3/058TB^::JZ>Q M;2+35$US%""[:1N))ENF+-5CM$J:1$KKXBALK-_#8"]\9PIMXKC)<"\\%&[- MPK,2AXV%@(>M>=-M'&V2NJJL)!5%SU*(90]0*EI9!^+%=.3,.H^>UWUDW=R. MLAV+M'-CLLK@0*EBUHF$F?DTO6(S(>XJ/!#KE::@H+Z]DS-X;- JR.7DVJ;2 M4VE3:3,B@G(^^@"N-&$PE.7VHPN5[$>2!HFJ>=RU^0V/#:Y5*^E5D0'E$D:C M3J?.VXKMMMQN(S?O3,YL.72@RNF6"A=IBN@+3:7&]<#%EL1[[)+=XL#> X!F M.^SRR3N\*73)H\).6#9X6=&;2)BY!QT9L%PVXY MG'>^J*!QDSJEJK>9QO"W%3SW-*GF&,/1J=?I9;H\$?5 F7WW*A'HP/6Y8G4 MHRA8J0&0Y8K\%\U52%.0ZXY-FJD8TZG@=J8E@OO%LBPU=PJ[ODJOZ]0.>^SQ MO9D.C^T,N::K,-_6[/,=[(Z"-.%H5(KHE*9@)JUM9S[L:H T3;M"F_T?.+B=3U+_%]'W0'P?S8R] M- IMOTJQ.E&'T8I*LH5A#;/P8Z10;>GJF4._;>K939#;^_3<^R,Y^CB:#N^M MVVYVY^II7L??6]SI!(+&&^27*:)Y)W6.:8#29IS'L^!@GZ0_'FTSFC4<7>?. MV/!^5.5[7SL^#O .12O-O2IY)UHENS1M0<5QQ.E )R1EH;>>OF6S@,ND(;V" MTG!P.RN@N%Y0;F"YGW>5_.$8ESPKS<3@(-;2R7L=IG/HUP1GG9]_) J].?W( MA6X>;FI^"=*NMK^CN3 _']EN-S_"^<33@U+$:H&CKC,9]4QYT#Q46++*N:!V+0_KKH_/]02P,$% @ [HBG6-^8PY@=!0 M]PP !D !X;"]W;W)K&ULK5?;;MPV$/T50HU[ M 3;:FY,XKKV ':=H'@($N;0/11^XTFC%F"(5DMI+OKYG2.UZ-[[$ ?IB2Q1G MYLR9,T/NVSH<^J*F1OKCT?-A(Y7)9F=Q[9V;G=DN:&7HG1.^:QKI-I>D[>H\&V?;A?=J40=> M&,[.6KF@#Q0^M>\E.?9B &1IB*P!XE_2WI%6K,CP/C2^\QV(=EP_WGK_8^8.W*92T^OK/Y; ME:$^STXR45(E.QW>V]6?U.?SC/T55OOX5ZS2WNDT$T7G@VUZ8R!HE$G_Y;KG M8<_@9'2/P:0WF$3<*5!$>26#G)TYNQ*.=\,;/\14HS7 *<-%^1 Y)G\V#/#(Z\.BM[Y,UI-[K*?BK36A]N*U*:D\M!\"R0[.9 OGJ/0I@(C6V:6*386>QH= 3C6BQ5];8J.'J+$$K5$I.J_,0D@CR >%'B!A M*Z&"QY+II!94513[*GIVV# 0LOP,W<*8W9=@W<$?C*CQ Z$JF&X&(M0R".F4 M)U%VCH,$X$T@Q["9$H.S;NV5N7] M^T512[,@?QBZD=<(+-&53:=E-$BI8D8%\(C!!M3;% [I[W/1F\,*)& _P"VJ MX[OY9ZR+8,42!,HXW,J.>,'3DAQ,*VC;.J;;%+HKF=ZX=ZZT"AO&"NVRUUX6 MOZ)2Z W_6\JX46O&\AF%\:6*X].S^U6MD&%,LS=TI+D<@RUC[+J&Y/=Y*RW6 MYZPD\DPIPFJY@LJ6.!):)L]'&EH 4',-&KK SCUCD$"/4^<;.F]J>$?Q6'8< M?T.2]8<-SHO*V2:N?LH_Y,('&3HPM$D6B#,9'X$3.'4*1>KI--8\Q5SK$(!Q M81@7UT_Y#"@% .)<](E]6O,SRL-^(Y*M=N9DJ%*!(\3 %96Q0'OMB/;@%--^ MA0R+N+T!)3)"+&2K@M3J:PJ&;SQWI$,5^L ^YAP#1'EU#EPR!*9U#X;OZU5R M/PKHR]L_=8P4(G[S,3R CK>/)"Q1/ M3O+I;F%;H5 [@MK2$4)\A(BW,:_M"1!-\3 =<,YMJK3>Q#<)XNBT# MH!B_S%\<)1^3?'QTZ"0EA01PE_'\^U\*,M]1>;B(G;U(7.'8[:6.'8,BVQAU%>F] MJO.[;CS#ORNI,2/?2W>KN5G^1+K,WV]-/ LADH7#T:*I@.LI? M/,N$2]?L]!)L&Z^V@V0+%DR7;LU#;@I-U68$6#I-D^#/M 2V>+"$6J)!4G M_WYWE.PZF)L,V!>;+W?//?<<>=1\9^R]JQ ]/-9*NT54>=]<)(DK*JR%&Y@& M->ULC*V%IZG=)JZQ*,K@5*LD2]-)4@NIH^4\K%W;Y=RT7DF-UQ9<6]?"/EVB M,KM%-(SV"S=R6WE>2);S1FSQ%OU=6([8/! M'Q)W[F@,G,G:F'N>?"P74H5(,1#2^]IC1(20['H_WZ+^$ MW"F7M7!X9=2?LO35(II&4.)&M,K?F-UOV.'>! LOWPHOEW)H=6+8F-!Z$5(,WD9.:BW+K M+>U*\O/+6]R2Q!Z$+N%7-%LKFDH6L*("PT?=%9W4FR>>@K%+4O3 EQUP]AW@ M'#X9[2L''W2)Y7/_A$@>F&9[II?9BX"?A!U /HPA2[/1"WCY(?,\X.6O9'Z# MC;%>ZBW\M5H[;^F<_'TJW0YM=!J-[\Z%:T2!BX@NAT/[@-'R[9OA)'WW M?1 M@>OH)?3_4Z47@4_3_H_1X(XJ:V%U>P79-(5_Z1D#M0XK@K2NVW0@+/*E(1HE M" >%J1NCPX[94$"@H?1/(-;40&!'82OR;03!()"7T(44"N01"^D 'X1JR:*D M-K%ME;#J"=9/X"N$HI*X.2)28B%#0ZG%/9&7.JR4O%513;P!H90I.!SI85I; MH M"D*5P#IUC4X(+!'2! _A"8:XH#Z&?^D#D0N:4US[O@%!1OD83-=ZP026Q M5@>;9T!OWTRSX?D[]RI_%[*\"E8?'K%HNPBP)W%& M[)C4IM5%OTLGI L>1&?4.RUY=NN9T8!.V /J%KG$VV_'D_Q$'#ITR51#\4/_ M1/NC@[54BN.(LJ2,*'52CNJQ,93HSEV0]A;Q683N)1/J'!^31.AQ.@YX(> PWC69Q/9C#.XLGD'+X83S+8CCN[#4?C>)J. M>92G\62:P^]&;\\4%; ,E?$N[J\ JRZ=9Y6O+2O)5X14Q*^M;/CPQ*"Q.V6? M#W56*+BT9V#Y96+?UF$'')_4CI4_UH0Z+L7FEOL>"ZS7=-YX\HH:.66=<58C MRCO+J&.44I".<49*SN+9.*,"=KG0@ZU(9Q*-A(Y')%TGTI$.JZ #H4V&\7B2 MT6 \BF>S%$YUU>3H':2R;\-KSTVFU;Y[$@^KAP^*5?>.?C/OOD8H]ZVDTZAP M0Z[IX'P<=3KN)]XTX55=&T]G+ PK^BA"RP:TOS'&[R<&PO=V]R:W-H965TU*%; B]XLVW)M W&38?W0P$BZ[<.P#[1TMHA0I$92 M"]<')1^-!6BA>=:2+,,*FN;>1B:HL*:F2O5 MH*23G=(UL[35^] T&EGI0;4(DRB:A#7C,E@MO&RC5PO56L$E;C28MJZ9?EFC M4(=E$ ='P3W?5]8)PM6B87M\0/M;L]&T"P>6DM/!G*S!1;)5ZM%MOI3+('(.H<#".@9&GR?\C$(X(G+C[YXS&$PZX.GZR/Z+ MCYUBV3*#GY7X@Y>V6@:S $KW7X%?MX,L=7*&'\/QPZW30*H&B-574/ M)@]J+KLO>^[OX00P.P=(>D#B_>X,>2]OF&6KA58'T$Z;V-S"A^K1Y!R7+BD/ M5M,I)YQ=W5'>O\A"U0@;U/!0,8V+T!*S.P^+GF7=L21G6%+XJJ2M#-S*$LOO M\2%Y-+B5'-U:)Q<)OS)]!6D\@B1*QA?XTB',U/.E9_ANF99<[LUKD/#G]=98 M357QUUOQ=G3CM^EO)M]#FH^F:4R+ M)!_%408W*!45?Z>Y]NX>?+^13?9$%'OL> VDDU&>99!.1]%D!K>[';4_J!TT MRJ*TG GQTH5)PZ#'S.'!JN(15-/=R7@:PWB6PSU2@?#"&3%>H97<&O(I@3B. MX+9NA'JA*^@.FU87%<6K4N2SPR5 1-%*WP9N/NYF/HM%JRET$I% M301&T:AM14EBJAK+?Q[,_?\2^?A##M(D@SR/SN7@P[M9$B>?*-O9Y3P<%>,Q M?%.6B1\. MQMJ>4W0"=P2EM&4!Z.[=Z#96-7Y6;Y6ER>^7%3VUJ)T"G>\49;G?. /#X[WZ M!U!+ P04 " #NB*=8_S3FJD$" ":!0 &0 'AL+W=OW>2VL1;; MP7::[=]C.VGH1ELAQ$OC:]]S[CFN[TU:(1]4":#1(ZNX2G&I=3WU/)67P(@: MB1JX.=D(R8@VH=QZJI9 "@=BE1?Z_L1CA'*<)6YO*;-$-+JB')82J88Q(I]F M4(DVQ0'>;]S1;:GMAI]$^QEZ/V/+EXM*N5_4=KGC,49YH[1@/=@H M8)1W7_+8W\,!(#@%"'M ^!(0GP!$/2!R1CMESM:":)(E4K1(VFS#9A?N;AS: MN*'<_HLK+!,\!+:C**Z$:">@]NE\MT)N+M^@"48Z^ ME:)1A!(="/XR/Z)G_/3PZ(R<:[C%R?-&_W..QZ^KHXN-TMG>GJB8YI-@TIP*Y M YR]?A5,_(_'O/XGLF?.X\%Y?(X]^VI&#>6Y8$=M=MB)P]J)LLNBJ\LH2+S= MH?X_L\*KP!\/69TP[^"9,Y!;U_T*Y:+ANGLXP^XP8*Y=7[W8GYG!T\V)WS3= MU#+/8DNY0A5L#*4_NC1M*[M)T 5:U*Z9UD*;UG3+T@Q/D#;!G&^$T/O %AC& M&PO=V]R:W-H965T MM 9@"&/.1?Z MW>K M5DM9&LX$W"JBRSRGZG -7.XO1^'H^.(SVV;&OIBLE@7=PAV8OXI;A4^3!B5A M.0C-I" *TLO15?CF.II9 S?C;P9[W?E-K"L;*1_LPTUR.0HL(^ 0&PM!\6L' M[X!SBX0\OM:@HV9-:]C]?43_Z)Q'9S94PSO)O[#$9)>CQ8@DD-*2F\]R_P?4 M#LTM7BRY=I]D7\V=OAZ1N-1&YK4Q,LB9J+[I8QV(CL$B.&$0U0:1XUTMY%B^ MIX:NEDKNB;*S$ST!&R?MV.R.9 ;D; =2TK*^YRO0&?]H+9^WNB" MQG YP@+1H'8P6KU\$9X';SV49PWEF0]]]:<4KSZ7'$@8;.:OPBYUTBJ$ON0,(5-22H,(*U*%^=V]ZBI>=+.7BV4Q##;M]B+B/<&@M-76NW)K:'G<)$?ZV?!0>,-"9(,1M 27 , M]P=.1M^DLQ:H(H;RP+KI=ZE?ZS;K+U\LHO#BK<9TP8[)4@_BP6.!VP%W0!Q+ MY4:1##.:&+=K-Q#3$F/J?*X<[/.[B[B';QSV5%(8M#(A\)^B-(=>/> W^Z$J M?&0ZFB7THMXSP_O9^.U^+$ ?G:BE$SVI^WG:\@"B4:6OM82MS@F]FF3E*-B2 M0W'8'S&__7&G5V?R\;3S46OU3.C7'MU(O:]/AEZ&?IC9?$X2>O!FLI4QH5]S M7#6'YM6.,DXW)[99A3)W*/9_SVZ%_X*"Y637MWHK5$*_HK@K(2Y=Q_R$W3/&(YR*Y)>3"V$X&Q ,8[+/6)SAOW.7,&&;%BZT55)K M(LJC,S4 +4TF%?NOTA ;)"1Y8D6!ZWD]^J#@5."V G0 L$W&O*R\%(DZ%]/*2V>02GYJJ[5X*%?+9\4#GZS[\O'=Y?0BIC(KT9.ZH8! MNQ-5Z^/4:IG(KTF>(!X&$ ?$0]3JFLBO0@;%PX#]=^)A,2@>HE;71 .ZYB?% MPP#,;!X-B8>H%331@*#Y.?%0HW3% YZT/\J'2>=2+P>U=5>7&LL3J[ZZWVO> M-M>C5]6E8#N]NEM=4[5E6/P<4C0-SBYP<55=5U8/1A;NBG CC9&Y^YD!Q9/" M3L#Q5$IS?+ +-)?&J_\!4$L#!!0 ( .Z(IUBPK*L)(@H #T< 9 M>&PO=V]R:W-H965T#13N9NIG%8K$?:(FV.)%(E:3LN+]^SR6IAQ/'TRE:H&@DF[SO>^XA M?;;6YL[F0CAV7Q;*GB>Y<]6KTI**'RST*;D#J]F.;*5$3SSF\IB M-!F/7XQ*+E5R<>8_NS$79[IVA53BQC!;ER4WFTM1Z/5Y\^,/)EK?492:N2-O:?&^GOO._P9A"IE)8]JQY>GXV M3O0+?&%D03K\$9: MWHB"K[G!L\)S*LJY,.QH/&"'+U^^'+)/6!O5,&E9#ACZ7'/CA FRWFF+9W8E MW6; KG@A 5M*2&$NIRH^ME#MSR!@%+BNR1 M/LX*:*1"J(Q>R0RJ8'-:Z#H[(&P@&P)04M"<2'.E"[W( 9FR97\PN,WFD$CZG"QZ>08:>_\5S!: M&G;]B2PP'+59IZY&=0T0I*(B>V&.ZY;9#2)5AD;G%>Q(HYJ%T243*V$.Q$H7 M*W(VW2 +!]PYGM[%'6DNL:;OPEJZ',H1?L4+5C6-0JO%??S4B&5=!#U;L:62 M.3Q];4,H>]'@66:HYB@E2S0"6?-4#/VCN)>N41MC0P&EBN*T$# M..R,G-%H#X18*-09%16^%U4/A&^5-W!&^C'2D]OA;,C^ M,9W> +B1]] 1LNR9VD<[0E>0*_I+PJ0*Z6J@BS@4.QP?_-[6O*F+IE$[6(@5 MP[SN62B:II_?WJ#SJ<(TXG,M38#9-DY#T 5O@*ZDBAA7<@7>3ZH#7'Z' MA@&E)[[OC>39G^#/$8[70-*\]4$K%$&H!FQ!D1D/QOT-"A&VEN@OE;XO$DXX MUNAJ"K4S U F*9L#B+0X%/A@XO1D8F7[9N8V9PNB)+&)KS5 =B5PD1A/?CH.VJ?K/J=Z;7@9P4*BTSG MOC&QY\]:A1.>[TP7&NDK@-6 :M*"4+4/(>'A")T&/SX*,%='@[(!M'^U<6H" M!"&/^A-F%/B\-1&HY86(N:FIR":3$,=]D^U%.]E>[!U)M]9G^*UULB0HWS74 M_IX$7Y,!#UN&0EY\6Y.&M!%,$R%X@*<1/6P/'0@[2WZ'O$:,%ZU=GHM:6Y=5 MCSUS3TMBA5.Z8 @O:13Z4@_TR6\%"9G+HILP':[M6QA$9_'$XIY&[B=+;\NT MW5V8U1Z3NI5^C/O6V4V=>_$*D\70B(<+](_D(*=MX!I !"\H SK$H!FP>E63 MSE3CR!_P#&BJUWX&4:FGP';I&.(4:>Z*%W5'7+7.UK((M!DMCX$MZ2P3@CF@ M Y0E_=;I]"X>F@CV$;YN:-,1L03.\?MPT*)1/V13D#\/V"%>J<>"3,)PTPPX MW7?2B_)#-RP2\(#BM"$ H16&4A/.3M]A^.QKW=.V=4_W-MY'X(9R2,>4#@U0 MU+][P.$"SVFOCMKEU^B!O:L_8!C\!_0ARMT%"=_-L@]:B>&WVT9,X8->!?P, MW(82]*X->4\2N"J=VS+++C7^@ Z^F\XNP5?E(Z7=TMO*]^ZS9#J[Q5)2<3 ^ MC'5-NH87M79F[4=&:\0,B:^J,# M=0L L"$3J2][CWP&QE[]]N8].=;,*<)-8&&CHML)R0OT)SJ56A1MDV6^CXGY MAE!N6<^A:NNB)T?)^@D(A0Q'Q$)^P;*_TD-^!+1IEV*EY^((9<-JO,Z0]0B= M9 NQE?8L&6F$G[:1*J!?EU(IS]$6=+_3CM?#DX;^1KCI,XPF1 OD!\)H//^U MJ.,M=/W%-J9T(+SEA8>Z^4/SH\9 Q7J&?;60SLJ6,2RDL8[%VRZ*7J?D9,C> M!KAOKAIP)$40XADDD!V' W85Q?J@G M$@.7YS&3X>:&4S;:%,_I7F(84T:TA>Z'TES3A,16T=5+>P48;L66M0P'W:V2 M*38_L 0^T9&U=Y)6NAO/X<\RH5?=]I/V]_&IN$G MH6YY^&$-1T/4E 7S6F#K>'AZDC 3?JP*+TY7_@>BN79.E_Z1+M:%H07XGNZ= MFA=2T/YB>/%_4$L#!!0 ( .Z(IUB^=,=Z] @ ( = 9 >&PO=V]R M:W-H965T>R7S^GJ(ME1W'4.[T/^Y#0I,A2'5;5J2)U?J_T MMV(M9LC0O+D;KLMR<3:?%?"TS49RJC. M;0?33"3YZ/+9G;V*:;R;\GLC[HO.;$9*94M^H M\W%Q,;))(9G*>4D2!)H[>273E 1!C3]JF:/VE;2P^[N1_MY@!Y:9*.252O^1 M+,KUQ2@:L855[ MD6CVNTBWDJDE>Y_D(I\G(F4?\Z+46^Q^6;#QK9BELIB<3TN\D=9-Y[7T-Y5T MYQGI+KM6>;DNV+M\(1?[ZZ?0M%77:=1]XQP5>"WT*7.YQ1S;\8[(\^\^S)5(KU\D1=%9L1%S>3%"F!12W\G1Y<\_ M\<#^Y8C"7JNP=TSZY0VBR.*I.A#>52/?I2W:\F6*D6@D^22O(8954 >Y9K-'EDJ[R2Y M>+E._05P+5>R@IAVH60-5E'N" MP )@D@;ZC*"?L6MZ:>M4[)-1D=>MT]WEL5%:;0N\KYB0;\M'!*/^!O)<;C'& M3ACGEA<$^/'S3Y'#G5]V0] _D]JHO1$;J=L97FBY/&R:KZ1Q:.H;:^4WB@M2LEFBA1JYD40'D9-8SSDU4S,OV&/ M"MJ0:M]:J8[%/:]I0'\@MYS1ON'UCV3.>Z$7;([@IBC9+?1CV_S=JG)GG6SF7V0S;75O8_:L6CL*]-Z'[ MK&5]SW+"N&F^S[*.'5F^&[3M]RR^W./4*K?4JH_F%*O1+%F[_[8)B ,D_O(2M?& M_H;-;MH=[:/,X^^YW>.P.;U)'KPIV[VI8SOL&8BJ;'BP9=@GU/4Z \\F_X'E MKQ3F?\WA:ZGI?T!Y5G0'/BE8L#CB^E<'^IVQ,1].>2^3'[<"VV[GD6QN^?'0 M(/'AOS[?+70[.OH0ZF0L]B#(!N"T \0K,]Q!NC?#CV&P!X[DR89 M#$046;%-"01+26-L3IL5HM@*O9@R%AZZL P&@MBMGQ*'!%:(/GP'FI[ >#$F M5>,>QLE7WCW,T^U"UF&$P#@!H-,8%7*:HM@_[6']_W%P.,.RQ5[>&.CKGA4X M-O.Z625 M%?[A4YHA_M/0_#T?^'GE*9\#SF:C<-)D[2>^+EKV0@C! /W8OBY M8T5(.P.]PO/@%ISYY!8VC$H#Y L5% ?">( BQ4>D!38)Y_ ;]_L=G;*0&R(( M(@$C2,C(3MNQ#RD[K$+ M,.@'GM?QQ3)IGL.5 41G1. M=)A5Y^'=+Z4A.U\A_"K/>+_3^L,SX'[,E$-*.V2#$X;@=&-N?#.8/,-B^W-> MJCZ;-@#YD8,W[6'\(L?ZKDOI 8D=2Q4F(J3'.29/!G.-8C@ELW^2P M*$#V"XE[?-^R49F,N0L>:\+2<<%!3F N2;M@)20=6F !R9"P9&6&SEM9NH[ M8/R?6MSQK C[>V(20+_!]Z8,M3=J0*)BXM;VUW/GF=WY!WF,*J*0RJEN9YCA M/>2 D*J%R-0?G,H8G)#A="@T/;\N@1J[!Y'E<./'CD_0/1NKOJ+//81[E&-AESJ'/#O/L?V MLRK4FW?4RVKU7CJ]/%]]O<50?87T6R[9/Z6H?#>T;,\SOP(K0IE!\\02=<-N M6KG6:KM:L]M[90;@)JBEN4U-&#C5W@'+'45G.\<)39&#)L21\X5RN:Z3GU:S M3?UZQ'6BUG6BP:[S5FKX"-UM=R]M^XQ_5.9?-OYBI\?N?B[I7".+HBX=ND8G MKWY*H%W?V'MZX GU3>> VP9449AA,K:HZZDE4#'LXTI2$>83H0>#[J-R51[( M(RFT05VX5/M%K1O0I=B)N4#I7LG^",6-RX/2D.-^F.X+=DY.,2 MM^X;#R\ZS>%K7)6:$[J85JO]7 O=4B+X3Y MW&.JT6K:QWRN,I#(NX>-S O9^QGCN+Y'HV!5 4AK /H P%,3$ !E-%L>VJL\ M %!-2VH L@9@L1P'S/H"'7(7-&K>4*@T61C#%B6:RIC89(7T+HS4,W:[UE+N M?9>I(M$$WD%\_8KW5/@,EESEKSK.TW>GYW/'E$AQO?G'(3:%"3S+0V(?>Y1\ M*Z=K%LJ'.0HIN'HUM\).Q9CE.?&D*LN"WG0\[7P50Z&S,M_^Z#9MFY?5![)V MM/V\^+KZJK:;7GV;!!NM:!=2N<12^S3T1TQ7W_NJ3JDVYAO;3)6ERLS/M12@ M1)J YTNERJ9#+V@_NE[^"5!+ P04 " #NB*=8\3.L\UP$ "Z"@ &0 M 'AL+W=O[!,BIR9,VZ$:NY'03#Q M:U8);S%S[V[58B8;PRN!MPIT4]=,_7&%7.[F7NCM7]Q5F]+8%_YBMF4;O$?S M\_96T<[OM>15C4)74H#"8NXMP\NKL;WO+OQ2X4X?K,%ZLI;RL]UZD'.1:L MX>9.[G[ SA\',)-*#JM2,XLEEG6U UG!G.X,24J M6,F:PEM:WA\1KD4F:X3!CU+K(0P>V)JC'LY\0[:M!C_K[%RU=J(W[,3P20I3 M:OA6Y)B_E/<)V1+HWI$;_'^73@)/ISP:=3[ M-#JE?7%/)9PW'"W2?^3?,4=.FWHH$4C!5@H41@,3.60E$QO44-G:>S8NG?'L MA?&J,\Y=EE&K ;I$/X4(=9LW:/,&*.I9V8?=F:%%##M4"$R3**6\M\XW@KHEK_XD^!OJ MDKIUDZH(:H3ZCL5E'*",Z M^AX%.&ULA55M;]LX#/XKA&\XM(!1V[+S MXBP)T'8;[H#;$*S;[<.P#XI-QT)ER9/DIKM?/\I.W!9(KG7 MYM[6B X>&ZGL*JB=:Q=19(L:&VZO=(N*3BIM&NY(-;O(M@9YV3LU,F)Q/(T: M+E2P7O9[&[->ZLY)H7!CP'9-P\VO&Y1ZOPJ2X+CQ6>QJYS>B];+E.[Q#][7= M&-*B$:44#2HKM *#U2JX3A8WF;?O#?X5N+?/9/"9;+6^]\K?Y2J(/2&46#B/ MP&EYP%N4T@,1C9\'S& ,Z1V?RT?T#WWNE,N66[S5\ILH7;T*Y@&46/%.NL]Z M_Q<>\IEXO$)+VW]A/]AFLP"*SCK=')R)02/4L/+'PST\0^! M>I;ON./KI=%[,-Z:T+S0I]I[$SFA?%'NG*%307YNO3%47^-^ 5^E6@OEY&C2-X^*@ZH-P,J>P4UA8]:N=K">U5B^=(_(H8C37:D M>9@_?K[?6&7HP/TZE/B!G MIY%]$RULRPMM%%P5:"E2F&6Y7])I#A\ZHX3K M#(90B4W)ZP$V2<-X3J$G29BP&1&T=D%3J.B: M3G*')0T/NN-"\&$\D3-OM''BOV'C@C$6SO/TDB1B-V'S2SA3";JJ- Z3//$" M"R=$[]1[BYZ-B@;-KA^(EJK8*3=,C7%WG+G7PZAY,A\&-I5W)Y0%B16YQE>S M20!F&(*#XG3;#YZM=C3&>K&F_P8:;T#GE=;NJ/@ XY]H_1M02P,$% @ M[HBG6&T!FAV P A0@ !D !X;"]W;W)K&UL MC59M;^,V#/XKA%<<6L"HWQTG2P*TZ0W;A]N"MMM]..R#8C.Q<;*4DY2F]^]' MR8F3%CGOOCAZ(1^2#TDQT[U47W6-:."UY4+/O-J8[20(=%ECR_2MW**@F[54 M+3.T59M ;Q6RRBFU/(C#, ]:U@AO/G5G2S6?RIWAC<"E KUK6Z:^WR.7^YD7 M><>#QV93&WL0S*=;ML$G-']OEXIV08]2-2T*W4@!"M MGZW!1K*2\JO=_%'-O- ZA!Q+8Q$8_;S@ CFW0.3&MP.FUYNTBN?K(_IO+G:* M9<4T+B3_W%2FGGF%!Q6NV8Z;1[G_'0_Q9!:OE%R[+^P[V8R$RYTVLCTHDP=M M([I?]GK@X4RA"'^@$!\48N=W9\AY^< ,FT^5W(.RTH1F%RY4ITW.-<(FYH7*N*$N&O%6\VS(:D+P4R:.IR M(,\UF9&<6KD1&S"V*D C%0S9I(HQ=(U'M]2Y6XQS.K"OA%7P'4C"%GN-!.5OG&'<'T"HP]"ZZKL!JX@RA,_3B(KED&41GX6%W:3 M UV,\]RN1S#RT]C)%)".W=D8"-Y&0&_;VJ""* KA61K&"309Y?XHBV$@A5F? MPNRG4WC,W.H[/#%J,%C43 CDE[(UB'HY6P=X;?&UPR\[?& *+=E=*O4$GFN% M^*95WV7!?I+WF7AH%*6:Z"E"/R*"KV"4^>$X@2531A"%>>;GHS%DF9^-3V1& M:>8786972>CG13)$:][3FO\TK0^X1J4HAH745)M&4B<8JI;3 W>)X$'\RP3W MALJC(=D9*ON7]#W3)UH?L,1V12S9S3MF%SN"%9;:W ^I[JZ *,L*^%.*LK^* M8I_JVRXBOTC3BRP&9Z.!GO*-&X!4!W(G3##NBBE3=T.LV1F[=H%E)0W/#+6OZGX#*"M#]6DISW%@#_3^/^7]02P,$ M% @ [HBG6 AR1 ?> P [0D !D !X;"]W;W)K&ULQ59M;]LV$/XK!VT8;$"+7BW9F6W 29JM0%L$3=9B&/:!ELXV5XG4 M2"I.]NM[I&37:1QW& ;LBW0D[^6Y._(AIUNI/ND-HH&'NA)ZYFV,:*-!M M73/U>(&5W,Z\R-M-O.?KC;$3P7S:L#7>HOFUN5$T"O9>2EZCT%P*4+B:>8OH M_&)D]9W"!XY;?2"#S60IY2<[>%W.O- "P@H+8STP^MWC)5:5=40P_NI]>ON0 MUO!0WGF_=KE3+DNF\5)6'WEI-C-O[$&)*]96YKW<_H)]/@Y@(2OMOK#M=//8 M@Z+51M:],2&HN>C^[*&OPX'!.'S!(.X-8H>["^107C'#YE,EMZ"L-GFS@DO5 M61,X+FQ3;HVB54YV9OY:&";6?%DA++1&HWUX1UMA<,=H2@^G@:$@5C4H>H<7 MGCR*/4OGNF$% MSCPZ+!K5/7KS'[Z+LO"G$SFD^QS24][GMW0VRY9 RQ68#<(E4^J1BS5\8%7K M9I\E=BR%DT&.IW!'T8I=M'L;3=MP_$LXUM61*2O"2E9T[O4Y4!N+S;Z/,."" MD,M64Q?T$#ZZTX,E+.Y1$1G &[Y"&/R&3-'JI=0&%D71UFW%G%8ME>%_,W>P M[7Z]H&/?)W^%]T0U#6D9+#9"5G+]".E9!M]#&OI1&I$P(!Q)-AZ2./;S/($; MDK# M9V%[,Q\$E<=Y31.J34$)H-KU(?G?^Q#Z69;;M"=^FJ??ZD,<#R$;?:,/<3*$ M*,G^?2/B*.X09?GH/V_$Q,^C$9S@@-&> T;_F .NN> &?WQ#%]P13O/ANC66 MT)ZTZ]5#8VM\C!=.!C[."PM' U\=Q%&,N[-YK'G!P15XA1$5<&PO=V]R:W-H M965TJK+A -?"]%I1=> M84Q]X?LZ+;!D>B1KK.A++E7)#$W5QM>U0I8YI5+X81 D?LEXY2WG;NU.+>>R M,8)7>*= -V7)U/,5"KE=>&-OMW#/-X6Q"_YR7K,-/J#YJ[Y3-/-[E(R76&DN M*U"8+[S+\<558N6=P-\1SMO "2P@%IL8B,'H]X34*88&( MQK<.T^M-6L7]\0[]D_.=?%DSC==2//+,% MOYD&&.6N$N9?;/[#S9V+Q4BFT M>\*VDPT\2!MM9-DI$X.25^V;?>_B\!J%L%,('>_6D&-YPPQ;SI7<@K+2A&8' MSE6G3>1X99/R8!1]Y:1GEG\BN:1AL&)K@?IL[AL"M9_\M .X:@'"7P!$<"LK M4VCXO%'O8>3PHM,>_G.YUD91 M$?Q[S,<6(CX.81OC0MX+Q*?3E S5:U@@$ MF<-#4]<"J>@-$W#-= &?J&W@<]6VGZUC&L&7&A7-J@VTWAUSZ:31XRX=6$^M M]=Q:YWO6%0IF, ,C0?8D1!OB+=- OUP*TM(7L"H4XD%YN)S:1P0#7H$I9*-9 ME>FSUM>:/5OCFBRFHK'R3@BA) .-"&D^FW$ V3<.S>Y\&D M#G6;KT^43A6^#<(]EQZ4EO4)5 @7%"3VZ784"L9.^X3J5#87AGM)@ MH5Y3"J>)K'=794SZH-MMEG]9-TMF.E.E96ZEJ6-:N>?]-'*@45'I0* M-7U:N*Z_P13+-2HW>7P5K<$S,D4U%(_&$-'_)ZU#>LEH"N]@,@KAW8FT)GU: MDU>GM4W@+3.-=:^(SZX7P8!Z$5FM!PEKAA K/A9);8X=0.([\$J3^9Q4@]&4NDZU=X)V8F3MSN&U-'2JNV%!URA45H"^YU*:W<0:Z"]F MR_\ 4$L#!!0 ( .Z(IUACK7]GR04 -H/ 9 >&PO=V]R:W-H965T M.@FB-,6B\4^ MT-+8%B*)*DG%R?[ZG:%DV4X=-UWTQ::&G&^N;WB>XX2#@F=E;WQB9-=R?")J MG6 F6RPU"0;CDXHO8 KZ2W4M\6O0H:19 :7* M1,DDS$][$_?X+*+U9L'7#%9J:\PHDID0=_3Q*3WM.>00Y)!H0N#X=P_GD.<$ MA&Y\;S%[G4E2W!ZOT=^;V#&6&5=P+O)O6:J7I[U1CZ4PYW6N;\3J([3Q# DO M$;DROVS5K(W\'DMJI471*J,'158V__RAS<.6PLAY1L%K%3SC=V/(>'G!-1^? M2+%BDE8C&@U,J$8;G>B0!(H;O+8O^6S'-31R4"C?4(9)*VML\:6]XPMGWT6I5XJ=EFFD.[J M#]#OSGEO[?R9=Q#P,Y8X7',#SNV3X!L]_!J\-_^_)3&F)?/EG7XP- M1+ ?@GKH6%4\@=,>-HD">0^]\>M7;NB\.^!@T#D8'$(?3[$GTSH')N9-@=A5 M98HR(7*C[_L 30!*78-]-3J#JY M!XE;!+M\ )ED"GZPKSVM@_:Q$OT2MT(PZ M8OV_@$OZWQ6?\9R7"9!S&/P%)%#,0*[]]IEK!4'$_F!Q9,R QP?=AP?OICC-],O!ZE]&.FG+";X M-7DMEI5)7BL\(VCY]>[<[V(VHNZAM:$-NR#.ON>9W$_7G_/2B0+6=PV9?-\. MG8Z.[BA"FAUM.-F2I>\&,?+?-S.!;R-M\:B;0V8F1\C+?M# #>W0_QDW':Q_ M?]A@.3;VR';@+^?ER#4=Y8]LUS'A?**Z4)I=Y.DZ(:9 BBW:"!$Q :EQ"T K MD-2Z*>,\0ZG"RIH4&0.><04'KFURLD$?AO\;_46\L$VF.WO8.K\WF& +?/B[ M,S4\.M#:8=?:X:\=7V_/?KQ?7#[0&,B5J<:6P!N@-CRYJK!;S,&P;RLX;/D6 M"]0TI&ECL[.I);8GXT\W";5U\4FV'8/.L3;);>$3@<4NF^6E$GF6 M=,X?LUO#E.V[4,-\T\9/NOY<8)^@OH1[*&M0V!H>=II#+6(-8P\//@6&9E2L M%%?EHB*K;(@GDL\"*\:-8,KQQF968*1WH"D)OA5A/WE6, S8!RC1O=RLX"E> M,S.Z !EJ1 @0XZ_C1>Q6:%ST7((L5H+QE1>BIK 37F6HD/UKMAJS,<26X[MF M'\*!;Z2'0;NL;X.M<.-(@:[#68&;[:]LSO8!&D<=C:.7TWC))=T^JAJMH/?L M6@ILM6(?10^B[K^(W6Y.K3=XZS+&Y,98U1@S">$UTD::_,P>33)F@LN4G$PS MB1NOD+OGTJ0LL4Z)X6AS^$PV$!>XBF^?1$66YT3?(_8>9K*FAG$]RJD[,C<2 MQW;8%1HQ9Y+33NP5QZWX,W]$7E%5G%:R038K/;>5_RGNV\.N%7L=0-!N5=XN M0+P^%'?%D;7N-!(WS-M["%%W-8OV\66P]=XJ0"[,JQ+Y3K1OGEZ=M'NX3IKW MVF9Y\^I%NPN\H[(:63SDFP^M*C,ZVTF-+X%S7")CV^0M #GYT+H M]0<9Z)[SX_\ 4$L#!!0 ( .Z(IUC\M!#63 , P' 9 >&PO=V]R M:W-H965T4[#J Z_9%(D7.F3-G+IKOE/YB&D0+CZV0 M9A$TUG97463*!EMF+E2'DDZV2K?,TE;7D>DTLLH;M2)*XKB(6L9EL)S[;[=Z M.5>]%5SBK0;3MRW33]-]9]B);SCM6X1ONYN]6TBPXH%6]1 M&JXD:-PN@M7DZCIS]_V%?SCNS-$:7"0;I;ZXS?MJ$<2.$ HLK4-@]'K &Q3" M 1&-KR-F<'#I#(_7>_2_?.P4RX89O%'B7U[99A%, ZAPRWIA[]3N'8[QY ZO M5,+X)^S&NW$ 96^L:D=C8M!R.;S9XZC#KQ@DHT'B>0^./,LWS++E7*L=:'>; MT-S"A^JMB1R7+BEKJ^F4DYU=KK$FB2TP6<'?J&K-NH:7L*($PWLY)-VI]_*> M;02:5_/(DE=G&Y6CA^O!0_(##RE\5-(V!M[*"JOG]A&Q/5!.]I2OD[. 'YF^ M@'020A(GV1F\]"!!ZO'2GTAPAYW2ELL:_EMMC-54,/^?"G= RTZCN2:Z,ATK M<1%0EQC4#Q@L?_]M4L1_GN&:';AFY]"7:VK*JA<(:DM\'U#V"%NM6GC[:%%+ M)N#&UPQJXU/Z0J^PI6QJ U(6R>CA)-!B[5YE2<9YFA;-9#*?*/#J:4)3VVL]A0^KUT@[#ZO#U,.I7 MPX3[?GWX3U#L-9>&1-R2:7QQF0>#CON-59V?=QMEJ<;\LJ'?%6IW@&ULG5;;;MLX$/V5@5H4#>"-;K[7-A G7FP?&AAQ MNONPV =:&EM"*%)+4G'R]SLD;<5-;:/8!ULD-7/FS/ ,JK.1JF*&IFH;ZEHARYU3Q<,DBOIAQ4H1S"9N;:EF M$]D87@I<*M!-53'U.D<_:.X,_2]SIHS'83-92/MG)UWP:1)80,9;Y-P" M$8U_]YA!&](Z'H\/Z+^[W"F7-=-X*_E?96Z*:3 ,(,<-:[AYD+L_<)^/(YA) MKMT_[/:V40!9HXVL]L[$H"J%?[*7?1U^Q2'9.R2.MP_D6-XQPV83)7>@K#6A MV8%+U7D3N5+835D916]+\C.S>]KWKR*3%<(2%:P*IA ^/[(U1WTU"0V%L(9A MMH>;>[CD#%P*WZ0PA8:%R#'_T3\D:BV_Y,!OGEP$_,;4-:1Q!Y(HZ5[ 2]M\ M4X>7GL%;,"5*L=5'V?Y]L]9&D3S^.96OA^N>AK,M,]8URW :4$]H5,\8S#Y] MB/O1EPMDNRW9[B7TV8I:,&\X@MS S\0[,&>ZS(")'.Y*WICW!?<)7 QQ.H'' M H$D43>&V=;10,UOM;\/EOM@($@[I==.3:2TJZ;[60]._:['\%@HQ!]4X;;2 M_J7PN11@"MEH@M4=P)<,:W,$EI.DK^"^J5 Q(]48[M]"?H1TU!FD,0V242>. M>G"'0E*+>$M?FYWK2HK)G@EBBQY70]KOC'H]2 >=J#^$Q69#AX2MP)9^YIT!S%TAR-X0%)/F=D@VADTHC2:."40QQ$LJIK+ M5RJ!?UDW*BOH%(&:,P$]2 Y;=Y[JH#.@4M&CWQ\=%Z MTR'9CQ!?1T-Z1-># M48OK5GM^=0 75-EK5=G[954NC^IU=ZC7RA-?O&2\L?N]4;)JZ9P\<&X9SQKN MQ'9*PI?Y+,_O&0CIRN5Y.+&1LM^"V10NJGF-&6MHMW))O0=:TAW3\)R6J1%, M^5L;[O^K_NJ=K-*D!Z-1=$Y6GSX,DSCY0@+N79;6P3#NPJ,TC+\C?! 718L[ M:7]T2A?AT;5"';AUEZ>FDZ$1QM\P[6I[/]_X:^G-W%_N=(QO2\J.XX9<28FT MI&PO=V]R:W-H965TO$VA,L&.@HE)OV@3>.4C*N@//-1$$1^3M+"&_2JSV[YH,?F,DL+>LN! MF.RYOKL9]+R@=T8R.9)F"J'\+>DZSK,RD M?/R[3NK5OUD&;EZ_9K^L&J\:,R2"GK/LKW0LIWTO\<"83L@\DW=L^8.N&Q26 M^48L$]5?L%QK P^,YD*R?!VL'.1IL?I/?JT+L1$ .RT!:!V ]@W ZP!<-73E MK&K6!9%DT.-L"7BI5MG*BZHV5;1J35J4C_%>?J>4D!OH)O0E!U08HQN$[),,U2F5(!/E]02=),?%&2Q_L+ M\/G3%_ )I 5XF+*Y4&K1\Z4R6?Z4/UH;^KXRA%H,W1!^"C \ 2A '4OXN3O\ M@H[J<-P,]U5IZOJ@NCZHRH=WU^@)IIEH2/P8@5DJM!:^T2JYQ1E;.<>!:# M*(Y[_F*S5:8&=I.H%C7<=FJW';?;^@F=@#M:>DZ+)YM!9YI#G\^1DC5:'-8M M#C]"?PZ/6:\C)6O4*ZKK%3E[R TKZ(N:; MJB2V]]^X=A<[W9VS/*>\FK!G9$:YS5ML_&HGQG![=)FJL(/BKMU>4MM+G/8> M3^]/P0.ONM!+U;N>V(+RHL0*4(L$A1IJK6=BUC-.8))LF39E*$A"W#(I=&O7 MW1U%Y3/&B:1@R%J>=]?R)'&\;<]4A5$G"NWN8*")'3C]56/UZY",GM6P%.6L M5='8BMK +"2"G#.>"C>CI6MV7X-.!A] MA!4!='+VX)H=*5NS9AJ[T,W=_58%T(2J;5E@D;6M"Z F+W2C=Y^5 33Y:4RS M+DG3FL8K=//US:L": +5\.N2-#> FK?(S=L]U@/(!.BV,Z>DZ4SS%;GY>L!* M )F\-!RZ)$V'&[MG-U#?QBMDXM,PZY(TS6JX(C=<=]$?60AI&<\66=MX1AJC M:,=.]6V%-)%I%-(E:9K52$5NI.[%_'4.IS>7I.E-XPZY-W0KW*-#<._.>/#I MS'N@"VETH?@CX!XY 7IPS8Z4K5DS#5/DANE^N$>[<>J4-,UIG*)=V]7=I$4/X4UH(D-&)"@M.8]5 OGK3M[J1;%:]+!LR*5E>74XI M&5->"M3W$\;DZTWY_JU^WSKX'U!+ P04 " #NB*=81)=*H=(( !(00 M&0 'AL+W=OMTKT!Z*S7;OP^$^*#:3")4EKR0G[6%__%*V:UKBD)8C!G _-'8\ M' Z'XC///))S\5167^H'I1KT=9$7]>7DH6F6KZ?3>O:@%FE]7BY5H3^Y*ZM% MVNBWU?VT7E8JG:\'+?(IB2(Q7:19,;FZ6/_N4W5U4:Z:/"O4IPK5J\4BK;[] MK/+RZ7*")]]_\6MV_]"TOYA>72S3>W6CFL_+3Y5^-]UYF6<+5=196:!*W5U. MWN#7US)I!ZPM?L_44[WW&K5+N2W++^V;]_/+2=1&I'(U:UH7J?[QJ*Y5GK>> M=!Q_;)U.=G.V _=??_?^;KUXO9C;M%;79?Z?;-X\7$[B"9JKNW25-[^63_]2 MVP7QUM^LS.OU_^AI:QM-T&Q5-^5B.UA'L,B*S<_TZS81>P,PHA]_^ G]@+("_?90KFH]I+Z8-CK.=K;I;!O3SYN8B".F MCVEUCBA^A4A$&##\VC_\K9KMAM/N\*G.SBY%9)5>H5 M>E/7^I2U2?F0I;=9GC7?7J%_EPWZJ-+68H[2!NV-_>\'[1>];]2B_A^4DTT0 M# ZB/VX7'O.%]+C3OX M?M$P!UZ?&P]\;V:,2LXP(@F$1R= MV$4GO-&9:QD*2U@SZCUEUIY"9I2P& Y-[D*3WM!:6'J%U-=9OIJK.12>M.8E MD4BBJ!>>;8:9MG)D+MZ%%Q\,#RF#FE" 7@_''O] SCJ+37:+34X!+I.0^0KD MK),O')D2'(T$S*V#_>M2B 3+WM4+F'$F(PE?O7B/(^#1D+EUL3]W_W !)LP1 MFJG-V%O*AD'FUD<7,_O!V3:.4X]-(<3^2NA'S.W@_J;V$1,PTYN*L2,X4P:Q MOP[>/.BK[JQ1U4+SR>J+IG&WN4*UFJVJK,D!O'5S9B@ ]G. 5!E5W@<1YA86&7;$4*P<# !;*@ ]G.!06 %U'G1 M#]"VB1W\#ALB@/U,8!A>NNWY1B@D\!M(B7$!R=LT#>NCG; MZ]_]'.$P:!&[^,>)9$GOJ@;,N"#4 5G$\ 3BYPE#((O8- #+N!^@;<2H<(1G MF (9W#&[08O8_? 9H7V6!5E1!V814\F)OV_V8Q:QF^$X$59G"IAQ(9B#H1)3 M,HF_9%Z7BX6JUJ+:,EVJ"OV)GD.]_+,>OFQ-1H(D\"Q;Q,X>B<]"]TVXPSPET7NF$.Q,\@;H[[&4_2,(F%']S\$B MF&$1;+Q,SVR28-_9M&V(2_IBAD:P $H] Y1Z$O6E+]#*P1&9*>ILC%K/ !E> M0U,?P@ S2H7K!B+;NVE]H'JV)_/L-IU]T?DS0/4\*///=>RQ#.6MFQE3MME) MR/@LJ(P?RELW9X9/L+$R/@-D?!))"RH ,RJ=8&'H!!LOXC.;+<@^5P1L<.1" M"L,G6 5GT$J?C\\P,8AUS%3V]D8!9\!'3C!S-I8P(S&L8/)" ^P8DZXFF)NRR@^T MZ0/![1F4S3_ST>?T)>1_;JH[/PGYGP>5_T-YZ^;,< X^5O[G-IG <1)9CX;: M9@G&#M;!#>O@X]5_#G&/?GBVC>M@"L,Z1 #Y7P#*/NFWGJ"1(SQ3Z\48^5_8 M[3B.XZ2/:H!9@H5#%16FI@I_3?U8%NK;%J?0W6HCGPUYH-7O]]C3%\I;-PNF M;(N3$/Q%4,$_E+=NS@R=$&,%?P$\9X^9L,Z<;18[Q#)AJ(08K_8+FRA8I\YG MT@UM[SG[ &J_L#MO*S:?232KT'8 M%53K#^6MFQA3F<5):/TBJ-8?REOWZR2&,,BQ6K\$M'X:\[[6#YDQ01SG4!K* M(,=K_?+P(_F B:-)DX8QR !"OP0D_'X3#MBX\F8*N1PC\DN@K:8QZ]_BE?8W MT]I-=67.5$SIKYC HV)#T,KO]=B3%\I;-P>F+LN3D/-E4#D_E+=NS@QAD&/E M? GH],+^]MM+R )R[TM\XT5_:5,':Q4OT:A+PT-D@)L#$A#^K=+Q$K1!&MH@ MQ]Q&V [>AT#,D_[=4/\4QRYANORW#D&V@3="K1 T"3=:\9F;*&2Z)%TTN[3 MCY)=T90H+8UN;Q+)OGO\''GFSY2T>)3JJ]X*8="W(B_U^61KS.[-=*I76U%P M?29WHK3OW$M5<&-/U6:J=TKP=9U4Y%,21+'=^(:V%N=U?*GDT;E756B%)GLD1* MW)]/WN(W%W%4)=017S+QJ$^.457*G91?JY,/Z_-)5#D2N5B92H+;?P_B0N1Y MI61]_'T4G32?626>'O]0?U\7;XNYXUI?C/OQT'XB0!LYX$7Z.6+5^A%E7*SE7O-R[5>3(TMH+(Q71W- MOCN8)3UF/W%UABC^#9&(L$#ZQ7#ZI5@UZ=1/G]IA:\:.-&-':CW:H_=1V(K- MEI<($U3(TFR#-1U$6%BD^IJ^T3N^$N<3^SW40CV(R?+77W 2_1ZJ$$C,JYG93(01).> M9DD;C^E@L]Q(P_.0HQ2R/8#$O KG387S$>TQ[[9'S&A*6D/?#<-1&J<]@X\C MQ\0(JD6.2M[TLWE[/0E%T7G4X_.$W7C0YX4L"J%J7N_X+KR@#$O\;,M J?D% M.^!B$.)B4.1"J?DU.^CB,=0])GMK)*-SW&[ ;AAA*4U[.M!Q%X.!%X?(VU[Q M0T&S'I..O!@$O1B4O5!J?LV.OG@,?G&7K&VL#8;XIAQY,1AZ<1>K'8=#(;Y# MQUW\3/!B4/)"J?E5.O;B,?#%7:P&EY0 I/N7%.+@2\#@2T)8;2\IH:">)84X M\I)A\KZUELSK.[[Z:@WJ9DL<- D*8"@UO^Z3'2_,EA=VS_M_ )@X ),Q "9= MLK87JL$0WY0#+P$#+^DRM>-P*,1WZ*A+0*A+0*D+I>;7[*A+QE"7=)&:I+/V M5'2#,.O;TA"'7@*&7A+8T;9W7J&8I,>C@R]Y)GP)*'RAU/PJ'7S)&/B2+E4# M/1+8^/;V"'7DI6#DI0&HMGLD%-/3(]2!E_[7EE?MI.)&H#O9" )>" A=*S:_YY#+SJ.O,@1UO'%/:[KXG0Y2NR2=S MESKN4A#N4E#N0JGY-3ONTC'\4YOC+ MP/C+0CM?W/Z=$(KJ;17F&,R&&7Q[=GV&;JQ+O5??$2_7:",?A"JKN\6(;T2Y MZMD*#^O^;"M!J?FCX,C,0,C,0,D,I>;7[,C,QI"9=9&+&2%1^X=A((Y1.J,] M?7ER$QCN+G STF;"*$@W'-]BSD^,Q ^,U ^0ZGY-3L^LS%\9H$M+TF3SDWY M0%B*9Z1G0AR@&1B@68"]LX[/$*#3OKYQ@&;/!#0#!324FE^E S0; V@6V/C& M<92TK_D&XA(O)\5_5PW2>N-EFI M42[N;5IT-K.%JL/S:H<3(W?U(U]WTAA9U(=;P=="50'V_7LIS8^3ZBFRYJG! MY;]02P,$% @ [HBG6"#QB%16 P /0T !D !X;"]W;W)K&ULM9==CYLX%(;_BL5652NU P8"R31!FB8:M1?5CII^:"\= MC[$V"C=_7Y['QX3#>"?FH,@!-?A1YJ29.IO7F MUG55FD'!U(W80(EW5D(63&-3KEVUD<"6M:C(7=_S(K=@O'22<=WW().QJ'3. M2WB01%5%P>3/]Y"+W<2ASE/'9[[.M.EPD_&&K6$.^NOF06++[5R6O(!2<5$2 M":N)%*>2Y<<(X M_FY-G6Y.(SR\?G*_K^$19L$43$7^G2]U-G&&#EG"BE6Y_BQV'Z %&AB_5.2J M_B6[=JSGD+126A2M&",H>-G\LQ_M0AP(:/B,P&\%_K\5!*V@7CFWB:S&FC'- MDK$4.R+-:'0S%_7:U&JDX:79QKF6>)>C3B?WC$ORC>45$+$B][QD9O4?YU/B.O M7KPF+P@OR9=,5(J52S5V-0*8,-RT#?9]$ZS_3+ XTPT)Z!OB>W[8(Y_:Y3-( M.WEP+'=QV;JU\[NU\VN_X!F_NT)(S7_!DDR%TGTXC3[LUYL3>JLV+(6)@T=0 M@=R"D[S\@T;>NSZX*YD=H08=:F!S3V:XU3NN,]R_/TL@?P&3?;R-252;F 2R M3?PP]D+P3TY7$$[E%-BO*X S%CX?1X 3%.MF%*%&'$EE1[I0" M_7;!TD<\7*I+*GTPT1D,];WX](FS3GG M*P@"2O?#CL(;=N$-K5ELG\S[0AM>,X-=R>P(<]1ACJZ1P4;G9R.,AAX]V0KK M7!>24&__SO;^EQS6VAXGL3CR3^#LLU]*=U"1T.ODL=;G.)%A)CO%L4YW*O3_N$EP+M2P%JKP7L"8.>UP"8S,*S9-8[+O##X4DV M*Y+!"H7<3XVK)IE9O&EILZG)W(306S_5EAM\W(,T O+\2 M0C\U3 7=?3$E_P!02P,$% @ [HBG6.'=BP)-!0 2P !D !X;"]W M;W)K&ULS9I=;^(X%(;_BI4=K3I2%Y+P4>A0I)9\ MDK:J6G7V8K47+IAB38A9V]!6VA^_=I)F"$U3,GLN>@/Y..^38^,7GR0>/3'^ M0RP)D>AY%2?BS%A*N3YMM\5L2598M-B:).K,@O$5EFJ7/[;%FA,\3T6KN&V; M9K^]PC0QQJ/TV T?C]A&QC0A-QR)S6J%^-2Z@/M\6B- M'\D=D??K&Z[VV@5E3E6#LA]X) MYV>&J3,B,9E)C<#J:TLF)(XU2>7Q3PXUBFMJX>[V*]U+&Z\:\X %F;#X3SJ7 MRS-C8* Y6>!-+&_94T#R!O4T;\9BD7ZBISS6--!L(R1;Y6*5P8HFV3=^SCMB M1V#;[PCL7& ?*NCD@LZA@FXNZ!XJZ.6"WJ&"?B[H'RHXR04GAPH&N6!PJ&"8 M"X:'"BSS]9XD M5V>ITLFQARE'WW&\(8@MD$<3G,PHCE&8",DWRCM2H#_0->8L8V:;=1?=W#CKZ\K4",VF"<>]OT5'>RBJ8TP3F7]QHF.Z(*I;; MA!5>OR9F5L*\)K#)^7N=Y==C'#(K,)T/.RMH ON@L\(FK(\Z:]H$]GYG10=C MK$'U &TKYQ;VM0O[VBFW\[%]'2IF,1,;3H[1N1!J-L;)'%U2_$!C*E^.T363 MZ(I@'3%'6*(=[5^7BHM"25;B[RKW94ETJY/0L_ZI6.,9.3/4M"X(WQ)CK'\^ M\UN5!R%A#B3,A81YD# ?$A9 PD)(V!02%@'!2K[L%+[LU-''8;(E0J;39Y6? M:L5-_00)5MBD6]BD M6VL3=5>D[GD2Y#[/ECAY)&C"$LG5;1;Z%SE$J%-8ZLE*H(#,'VGRN%.7JI ) M%DODJ;O"U]-57JO-H*G7(&$.),R%A'F0,!\2%D#"0DC8%!(6 <%*INP5INQ] MAIJR!^E+2)@#"7,A81XDS(>$!9"P$!(VA81%0+"2+_N%+_NUDZ5#.-VF3V&J M[%2K;6JG#*8?3Q5S?;??LHK)/O-)'F7M1%G]'+X?^HOVJU3>TT?%O"6&;K9*_^&KXM M80;[%8P[?%O!#(?F7OV5!?5W+U>.\*LR&K;V"J%@^+8BW*^H*O+I=O?RF7Z8 M3P34W:6!8)D_7YJ:OU8G";1@/'U_I?^HW0UG@$^RZI-J.L9 :0XHS06E>: T M'Y06@-)"4-H4E!9!TM*I;X0 M.[GGY-R3>\--=\G%@YP"*/284B9[UE2IV8EMRW@**9;'? 9,7QESD6*EMV)B MRYD G&2@E-J>XX1VB@FSHFYV[D9$73Y7E#"X$4C.TQ2+IS.@?-FS7&MUXI9, MILJ@>TSD@/D;GA&$6$TS1)9-*S/7S4A)]0Y"*">A&FOT_D#,?0LW0# M2Q +L*+/G]S0^5KGT)[(UOSR2[_\7>R1;CC=3DS7LQ# XB>D7S]++!(4>R-;\:I5^M=ZO,UM;U=ML>AL5OAT3^O7UW2XEM]^W M,=O;LH-@0_9VC-MTO'KAG5)X9Z=P4V__TYP[65];;'LB6S/ =9Z'#>A M8D^6[8MMW;/*@.:^7XL6W-5"]ML;M5X3$[3K2]U]GI#G;04$[V-!N5Z9C\VFBATG==1)1&&N4<]S2F8M\VL\WBL^R@7G$E1Z_L^54 M?R&!, 'Z^IASM=J8&;S\YHK^ %!+ P04 " #NB*=8HO"M0O(" !G!P M&0 'AL+W=O^@ED>1]3^]IM:OA M1LA'E0)H\I1G7(VL5.OBPK95E$).U9DH@..7E9 YU3B5B:T*"32N0'EFN_U^ M8.>4<2L<5FLW,AR*4F>,PXTDJLQS*I\GD(G-R'*L[<(M2U)M%NQP6- $%J#O MBQN),[MEB5D.7#'!B835R!H[%]/ Q%EE3!5&3?6*S3D?71(C&L:)GI M6['Y HV?@>&+1*:J7[)I8OL6B4JE1=Z 44'.>/U/GYISV $@3S? ;0#N/L!_ M ^ U *\R6BNK;,VHIN%0B@V1)AK9S* ZFPJ-;A@W65QHB5\9XG0XITR2!YJ5 M0,2*S!FG/&(T(Y=<:5EBNK0B/3+.16E&MQ")A+-?$&, 66BJP808Z'4!DIK, M*'(\ TU9IDX0>;^8D>.C$W)$&"=WJ2@5Y;$:VAJU&P5VU.BX=D..U>? J/N_O M>9@Q%65"E1(4^3Y>8A[PKO_H.K*:TN^F-/5_H0H:P:%\T"H?'%1^K5.01B'V"XX%*R7P MZ)F@3JYH5-<#)E-!I^B:>[ CJ.><^\Z>[(XHWQUTZPY:W<%!W7="8Y5O=<-3 ME%*>0"/UE'#077J#5P?8J)%477&I=#89ZMA MBB\A2!. WU="Z.W$;-"^K>%O4$L#!!0 ( .Z(IU@O5D8 0 4 +L9 9 M >&PO=V]R:W-H965TGD9N(8 M"0PXM3V3^'K3S#2]3'+7ONCTA0RR80Z0*\EVVD]?\1 PEI#CALF;Q,!J^>\B M[6\%TSUEWWE$B #/:9+QV2 28G,]&O$@(BGF5W1#,GEE15F*A3QDZQ'?,(+# M8E":C)!EN:,4Q]E@/BW./;#YE&Y%$F?D@0&^35/,_KDE"=W/!G#P MRI+2[_G!73@;6+DBDI! Y"ZP_+IX^_*Z:"^9S[P\/>+]\]%\#*8 M)>9D09,_XE!$LX$_ "%9X6TB'NG^%U(%-,[]!33AQ5^PKVRM 0BV7-"T&BP5 MI'%6_L?/52(.!D@_^@&H&H".!S@= ^QJ@%T$6BHKPOJ$!9Y/&=T#EEM+;_F/ M(C?%:!E-G.6/\4DP>366X\3\)@BVZ3;!@H3@BX@( PN:R@D1Y4]J1\!=%M"4 M@(M?*>#B$Q$X3@J3;T^?P,6'C^ #B#/P-:); M+BWY="2DW/RFHZ"2=EM*0QW2;'!/,Q%Q\',6DK ]?B3#K&-%+['>(J/#>\RN M@ TO ;*0H]&S>/UPVR#'KE-O%_[LKM1_6=R!&R%8O-P*O$P($!0\8":3>PE^ MDRN8KL!7_ S^?*1) N2DW6,6_J7+8WD?1W^?O!!<\PT.R&P@'RPG;$<&\Q]_ M@*[UDRX)/3EKI<2I4^*8O,]OR3K.LCA;RZ69X"P@NFA+%V[A(J]2N[GM^M"3 M3W1W&(=JAOP)1)/:K*5P7"L<&Q66:R1HK9&X6".7("N?F<#/.MFEW_&!'G?B M'6E6;6S/U0MV:\&N4;!6=57]T MZHWNSYW[/3EK9<*O,^&_4SGP^TQ)3\Y:*9G4*9F\O1Q,E'DYA)YU7 UT5A/' MTT]>:#7TM(P*2_[EH-MFLHM*XG_E/%[+[DDB,9%3ED@BAEN6AR G-]@0%M-0 MBT)+$>CY[E$0&B/7]SMB..@ H'D)IG2;"=F3!0GF/%[%,H0XDY.OK&NOU _5 M\@#]8_VJT7!L.QT!H"8 9 P@7Q5DM9*-H5894F]J6\>55V.%NFH;; @/C;1\ M RTJQV9<:(PZ>0$;!D,SA$\3HW+07DV6FE.=V=B#'0(;!$,S@V]VLM7,*^10 M;F.&',M2&9*E )P$-P6D)+*56JT1!YUKAC[C:0AT9@]@@,7Q7HV HQ5"L([:X5 MV' 9FL'<#S)4)EO'\DTF[3U@@VQD1K:9%DA%[,&6H=HFJC9=JAH((S.$_S\I MD :JCE*+-5;=$P$UZ$5F])YF!=+@%TV4E&JL)"HZ6@/4 !B9 ;S / *K1 Z+ M2+C6@\'LXMP*V)>W=L -O)'S3F! QB[A[+3TY*V=EJ9E0.:6X55@0.KV>PA] M>+P1UIAYXXXN'#5$1^9]>F]@0.I&'1ZVLE40JM70<>R.*!H HQ/;^3[ @%3V MJGL)C5'W7@(U?$9F/I^@@P:ZM@)=C57G7@(US$5FYKZ!$"I%(51VR!JKH3?N M:'CL!K>V&;>G"5$Y<%LW5AHRC=7Q;!T=O 9/"5L77P>X3)FDFD-+T_E6ZU5;M[]]J%24 %G+--TI/NPY]M*"34T/0N^Z8%,O/X MY\',@YGM*7OB"8! SWE6\+F5"+&]LFT>)9 3?DFW4,A?UI3E1,A3MK'YE@&) M=5*>V:[C!'9.TL):S/2U.[:8T5)D:0%W#/$RSPG[^QHRNI];V'JY<)]N$J$N MV(O9EFS@ <2W[1V39W:C$JI3%PSFJ/EE]4MNK@!0=),AWY[N$$7'SZB#R@MT->$EIP4 M,9_90F*KP>VH1KRN$-T>1 ]]IH5(./JYB"$^SK?E=)LYNR]SOG8'!3\3=HD\ M_ FYCCLV\*Q.3_<&<+SF%GA:S^O1:TL9$;VTZ;HJY@BM"$_06CYJ*(%X \;B M5>)CL[CJ E=\2R*86_*N.Q/'7]F[P[Q#6&>$TR])NP(S&_ _$&P%>5"W10V %@I^ ]A.-N>M;+7"!!J80'W/Z8 : MPR:A;P:=-*"30= 'D@'7E-(SGD"DQ<;$.#$,'HZ=;C%-87[@3LV,TX9Q.LCX M*Q3 2*8I22Q;;LH%(\IL3*C3UPPX"%^AFL)\W(<:-JCA(&K5L.%9>CJ'3Z@ MXQT/#6-[8=@A-$2Y.##S8:=U%^>-E=GM;:5^E$ZTG7].ZH###.]M@>=2.Z[8 M@1_C[^D&M?JY:G$FM>-:N&TMW/_L"'5JIT-U5[4A"F.O;UFWCHT'C? D1Z@E MCH;N^I4A1CV;/7BMD>*WG/1T/ZBE#A&\21?S=W MOS.I'=>P=7<')TUYU:I'##4#WQ78PI(*S M#[;3.;"-_LK 4:1VOM4NL[G:?,E8ZOU[Y_HUOEI5WR-:F>KSB-Q#;M*"HPS6 M4M*YG,C'CU5?'*H30;=ZT_Y(A:"Y/DR Q,!4@/Q]3:EX.5$#--]]%O\"4$L# M!!0 ( .Z(IUB$\+]!Z@, ,4 9 >&PO=V]R:W-H965TDB33,Z=K5+YM>O* M> LIE5<\ATQ?V7"14J6'XMZ5N0"Z+I/2Q"6>%[@I99FSF)7G5F(QXX5*6 8K M@621IE3\? ,)W\\=[#R>^,SNM\J<SG-[#+:BO^4KHD5NCK%D*F60\0P(V M<^=/?+TDGDDH([XQV,O6,3*EW''^W0S>K^>.9QA! K$R$%3_[6 )26*0-(\? M%:A3W],DMH\?T=^6Q>MB[JB$)4_^9FNUG3NA@]:PH46B/O/].Z@*FAB\F">R M_$7[*M9S4%Q(Q=,J63-(67;XIP^5$*T$/'XB@50)Y+D)?I7@EX4>F)5EW5!% M%S/!]TB8:(UF#DIMRFQ=#/@N5ZCM0( M?=(=]!KU77UY XJR1+[2<5]O;]#+%Z_0"\0R]&7+"ZD3Y,Q5FJ&YCQM7;-X< MV) GV'RDX@KY>(2(1\:6]&5_^@W$=;K?37>U+K4XI!:'E'C^+\09H55",]55 M ?WS08>C]PI2^:^MU /VV(YM'L]KF=,8YHY^_B2('3B+WW_#@?>'K?"!P#HR M^+4,?A_ZX@M7-$%YNQ?@405;X0>TH$0SR\AN02:^%^H)W;5+LH5A3*9U6(?L MN"8[[B7[ :2\UJM#7*1%0A6L]4.M-8D9/2P;FCQ-N5#LO_*$C?_A!I,6L=>$ MD##RCPJPQ>%P0D)[!9.Z@DEO!2NKT".4@57MR0D+W\,1/N)JB2*3*+(S#6JF M02_3)4_S0H'H;X=>C'.?@X' .N5.ZW*G%UP.ID/*,!!81X:PEB$<8-;#DX;# MH1<&WE%?6L*FD><1>V-&-<7H>10EWZ@]%6!CV MQ[H0,!-:I%GO-2]R[8&=6 MX ,I,11:5XJ6G\&#OJPJN'8'D@#[T5&?/A'FV_L4-PX#][ZY]>M*>] M3]:( MI9KT#@Q/NW,:U$\,A=8MNW$4V+]DP_;ZE;.E& BM*T7C5W"_83F[84]M!_$B M*Q@'A7F=Q?K-.+39@/#Y976UA?O"$/<6-4\']5N5M(3*F"@$CM&$/ MYD ^@W,OYMD3-A!:5X'&".'HDKT[J$<:"JW[+=^8)-+K/,[NW0JN_8$:3#$Y M:EU;5'#R8>6V=FC,]MA'*NY9)E$"&YWF74UUZXO#CM-AH'A>;MK<<:5X6AYN M@:Y!F !]?<.Y>AR8?:!ZWV_Q/U!+ P04 " #NB*=8^.1R>&$# S#P M&0 'AL+W=OQ2Z!F!F_""P$FMMI*5<,W:C.V?QR'+TBB"% M2&H*K!YW,($TU4QJ';B;G& B8L_4EBF8RL0PO%,,?+ M5%ZRU1#SE;(:YG*S;=,&8:M))/J-[WF>3J+5$X M.9YR=82X?$"8QNCT=DERM:ER#UVH(_<176#.L=X8M!N"Q"05']3HU2Q$NSL? MT XB%'U/V%(HL!C:4JU'L]I1&?NDB.V]$-M'YXS*1*!3&D-Q1S MXK42GF.^CWQW#WF.%S2L9_)ZN-\ #]OA(40OP6MJ_&IK?,/G_V-K]M TQ536 M=PC]^JJFHS,)F?C=9'W!'31SZ]OD2.0X@I&EK@L!_ ZL\?MW;M_YU.1;EV1A M1V0U3X/*TZ"-O7[FX4Y!-)A9D?4.F;]"[L>^X W=HWZV[TQIR6W<:0GJ] MP: *69/=JV3W6F6'H$)'!!=7K9*.,\8E^6,&FH07=+VU500]QWFFN[>QU/[& MI+!U8?^YV_U*=K]5]BS"E )'QWF>$DPC$$;\-YFHP0G+\J54C2JGFHQH#;!M M&G5)%G9$5C/VH#+VX VOIH,N/>V2+.R(K.;I8>7I89=7T^%&A@[Z&QG:&G%; ME"I'G29HNB"27WF(HC1&44SM68209,_K6&W/61=DH4=D=7L M=IVG[SWG#5.W)._(UD[9PJ[8ZL:N?4B[7>9OR5;[]W0W$K@]YM8.-<0,-C+8 M7JLF,N +4Y4)%+$EE<6W>#5:57['IMYY-G[B'DV*^NV)IB@GU9?V@E"!4I@K M2F=?UU^\J-"*CF2YJ5FNF505D&DFJJH%KB>H]W/&Y&-'!ZCJY/%?4$L#!!0 M ( .Z(IUB=:T^1Q@, )H/ 9 >&PO=V]R:W-H965T[QZJ/IAD(%83F[,- M;/O7G^V$%)*0VTB\0.S,]\WX&\_$GAX8_RXR (E>BIR*F95)N;VS;9%D4&!Q MR[9 U9LUXP66:L@WMMARP*D!%;GM.4YH%YA0:SXU(-/(/\LGWD:F37+"DI@ K"*.*PGEGW[MW2 M=33 6/Q-X"!.GI%>RHJQ[WKP*9U9CHX(/I\9/]H%J\6L\("%BS_AZ0RFUEC"Z6PQKM#[E[("XME9L^L&H;]!*+T+U1GF67+TE"B?G3[ 'N@.TYJQ "T8E M5ZD3*@B9H85Q#UR@W]&?F'.LQ2 QR<5[-?OE.4;OWKQ';Q"AZ*^,[02F MJ9C:4D6F^>VDBN*AC,*[$(6//BO7F4!+FD)ZCK?5BNIE><=E/7B]A)\QOT6^ M>X,\QPLZXEF\'NYWP.-^> Q)+WSY>KC7(X9?Y]@W?/[_Y/@)$K:AQ!3HU_N5 M,+G^UI6MDB_HYM.]ZTYL<0(S2S4G 7P/UOSM;V[H?.B2^IID\37)EE)FYG\W:*+-5.@J-(_UAV,]=WW4<9VKO M3_/08>;ZXZ99W!OV4(6O1':F\*A6>-2K< QKX!S2HXI=TO4R#-WHUR2+1ZUL M^6$P:69KV6'F1MZ)V9ET82U=V"O=?<&X)#^Q:17PHDXE0F_"'$LEIV3Z2UQ* MFS A._M]R3\ZW6QA:T=V& 6M_=@;Z=#]>"6R,U&C6M2H5]1/Q183K@Y9$N5, MB MZ5HW@HK!12[.FJE%K2S0E[8USJ*17(CN3=%Q+.NZ5=*%.)3\(W: ]SE6; M9&MU\$S8CDJM;@)DCU=Y9]WWT@ZM^VN2Q=:YXTO=85*K/AG46,6- M^F2I"2J[I)ZT8O!]S_7&C5W;ZW*HB%T^?2^,&LVS;>9-_.B2/*[SZTSM#!6( M,MJC4<5WWL9]UVUHU.]VJ$B=3L.HX7398>;YHY9(]LD=1)U=-N;R)Y"IQO+< M7L_6%\Q[= M%9/J &4>,W5Y!JX-U/LU8_(XT [JZ_C\/U!+ P04 " #NB*=8*&L1IM(# M ! %P &0 'AL+W=O-#4RAI3*,YY#IN^LN$BITJ=B M[M8F0MN.,OI&A:@ON0W0I^Y%4K$4L@DXQD2L)H[%_C\D@1F0/'$WPQV\N 8 M&2EWG'\W)Q^CN>,91I# 4AD(JC^V< 5)8I TCQ\EJ%-]IQEX>/R _GLA7HNY MHQ*N>/(/BU0\=R8.BF!%-XFZY;L_H!0T-GA+GLCB/]J5SWH.6FZDXFDY6#-( M6;;_I/=E(0X&$-(R@)0#2,%[_T4%RVNJ:#@3?(>$>5JCF8-":C%:DV.9>2L+ M)?1=IL>I\!:VD&T K01/T17/E-!UDIJ$BM%5\?4@)'J//MSGNHX0H4<#+I)$ M7S OGV5K= .B:)-L">BONX2MJ2F\1&^O05&6R'?H-6(9^ASSC:19)&>NT@H, M#W=9LKW("(1T;HR^(:O7W][C&,JPM058%452 %[M!>A4&G MF$%=B,\L-<_Q%5KH6W)%]VWV]4^-C3XJ2.6W)H%[(J-F(L:#YS*G2Y@[VF02 MQ!:<\,TK['N_660.*YE#&WI8J\L/U/%*71/?/:)?(!J+;\-AX =C,G.W#4Q& M%9-1!Y.7*O@ +105"NGN!_3UXI[);^=%>[SW]!]NDF2EUO,5C"OAXU/IM/$1 M9/J53/_%.\U_TFG8'Y(A;NZTH&(2/(O)P%QG/&IB9$>>HE3_7L;24JY)17+R MB^TPUEYHL8.56L\^F5;"IZ=BA^D19&*OCEGOQ0U10CYRQ B/R:39$?@@\_'1 M/-$!C=%/H,)6LCJ3L34+_P=3^.VFL'/KVRYU4./AJ?@"6^<,?976$P'<-1/H M88S1$V/XPZGOM_BBSF9LS<3G^<(.W>V+.EIQ5[8>VQ>!Q1=6;GV[I0YS')R, M+ZSIWU=I/2/ 75."'KZ8//%%,"(M$RA<9S2V9N/S;&&'[K0%J1.6="7LL6TQ M:;>%G5O/9B%UH!-\*K8@UOSOJ_1@H=XU*?COMB@A#VTQFK:$!:DCFCQO,6US M10=TMROJ>"6_>J$]M;CB&"MM4LQEZ+*^J M)L=;;MNAFXN(FNKG'NR'FKWE3U2L6291 BN-[)T%^FV)_7;M_D3QO-@BO>-* M\;0XC(%&(,P#^OZ*<_5P8G9=JTWS\%]02P,$% @ [HBG6%0SB#$7 P M8PL !D !X;"]W;W)K&ULS59=;]HP%/TK5E9- MK=0U7R1 !Y$*[;1*JX9*NSU,>S#)#;&:V,PVT/[[V4Y(@:716O'0%V([]QR? M>[AV[F#-^(/( "1Z+'(JAE8FY>+#=A2YH3"A".Q+ K,GT:0L_702Y9E(Z_E2D5KVG!FZ/-^Q?3/(JF1D6,&;Y3Y+(;&CU M+)1 BI>YO&7KKU E%&B^F.7"_*)U%>M8*%X*R8H*K!04A)9/_%@9L050/,T MKP)X^X#."P"_ O@FT5*92>L22QP-.%LCKJ,5FQX8;PQ:94.H_ANGDJNW1.%D M= LKH$M *6<%&C,JN3)6*!$R0V.S/7"!/J%-W.P)37$. HTS3"GDZ/@2)":Y M.%%!]]-+='QT@HX0H>@N8TN!:2(&ME1"]79V7(D:E:*\%T3YZ$8IR02ZH@DD MNWA;)5AGZ6VR''FMA#>8GR'?/46>XW4:](S_'^ZWR/%KTWW#Y[>;?JI- MT#F: #=GDL: OL]R,L>ZRD_1U>-"%3PDZ(X4.HZERG])1(K+8_#KF^)&UQ(* M\;O)Z%)(IUF(OB/.Q0+',+34)2" K\"*/GYP0^=SDTL'(MOQK%-[UFECWWC6 M6$TE,C1(?6^M(K<3])Q@8*^VY3>$^4[8\^NP'6%!+2QH%79)N/J'FF2UXE[K M_8'(=E(,ZQ3#]U*OX2$].Q#9CF?=VK/NF^NU1 9;A=AS7"_<*]=_H[J!TW^A M6GNUK%ZKK GFD@)O4M4*?*WU!R+;R;%?Y]A_+^7:/Z1G!R+;\)E1U=.)%N8IFC&I.IQS#!373!P M':#>IXS)S41O4/?5T5]02P,$% @ [HBG6,S(+&ULK51=;],P%/TK5IC0)HWELZ4:::0M M%6(/P-0R>$ \N,EM8\VQ@^VV@U_/M9-EW985'GB)?>U[CL^Y\76ZD^I65P"& MW-5U#55ORZ!R]W4"[W[A3E;5\8N^%G:T#4LP-PTUPHCOV8 4!A\)8!HK#%G+@ MW!*AC)\=I]EE2#;GDWUAIJJDW\4@)*[KA9BYW'Z#S,[)\ MA>3:?N-@Z-;IBP?W%A%.XRQ)EL#EL0&R K)6N22V$4%E:C"%.1 MW!T/2I,W)*<-,Y2SWU!BFC;$2/)Y:?":/*!.$:$4"$.H*,DG*8HN/)X!9G)] M@D0WBQDY/CHA1P2A7RJYT9BL4]^@&2O)+SKAEZWPZ 7A'ZDZ(W%X2J(@2@;@ M^6'X#(H>'C^&^UC"OHY17\?(\<5_J>,<"KD6S%W1[Q=+[2KS8\A>RY<,\]GF M/=<-+6#J87=J4%OPLM>OPG'P;LCL?R)[9#WNK<>'V+/NIP]Y;(%C![3OR38; M!Z,H];?[VI\GC2:C29_T2%/2:TH.:GJX?$.RDF.2VFPN]RTPN<7E$W _964YCZP M'=X_Z-D?4$L#!!0 ( .Z(IUC=MN AE 0 !D8 9 >&PO=V]R:W-H M965T94Q+;R'%\.\%1:DU& MV;,G-AG1C8BCE#PQP#=)@MG^ XGI;FQ!Z^7!YVBY$NJ!/1FM\9(\$_%U_<3D MG5V@S*.$I#RB*6!D,;;NX.T4!$7_\P3<>2 O!8'E#N@ MUSJXN8.;!7I@EH5UCP6>C!C= ::L)9JZR'*3>"!S%_!KTP-?G>W#U M[AJ\ U$*OJSHAN-TSD>VD!S5E^PPY_/AP >U\/F$V0UPX7N '.1IW*=F]WL2 M%NYNU=V6F2G2@XKTH S/;<'[&*61(+U'.=7FF@S\]2CMP8,@"?];%^L!W-.# MJQ5ZR]7"+/+@F],F449*=V&X238Q%G)D[A+*1/0?5I5!1_. U#\B MT'/1<.#5>&K-$$1ZHOV":-](] L5.);+XF7R:%=%O_'IP=!Q:_R:1D,_Z.O9 M^04[W\CN:%+CO "D1#O6OH:B5Z?8-!H&L(5B4% ,SJ,(4BIDXYG](WL!$!3@ M$\-OA#]W&78$5LG$H,C$X)+E:-!E'CH"J^1A6.1A>-D9,6Q6)*VR.-,.>.5%=HU:"/% :\Y*3-T;O*14=H MU5R4<@(:N_3D>R8K5"T,2R$!S4KB228R%2".0KG+:^%G M1#A[+7>$5HVW5"4PN&A=ZU25=(56S46I2Z"QW;^AKIGQ8%Z.M*&^Q;4:5ZDS MH%EHM%:NICJ ;F/?<\JJNB4M500RJXASZE8.5:E'T/7\&E.]&6K9^:"R]R-C M/WU=U M$Z8,Y/L%I>+E1IT.%_\-F/P/4$L#!!0 ( .Z(IUBS&R58;P( -8% 9 M >&PO=V]R:W-H965TP8REXA=)P)4'C?!B,^I>3@?/W#E\XUF9G#ZZ2F5*/[G!5#(/()80"<^L8 M&"UKG* 0CHC2^-%R!EU(!]S=;]D_^MJIEADS.%'B*R]L.0S. RAPSE;"WJGZ M,[;UO'5\N1+&?Z%N?,\N LA7QJJJ!5,&%9?-RC:M#CL XMD/B%M _!PP> &0 MM(#$%]IDYLN:,LNR5*L:M/,F-K?QVG@T5<.E^XOW5M,M)YS-KJ1E(J6<6%.R/IP/X7CHQ,X B[AF@M!O\*DH:5,'%^8 MMU''3=3XA:@)7"MI2P,?9('%4WQ(%71EQ-LRQO%!PFNF>Y#T3R&.XL&>?";_ M#D\.I)-TJB:>+WF![Y-214WJ ),%_"4Q3+G)A3(KC?!M-#-6TV/^OD_%)LI@ M?Q37X)=FR7(>UDVD=1;USM-PO5O889\FWW"G12K4"S\Y#.1J)6WS MS#IK-YQ&OB>?V<FF7CTB!9<&A X)\JH]XY:7C=3I#E8M?2-.%.6 MVMIO2QJ\J)T#W<^5LMN#"]"-\NPW4$L#!!0 ( .Z(IU@O,R1QP0( $,( M 9 >&PO=V]R:W-H965T0TF3M^K IZL?V,.W!@9M@U=C,=D*W7S\;"$H32J=H+V";>X[/.8'K M1"473S(#4.@YITR.K$RIXM*V99)!CN49+X#I)PLNTZ M3F#GF# KCJJUF8@COE*4,)@))%=YCL7O*Z"\'%D#:[-P1Y:9,@MV'!5X"?>@ M'HN9T#.[94E)#DP2SI" Q<@:#RXGH:FO"KX1*.76&!DG<\Z?S.0V'5F.$004 M$F48L+ZM80*4&B(MXU?#:;5;&N#V>,-^77G77N98PH33[R15V<@ZMU *"[RB MZHZ7GZ'QXQN^A%-975'9U#H62E92\;P!:P4Y8?4=/S8J^ZG?G _KT7.BD(47CG M%_N J=;/*)"#"T/5*K02@&0C"4XF.IZ P MH?)$8Q_OI^CXZ 0=F;J'C*\D9JF,;*4%FVWMI!%W58MS7Q'W!8LSY U.D>NX MPP[XI!\^A:2%>R_AMHZISQ&(UP;B M];''YF=!QP),MR!LB?0%4,Z9RN1)E_&:+:C83'M9Q^[ M$AYV"0_VA ]"[WQ'>"_U@<+#5GC8*_R!*TQU?]MT@<[V%NZ]\.<7CK?C8K_H M(@C]MJA69V^U>'.\ZM:X)$PB"@L-<\Y"'96HCZQZHGA1=?TY5_H,J8:9/N5! MF +]?,&YVDS,0=+^;XC_ E!+ P04 " #NB*=82JA ?6P" !6!@ &0 M 'AL+W=O?6.4W74CWJ M$L"03<6%'@2E,?5-&.J\A(KJCJQ!X).Y5!4UN%6+4-<*:.% %0^C;O5A553R/@L'VX(XM2F,/PBRMZ0+NP3S4MPIW M8&X5/&>),]@EP!IJ\)I^I4M2. ME)Q/P%#&]06>/MQ/R/G9!3DC3) IXQQ'K]/08&>+#_.FR\AWB9[I$I.I%*;4 MY)THH-C'AZBXE1UM98^BDX13JCHD[KTB43=*CN@9_ST\/B$G;J<8.[[X]!2_ M#6?:*+R9WX^-R%,DQRGLVWJC:YK#(,#748-:09"]?-&[[+X]YN\_D>VY35JW MR2EV[Y; !I-$PS&G'G[MX#9&5EGV\00/*IYC?&%F[()A)@['BEB4& M/RA;@,_G4IKMQC9H_TJRGU!+ P04 " #NB*=8:%/43JX" "?!@ &0 M 'AL+W=O]I+8SGW?W7>^N\1KJ9YT M 6#(<\F%GGB%,=6Y[^NT@)+J$UF!P"^Y5"4UN%5+7U<*:.9 )??#(!C[)67" M2V)W=J^26-:&,P'WBNBZ+*EZF0*7ZXDW\#8'#VQ9&'O@)W%%ES '\UC=*]SY M'4O&2A":24$4Y!/O8G ^&UE[9_"=P5IOK8E5LI#RR6YNLHD7V(" 0VHL \77 M"F; N27",'ZWG%[GT@*WUQOV*Z<=M2RHAIGD/UAFBHGWV2,9Y+3FYD&NKZ'5 MXP),)=?N2=:-[>F91]):&UFV8(R@9*)YT^26\ <:'),YG55<<#[ M,923&=4%N<(;)C>BJ12;\L-+,)1Q?83FC_-+++116+._^E+44 S[*6P?G^N*IC#QL%$UJ!5X MR<8VW:DO$%$!*S$6M7(T1 MF1-N4T,XHPO&F6'06SV-O['S9R?2*HG&X2#V5]N2>XS.@E%G]$K*J),RVBOE M=C@EFX$:I+*6IBF2[K3;LI>N.&RC&'E@RH?&" ?!)0UP.^YE&:SL0ZZ?U+R!U!+ P04 M" #NB*=813-D6U@" D!@ &0 'AL+W=O2HKL*)J)&KDYF0K M9$6U,>7.4[5$FCM057J![T^]BC).TMCMK60:B[TN&<>5!+6O*BJ/=UB*)B%C M1UP@65IB4P8OSM.TG_2 L_7)_:/3KO1LJ$* M%Z)\8+DN$O*>0(Y;NB_U6C2?L-,SL7R9*)5[0M/Y^@2RO=*BZL F@HKQ]DV? MNCR< 8+P&4#0 8*7 L(.$#JA;61.UI)JFL92-""MMV&S"Y<;AS9J&+>W>*^E M.64&I],O:'*@WL&#TXLYS \HS?7!&FT-,+X#YP+?4%9 >?ZWYY*I3.RYAC75 M"#=+U)25ZDWL:1.?_8J7=;'OAX27< M,UGI4Q/TJ0D<7W@U-?!SOE%:FG+[-:2HI8B&*6P+SE1-,TR(Z3&%\H D??UJ M//4_#.G[3V07:L->;7B-/>VOE7;7*OL"*%T!:%L -T>DVT/*3^R)_>QM[A M7,^PVR3HW=IPO;,>MO/3-,..<662OS4X?W0[(2#;F=0:6M2NK3="FR'AEH49 MXRBM@SG?"J%/AIT4_8\A_0-02P,$% @ [HBG6 B&ULC95K;],P%(;_BA4FM$ELN5]: MVD@;$P)IDZI=X /B@]>>-M82.]A.N_U[CITL%)JV?$ELQ^=]WI/$YTPV0CZK M D"3EZKD:NH46M=CUU7S BJJ+D0-')\LA:RHQJEJX),HO[.%+J9.YI %+&E3ZCNQ M^0)=0K'1FXM2V2O9M'N3R"'S1FE1=<'HH&*\O=.7[D5L!03!GH"@"PBL[Q9D M75Y33?.)%!LBS6Y4,P.;JHU&<- M+8E=)S/ZBE] *W)Z#9JR4IV1$\(X>2A$HRA?J(FKT821 MD-#_0 (OB,CC_34Y/3G[6\;%'/I$@CZ1P.J&AQ/Y8'A(/;?YGDHP1X7Q%<$+D$IP7:BS M(:^M6F+5S-E:YZ/("R;N>L!#U'N(CGF(AUAM5+S-RI(]K+AGQ<=8R1 KWF%E M<98,LY*>E1QCI4.L9( 5[LDK[5GI,58VQ$IW6'$21<.LK&=EQU@C@N>,Z *P MYBXUR"%TMH/VT\@?1H]Z].@@^D%H+ -55Q5*6P[JKAP,>1CM>(C"-$F'3?C> MG_+D';1Q TJ-L>1@YJ#T8+GQ=LCG\2C<1]XJC/Y!\LR4 *[)FI8-$+$D''OD M_[^/3GW[_(9I%GK_V'*W2K=I@U@>5XPK!"PQSKM(,2_9=I9VHD5MJ_F3T-@; M[+# ;@S2;,#G2R'TV\0TB+Z_Y[\!4$L#!!0 ( .Z(IU@FDX2]<0D -%: M 9 >&PO=V]R:W-H965T9 M22Q>93EK>\8VV#:=]=83-^W#SC[0$B1QPHL*DKYT^N,7O$@@1 H4W>-5'F*) M(@Z [Y ?< X)G#\E_%NZ8BPCSU$8IQ>C59:M/XW'Z6S%(C\]2=8L%K\L$A[Y MF?C*E^-TS9D_+PM%X=@RC,DX\H-X='E>'KOCE^=)GH5!S.XX2?,H\OG+-0N3 MIXN1.=H<^!(L5UEQ8'QYOO:7[)YE7]=W7'P;;U'F0<3B-$ABPMGB8G1E?O+< M25&@/./7@#VEC<^DZ,I#DGPKOGR>7XR,HD4L9+.L@/#%GT=VP\*P0!+M^+T& M'6WK+ HV/V_0OR\[+SKSX*?L)@E_"^;9ZF(T'9$Y6_AYF'U)GGYD=8?< F^6 MA&GY/WFJSS5&9):G61+5A44+HB"N_OK/=2 :!4QG3P&K+F =6L"N"]@[!:Q] M!9RZ@'-H#6Y=H.SZN.I[&3CJ9_[E.4^>""_.%FC%AS+Z96D1KR N+I3[C(M? M U$NN[S/DMFW51+.&4__0;S?\R![(7X\)^4/'PL.YN0FB<2%F?HEM1_)OWW. M_8)?\HZRS _"]+TX^O6>DG??O2??D2 FOZR2/!4PZ?DX$ZTLZAK/ZA;1JD76 MGA;9Y#:)LU5*O'C.YFKYL>C=MHO6IHO7EA;PISP^(<;T [$,R^IHS\TAQ<_* MXF97=_3%;WU^0FRS+.YT%/<.+VYK@F%O^;9+/'L?WRN?LX_7;5JO!*?QDHD< MD)&'%](\[\Y_*0]?/?E\3O[S+P%)/F"$PAT=F2Z.C0*Q)3XC^*>\]_"!D1 P99 M"OXR\D[JZYD&M4&(_V<9^ MHK_F&^/1K)&XND*O11H:>B08K< FS:O\S+#-G6N\XZR)8=O;LY0 GFX#>'I( MTN!LG?/9JHQC,Y4Z=YFA+4Z3:H MT[\0U*Y :O&&!A()1J?MJV[:CF/[K$F1I[O#>+8-XYDVC%=YMDIX\ >;-T)) M_"C)Q9#&62%X1-[M"J<6=V@XD6#TK'7!61/WM!5/4)U*V$U#SOZ-_JQ*DG61 M2;M2_K6^_- 0]$H%,U#H:E,-'28>>2)>=T %)5(- I%\U!H*I66I-)ZU52% ML.?B,TL_D#SF;)8LXR+E=7*EK6$P5T@T6J,UAP#+;B$ M#Z2.?,G(03-Y?4V#R8!JVIXH6%6WR(1$I:G2>;>\A90UI98U]6+VBQ!5/)AE M@J>T'(URP4WW6 15KU T"D7S4&@J)5+FFNZQQR*H.H:B42B:AT)3J92JV7R= M;!XR%D'E-!2-FFVI/'7/VF,1J%*5!*F\S1[I#1R+H$(E.OZG\HK-1^3T2/,I@+J)BOT11;9'K:EO.H6M5(2]UO MZH7_'>/EP\YXQNK[HS$=J,3IU[W3 :CVAZ)1*)J'0E,?GTF3P#*./!VPH"X# M%(U"T3P4FDJE=!DLK?1%3 ?T-0SF"FHCU&B*AVFVIP.H2E42I#]@O,5T M0%_38#*@/D%/%$QC,P^PG+T3 52+5*:DB6"]SD3HI +J$D#1:(VF6#;3]FW1 M/LNT]UG[EA3XEE[@'SK&DS^)]\QF>?EFR<^+13!CO#/04!L BD:A:!X*325. MV@#6L6T "VH#0-$H%,U#H:E42AO TML @]Y]_>0'5#I4! MZ0%8!SU^SU9^1IZ","2/@A*2K\7M)'+A'&&H=H>B>2@T]6U/J=WM8VMW&ZK=H6@4BN:AT%0JI7:WWUR[ZVL8 MS!54N]MM[=Z6**@J50JD^X?X6[P78TC:PG6./7% C 8I&H6@>"DVE4AH) M]F'OS9>\D7<]&D"DU= ML"A]".?8/H0#]2&@:!2*YJ'05"JE#^'T^! E15TBV)_/2P7LA[6[VEBBVK

\NBQ!M\N4/^AIY^:%:JH M=J@,2-O!T=L.WO,ZX'[#!.J,/-1!@*+1GOZ9AB;T;[(BOK$D7O^6037V6R;Q MHG68O#!6*YR[S6K"?5, />Y@.J N !3-0Z&I#$D7P#GVZP0.U#F HE$HFH=" M4ZF4'H/3LZK@]1M00#T$*!JMT9IS$&?2L90<5:L:?.D.. >]2>#+-=-%](,T MS0NGIY< J/)WVLOJRTT[=D)&H;5Z*#25 *GI';VF_WFQ$(.[.M&JGHAT1QPJ MZGO:IEGH1Z$-\5!H*@E2ZSL]*P3/TG]A+23!.A; M E T"D7S4&@J5U*PN]:19\0N5.5#T2@4S4.AJ51*Y>_V*/_B?3<6!LN@F [7 M8Q#)$I$BXXP'#WG6.1SI40?S8W<-1\;.2Y@46JF'0E,#+W6_"]#]1;ZK'HMV MD@!U *!H%(KFH=!4KAK;YQW; 7"QN^YAM]V#.@ H-)5*Z0"X>@?@M?D.*O]K MM)U\9^Y.OZ&5>BBT*O#CQM:]$>/+V^S%?E;L0[QZGY MR:MV5Y8PU6;/MSY?!G%*0K80D,;)J0@7K_9/KKYDR;K<(/@AR;(D*C^NF#]G MO#A!_+Y(DFSSI:A@NXOUY?\ 4$L#!!0 ( .Z(IUADQ3H6L0, $L1 9 M >&PO=V]R:W-H965T1"NVV2JM4E75[F/;@)A<2-;&I;:#\^]E." F$:$B1^@*)<^_)N<>'<&\& M*\I>> 0@T%N:$#XT(B'F5Z;)@PA2S"_H'(B\,J4LQ4*>LIG)YPQPJ)/2Q'0L MRS-3'!/#'^BU!^8/Z$(D,8$'AO@B33%;CR"AJZ%A&YN%QW@6";5@^H,YGL$$ MQ-/\@2M 1OV)8\=(Q4J4\4_JB3N["H6$I M1I! (!0$EE]+&$.2*"3)XS4'-8I[JL3R\0;]JRY>%O.,.8QI\CL.130T+@T4 MPA0O$O%(5]\A+ZBK\ *:4 MB(BC6Q)"6,TW9?V%",Y&A)'3"'B/V05R[<_(L9Q.#9_Q_Z>[#73<8D]<> MVI,(,S@?[8MZS1@F,Y"_(H&>UZ@<]X#7>OEZA5F(_OR0D.A.0,K_UNF;W;]3 M?W_UY+CBKHM?;MON?; 7):KJ8GR+-5"_5P8+($LH-;SC0C' M[DE+8)5BO:)8[YWMZ[4I54M@%:EZA52]UNR;(75+QI2/&VO'O?M!=K?OU)OW MLB!YV4CR49:-61#IOX50.CBA<[59=20;D8[=F9; *D7WBZ+[[VSB?IM2M016 MD[XN":JT_>L>B/;I6;';B:*$^#:Q[*!>0$1DUDM MQT:48_>F+;1JS=G9P3:$NNEM"J2]V>V]_U\GZ4 MT^EV#GAYV_G8S:W/-R# <*+=C$,Y&L1<,*R&HEJJC6!'[U%+:-72M]V4W7UO M2[?:C;6%5I5KVX_9C3W,<9;V]OK?7M_;LW1-E.7T=BQMEL;2%-A,3^M<4E@0 MD0UGQ6KQ1N!:S\$[ZR/UID"/NUN8[#6#'+UF,>$H@:F$M"YZ4FF63>[9B:!S M/?P^4R%':7T8 9;3K@J0UZ>4BLV)ND'Q_L3_!U!+ P04 " #NB*=8EQTO M%"P% &0 &0 'AL+W=OUQ'2EA%(;Y*V^NTW 0H4:%H9?:,\ MG9/S.TE._DG'&\I>^8(0 =Z2..57QD*(Y:5I\F!!$LP'=$E2^69&68*%O&5S MDR\9P6%FE,0FLBS73'"4&I-Q]NR!3<9T)>(H)0\,\%628/9^0V*ZN3*@L7WP M,YHOA'I@3L9+/">/1#PM'YB\,TLO8920E$#E%0V60??$9)Q_"Z<&F6;RK!^O?7^+8.7 M,"^8DRF-?T6A6%P9O@%",L.K6/RDFW]) 90%&-"89W_!IOC6,D"PXH(FA;&, M((G2_#]^*Q)1,Y"@W0:H,$ - ^CM,; + SL#S2/+L&ZQP),QHQO U-?2F[K( MEZ5=J!'TOU@(-KU4O*Y>DM$3B*^9FT?WJ\!:[S$; !N> V0AIRL@O?DM"4IS6Q..70X# M._-G[_'W8R6XD+F-TOFV[[JRG#MQNIVHBG/)ES@@5X8L*9RP-3$F?_X!7>OO M+L)/J-*XGT'&\ ML;FN$VG;[$DT+(F&6J)_&$Z%G) '.(8M#G_4H-"VTY/"+2E<+<7=&V%!Q ]S MN"V."\=M@&B;Z@GBE2">%F2J!E5\F,-K'K.R2O"4?.$K]C MEKA. Z?KH]I4V@ES5(8YTM:O7]ER+=-]O29,R@^P'4C@@44!Z8IU])FU[).< M[;!#JUK#K1[53"VS2\+R_NKLKL*M7^N*D3<8^8T.T[?>EZZF4.#1E>T(ID+O MN/7QY?H#U!R&^E;[4J&*"GV@TAW!A=I[?N'4%E M=_06' V\YJ*D;[8O5B47H%XO=)3!(^"?I.,-O3O_H6W=P4>"#) M]WXN"/%[UXR9'NG)+3SI$E(I'J@5%1]+R/K *-$D21_%%LW>)@GZ^[/T%2H) M52H)Z572]7S.R!P+ K[+]$0ICP+PC.-5ISHL?-77I9'MMD1$QV?007:MQ.\& M6XD>I!<]NFF-.: S<(]9L- =(=P43=2#\WT7-K<7^DCZ=DLEA)!>"-6/'FB^ M5IU+YDP=X9?XX)ZC<%^OTIX'FXQ?H8I0I8J07A6UYBK9;D^6:GO2YCUMWTH2+53,+^HG2@5:HJ1WU3=!E49# M^F.;NQKST?-ZV)K7'H2M8P-]RQ\E,VMGS EA\^SHG7*4B/VXNGY;'^]?9 MH;99?9[_-B )Y7Z5@YC,I*DU\&2@+#]NSV\$768GUB]4")IDEPN"0\+4!_+] MC%*QO5$-E#]Z3/X'4$L#!!0 ( .Z(IUAT0#Y$)08 "PQ 9 >&PO M=V]R:W-H965TQ,;6>23> \=ZD7+UPM,G ML65,HM(_TJ3QR_J0/ M_EI=]P9Z1"QB@=0(7[T\LP6+(DU2X_A>0'MEGSKP\/T;_7-V\NID'GW!%CSZ M%J[D]KHW[:$56_O[2-[QES]9<4(CS0MX)+*_Z*5H.^BA8"\DCXM@-8(X3/)7 M_[40XB! <9H#2!% Z@'C=P+<(L"M!PS?"1@6 <.V :,B(#MU)S_W3#C/E_[L M*N4O*-6M%4V_R=3/HI5>8:(OE*5,U;>ABI.SI>3!TY9'*Y:*7Q']O@_E#^0G M*Y1]\4GG8(46/%87IO"SU'Y"R_RB0GR-[IB0:1A(5@2@^R24Z$9G7X,^>$SZ M820^JJB?D8/$UD^9>'L)$_3WEN^%ZDY<.5*=C1Z3$Q0CG^"*W M M%DQ58-\0M[/"86@*-D++4D;UK.B97XQ4_[R,6_(3(@PZ8!V<,]%I3A;D.X MUSZ<-(33]N'8(H9;7EANQAN^PSNX,D1V9>S5E=&89BM'%\I+L?,#=MU3E5"P M])GU9K_\A,>#WYLDAH1YD# *!#.2,2R3,)(P"P8PTC,HTC*SWQ)QMPB3127CT(S\)&/J@:F!>#3\VY23'C3*< M_LE_GN'!1)66YT.MK7UVU1H21H%@AM;C4NNQ5>L_4C_1Q>>$PN-CA:>3FL#6 MCKH*# FC0#!#X$DI\,0J\(,J\*?UG1SI^PD/+VH"6SOJ*C DC +!#(&GIOF"TB@4S=3_P+]AZ]3N6V:%E=XWSRQ5UAYE/WQ(F4&&/OMABA[\ M:,_0+4O14F>A,0<8+_TT$[E)[M+FF^2'#L] MK"JNVZ_7'GOOG96'I%$HFJE\Y4:QW8X>3@=;Z)W#]%.>2O#QM$_JZ>=!0>UEE T4_#*7&*[NS3G MBRTT'S5H[H[Z8[>N.:C#!*51*)JI>64RL=UE-DP@6P@_;KK8!_UAW7@6#4^4 M?<\^QLZ*_A^F$E>N$MMM9:OY9 N-)PW23?NXKC"H]02E42B:F8C*?6*[_50S MQFP=2EW7Q3) X\-^@?Y!])4%>[W@@[ZNUV&@$H,;@- ^41J%H9NHJ M5XLOSG[N&KNUN937IA$] MT<@4I7*MQ&JTSBHNC>J!.EA0F@=*HU T,W&5@R7D[-)"((WC I3F@=(H%,U, M1F5J27M3:RLM[O$M/*H_.[!WU5EF4"<+13-EKIPLL3O9LV9"34OQ\0 M4$\,2J-0-#-UE2(5W7%^. M:=&&VMN8BE1FE]C-[EF5I6F/T-S>86?Q0.TQ*(U"T9\>Z(HN*(U"T2U:41/-,K/U3G8%1ZS=)-MQQ&ULK9=K3]LP%(;_BI6A;4A MKI3+VDI 6UHJ-D0%^VP2M[%PXF [+>S7SW9"5B#MC.0OK1V?Y_5Q^0I0@(\9R3G/2<5HCAU71ZG*(/\@!8HER-SRC(H9)6@N !]QCM.)K;:!6\D#IH^I,DI[CJ800 M0;%0"E#^+=$%(D0)R32>:DVGF5*!Z^U7]9%>NUS+ ^3H@I+?.!%ISSEV0(+F ML"3BEJ[&J%[/H=*+*>'Z%ZSJ6,\!<F,W1JH&,*'-7 D6E*QS5P;#K#20VZWX)<&N?O>1GQLD'OUXKP6>K*=_A4+^=GTY/Y)"WYECA^WX%.3 MI0=MN"N-TK@E:-P2:+UP@]Y9*5+*\!_IB0$E!#)P#TF)VJJY$HK:A=0^>(S="CM@2.?VO7_R.]Z.MMFV*#6R*#6V*C6R*7=H4&]L4F]@4N[(I-K4D M]L9;8>.M<)MZM1/)0UJSGQ2,+AC,]@#\YSJ8T3(7;7ZKQ#M:7!TCEWU?GBJ[ M[G+=1ULS^*R/;(H-;8J-;(I=VA0;VQ2;V!2[LBDV;2G&M5I\8X^HL4>TU1YG M28+5^0L2,S]L5?OL_A-]6,\';PT^QOCO8X8&.B.#F$N#N<8&,1.#F"N#F*FE MEUT5AKMVFE>W6GGR7>"< X+F4MX[.))W)5;=%*N.H(4^X#]0(2\,NIG*RS5B M*D".SRD5KQUU9VBNZ_V_4$L#!!0 ( .Z(IUAM65+\]0( *P) 9 M>&PO=V]R:W-H965T?<>X[AVN,UX_4+6Y0<<&) 16Y[CA/8!2;4 M"L=F[8J'8[:4.:%PQ9%8%@7F?Z:0L_7$3BV1B.;H@R"&6F@&K MOQ7,(,\UD2KC=\UI-2DU<'N\8?]BM"LM@6/X! ']$WS#G6.X&.(Y"8Y.*#6KV[B=#QT0=TA A%MQE;"DP3,;:E*D#3 MV'&=;%HE\YY(UD>7C,I,H,\T@607;ZO"F^J]3?53KY/P$O,>ZKLGR',\OZ6> MV?/A_19XU V/('X*OJ.FW^Q%W_#U_[L7*"(BSIE8&=I;U2>- (#SJ%WU$.,5M0\A<2 M(W\.%%(B6UM3<+"-KJL.QSW5G0E?^@FTI3S;2KDC>MB('KY.-((TU:IYRIC<3'2"YH(6_@-02P,$% @ [HBG6,XW'ME% @ /04 !D M !X;"]W;W)K&ULC93;CM,P$(9?Q0H2 @F:-#V MEB12N\MA+W95M0(N$!=.,DFL=>Q@N\WR]HSM-!2IV^4F\6'FGV_&'B>]5 ^Z M 3#DL>5"IT%C3'<5AKIHH*5Z(CL0N%-)U5*#4U6'NE- 2^?4\C".HF784B:" M+'%K&Y4EX M!LZM$&+\&C2#,:1U/!T?U3^YW#&7G&JXEOP[*TV3!N\#4D)%]]QL9?\%AGP< M8"&Y=E_2>]ME')!BKXUL!VR,PIW&?J9; P@JSP@,FM\(=N MJ_>6W%.EJ"TA>74#AC*N7R>A000K%!9#N+4/%S\1;D;NI#"-)A]%">6__B&B MC_SQD7\=7Q2\HVI"9M,W)([B.=$^FPNZL[$N,Z<[>Z8N6^BD,DS4Y,T@#3 UM&@#A!D+U],E]&'"ZSSD75^23V[W[;>'4;-,>LFD2'LX +$: Q7\"*%X.KX-*]\2?\W]PX)7I&9"$PX5ND:3=QA7^6;U$R,[UR"Y M--AN;MC@^P;*&N!^):4Y3FR \<7,_@!02P,$% @ [HBG6 Y'3EPT! M7!< !D !X;"]W;W)K&ULQ5A?;^(X'/PJ5FYU MVI5VFSC_"#U :DGOKE*[JLIV[^%T#RXQ$&UBL[:!]MN?[:0A"2%:D*6^0!(\ M8\_8_F7P:$?9#[["6("7/"-\;*V$6%_:-I^O<([X!5UC(G]94)8C(6_9TN9K MAE&B07EFNXX3VCE*B349Z6 J=:235UH M,S5:RD^)FO>98/+75.+$9(:7D#T,<8"I1G_)&F>9C'X^.$3 M^ !2 KZMZ(9+#CZRA12CAF3/RX%?%P-WCPS< _>4B!4'-R3!21-O2Q,J)]PW M)Z[=7L)[Q"Z !S\#UW']CO%,?QWN=<#C?GB,Y\?@#35>-:^>YO..\)6SQ<&" MT1SN3M*EE_NY+Y+P!7G6'#P[YWD ;<"Y_R_KCDI.O6[ M.U4UZI*OT1R/+5F$.&9;;$U^_PV&SA]=AIHDBPV1-J#"J50:_*;U3(%:373%9;,UVB M"Z*@IB:$0>BV-/=V=^K\!P<&!OYPZ%1=-B2'E>2P5_(32844.A-(=,]N+_S4 M_6"2+#9$UK!M4-DV>(_B,S!IMDFRV!!9P^RH,CLZN_A$!_LP"GTO;.W#PU:# MR(&M5G'O*,[4.*PT#DV5GN&!&&_HN>URV]O=J;-_V*7OAJ[;77J@LT]F3J]H MF6ME:B6=T:@7>>I6,,H6FV)KNE;+L_ ]:D_9JRG'3;+%IMB:CKM[Q]VS"U ) MK>^-8.B%P]9V+)LUWMYN& Y:):A_(.<*W4=JV!LB)[NW=:32H=W0Z' ;' MWI;[I [[H_HCY@+0A3IFRI).L4:SNE&VV!1;T[M]7(?ODM>AT!?GN/&HKGI3L=??JU?P2%:KMV["B7R5(?WW(PIQLB MBG.WZFEU1'RE#T9;SZ_AY;0XZ-W3%.?.]X@M4\)!AA>2TKD8R++!BJ/&ULK5==;^(X M%/TK5J9:M=)L\P4)= %I*#/:>9A55;8[SVYR(5&3.&,[,//O]]H):0@FK4:\ M0.S<7V9[Q%Y$ 2/(SSPHQMQ(IRSO;%E$".16WK(0"WVP8SZG$)=_: MHN1 8PW*,]MSG,#.:5I8BYG>>^"+&:MDEA;PP(FH\ISR7TO(V'YNN=9AXS'= M)E)MV(M92;>P!OE4/G!QC*96Q.+Q+"A528?V?YO:!P:*[Z(94)_DGUCZU@DJH1D>0-&!7E:U-_T M9Q.(#@!YS "O 7A]P.@,P&\ .G)VK4R[M:*2+F:<[0E7ULBF'G1L-!J]20N5 MQK7D^#9%G%S\@Y7RM8A8#N0!.%DGE /YDRRI2"-"BYBLTJR2$!.CX?4*)$TS M<8.0I_6*7%_=D"MB$Z'>"I(6Y*E(I?C8V?@W895 8MR\.EK/;(G^*%5VU&A? MUMJ],]I]\HT5,A'D(.$WRF^)[WXDGN.-#'KNWP_W M!^3X;6Y\S>>?RTV5 Z>2\3M3;&KLR(Q5I_].E#2"N87'6P#?@;7XXX,;.'^9 M'+L0V9&;H];-T1"[+L%45Y;)S1H;:*SJ2;N%/PU]=V;ONOI/K;RIZXQ;JR-A MXU;8>##^*R@8'KFS&1A?,@,7(CMR-&@=#08S4)_VO6YY>-3I#LMN"X=#>XVG MM'Z\,46AIAYW$Q1,Q^->@@Q6H1-,S D*6]WAH.ZU9-$+8:6Z$-[4&9XH&(7] M,C+83*9FC9-6XV10XR/(E&-0A=9:J7;XEM+)B0IOZO64GMJXKF-6.FV53@>5 M?L[+C/T":*26%8\2O"!)F='B+?UZG(&!1^NIM\LW(;] MN"9#U;F/A!O-@N!,6;B=B]<=[NYMVR,E7JA:J+'--#P7ZC.78COVVGOUVGM' MJU&94?-"Z[@Y0375I%ODM\ZDGY]3*^>U[O7';SSVN)ZIU3?)+5_!@Q6 M*#7L2;4[TQP. %L]Y H2L:J0]2S3[K:#]"<]/O;VEVK UE/B*TT]G>.DLDVQ M96:P04K4@-7-ZX&W7DA6ZIGQF4F<0/5C@G\2@"L#?+]A3!X6Z@?:OQV+_P%0 M2P,$% @ [HBG6 ?Q].%+ P ; X !D !X;"]W;W)K&ULS5==3]LP%/TK5B9-FS3(5ULH:R-!81K2F!!EV\.T!Y/<-A:. MG=E."_]^MI.F#82,2GG@A23.O2?G'!\JW\F:BWN9 BCTD%$FITZJ5'[BNC). M(-[(S3!A3C2Q:]/%PF4\\4-EQ$Z#QFEO"*J&X&G#X(6&L&JPSKDE,ROK'"L<301? M(V&J-9JYL=[8;JV&,+.-(%1B*XX M4ZE$%RR!I-GO:G6UQ& C\2SH!+S"XA"%_B<4>,&@A<_L]>UA!YVP=CRT>.$+ M>,;:VMDYQ(4@BFC7+AYB6FC%:"%XAF8\RPN%;=3Y EU@P0A;RAW_?W_3P.A2 M02;_M+EO_-'WNUY+';R+(XSX-ZPFL M89CO;4\+7H]1KL!V<^H]27)+23@:MD?9WSG4^)TT+[*<\D> *LIY(>)4G_50 M3C%K)=H)M^\6]876%!]LQ0=O(M85C;Y,ZPFM:=KV4.9W'F'V#7;X_V _+_$' M3W+M[IS;,Q!+.\Y(%/."J?)\6Z_6(].I'12>K)^94".*SUKV-M4CX,@3(%^O^!<;1[,!^H!,_H'4$L# M!!0 ( .Z(IUAV7):V?@, .D7 - >&POK+ @B'T^G^]\]CG.#[U"+3B]GE*JG'G*1=%WITKE;SRO&$]I M2HJS+*="(TDF4Z)T5TZ\(I>4Q 4XI=QKMUJAEQ(FW$%/S-++5!7..)L)U7?] M5FUSS.E]K*WA:]M9JX<0 8N3A;N3;N#'JSD[46Y@QXJZ=^/>WGRAU@_V-/+*3__J.Y+ & MMB:QT\(T_T!X&V0[L;^+WK,MBM&EZ+37J9?Y/M9<=?*/,>? XMQX&C>OVE:# M7I*)9G<%KC%H7I)2YX[POCLDG(TD Z^$I(POC+D-AG'&,^DHO:UU(!\LQ;V! M?=.#'5_QI$QDLHQM(IC?435\ UCV0"#CO!;8=HUAT,N)4E2*2]TI!Y?&!Y!3 MM6\6N58XD63AM\_=QJ$\Z2"C3,94-E<9=VD:]#A-0(YDDRF<599[ "J5I;H1 M,S+)!"DU+#VJAJ8=4\ZOX7+X.5GCGB=,,\GN=30HE;$V4.DZ=U0J-EZU?)4DOZ%SM2RG>8)K;A^@YG^[SA,JJ"1\ M5;2N_7U>Y23Y(8@,#T'D0=1D]Q!$1@<@LO-L M5\W'B/0/063[$$0&^R\RV,]]XU4/OBM/UVO/UK75@7>8OOL)WH5X$]09S1A7 M3%2]*8MC*AX\8FMZ14:P$-6HIOT! MIN>']0N4CL5$3.(5LKP,LI]LJ!)LI7HG83/&U!L2^;N 11?9L M8W' \L"5CL0WQX':LKN$P2054P;MH-Q)(HP!&K17J-AB*Q."!][?K!=$@11 M9$< LRL( @R!W8@CF +0@"%!4-X'-^Y'WO(^Y35_[@_^ %!+ P04 " #N MB*=8EXJ[', 3 @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0 M(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I M6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6 MFD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L# M!!0 ( .Z(IU@(I5!D] 0 "0J / >&PO=V]R:V)O;VLN>&ULQ9I; M;]LV%(#_"N&7;< \V[HX%]0%G*3I G1I$ ?9X\!(M$6$(C62LI/^^AW)<4NB MSL%>#O1DB[I].A3Y'5+\L#/V^%%X:304=@6/4NS< MC_W=)MM*)Y^DDOYU,>K_*S%BM=2REM]$N1A-1\Q59O>GL?*;T9ZK56&-4HO1 M;+_C45@OBY^*5QWD W]R?8GG3_<<0!:C^10NN);6^?Z(_OH<&+<"#MYOM=Y< M2^6%O>)>?+:F;:3>=)>!IY@$C]''X?"[#^*Y_3]A-.NU+,25*=I::+^/HQ6J M ]2NDHT;,IPX-0 ,D,@LP$AHTCF"&0^ M)&0:0,X1R/F0D%D >8) GM!"7@E76-ETY"TU-&K)%;O1SML(\@R!/*.%7!9P2*OZ.O[J*V&AVFO09@7O M $@F[,RG6&\^I<4$-3<@SM>^AC_]V\JF.^%W=BM\B(@*A]@X]V(K--3UVIJZ M:SO>@J<=VTE?LKD%L):,61&+!)HG^PM?'?00:\J;J..&=/'C-@?=_R5;5W'U9_>Y=97TA7*N#:"3#![ M),3V .-*:![LP?(2VB]4L(4^4/0-.V3$])$0ZP--::(,-D%'+,3Z0).:&!/S M2$+L$32MB3$QP23$@D'2&O;K P\Q,<4DQ(I!4YLXFIAB$G+%'$MMND!"D?LM MQ,2LDQ!;9Y_C',7"+),06P;-(^)*QH23$ L'=78\9X(I)R56SC%G'ZOR%'-. M2NPEQ ["T[:H0\(28@G)B!7UG7+5-H_H9 M-\@Z+KFKV+4RNQ 34U!.K* ]YIC]+>2FZJR^W K+-X+=BW[!2(")*2@G5M#W M:/[5K3=I:[;4NH5X]N61T'-,03FQ@O"9A-"4.::@G%A!.&9HRAQ=-##D]YW( ME#FFH)Q803AF:,H<4U!._P/+30'+/0G-A"[V NM9?C4JH0$[/0 MO+?0Y+ JL11KJ45Y"[=P4%YP5=Q9UOWLETQD>?>=<]TJ=0EE7_47P\O#(L?# M LV/_P%02P,$% @ [HBG6"=EU:4, @ A"4 !H !X;"]?!-T#(HPS=1Y +Z1 ITA@\%3$D>/D7Q =B^/2K'-IQWYWJ;M_7Q. M_8^4ZGI7CFV]Z_IR.E_9=,.Q'<_+89OZ=OW>;DO2Y3*GX79&\_QT.W/Q^MF7 M_YG8;3;[=?G9K7\?RVG\Q^#TIQO>ZZZ4L5F\ML.VC*LF?1RNIVNZ'.3N/+E9 MO+RMFN'E39HT=Y!"D,X?9!!D\PBGHK@=Z*>BN!WHIZ M*X'>BGHK@=Z*>BN!WHIZ*X'>AGH;@=Z&>AN!WH9Z&X'>-MDL(=#;4&\CT-M0 M;R/0VU!O(]#;4&\CT-M0;R/0VU!O(]#;46\GT-M1;R?0VU%O)]#;46\GT-LG MF]T$>COJ[01Z.^KM!'H[ZNT$>COJ[01Z.^KM!'H'ZAT$>@?J'01Z!^H=!'H' MZAT$>@?J'01ZQ^1G)8'>@7H'@=Z!>@>!WH%Z!X'>@7H'@=X9]F?4.Q/H MG5'O3*!W1KWS=^I=Q\]#J=>>KS4^_SNI'L_WENOC+\NODY-7Y8)SNJVHSW\! M4$L#!!0 ( .Z(IUCNU>T8Y@$ /4D 3 6T-O;G1E;G1?5'EP97-= M+GAM;,W:74_",!0&X+]"=FM8Z=?\B'"CWJH7_H&Z'61A6YNV(/Q[NP$F&B4: M3'QO6*#M><]ZDN>*ZZ>MHS#:M$T7IMDB1G?%6"@7U)J06T==6IE;WYJ8OOH7 MYDRY-"_$Q&12L-)VD;HXCGV-;'9]2W.S:N+H;I-^#K7MIIFG)F2CF]W&/FN: M&>>:NC0QK;-U5WU*&>\3\G1RV!,6M0MG:4/&ODSH5[X/V)][6)/W=46C1^/C MO6G3+K9I6(C;AD)^O,07/=KYO"ZILN6J34?RX#R9*BR(8MODNZ)GQY-CNF': M??*3\X00V/$Z_XX\S?J__RSX$2!\2I \%TH<&Z:, Z>,&UL4$L! A0#% @ [HBG6'9K>#GO *P( !$ M ( !KP &1O8U!R;W!S+V-O&UL4$L! A0#% @ [HBG M6)E&PO=V]R:W-H965T&UL4$L! A0#% @ [HBG M6(2!G0W&PO=V]R:W-H M965T&UL4$L! A0#% @ [HBG6+;('',O P W0D !@ M ("!VQT 'AL+W=O&PO=V]R:W-H965T&UL M4$L! A0#% @ [HBG6'I]P*SJ"0 OQH !@ ("!/# M 'AL+W=O M]Q$ 4Z 8 " @5PZ !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ [HBG6(>LR*FT" ;A4 !D M ("!/%4 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ [HBG6,*8T0NL P ]P@ !D ("!M&< M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M[HBG6-24 #8P! <@D !D ("!IWT 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [HBG6/$SK/-&PO=V]R:W-H M965T&UL4$L! M A0#% @ [HBG6 AR1 ?> P [0D !D ("!QZP 'AL M+W=O&PO=V]R:W-H965T2T !X;"]W;W)K&UL4$L! A0#% @ [HBG M6/RT$-9, P # < !D ("!Y+H 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [HBG6$272J'2" 2$$ M !D ("!P\< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [HBG6.'=BP)-!0 2P !D M ("!7=H 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ [HBG6"]61@! !0 NQD !D ("!A>8 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ [HBG6/CD M&PO=V]R:W-H965T&UL4$L! A0#% @ [HBG6%0SB#$7 P 8PL !D M ("!- ! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ [HBG6+,;)5AO @ U@4 !D ("! MZ H! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ [HBG6&A3U$ZN @ GP8 !D ("!*1,! 'AL+W=O&UL4$L! A0#% @ [HBG6":3A+UQ M"0 T5H !D ("!GAL! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ [HBG6'1 /D0E!@ +#$ !D M ("!D2X! 'AL+W=O$8D@# "Z#P &0 @('M- $ >&PO=V]R M:W-H965T&UL M4$L! A0#% @ [HBG6,XW'ME% @ /04 !D ("!F#L! M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M[HBG6 ?Q].%+ P ; X !D ("!/T8! 'AL+W=O&PO&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 M " #NB*=8[M7M&.8! #U) $P @ &X50$ 6T-O;G1E C;G1?5'EP97-=+GAM;%!+!08 1P!' &@3 #/5P$ ! end XML 76 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 77 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 79 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.u1 html 198 308 1 false 65 0 false 9 false false R1.htm 0000001 - Document - Cover Sheet http://www.qualys.com/role/Cover Cover Cover 1 false false R2.htm 0000002 - Statement - Condensed Consolidated Balance Sheets Sheet http://www.qualys.com/role/CondensedConsolidatedBalanceSheets Condensed Consolidated Balance Sheets Statements 2 false false R3.htm 0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) Sheet http://www.qualys.com/role/CondensedConsolidatedBalanceSheetsParenthetical Condensed Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - Condensed Consolidated Statements of Operations Sheet http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations Condensed Consolidated Statements of Operations Statements 4 false false R5.htm 0000005 - Statement - Condensed Consolidated Statements of Comprehensive Income Sheet http://www.qualys.com/role/CondensedConsolidatedStatementsofComprehensiveIncome Condensed Consolidated Statements of Comprehensive Income Statements 5 false false R6.htm 0000006 - Statement - Condensed Consolidated Statements of Cash Flows Sheet http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows Condensed Consolidated Statements of Cash Flows Statements 6 false false R7.htm 0000007 - Statement - Condensed Consolidated Statements of Stockholders' Equity Sheet http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity Condensed Consolidated Statements of Stockholders' Equity Statements 7 false false R8.htm 0000008 - Disclosure - Description of Business and Summary of Significant Accounting Policies Sheet http://www.qualys.com/role/DescriptionofBusinessandSummaryofSignificantAccountingPolicies Description of Business and Summary of Significant Accounting Policies Notes 8 false false R9.htm 0000009 - Disclosure - Fair Value of Financial Instruments Sheet http://www.qualys.com/role/FairValueofFinancialInstruments Fair Value of Financial Instruments Notes 9 false false R10.htm 0000010 - Disclosure - Accumulated Other Comprehensive Income (Loss) Sheet http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLoss Accumulated Other Comprehensive Income (Loss) Notes 10 false false R11.htm 0000011 - Disclosure - Property and Equipment, Net Sheet http://www.qualys.com/role/PropertyandEquipmentNet Property and Equipment, Net Notes 11 false false R12.htm 0000012 - Disclosure - Revenue from Contracts with Customers Sheet http://www.qualys.com/role/RevenuefromContractswithCustomers Revenue from Contracts with Customers Notes 12 false false R13.htm 0000013 - Disclosure - Intangible Assets, Net Sheet http://www.qualys.com/role/IntangibleAssetsNet Intangible Assets, Net Notes 13 false false R14.htm 0000014 - Disclosure - Leases Sheet http://www.qualys.com/role/Leases Leases Notes 14 false false R15.htm 0000015 - Disclosure - Commitments and Contingencies Sheet http://www.qualys.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 15 false false R16.htm 0000016 - Disclosure - Stockholders' Equity and Stock-based Compensation Sheet http://www.qualys.com/role/StockholdersEquityandStockbasedCompensation Stockholders' Equity and Stock-based Compensation Notes 16 false false R17.htm 0000017 - Disclosure - Income Taxes Sheet http://www.qualys.com/role/IncomeTaxes Income Taxes Notes 17 false false R18.htm 0000018 - Disclosure - Segment and Geographic Area Information Sheet http://www.qualys.com/role/SegmentandGeographicAreaInformation Segment and Geographic Area Information Notes 18 false false R19.htm 0000019 - Disclosure - Net Income Per Share Sheet http://www.qualys.com/role/NetIncomePerShare Net Income Per Share Notes 19 false false R20.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 20 false false R21.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 21 false false R22.htm 9954471 - Disclosure - Description of Business and Summary of Significant Accounting Policies (Policies) Sheet http://www.qualys.com/role/DescriptionofBusinessandSummaryofSignificantAccountingPoliciesPolicies Description of Business and Summary of Significant Accounting Policies (Policies) Policies http://www.qualys.com/role/DescriptionofBusinessandSummaryofSignificantAccountingPolicies 22 false false R23.htm 9954472 - Disclosure - Fair Value of Financial Instruments (Tables) Sheet http://www.qualys.com/role/FairValueofFinancialInstrumentsTables Fair Value of Financial Instruments (Tables) Tables http://www.qualys.com/role/FairValueofFinancialInstruments 23 false false R24.htm 9954473 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables) Sheet http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables Accumulated Other Comprehensive Income (Loss) (Tables) Tables http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLoss 24 false false R25.htm 9954474 - Disclosure - Property and Equipment, Net (Tables) Sheet http://www.qualys.com/role/PropertyandEquipmentNetTables Property and Equipment, Net (Tables) Tables http://www.qualys.com/role/PropertyandEquipmentNet 25 false false R26.htm 9954475 - Disclosure - Revenue from Contracts with Customers (Tables) Sheet http://www.qualys.com/role/RevenuefromContractswithCustomersTables Revenue from Contracts with Customers (Tables) Tables http://www.qualys.com/role/RevenuefromContractswithCustomers 26 false false R27.htm 9954476 - Disclosure - Intangible Assets, Net (Tables) Sheet http://www.qualys.com/role/IntangibleAssetsNetTables Intangible Assets, Net (Tables) Tables http://www.qualys.com/role/IntangibleAssetsNet 27 false false R28.htm 9954477 - Disclosure - Leases (Tables) Sheet http://www.qualys.com/role/LeasesTables Leases (Tables) Tables http://www.qualys.com/role/Leases 28 false false R29.htm 9954478 - Disclosure - Stockholders' Equity and Stock-based Compensation (Tables) Sheet http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables Stockholders' Equity and Stock-based Compensation (Tables) Tables http://www.qualys.com/role/StockholdersEquityandStockbasedCompensation 29 false false R30.htm 9954479 - Disclosure - Segment and Geographic Area Information (Tables) Sheet http://www.qualys.com/role/SegmentandGeographicAreaInformationTables Segment and Geographic Area Information (Tables) Tables http://www.qualys.com/role/SegmentandGeographicAreaInformation 30 false false R31.htm 9954480 - Disclosure - Net Income Per Share (Tables) Sheet http://www.qualys.com/role/NetIncomePerShareTables Net Income Per Share (Tables) Tables http://www.qualys.com/role/NetIncomePerShare 31 false false R32.htm 9954481 - Disclosure - Fair Value of Financial Instruments - Assets and Liabilities (Details) Sheet http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails Fair Value of Financial Instruments - Assets and Liabilities (Details) Details 32 false false R33.htm 9954482 - Disclosure - Fair Value of Financial Instruments - Cash and Cash Equivalents (Details) Sheet http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails Fair Value of Financial Instruments - Cash and Cash Equivalents (Details) Details 33 false false R34.htm 9954483 - Disclosure - Fair Value of Financial Instruments - Summary of Securities in Unrealized Loss Positions (Details) Sheet http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails Fair Value of Financial Instruments - Summary of Securities in Unrealized Loss Positions (Details) Details 34 false false R35.htm 9954484 - Disclosure - Fair Value of Financial Instruments - Summary of the Fair Value of Marketable Securities (Details) Sheet http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails Fair Value of Financial Instruments - Summary of the Fair Value of Marketable Securities (Details) Details 35 false false R36.htm 9954485 - Disclosure - Fair Value of Financial Instruments - Narrative (Details) Sheet http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails Fair Value of Financial Instruments - Narrative (Details) Details 36 false false R37.htm 9954486 - Disclosure - Fair Value of Financial Instruments - Summary of Derivative Financial Instruments (Details) Sheet http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails Fair Value of Financial Instruments - Summary of Derivative Financial Instruments (Details) Details 37 false false R38.htm 9954487 - Disclosure - Fair Value of Financial Instruments - Amounts Recognized In Statement of Operations (Details) Sheet http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails Fair Value of Financial Instruments - Amounts Recognized In Statement of Operations (Details) Details 38 false false R39.htm 9954488 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Components and Changes (Details) Sheet http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails Accumulated Other Comprehensive Income (Loss) - Components and Changes (Details) Details http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables 39 false false R40.htm 9954489 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Amounts Reclassified from AOCI (Details) Sheet http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails Accumulated Other Comprehensive Income (Loss) - Amounts Reclassified from AOCI (Details) Details http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables 40 false false R41.htm 9954490 - Disclosure - Property and Equipment, Net - Property and Equipment, Net (Details) Sheet http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails Property and Equipment, Net - Property and Equipment, Net (Details) Details 41 false false R42.htm 9954491 - Disclosure - Property and Equipment, Net - Narrative (Details) Sheet http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails Property and Equipment, Net - Narrative (Details) Details 42 false false R43.htm 9954492 - Disclosure - Revenue from Contracts with Customers - Narrative (Details) Sheet http://www.qualys.com/role/RevenuefromContractswithCustomersNarrativeDetails Revenue from Contracts with Customers - Narrative (Details) Details 43 false false R44.htm 9954493 - Disclosure - Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details) Sheet http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details) Details 44 false false R45.htm 9954494 - Disclosure - Revenue from Contracts with Customers - Revenue by Sales Channel (Details) Sheet http://www.qualys.com/role/RevenuefromContractswithCustomersRevenuebySalesChannelDetails Revenue from Contracts with Customers - Revenue by Sales Channel (Details) Details 45 false false R46.htm 9954495 - Disclosure - Revenue from Contracts with Customers - Capitalized Cost to Obtain Contracts, Current and Noncurrent (Details) Sheet http://www.qualys.com/role/RevenuefromContractswithCustomersCapitalizedCosttoObtainContractsCurrentandNoncurrentDetails Revenue from Contracts with Customers - Capitalized Cost to Obtain Contracts, Current and Noncurrent (Details) Details 46 false false R47.htm 9954496 - Disclosure - Intangible Assets, Net- Carrying Value of Intangible Assets (Details) Sheet http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails Intangible Assets, Net- Carrying Value of Intangible Assets (Details) Details 47 false false R48.htm 9954497 - Disclosure - Intangible Assets, Net - Narrative (Details) Sheet http://www.qualys.com/role/IntangibleAssetsNetNarrativeDetails Intangible Assets, Net - Narrative (Details) Details 48 false false R49.htm 9954498 - Disclosure - Intangible Assets, Net - Expected Amortization Expense in Future Periods (Details) Sheet http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails Intangible Assets, Net - Expected Amortization Expense in Future Periods (Details) Details 49 false false R50.htm 9954499 - Disclosure - Leases - Narrative (Details) Sheet http://www.qualys.com/role/LeasesNarrativeDetails Leases - Narrative (Details) Details 50 false false R51.htm 9954500 - Disclosure - Leases - Supplemental Cash Flow Information (Details) Sheet http://www.qualys.com/role/LeasesSupplementalCashFlowInformationDetails Leases - Supplemental Cash Flow Information (Details) Details 51 false false R52.htm 9954501 - Disclosure - Leases- Weighted Average Remaining Lease Term and Weighted Average Discount Rate (Details) Sheet http://www.qualys.com/role/LeasesWeightedAverageRemainingLeaseTermandWeightedAverageDiscountRateDetails Leases- Weighted Average Remaining Lease Term and Weighted Average Discount Rate (Details) Details 52 false false R53.htm 9954502 - Disclosure - Leases - Minimum Annual Lease Payments (Details) Sheet http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails Leases - Minimum Annual Lease Payments (Details) Details 53 false false R54.htm 9954503 - Disclosure - Stockholders' Equity and Stock-based Compensation - Narrative (Details) Sheet http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails Stockholders' Equity and Stock-based Compensation - Narrative (Details) Details http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables 54 false false R55.htm 9954504 - Disclosure - Stockholders' Equity and Stock-based Compensation - Summary of Stock-based Compensation Expense (Details) Sheet http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails Stockholders' Equity and Stock-based Compensation - Summary of Stock-based Compensation Expense (Details) Details 55 false false R56.htm 9954505 - Disclosure - Stockholders' Equity and Stock-based Compensation - Share-based Compensation and Stock Options Activity (Details) Sheet http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails Stockholders' Equity and Stock-based Compensation - Share-based Compensation and Stock Options Activity (Details) Details 56 false false R57.htm 9954506 - Disclosure - Stockholders' Equity and Stock-based Compensation - Summary of Restricted Stock Unit Activity (Details) Sheet http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails Stockholders' Equity and Stock-based Compensation - Summary of Restricted Stock Unit Activity (Details) Details 57 false false R58.htm 9954507 - Disclosure - Stockholders' Equity and Stock-based Compensation - Schedule of Repurchase Agreements (Details) Sheet http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails Stockholders' Equity and Stock-based Compensation - Schedule of Repurchase Agreements (Details) Details 58 false false R59.htm 9954508 - Disclosure - Income Taxes - Narrative (Details) Sheet http://www.qualys.com/role/IncomeTaxesNarrativeDetails Income Taxes - Narrative (Details) Details 59 false false R60.htm 9954509 - Disclosure - Segment and Geographic Area Information - Narrative (Details) Sheet http://www.qualys.com/role/SegmentandGeographicAreaInformationNarrativeDetails Segment and Geographic Area Information - Narrative (Details) Details 60 false false R61.htm 9954510 - Disclosure - Segment and Geographic Area Information - Revenue and Property and Equipment, Net by Geographic Area (Details) Sheet http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails Segment and Geographic Area Information - Revenue and Property and Equipment, Net by Geographic Area (Details) Details 61 false false R62.htm 9954511 - Disclosure - Net Income Per Share - Basic and Diluted Net Income Per Share (Details) Sheet http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails Net Income Per Share - Basic and Diluted Net Income Per Share (Details) Details 62 false false R63.htm 9954512 - Disclosure - Net Income Per Share - Anti-dilutive Net Income Per Share (Details) Sheet http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails Net Income Per Share - Anti-dilutive Net Income Per Share (Details) Details 63 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 8 fact(s) appearing in ix:hidden were eligible for transformation: ecd:TrdArrDuration, us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 - qlys-20240331.htm 4 [ix-0514-Hidden-Fact-Not-Referenced] WARN: 1 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 - qlys-20240331.htm 4 [DQC.US.0076.7653] The filer has reported a value for us-gaap:RevenueRemainingPerformanceObligation with a value of 110000.000000 using the dimension member 2029-01-01 The filer has not reported a duration value for the corresponding elements of RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1. The properties of this us-gaap:RevenueRemainingPerformanceObligation fact are: Context: c-114 Unit: usd. - qlys-20240331.htm 4 - qlys-20240331.htm 4 qlys-20240331.htm qlys-20240331.xsd qlys-20240331_cal.xml qlys-20240331_def.xml qlys-20240331_lab.xml qlys-20240331_pre.xml http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 82 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "qlys-20240331.htm": { "nsprefix": "qlys", "nsuri": "http://www.qualys.com/20240331", "dts": { "inline": { "local": [ "qlys-20240331.htm" ] }, "schema": { "local": [ "qlys-20240331.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" ] }, "calculationLink": { "local": [ "qlys-20240331_cal.xml" ] }, "definitionLink": { "local": [ "qlys-20240331_def.xml" ] }, "labelLink": { "local": [ "qlys-20240331_lab.xml" ] }, "presentationLink": { "local": [ "qlys-20240331_pre.xml" ] } }, "keyStandard": 285, "keyCustom": 23, "axisStandard": 23, "axisCustom": 0, "memberStandard": 45, "memberCustom": 18, "hidden": { "total": 14, "http://fasb.org/us-gaap/2023": 7, "http://xbrl.sec.gov/dei/2023": 5, "http://xbrl.sec.gov/ecd/2023": 2 }, "contextCount": 198, "entityCount": 1, "segmentCount": 65, "elementCount": 559, "unitCount": 9, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 817, "http://xbrl.sec.gov/dei/2023": 29, "http://xbrl.sec.gov/ecd/2023": 17 }, "report": { "R1": { "role": "http://www.qualys.com/role/Cover", "longName": "0000001 - Document - Cover", "shortName": "Cover", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets", "longName": "0000002 - Statement - Condensed Consolidated Balance Sheets", "shortName": "Condensed Consolidated Balance Sheets", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.qualys.com/role/CondensedConsolidatedBalanceSheetsParenthetical", "longName": "0000003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)", "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations", "longName": "0000004 - Statement - Condensed Consolidated Statements of Operations", "shortName": "Condensed Consolidated Statements of Operations", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GrossProfit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R5": { "role": "http://www.qualys.com/role/CondensedConsolidatedStatementsofComprehensiveIncome", "longName": "0000005 - Statement - Condensed Consolidated Statements of Comprehensive Income", "shortName": "Condensed Consolidated Statements of Comprehensive Income", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R6": { "role": "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows", "longName": "0000006 - Statement - Condensed Consolidated Statements of Cash Flows", "shortName": "Condensed Consolidated Statements of Cash Flows", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R7": { "role": "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity", "longName": "0000007 - Statement - Condensed Consolidated Statements of Stockholders' Equity", "shortName": "Condensed Consolidated Statements of Stockholders' Equity", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "c-20", "name": "us-gaap:SharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-20", "name": "us-gaap:SharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.qualys.com/role/DescriptionofBusinessandSummaryofSignificantAccountingPolicies", "longName": "0000008 - Disclosure - Description of Business and Summary of Significant Accounting Policies", "shortName": "Description of Business and Summary of Significant Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.qualys.com/role/FairValueofFinancialInstruments", "longName": "0000009 - Disclosure - Fair Value of Financial Instruments", "shortName": "Fair Value of Financial Instruments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLoss", "longName": "0000010 - Disclosure - Accumulated Other Comprehensive Income (Loss)", "shortName": "Accumulated Other Comprehensive Income (Loss)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "qlys:AccumulatedOtherComprehensiveIncomeDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "qlys:AccumulatedOtherComprehensiveIncomeDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.qualys.com/role/PropertyandEquipmentNet", "longName": "0000011 - Disclosure - Property and Equipment, Net", "shortName": "Property and Equipment, Net", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.qualys.com/role/RevenuefromContractswithCustomers", "longName": "0000012 - Disclosure - Revenue from Contracts with Customers", "shortName": "Revenue from Contracts with Customers", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.qualys.com/role/IntangibleAssetsNet", "longName": "0000013 - Disclosure - Intangible Assets, Net", "shortName": "Intangible Assets, Net", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.qualys.com/role/Leases", "longName": "0000014 - Disclosure - Leases", "shortName": "Leases", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "qlys:LesseeOperatingLeasesAndFinanceLeaseTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "qlys:LesseeOperatingLeasesAndFinanceLeaseTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.qualys.com/role/CommitmentsandContingencies", "longName": "0000015 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensation", "longName": "0000016 - Disclosure - Stockholders' Equity and Stock-based Compensation", "shortName": "Stockholders' Equity and Stock-based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.qualys.com/role/IncomeTaxes", "longName": "0000017 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.qualys.com/role/SegmentandGeographicAreaInformation", "longName": "0000018 - Disclosure - Segment and Geographic Area Information", "shortName": "Segment and Geographic Area Information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.qualys.com/role/NetIncomePerShare", "longName": "0000019 - Disclosure - Net Income Per Share", "shortName": "Net Income Per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R20": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": null }, "R21": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "c-1", "name": "ecd:NonRule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "ecd:NonRule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.qualys.com/role/DescriptionofBusinessandSummaryofSignificantAccountingPoliciesPolicies", "longName": "9954471 - Disclosure - Description of Business and Summary of Significant Accounting Policies (Policies)", "shortName": "Description of Business and Summary of Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "22", "firstAnchor": { "contextRef": "c-1", "name": "qlys:DescriptionOfBusinessPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "qlys:DescriptionOfBusinessPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables", "longName": "9954472 - Disclosure - Fair Value of Financial Instruments (Tables)", "shortName": "Fair Value of Financial Instruments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "23", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables", "longName": "9954473 - Disclosure - Accumulated Other Comprehensive Income (Loss) (Tables)", "shortName": "Accumulated Other Comprehensive Income (Loss) (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "24", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.qualys.com/role/PropertyandEquipmentNetTables", "longName": "9954474 - Disclosure - Property and Equipment, Net (Tables)", "shortName": "Property and Equipment, Net (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.qualys.com/role/RevenuefromContractswithCustomersTables", "longName": "9954475 - Disclosure - Revenue from Contracts with Customers (Tables)", "shortName": "Revenue from Contracts with Customers (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.qualys.com/role/IntangibleAssetsNetTables", "longName": "9954476 - Disclosure - Intangible Assets, Net (Tables)", "shortName": "Intangible Assets, Net (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.qualys.com/role/LeasesTables", "longName": "9954477 - Disclosure - Leases (Tables)", "shortName": "Leases (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "c-1", "name": "qlys:LesseeOperatingLeaseSupplementalCashFlowDisclosureTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "qlys:LesseeOperatingLeaseSupplementalCashFlowDisclosureTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables", "longName": "9954478 - Disclosure - Stockholders' Equity and Stock-based Compensation (Tables)", "shortName": "Stockholders' Equity and Stock-based Compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.qualys.com/role/SegmentandGeographicAreaInformationTables", "longName": "9954479 - Disclosure - Segment and Geographic Area Information (Tables)", "shortName": "Segment and Geographic Area Information (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.qualys.com/role/NetIncomePerShareTables", "longName": "9954480 - Disclosure - Net Income Per Share (Tables)", "shortName": "Net Income Per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails", "longName": "9954481 - Disclosure - Fair Value of Financial Instruments - Assets and Liabilities (Details)", "shortName": "Fair Value of Financial Instruments - Assets and Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "32", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-34", "name": "us-gaap:MoneyMarketFundsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R33": { "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails", "longName": "9954482 - Disclosure - Fair Value of Financial Instruments - Cash and Cash Equivalents (Details)", "shortName": "Fair Value of Financial Instruments - Cash and Cash Equivalents (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "33", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "qlys:CashAndCashEquivalentsAndDebtSecuritiesAvailableForSaleAmortizedCostToFairValueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R34": { "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails", "longName": "9954483 - Disclosure - Fair Value of Financial Instruments - Summary of Securities in Unrealized Loss Positions (Details)", "shortName": "Fair Value of Financial Instruments - Summary of Securities in Unrealized Loss Positions (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails", "longName": "9954484 - Disclosure - Fair Value of Financial Instruments - Summary of the Fair Value of Marketable Securities (Details)", "shortName": "Fair Value of Financial Instruments - Summary of the Fair Value of Marketable Securities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails", "longName": "9954485 - Disclosure - Fair Value of Financial Instruments - Narrative (Details)", "shortName": "Fair Value of Financial Instruments - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "c-69", "name": "us-gaap:Investments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-69", "name": "us-gaap:Investments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails", "longName": "9954486 - Disclosure - Fair Value of Financial Instruments - Summary of Derivative Financial Instruments (Details)", "shortName": "Fair Value of Financial Instruments - Summary of Derivative Financial Instruments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:ForeignCurrencyContractAssetFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:ForeignCurrencyContractAssetFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails", "longName": "9954487 - Disclosure - Fair Value of Financial Instruments - Amounts Recognized In Statement of Operations (Details)", "shortName": "Fair Value of Financial Instruments - Amounts Recognized In Statement of Operations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails", "longName": "9954488 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Components and Changes (Details)", "shortName": "Accumulated Other Comprehensive Income (Loss) - Components and Changes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:StockholdersEquity", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-13", "name": "us-gaap:OciBeforeReclassificationsBeforeTaxAttributableToParent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R40": { "role": "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails", "longName": "9954489 - Disclosure - Accumulated Other Comprehensive Income (Loss) - Amounts Reclassified from AOCI (Details)", "shortName": "Accumulated Other Comprehensive Income (Loss) - Amounts Reclassified from AOCI (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-91", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R41": { "role": "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails", "longName": "9954490 - Disclosure - Property and Equipment, Net - Property and Equipment, Net (Details)", "shortName": "Property and Equipment, Net - Property and Equipment, Net (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails", "longName": "9954491 - Disclosure - Property and Equipment, Net - Narrative (Details)", "shortName": "Property and Equipment, Net - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "qlys:DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R43": { "role": "http://www.qualys.com/role/RevenuefromContractswithCustomersNarrativeDetails", "longName": "9954492 - Disclosure - Revenue from Contracts with Customers - Narrative (Details)", "shortName": "Revenue from Contracts with Customers - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails", "longName": "9954493 - Disclosure - Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details)", "shortName": "Revenue from Contracts with Customers - Expected Revenue from All Remaining Performance Obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.qualys.com/role/RevenuefromContractswithCustomersRevenuebySalesChannelDetails", "longName": "9954494 - Disclosure - Revenue from Contracts with Customers - Revenue by Sales Channel (Details)", "shortName": "Revenue from Contracts with Customers - Revenue by Sales Channel (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-115", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R46": { "role": "http://www.qualys.com/role/RevenuefromContractswithCustomersCapitalizedCosttoObtainContractsCurrentandNoncurrentDetails", "longName": "9954495 - Disclosure - Revenue from Contracts with Customers - Capitalized Cost to Obtain Contracts, Current and Noncurrent (Details)", "shortName": "Revenue from Contracts with Customers - Capitalized Cost to Obtain Contracts, Current and Noncurrent (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CapitalizedContractCostNetCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "qlys:ContractWithCustomerCommissionAssetBalancesTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:CapitalizedContractCostNetCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "qlys:ContractWithCustomerCommissionAssetBalancesTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails", "longName": "9954496 - Disclosure - Intangible Assets, Net- Carrying Value of Intangible Assets (Details)", "shortName": "Intangible Assets, Net- Carrying Value of Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.qualys.com/role/IntangibleAssetsNetNarrativeDetails", "longName": "9954497 - Disclosure - Intangible Assets, Net - Narrative (Details)", "shortName": "Intangible Assets, Net - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AmortizationOfIntangibleAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AmortizationOfIntangibleAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails", "longName": "9954498 - Disclosure - Intangible Assets, Net - Expected Amortization Expense in Future Periods (Details)", "shortName": "Intangible Assets, Net - Expected Amortization Expense in Future Periods (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.qualys.com/role/LeasesNarrativeDetails", "longName": "9954499 - Disclosure - Leases - Narrative (Details)", "shortName": "Leases - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeaseExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeaseExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.qualys.com/role/LeasesSupplementalCashFlowInformationDetails", "longName": "9954500 - Disclosure - Leases - Supplemental Cash Flow Information (Details)", "shortName": "Leases - Supplemental Cash Flow Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeasePayments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "qlys:LesseeOperatingLeaseSupplementalCashFlowDisclosureTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeasePayments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "qlys:LesseeOperatingLeaseSupplementalCashFlowDisclosureTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.qualys.com/role/LeasesWeightedAverageRemainingLeaseTermandWeightedAverageDiscountRateDetails", "longName": "9954501 - Disclosure - Leases- Weighted Average Remaining Lease Term and Weighted Average Discount Rate (Details)", "shortName": "Leases- Weighted Average Remaining Lease Term and Weighted Average Discount Rate (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "td", "tr", "table", "div", "qlys:LesseeWeightedAverageRemainingLeaseTermAndWeightedAverageDiscountRateTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "td", "tr", "table", "div", "qlys:LesseeWeightedAverageRemainingLeaseTermAndWeightedAverageDiscountRateTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails", "longName": "9954502 - Disclosure - Leases - Minimum Annual Lease Payments (Details)", "shortName": "Leases - Minimum Annual Lease Payments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "longName": "9954503 - Disclosure - Stockholders' Equity and Stock-based Compensation - Narrative (Details)", "shortName": "Stockholders' Equity and Stock-based Compensation - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails", "longName": "9954504 - Disclosure - Stockholders' Equity and Stock-based Compensation - Summary of Stock-based Compensation Expense (Details)", "shortName": "Stockholders' Equity and Stock-based Compensation - Summary of Stock-based Compensation Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-155", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R56": { "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails", "longName": "9954505 - Disclosure - Stockholders' Equity and Stock-based Compensation - Share-based Compensation and Stock Options Activity (Details)", "shortName": "Stockholders' Equity and Stock-based Compensation - Share-based Compensation and Stock Options Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R57": { "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails", "longName": "9954506 - Disclosure - Stockholders' Equity and Stock-based Compensation - Summary of Restricted Stock Unit Activity (Details)", "shortName": "Stockholders' Equity and Stock-based Compensation - Summary of Restricted Stock Unit Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "c-139", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-140", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R58": { "role": "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails", "longName": "9954507 - Disclosure - Stockholders' Equity and Stock-based Compensation - Schedule of Repurchase Agreements (Details)", "shortName": "Stockholders' Equity and Stock-based Compensation - Schedule of Repurchase Agreements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "td", "tr", "table", "div", "qlys:ShareRepurchaseProgramTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "td", "tr", "table", "div", "qlys:ShareRepurchaseProgramTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.qualys.com/role/IncomeTaxesNarrativeDetails", "longName": "9954508 - Disclosure - Income Taxes - Narrative (Details)", "shortName": "Income Taxes - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxExpenseBenefit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R60": { "role": "http://www.qualys.com/role/SegmentandGeographicAreaInformationNarrativeDetails", "longName": "9954509 - Disclosure - Segment and Geographic Area Information - Narrative (Details)", "shortName": "Segment and Geographic Area Information - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } }, "R61": { "role": "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails", "longName": "9954510 - Disclosure - Segment and Geographic Area Information - Revenue and Property and Equipment, Net by Geographic Area (Details)", "shortName": "Segment and Geographic Area Information - Revenue and Property and Equipment, Net by Geographic Area (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "qlys:PropertyAndEquipmentNetAndOperatingLeasesRightOfUseAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R62": { "role": "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails", "longName": "9954511 - Disclosure - Net Income Per Share - Basic and Diluted Net Income Per Share (Details)", "shortName": "Net Income Per Share - Basic and Diluted Net Income Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "unique": true } }, "R63": { "role": "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails", "longName": "9954512 - Disclosure - Net Income Per Share - Anti-dilutive Net Income Per Share (Details)", "shortName": "Net Income Per Share - Anti-dilutive Net Income Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "qlys-20240331.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AOCIAttributableToParentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AOCIAttributableToParentAbstract", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reclassification of AOCI - Cash flow hedges", "label": "AOCI Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AOCIAttributableToParentNetOfTaxRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AOCIAttributableToParentNetOfTaxRollForward", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "AOCI Attributable to Parent, Net of Tax [Roll Forward]", "label": "AOCI Attributable to Parent, Net of Tax [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Accounting Policies [Abstract]", "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Accounts Payable, Current", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r18", "r622" ] }, "us-gaap_AccountsReceivableNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNet", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Carrying value of accounts receivable", "label": "Accounts Receivable, after Allowance for Credit Loss", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business." } } }, "auth_ref": [ "r529", "r582", "r627", "r806" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable, net of allowance of $1,099 and $778 as of March\u00a031, 2024 and December\u00a031, 2023, respectively", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r223", "r224" ] }, "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Accretion of discount on marketable securities, net", "label": "Accretion (Amortization) of Discounts and Premiums, Investments", "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r90" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued liabilities", "label": "Accrued Liabilities, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r20" ] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Less: accumulated depreciation and amortization", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r42", "r137", "r483" ] }, "us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedGainLossNetCashFlowHedgeParentMember", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails", "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flow hedges", "label": "Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]", "documentation": "Accumulated other comprehensive income (loss) from gain (loss) of derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent." } } }, "auth_ref": [ "r149", "r156", "r157", "r389", "r600", "r723" ] }, "us-gaap_AccumulatedNetUnrealizedInvestmentGainLossMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedNetUnrealizedInvestmentGainLossMember", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails", "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Available-for-sale debt securities", "label": "AOCI, Accumulated Gain (Loss), Debt Securities, Available-for-Sale, Parent [Member]", "documentation": "Accumulated unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), attributable to parent." } } }, "auth_ref": [ "r145", "r146", "r147", "r149", "r156", "r157", "r723" ] }, "qlys_AccumulatedOtherComprehensiveIncomeDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "AccumulatedOtherComprehensiveIncomeDisclosureTextBlock", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLoss" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss)", "label": "Accumulated Other Comprehensive Income Disclosure [Text Block]", "documentation": "The entire note disclosure of accumulated other comprehensive income." } } }, "auth_ref": [] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails", "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r155", "r156", "r415", "r416", "r417", "r418", "r419", "r420" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated other comprehensive loss", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r25", "r26", "r74", "r142", "r480", "r497", "r498" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract", "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossTable", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails", "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss) [Table]", "label": "Accumulated Other Comprehensive Income (Loss) [Table]", "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r155", "r156", "r415", "r416", "r417", "r418", "r419", "r420" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails", "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss)", "label": "AOCI Attributable to Parent [Member]", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r2", "r11", "r26", "r394", "r397", "r429", "r493", "r494", "r723", "r724", "r725", "r729", "r730", "r731" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Additional 402(v) Disclosure", "label": "Additional 402(v) Disclosure [Text Block]" } } }, "auth_ref": [ "r672" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Additional paid-in capital", "label": "Additional Paid in Capital", "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock." } } }, "auth_ref": [ "r69", "r622", "r810" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Paid-In Capital", "label": "Additional Paid-in Capital [Member]", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r364", "r365", "r366", "r503", "r729", "r730", "r731", "r788", "r811" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation, Amount", "label": "Adjustment to Compensation Amount" } } }, "auth_ref": [ "r678" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation:", "label": "Adjustment to Compensation [Axis]" } } }, "auth_ref": [ "r678" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote", "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]" } } }, "auth_ref": [ "r678" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment To PEO Compensation, Footnote", "label": "Adjustment To PEO Compensation, Footnote [Text Block]" } } }, "auth_ref": [ "r678" ] }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "negatedLabel": "Taxes related to net share settlement of equity awards", "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation", "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r46", "r47", "r333" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:", "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Amount", "label": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r643", "r654", "r664", "r689" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined", "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]" } } }, "auth_ref": [ "r646", "r657", "r667", "r692" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Adjustments to Compensation", "label": "All Adjustments to Compensation [Member]" } } }, "auth_ref": [ "r678" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Executive Categories", "label": "All Executive Categories [Member]" } } }, "auth_ref": [ "r685" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Individuals", "label": "All Individuals [Member]" } } }, "auth_ref": [ "r650", "r658", "r668", "r685", "r693", "r697", "r705" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "All Trading Arrangements", "label": "All Trading Arrangements [Member]" } } }, "auth_ref": [ "r703" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "verboseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement, Expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r362", "r367" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivable", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable, net of allowance", "label": "Accounts Receivable, Allowance for Credit Loss", "documentation": "Amount of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r143", "r225", "r260", "r263", "r265", "r806" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AmortizationOfDeferredSalesCommissions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfDeferredSalesCommissions", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization expense related to deferred costs", "label": "Amortization of Deferred Sales Commissions", "documentation": "The amount of expense recognized in the current period for the periodic realization of capitalized fees that were paid to salespeople, distributors, brokers, and agents at the time of the conclusion of the sale. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r8", "r82" ] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible asset amortization expense", "label": "Amortization of Intangible Assets", "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r8", "r36", "r41" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total anti-dilutive shares", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented." } } }, "auth_ref": [ "r191" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "presentation": [ "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities [Axis]", "label": "Antidilutive Securities [Axis]", "documentation": "Information by type of antidilutive security." } } }, "auth_ref": [ "r30" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "presentation": [ "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesNameDomain", "presentation": [ "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities, Name [Domain]", "label": "Antidilutive Securities, Name [Domain]", "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented." } } }, "auth_ref": [ "r30" ] }, "qlys_AssembledWorkforceMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "AssembledWorkforceMember", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Assembled workforce", "label": "Assembled Workforce [Member]", "documentation": "Represents Assembled Workforce." } } }, "auth_ref": [] }, "us-gaap_AssetBackedSecuritiesAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetBackedSecuritiesAtCarryingValue", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_FinancialInstrumentsOwnedAtFairValue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset-backed securities", "label": "Asset-Backed Securities, at Carrying Value", "documentation": "Investments in notes or bonds that are collateralized by a specific group of underlying assets owned by the issuer of the notes or bonds which are 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. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months." } } }, "auth_ref": [] }, "us-gaap_AssetBackedSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetBackedSecuritiesMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset-backed securities", "label": "Asset-Backed Securities [Member]", "documentation": "Securities that are primarily serviced by the cash flows of a discrete pool of receivables or other financial assets for example, but not limited to, credit card receivables, car loans, recreational vehicle loans, and mobile home loans." } } }, "auth_ref": [ "r613", "r738", "r740", "r741" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "Assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r108", "r141", "r164", "r200", "r209", "r214", "r257", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r387", "r390", "r410", "r475", "r534", "r622", "r634", "r755", "r756", "r796" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Assets", "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r132", "r144", "r164", "r257", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r387", "r390", "r410", "r622", "r755", "r756", "r796" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current assets:", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax", "crdr": "credit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrealized Gains", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Gain, before Tax", "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r231" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Unrealized Losses", "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax", "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r232" ] }, "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Amortized Cost", "label": "Debt Securities, Available-for-Sale, Amortized Cost", "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r228", "r269", "r474" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Due within One Year", "label": "Debt Securities, Available-for-Sale, Amortized Cost, Maturity, Allocated and Single Maturity Date, Year One", "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r739" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Due within One Year", "label": "Debt Securities, Available-for-Sale, Fair Value, Maturity, Allocated and Single Maturity Date, Year One", "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r235", "r471" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateAmortizedCost", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset-backed securities", "label": "Debt Securities, Available-for-Sale, Maturity, without Single Maturity Date, Amortized Cost", "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), without single maturity date and not allocated over maturity grouping." } } }, "auth_ref": [ "r737", "r738" ] }, "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithoutSingleMaturityDateFairValue", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset-backed securities", "label": "Debt Securities, Available-for-Sale, Maturity, without Single Maturity Date, Fair Value", "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), without single maturity date and not allocated over maturity grouping." } } }, "auth_ref": [ "r234", "r470", "r737" ] }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtSecurities", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 2.0 }, "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value", "totalLabel": "Fair Value", "label": "Debt Securities, Available-for-Sale", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)." } } }, "auth_ref": [ "r229", "r269", "r466", "r735" ] }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Short-term marketable securities", "label": "Debt Securities, Available-for-Sale, Current", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current." } } }, "auth_ref": [ "r226", "r269" ] }, "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AvailableForSaleSecuritiesDebtSecuritiesNoncurrent", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term marketable securities", "label": "Debt Securities, Available-for-Sale, Noncurrent", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as noncurrent." } } }, "auth_ref": [ "r135", "r226", "r269" ] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise Price", "label": "Award Exercise Price" } } }, "auth_ref": [ "r700" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value as of Grant Date", "label": "Award Grant Date Fair Value" } } }, "auth_ref": [ "r701" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "auth_ref": [ "r696" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing, How MNPI Considered", "label": "Award Timing, How MNPI Considered [Text Block]" } } }, "auth_ref": [ "r696" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Method", "label": "Award Timing Method [Text Block]" } } }, "auth_ref": [ "r696" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Considered", "label": "Award Timing MNPI Considered [Flag]" } } }, "auth_ref": [ "r696" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Disclosure", "label": "Award Timing MNPI Disclosure [Text Block]" } } }, "auth_ref": [ "r696" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Predetermined", "label": "Award Timing Predetermined [Flag]" } } }, "auth_ref": [ "r696" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Axis]", "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Securities", "label": "Award Underlying Securities Amount" } } }, "auth_ref": [ "r699" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Awards Close in Time to MNPI Disclosures, Individual Name" } } }, "auth_ref": [ "r698" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures", "label": "Awards Close in Time to MNPI Disclosures [Table]" } } }, "auth_ref": [ "r697" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures, Table", "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]" } } }, "auth_ref": [ "r697" ] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.qualys.com/role/DescriptionofBusinessandSummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Basis of Presentation", "label": "Basis of Accounting, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.qualys.com/role/DescriptionofBusinessandSummaryofSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Description of Business and Summary of Significant Accounting Policies", "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r91" ] }, "us-gaap_CapitalizedContractCostImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedContractCostImpairmentLoss", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Impairment loss related to deferred contract costs", "label": "Capitalized Contract Cost, Impairment Loss", "documentation": "Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer." } } }, "auth_ref": [ "r277" ] }, "us-gaap_CapitalizedContractCostNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedContractCostNetCurrent", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersCapitalizedCosttoObtainContractsCurrentandNoncurrentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Current", "label": "Capitalized Contract Cost, Net, Current", "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." } } }, "auth_ref": [ "r276" ] }, "us-gaap_CapitalizedContractCostNetNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalizedContractCostNetNoncurrent", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersCapitalizedCosttoObtainContractsCurrentandNoncurrentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Noncurrent", "label": "Capitalized Contract Cost, Net, Noncurrent", "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer; classified as noncurrent." } } }, "auth_ref": [ "r276" ] }, "us-gaap_Cash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Cash", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash, excluded", "label": "Cash", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r117", "r477", "r504", "r528", "r622", "r634", "r720" ] }, "qlys_CashAndCashEquivalentsAndDebtSecuritiesAvailableForSaleAmortizedCostToFairValueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "CashAndCashEquivalentsAndDebtSecuritiesAvailableForSaleAmortizedCostToFairValueTableTextBlock", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Cash Equivalents and Marketable Securities", "label": "Cash And Cash Equivalents And Debt Securities, Available-For-Sale, Amortized Cost To Fair Value [Table Text Block]", "documentation": "Tabular disclosure of cash and cash equivalents and debt securities available-for-sale amortized cost to fair value." } } }, "auth_ref": [] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalents, at Carrying Value", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r29", "r134", "r598" ] }, "us-gaap_CashAndCashEquivalentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAxis", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Axis]", "label": "Cash and Cash Equivalents [Axis]", "documentation": "Information by type of cash and cash equivalent balance." } } }, "auth_ref": [ "r134" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of period", "periodEndLabel": "Cash, cash equivalents and restricted cash at end of period", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r29", "r88", "r163" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net increase in cash, cash equivalents and restricted cash", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r1", "r88" ] }, "us-gaap_CashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashEquivalentsMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash equivalents", "label": "Cash Equivalents [Member]", "documentation": "Short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r134" ] }, "us-gaap_CashFlowHedgingMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashFlowHedgingMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash Flow Hedging", "label": "Cash Flow Hedging [Member]", "documentation": "Hedge of the exposure to variability in the cash flows of a recognized asset or liability, or of a forecasted transaction, that is attributable to a particular risk." } } }, "auth_ref": [ "r51" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Changed Peer Group, Footnote", "label": "Changed Peer Group, Footnote [Text Block]" } } }, "auth_ref": [ "r676" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Amount", "label": "Company Selected Measure Amount" } } }, "auth_ref": [ "r677" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Name", "label": "Company Selected Measure Name" } } }, "auth_ref": [ "r677" ] }, "us-gaap_CommercialPaperAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommercialPaperAtCarryingValue", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_FinancialInstrumentsOwnedAtFairValue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Commercial paper", "label": "Commercial Paper, at Carrying Value", "documentation": "Unsecured short-term debt instrument issued by corporations which are 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. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months." } } }, "auth_ref": [] }, "us-gaap_CommercialPaperMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommercialPaperMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Commercial paper", "label": "Commercial Paper [Member]", "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds." } } }, "auth_ref": [ "r99", "r628", "r629", "r630", "r631" ] }, "us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommercialPaperNotIncludedWithCashAndCashEquivalentsMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Commercial paper", "label": "Commercial Paper, Not Included with Cash and Cash Equivalents [Member]", "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds that is excluded from cash and cash equivalents." } } }, "auth_ref": [ "r759", "r789" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and contingencies (Note 8)", "label": "Commitments and Contingencies", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r23", "r65", "r476", "r519" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.qualys.com/role/CommitmentsandContingencies" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r98", "r288", "r290", "r583", "r754" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Common Stock", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r624", "r625", "r626", "r628", "r629", "r630", "r631", "r729", "r730", "r788", "r809", "r811" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, par value (in USD per share)", "label": "Common Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r68" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares authorized (in shares)", "label": "Common Stock, Shares Authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r68", "r520" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares issued (in shares)", "label": "Common Stock, Shares, Issued", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r68" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares outstanding (in shares)", "label": "Common Stock, Shares, Outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r12", "r68", "r520", "r540", "r811", "r812" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock: $0.001 par value; 1,000,000 shares authorized, 36,962 and 36,909 shares issued and outstanding as of March\u00a031, 2024 and December\u00a031, 2023, respectively", "label": "Common Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r68", "r479", "r622" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Company Selected Measure", "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]" } } }, "auth_ref": [ "r682" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Net Income", "label": "Compensation Actually Paid vs. Net Income [Text Block]" } } }, "auth_ref": [ "r681" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Other Measure", "label": "Compensation Actually Paid vs. Other Measure [Text Block]" } } }, "auth_ref": [ "r683" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return", "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]" } } }, "auth_ref": [ "r680" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofComprehensiveIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive income", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r27", "r152", "r154", "r158", "r467", "r488" ] }, "us-gaap_ComputerEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerEquipmentMember", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Computer equipment", "label": "Computer Equipment [Member]", "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems." } } }, "auth_ref": [] }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerSoftwareIntangibleAssetMember", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Computer software", "label": "Computer Software, Intangible Asset [Member]", "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks." } } }, "auth_ref": [ "r596", "r750", "r751" ] }, "qlys_ContractWithCustomerCommissionAssetBalancesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "ContractWithCustomerCommissionAssetBalancesTableTextBlock", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Deferred Costs to Obtain Contracts", "label": "Contract With Customer, Commission Asset Balances [Table Text Block]", "documentation": "Tabular disclosure of commission asset balance of contract with customer." } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiability", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue", "label": "Contract with Customer, Liability", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r309", "r310", "r321" ] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets", "http://www.qualys.com/role/RevenuefromContractswithCustomersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenues, current", "label": "Contract with Customer, Liability, Current", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r309", "r310", "r321" ] }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets", "http://www.qualys.com/role/RevenuefromContractswithCustomersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenues, noncurrent", "label": "Contract with Customer, Liability, Noncurrent", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent." } } }, "auth_ref": [ "r309", "r310", "r321" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue from contract with customer, revenue recognized", "label": "Contract with Customer, Liability, Revenue Recognized", "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r322" ] }, "us-gaap_ContractWithCustomerSalesChannelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerSalesChannelAxis", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersRevenuebySalesChannelDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract with Customer, Sales Channel [Axis]", "label": "Contract with Customer, Sales Channel [Axis]", "documentation": "Information by sales channel for delivery of good or service in contract with customer." } } }, "auth_ref": [ "r612", "r758" ] }, "us-gaap_ContractWithCustomerSalesChannelDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerSalesChannelDomain", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersRevenuebySalesChannelDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract with Customer, Sales Channel [Domain]", "label": "Contract with Customer, Sales Channel [Domain]", "documentation": "Sales channel for delivery of good or service in contract with customer. Includes, but is not limited to, directly to consumer and through intermediary." } } }, "auth_ref": [ "r612", "r758" ] }, "us-gaap_CorporateDebtSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateDebtSecuritiesMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate bonds", "label": "Corporate Debt Securities [Member]", "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment." } } }, "auth_ref": [ "r613", "r615", "r808" ] }, "us-gaap_CostOfRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfRevenue", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 1.0 }, "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails", "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of revenues", "negatedTerseLabel": "Cost of revenues", "label": "Cost of Revenue", "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period." } } }, "auth_ref": [ "r81", "r164", "r257", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r410", "r755" ] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesMember", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of revenues", "label": "Cost of Sales [Member]", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "terseLabel": "Cover [Abstract]", "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Current Fiscal Year End Date", "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_DebtSecuritiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAbstract", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total", "label": "Debt Securities [Abstract]" } } }, "auth_ref": [] }, "qlys_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateDueAfterOneYearThroughTwoYearsAmortizedCost": { "xbrltype": "monetaryItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateDueAfterOneYearThroughTwoYearsAmortizedCost", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Due after One Year through Two Years", "label": "Debt Securities, Available-For-Sale, Amortized Cost, Maturity, Allocated And Single Maturity Date, Due After One Year Through Two Years, Amortized Cost", "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing after year one through year two." } } }, "auth_ref": [] }, "qlys_DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateOverTwoYearsAmortizedCost": { "xbrltype": "monetaryItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "DebtSecuritiesAvailableForSaleAmortizedCostMaturityAllocatedAndSingleMaturityDateOverTwoYearsAmortizedCost", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Mature over Two Years", "label": "Debt Securities, Available-For-Sale, Amortized Cost, Maturity, Allocated And Single Maturity Date, Over Two Years, Amortized Cost", "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), with single maturity date and allocated without single maturity date, maturing after second fiscal year following current fiscal year." } } }, "auth_ref": [] }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails": { "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair value", "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for more than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset." } } }, "auth_ref": [ "r115", "r273", "r606" ] }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails": { "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Gross unrealized losses", "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss", "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for 12 months or longer, without allowance for credit loss. Includes beneficial interest in securitized financial asset." } } }, "auth_ref": [ "r115", "r273" ] }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails": { "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair value", "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset." } } }, "auth_ref": [ "r115", "r273", "r606" ] }, "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails": { "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Gross unrealized losses", "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss", "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset." } } }, "auth_ref": [ "r115", "r273" ] }, "qlys_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateDueAfterOneYearThroughTwoYears": { "xbrltype": "monetaryItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateDueAfterOneYearThroughTwoYears", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Due after One Year through Two Years", "label": "Debt Securities, Available-For-Sale, Fair Value, Maturity, Allocated And Single Maturity Date, Due After One Year Through Two Years", "documentation": "Represents fair value of debt maturities for available-for-sale securities through year one to year two." } } }, "auth_ref": [] }, "qlys_DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateOverTwoYears": { "xbrltype": "monetaryItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateOverTwoYears", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails": { "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Mature over Two Years", "label": "Debt Securities, Available-For-Sale, Fair Value, Maturity, Allocated And Single Maturity Date, Over Two Years", "documentation": "Represents fair value of available-for-sale for debt maturities after year two." } } }, "auth_ref": [] }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPosition", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Fair value", "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position", "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position without allowance for credit loss." } } }, "auth_ref": [ "r113", "r271", "r606" ] }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "negatedTotalLabel": "Gross unrealized losses", "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss", "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset." } } }, "auth_ref": [ "r114", "r272" ] }, "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Gross Unrealized Losses and Fair Value of Marketable Securities in an Unrealized Loss Position", "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Fair Value [Table Text Block]", "documentation": "Tabular disclosure of fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset." } } }, "auth_ref": [ "r112", "r606", "r747" ] }, "us-gaap_DebtSecuritiesAvailableforsaleAmortizedCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesAvailableforsaleAmortizedCostAbstract", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortized Cost", "label": "Debt Securities, Available-for-Sale, Amortized Cost [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtSecuritiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesCurrentAbstract", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Less than 12 months", "label": "Debt Securities, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtSecuritiesHeldToMaturityFairValueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesHeldToMaturityFairValueAbstract", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryoftheFairValueofMarketableSecuritiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value", "label": "Debt Securities, Held-to-Maturity, Fair Value [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtSecuritiesNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtSecuritiesNoncurrentAbstract", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "12 months or longer", "label": "Debt Securities, Noncurrent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax assets, net", "label": "Deferred Income Tax Assets, Net", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting." } } }, "auth_ref": [ "r371", "r372" ] }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxesAndTaxCredits", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred income taxes", "label": "Deferred Income Taxes and Tax Credits", "documentation": "Amount of deferred income tax expense (benefit) and income tax credits." } } }, "auth_ref": [ "r90" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation and amortization expense", "label": "Depreciation, Depletion and Amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r8", "r204" ] }, "qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation and amortization", "label": "qlys_DepreciationDepletionAndAmortizationExcludingIntangibleAssetAmortization", "documentation": "Represents amount of depreciation, depletion and amortization excluding intangible asset amortization." } } }, "auth_ref": [] }, "us-gaap_DerivativeContractTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeContractTypeDomain", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative Contract [Domain]", "label": "Derivative Contract [Domain]", "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset." } } }, "auth_ref": [ "r509", "r511", "r525", "r526", "r527", "r530", "r531", "r532", "r533", "r535", "r536", "r537", "r538", "r548", "r549", "r550", "r551", "r554", "r555", "r556", "r557", "r571", "r572", "r573", "r574", "r624", "r626" ] }, "us-gaap_DerivativeInstrumentRiskAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentRiskAxis", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative Instrument [Axis]", "label": "Derivative Instrument [Axis]", "documentation": "Information by type of derivative contract." } } }, "auth_ref": [ "r53", "r55", "r56", "r58", "r509", "r511", "r525", "r526", "r527", "r530", "r531", "r532", "r533", "r535", "r536", "r537", "r538", "r548", "r549", "r550", "r551", "r554", "r555", "r556", "r557", "r571", "r572", "r573", "r574", "r599", "r624", "r626" ] }, "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipAxis", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Hedging Relationship [Axis]", "label": "Hedging Relationship [Axis]", "documentation": "Information by type of hedging relationship." } } }, "auth_ref": [ "r13", "r53", "r56" ] }, "us-gaap_DerivativeNotionalAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeNotionalAmount", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Derivative", "label": "Derivative, Notional Amount", "documentation": "Nominal or face amount used to calculate payment on derivative." } } }, "auth_ref": [ "r786", "r787" ] }, "qlys_DescriptionOfBusinessPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "DescriptionOfBusinessPolicyPolicyTextBlock", "presentation": [ "http://www.qualys.com/role/DescriptionofBusinessandSummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Description of Business", "label": "Description Of Business Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for description of business." } } }, "auth_ref": [] }, "us-gaap_DesignatedAsHedgingInstrumentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DesignatedAsHedgingInstrumentMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Designated as Hedging Instrument", "label": "Designated as Hedging Instrument [Member]", "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP)." } } }, "auth_ref": [ "r13" ] }, "us-gaap_DevelopedTechnologyRightsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DevelopedTechnologyRightsMember", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Developed technology", "label": "Developed Technology Rights [Member]", "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property." } } }, "auth_ref": [ "r104" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Revenue by Sales Channel", "label": "Disaggregation of Revenue [Table Text Block]", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r758" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Period Focus", "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Year Focus", "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Quarterly Report", "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r638" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Transition Report", "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r671" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "qlys_ESPPSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "ESPPSharesMember", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "ESPP Shares", "label": "ESPP Shares [Member]", "documentation": "Represents information regarding ESPP shares." } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Net income per share:", "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations", "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in USD per share)", "label": "Earnings Per Share, Basic", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r159", "r171", "r172", "r173", "r174", "r175", "r180", "r182", "r188", "r189", "r190", "r194", "r401", "r402", "r468", "r489", "r602" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations", "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in USD per share)", "label": "Earnings Per Share, Diluted", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r159", "r171", "r172", "r173", "r174", "r175", "r182", "r188", "r189", "r190", "r194", "r401", "r402", "r468", "r489", "r602" ] }, "us-gaap_EarningsPerShareReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareReconciliationAbstract", "presentation": [ "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income per share:", "label": "Earnings Per Share Reconciliation [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.qualys.com/role/NetIncomePerShare" ], "lang": { "en-us": { "role": { "terseLabel": "Net Income Per Share", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r179", "r191", "r192", "r193" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.qualys.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income tax rate, percentage", "label": "Effective Income Tax Rate Reconciliation, Percent", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r374" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation expenses, unrecognized", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r363" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation, recognition period (in years)", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r363" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock options", "label": "Employee Stock Option [Member]", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable": { "xbrltype": "percentItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "ESPP eligible percent to contribute", "label": "qlys_EmployeeStockPurchasePlanPercentageOfEligibleCompensationContributable", "documentation": "Represents the percentage of employee's eligible compensation that can be used to contribute, through payroll withholding, to an employee stock purchase plan." } } }, "auth_ref": [] }, "qlys_EmployeeStockPurchasePlanSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "EmployeeStockPurchasePlanSharesMember", "presentation": [ "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Employee stock purchase plan", "label": "Employee Stock Purchase Plan Shares [Member]", "documentation": "Represents information regarding employee stock purchase plan shares." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line One", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City or Town", "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State or Province", "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r636" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Common Stock, Shares Outstanding", "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Current Reporting Status", "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth Company", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r636" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity File Number", "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Filer Category", "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r636" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Interactive Data Current", "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r710" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r636" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Shell Company", "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r636" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Small Business", "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r636" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r636" ] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "label": "Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails", "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails", "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Component [Domain]", "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r12", "r130", "r155", "r156", "r157", "r166", "r167", "r168", "r170", "r176", "r178", "r195", "r258", "r259", "r308", "r364", "r365", "r366", "r380", "r381", "r393", "r394", "r395", "r396", "r397", "r398", "r400", "r415", "r416", "r417", "r418", "r419", "r420", "r429", "r493", "r494", "r495", "r503", "r561" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Valuation Assumption Difference, Footnote", "label": "Equity Valuation Assumption Difference, Footnote [Text Block]" } } }, "auth_ref": [ "r679" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneous Compensation Analysis", "label": "Erroneous Compensation Analysis [Text Block]" } } }, "auth_ref": [ "r643", "r654", "r664", "r689" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneously Awarded Compensation Recovery", "label": "Erroneously Awarded Compensation Recovery [Table]" } } }, "auth_ref": [ "r640", "r651", "r661", "r686" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Category:", "label": "Executive Category [Axis]" } } }, "auth_ref": [ "r685" ] }, "qlys_ExecutiveOfficer1Member": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "ExecutiveOfficer1Member", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Officer 1", "label": "Executive Officer 1 [Member]", "documentation": "Represents executive officer 1." } } }, "auth_ref": [] }, "qlys_ExecutiveOfficer2Member": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "ExecutiveOfficer2Member", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Officer 2", "label": "Executive Officer 2 [Member]", "documentation": "Represents executive officer 2." } } }, "auth_ref": [] }, "qlys_ExecutiveOfficer3Member": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "ExecutiveOfficer3Member", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Officer 3", "label": "Executive Officer 3 [Member]", "documentation": "Represents executive officer 3." } } }, "auth_ref": [] }, "qlys_ExecutiveOfficer4Member": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "ExecutiveOfficer4Member", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Officer 4", "label": "Executive Officer 4 [Member]", "documentation": "Represents executive 4." } } }, "auth_ref": [] }, "srt_ExecutiveOfficerMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ExecutiveOfficerMember", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Officer", "label": "Executive Officer [Member]" } } }, "auth_ref": [ "r734" ] }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Fair Value of Financial Assets and Liabilities Measured on Recurring Basis", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]", "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)." } } }, "auth_ref": [ "r62", "r107" ] }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset Class [Domain]", "label": "Asset Class [Domain]", "documentation": "Class of asset." } } }, "auth_ref": [ "r14" ] }, "us-gaap_FairValueByAssetClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByAssetClassAxis", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset Class [Axis]", "label": "Asset Class [Axis]", "documentation": "Information by class of asset." } } }, "auth_ref": [ "r62", "r63" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Axis]", "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r304", "r325", "r326", "r327", "r328", "r329", "r330", "r405", "r433", "r434", "r435", "r608", "r609", "r613", "r614", "r615" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Axis]", "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r404", "r405", "r406", "r407", "r409" ] }, "us-gaap_FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosureAssetAndLiabilityNotMeasuredAtFairValueLineItems", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]", "label": "Fair Value Disclosure, Asset and Liability, Not Measured at Fair Value [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r408" ] }, "us-gaap_FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosureOfAssetAndLiabilityNotMeasuredAtFairValueTable", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Disclosure of Asset and Liability Not Measured at Fair Value [Table]", "label": "Fair Value Disclosure of Asset and Liability Not Measured at Fair Value [Table]", "documentation": "Disclosure of information about fair value of asset and liability not measured at fair value." } } }, "auth_ref": [ "r408" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstruments" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value of Financial Instruments", "label": "Fair Value Disclosures [Text Block]", "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information." } } }, "auth_ref": [ "r403" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 1", "label": "Fair Value, Inputs, Level 1 [Member]", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r304", "r325", "r330", "r405", "r433", "r613", "r614", "r615" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 2", "label": "Fair Value, Inputs, Level 2 [Member]", "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets." } } }, "auth_ref": [ "r304", "r325", "r330", "r405", "r434", "r608", "r609", "r613", "r614", "r615" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Domain]", "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Domain]", "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r304", "r325", "r326", "r327", "r328", "r329", "r330", "r433", "r434", "r435", "r608", "r609", "r613", "r614", "r615" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Recurring", "label": "Fair Value, Recurring [Member]", "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value." } } }, "auth_ref": [ "r403", "r409" ] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentAxis", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instrument [Axis]", "label": "Financial Instrument [Axis]", "documentation": "Information by type of financial instrument." } } }, "auth_ref": [ "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r261", "r262", "r266", "r267", "r268", "r270", "r274", "r275", "r305", "r307", "r399", "r430", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r487", "r606", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r742", "r743", "r744", "r745" ] }, "us-gaap_FinancialInstrumentsOwnedAtFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentsOwnedAtFairValue", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "Financial Instruments, Owned, at Fair Value", "documentation": "The aggregate fair value as of the balance sheet date of financial instruments and other positions owned by the entity including: (1) mortgages, mortgage-backed and asset backed securities; (2) US government and agency obligations; (3) state and municipal government obligations; (4) other sovereign government debt; (5) corporate obligations; (6) corporate equities; (7) principal investments; (8) derivative contracts; and (9) physical commodities. Includes both pledged and unpledged holdings." } } }, "auth_ref": [ "r64" ] }, "us-gaap_FinancialInstrumentsOwnedCorporateDebtAtFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentsOwnedCorporateDebtAtFairValue", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_FinancialInstrumentsOwnedAtFairValue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate bonds", "label": "Financial Instruments, Owned, Corporate Debt, at Fair Value", "documentation": "Fair value of firm holdings in corporate fixed income securities. Includes pledged and unpledged holdings." } } }, "auth_ref": [ "r64" ] }, "us-gaap_FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentsOwnedDerivativesAndOtherContractualAgreementsAtFairValue", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_FinancialInstrumentsOwnedAtFairValue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency forward contracts", "label": "Financial Instruments, Owned, Derivatives and Other Contractual Agreements, at Fair Value", "documentation": "The fair value as of the balance sheet date of firm holdings in all assets resulting from contracts that meet the criteria of being accounted for as derivative instruments. Their value is derived from the values of one or more underlying assets, reference rates, or indices of asset values. Includes both pledged (to counterparties as collateral for financing transactions) and unpledged holdings." } } }, "auth_ref": [ "r106" ] }, "us-gaap_FinancialLiabilitiesFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialLiabilitiesFairValueDisclosure", "crdr": "credit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities", "label": "Financial Liabilities Fair Value Disclosure", "documentation": "Fair value of financial obligations, including, but not limited to, debt instruments, derivative liabilities, federal funds purchased and sold under agreements to repurchase, securities loaned or sold under agreements to repurchase, financial instruments sold not yet purchased, guarantees, line of credit, loans and notes payable, servicing liability, and trading liabilities." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Life (Years)", "label": "Finite-Lived Intangible Asset, Useful Life", "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Accumulated Amortization", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r139", "r283" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "calculation": { "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r94" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "calculation": { "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2024 (remaining nine months)", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "calculation": { "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r94" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "calculation": { "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r94" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r280", "r282", "r283", "r285", "r463", "r464" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost", "label": "Finite-Lived Intangible Assets, Gross", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r93", "r464" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets [Line Items]", "label": "Finite-Lived Intangible Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r463" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r37", "r40" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 2.0 }, "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails", "http://www.qualys.com/role/IntangibleAssetsNetExpectedAmortizationExpenseinFuturePeriodsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total intangibles", "label": "Finite-Lived Intangible Assets, Net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r93", "r463" ] }, "us-gaap_ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyCashFlowHedgeGainLossToBeReclassifiedDuringNext12Months", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Foreign Currency Cash Flow Hedge Gain (Loss) to be Reclassified During Next 12 Months", "label": "Foreign Currency Cash Flow Hedge Gain (Loss) to be Reclassified During Next 12 Months", "documentation": "The estimated net amount of unrealized gains or losses on foreign currency cash flow hedges at the reporting date expected to be reclassified to earnings within the next 12 months." } } }, "auth_ref": [ "r61" ] }, "us-gaap_ForeignCurrencyContractAssetFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyContractAssetFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency forward contracts, asset", "label": "Foreign Currency Contract, Asset, Fair Value Disclosure", "documentation": "Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps." } } }, "auth_ref": [] }, "us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyContractsLiabilityFairValueDisclosure", "crdr": "credit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_FinancialLiabilitiesFairValueDisclosure", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency forward contracts", "verboseLabel": "Foreign currency forward contracts, liability", "label": "Foreign Currency Contracts, Liability, Fair Value Disclosure", "documentation": "Fair value portion of liability contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward (delivery or nondelivery) contracts, and swaps entered into." } } }, "auth_ref": [] }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "crdr": "credit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total foreign exchange losses, net", "label": "Gain (Loss), Foreign Currency Transaction, before Tax", "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction." } } }, "auth_ref": [ "r411", "r412", "r413", "r414", "r558" ] }, "us-gaap_ForeignExchangeContractMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignExchangeContractMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign Exchange Contract", "label": "Foreign Exchange Contract [Member]", "documentation": "Derivative instrument whose primary underlying risk is tied to foreign exchange rates." } } }, "auth_ref": [ "r599", "r613", "r620" ] }, "qlys_ForeignExchangeContractsForGBPAndEuroMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "ForeignExchangeContractsForGBPAndEuroMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign Exchange Contracts for GBP and Euro", "label": "Foreign Exchange Contracts for GBP and Euro [Member]", "documentation": "Information related to foreign exchange contracts for BPG and Euro." } } }, "auth_ref": [] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r647", "r658", "r668", "r693" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount", "label": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r647", "r658", "r668", "r693" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount", "label": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r647", "r658", "r668", "r693" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery, Explanation of Impracticability", "label": "Forgone Recovery, Explanation of Impracticability [Text Block]" } } }, "auth_ref": [ "r647", "r658", "r668", "r693" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Forgone Recovery, Individual Name" } } }, "auth_ref": [ "r647", "r658", "r668", "r693" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Furniture, fixtures and equipment", "label": "Furniture and Fixtures [Member]", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "us-gaap_GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnForeignCurrencyDerivativeInstrumentsNotDesignatedAsHedgingInstruments", "crdr": "credit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails": { "parentTag": "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net gains from non-designated forward contracts", "label": "Gain (Loss) on Foreign Currency Derivative Instruments Not Designated as Hedging Instruments", "documentation": "Amount of gain (loss) recognized in earnings in the period from the increase (decrease) in fair value of foreign currency derivatives not designated as hedging instruments." } } }, "auth_ref": [ "r53", "r57" ] }, "us-gaap_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 3.0 }, "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails", "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "General and administrative", "negatedTerseLabel": "General and administrative", "label": "General and Administrative Expense", "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line." } } }, "auth_ref": [ "r83", "r544" ] }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpenseMember", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "General and administrative", "label": "General and Administrative Expense [Member]", "documentation": "Primary financial statement caption encompassing general and administrative expense." } } }, "auth_ref": [ "r78" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "label": "Goodwill", "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r138", "r278", "r465", "r607", "r622", "r748", "r749" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Gross profit", "label": "Gross Profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r80", "r164", "r200", "r208", "r213", "r216", "r257", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r410", "r604", "r755" ] }, "us-gaap_HedgingDesignationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "HedgingDesignationAxis", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Hedging Designation [Axis]", "label": "Hedging Designation [Axis]", "documentation": "Information by designation of purpose of derivative instrument." } } }, "auth_ref": [ "r13", "r392" ] }, "us-gaap_HedgingDesignationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "HedgingDesignationDomain", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Hedging Designation [Domain]", "label": "Hedging Designation [Domain]", "documentation": "Designation of purpose of derivative instrument." } } }, "auth_ref": [ "r13" ] }, "us-gaap_HedgingRelationshipDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "HedgingRelationshipDomain", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Hedging Relationship [Domain]", "label": "Hedging Relationship [Domain]", "documentation": "Nature or intent of a hedge." } } }, "auth_ref": [ "r13" ] }, "country_IN": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "IN", "presentation": [ "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "India", "label": "INDIA" } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Income before income taxes", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r0", "r76", "r110", "r200", "r208", "r213", "r216", "r469", "r485", "r604" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "crdr": "credit", "calculation": { "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total", "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest", "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." } } }, "auth_ref": [ "r200", "r208", "r213", "r216", "r490", "r604" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Statement [Abstract]", "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Axis]", "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r286", "r287", "r545" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Domain]", "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r287", "r545" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.qualys.com/role/IncomeTaxes" ], "lang": { "en-us": { "role": { "terseLabel": "Income Taxes", "label": "Income Tax Disclosure [Text Block]", "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r165", "r369", "r375", "r378", "r379", "r382", "r384", "r385", "r386", "r502" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations", "http://www.qualys.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income tax provision", "label": "Income Tax Expense (Benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r116", "r128", "r177", "r178", "r205", "r373", "r383", "r491" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Increase (Decrease) in Accounts Payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Accounts receivable", "label": "Increase (Decrease) in Accounts Receivable", "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued liabilities and other noncurrent liabilities", "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities", "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other." } } }, "auth_ref": [ "r726" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenues", "label": "Increase (Decrease) in Contract with Customer, Liability", "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r461", "r726" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in operating assets and liabilities:", "label": "Increase (Decrease) in Operating Capital [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Prepaid expenses and other assets", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToCallOptionsAndWarrants", "calculation": { "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Retired stock units (in shares)", "label": "Incremental Common Shares Attributable to Dilutive Effect of Call Options and Warrants", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of call options and warrants using the treasury stock method." } } }, "auth_ref": [ "r183", "r184", "r185", "r190" ] }, "us-gaap_IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToEquityUnitPurchaseAgreements", "calculation": { "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Employee stock purchase plan (in shares)", "label": "Incremental Common Shares Attributable to Dilutive Effect of Equity Unit Purchase Agreements", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of equity unit purchase agreements using the treasury stock method." } } }, "auth_ref": [ "r183", "r184", "r190" ] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock options (in shares)", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r183", "r184", "r186", "r190", "r335" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Indefinite-Lived Intangible Assets [Axis]", "label": "Indefinite-Lived Intangible Assets [Axis]", "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r281", "r284" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets not subject to amortization", "label": "Indefinite-Lived Intangible Assets (Excluding Goodwill)", "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r95" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Indefinite-Lived Intangible Assets, Major Class Name [Domain]", "label": "Indefinite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of the company." } } }, "auth_ref": [ "r38", "r95" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Individual:", "label": "Individual [Axis]" } } }, "auth_ref": [ "r650", "r658", "r668", "r685", "r693", "r697", "r705" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "auth_ref": [ "r703" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "auth_ref": [ "r639", "r709" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Adopted", "label": "Insider Trading Policies and Procedures Adopted [Flag]" } } }, "auth_ref": [ "r639", "r709" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Not Adopted", "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]" } } }, "auth_ref": [ "r639", "r709" ] }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNet" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible Assets, Net", "label": "Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for all or part of the information related to intangible assets." } } }, "auth_ref": [ "r279" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 }, "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets", "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets, net", "totalLabel": "Intangible assets, net", "label": "Intangible Assets, Net (Excluding Goodwill)", "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges." } } }, "auth_ref": [ "r35", "r39" ] }, "qlys_IntangibleAssetsNotSubjectToAmortizationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "IntangibleAssetsNotSubjectToAmortizationMember", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets not subject to amortization", "label": "Intangible Assets Not Subject to Amortization [Member]", "documentation": "Represents intangible assets not subject to amortization." } } }, "auth_ref": [] }, "us-gaap_InvestmentIncomeInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentIncomeInterest", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Interest income", "label": "Investment Income, Interest", "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities." } } }, "auth_ref": [ "r84", "r203" ] }, "us-gaap_Investments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Investments", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Investments", "label": "Investments", "documentation": "Sum of the carrying amounts as of the balance sheet date of all investments." } } }, "auth_ref": [ "r473" ] }, "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of the Fair Value of Cash Equivalents and Marketable Securities by Contractual Maturity", "label": "Investments Classified by Contractual Maturity Date [Table Text Block]", "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments." } } }, "auth_ref": [] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Leasehold improvements", "label": "Leasehold Improvements [Member]", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r97" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "Leases [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.qualys.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Lease Maturities", "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]", "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." } } }, "auth_ref": [ "r794" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total minimum lease payments", "label": "Lessee, Operating Lease, Liability, to be Paid", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r428" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "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)." } } }, "auth_ref": [ "r428" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2028", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "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)." } } }, "auth_ref": [ "r428" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "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)." } } }, "auth_ref": [ "r428" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "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)." } } }, "auth_ref": [ "r428" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2024 (remaining nine months)", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "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." } } }, "auth_ref": [ "r794" ] }, "qlys_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "crdr": "credit", "calculation": { "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2029 and thereafter", "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Four", "documentation": "Lessee, Operating Lease, Liability, to be Paid, after Year Four" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Less: interest", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r428" ] }, "qlys_LesseeOperatingLeaseSupplementalCashFlowDisclosureTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "LesseeOperatingLeaseSupplementalCashFlowDisclosureTableTextBlock", "presentation": [ "http://www.qualys.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Supplemental Cash Flow Information for Operating Leases", "label": "Lessee, Operating Lease, Supplemental Cash Flow Disclosure [Table Text Block]", "documentation": "Tabular disclosure of lessee's supplemental cash flow information associated with operating lease." } } }, "auth_ref": [] }, "qlys_LesseeOperatingLeasesAndFinanceLeaseTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "LesseeOperatingLeasesAndFinanceLeaseTextBlock", "presentation": [ "http://www.qualys.com/role/Leases" ], "lang": { "en-us": { "role": { "terseLabel": "Leases", "label": "Lessee, Operating Leases and Finance Lease [Text Block]", "documentation": "The entire disclosure of operating lease and finance lease for lessee." } } }, "auth_ref": [] }, "qlys_LesseeWeightedAverageRemainingLeaseTermAndWeightedAverageDiscountRateTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "LesseeWeightedAverageRemainingLeaseTermAndWeightedAverageDiscountRateTableTextBlock", "presentation": [ "http://www.qualys.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of the Average Remaining Lease Term and the Weighted Average Discount Rate of Operating Leases", "label": "Lessee, Weighted Average Remaining Lease Term and Weighted Average Discount Rate [Table Text Block]", "documentation": "Tabular disclosure of lessee's weighted average remaining lease term and weighted average discount rate." } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities", "label": "Liabilities", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r19", "r164", "r257", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r388", "r390", "r391", "r410", "r518", "r603", "r634", "r755", "r796", "r797" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities and stockholders\u2019 equity", "label": "Liabilities and Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r73", "r109", "r482", "r622", "r728", "r746", "r790" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Liabilities and Stockholders\u2019 Equity", "label": "Liabilities and Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "totalLabel": "Total current liabilities", "label": "Liabilities, Current", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r21", "r133", "r164", "r257", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r388", "r390", "r391", "r410", "r622", "r755", "r796", "r797" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Current liabilities:", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum", "label": "Maximum [Member]" } } }, "auth_ref": [ "r291", "r292", "r293", "r294", "r331", "r460", "r492", "r510", "r511", "r564", "r566", "r568", "r569", "r575", "r593", "r594", "r605", "r610", "r616", "r623", "r757", "r798", "r799", "r800", "r801", "r802", "r803" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Measure:", "label": "Measure [Axis]" } } }, "auth_ref": [ "r677" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Measure Name" } } }, "auth_ref": [ "r677" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum", "label": "Minimum [Member]" } } }, "auth_ref": [ "r291", "r292", "r293", "r294", "r331", "r460", "r492", "r510", "r511", "r564", "r566", "r568", "r569", "r575", "r593", "r594", "r605", "r610", "r616", "r623", "r757", "r798", "r799", "r800", "r801", "r802", "r803" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "MNPI Disclosure Timed for Compensation Value", "label": "MNPI Disclosure Timed for Compensation Value [Flag]" } } }, "auth_ref": [ "r696" ] }, "us-gaap_MoneyMarketFundsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MoneyMarketFundsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_FinancialInstrumentsOwnedAtFairValue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Money market funds", "label": "Money Market Funds, at Carrying Value", "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months." } } }, "auth_ref": [] }, "us-gaap_MoneyMarketFundsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MoneyMarketFundsMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Money market funds", "label": "Money Market Funds [Member]", "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." } } }, "auth_ref": [ "r759" ] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Material Terms of Trading Arrangement", "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r704" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Named Executive Officers, Footnote", "label": "Named Executive Officers, Footnote [Text Block]" } } }, "auth_ref": [ "r678" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in financing activities", "label": "Net Cash Provided by (Used in) Financing Activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r162" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flow from financing activities:", "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by investing activities", "label": "Net Cash Provided by (Used in) Investing Activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r162" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flow from investing activities:", "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by operating activities", "label": "Net Cash Provided by (Used in) Operating Activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r88", "r89", "r90" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flow from operating activities:", "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 }, "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.qualys.com/role/CondensedConsolidatedStatementsofComprehensiveIncome", "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations", "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity", "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "terseLabel": "Net income", "label": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r77", "r90", "r111", "r131", "r150", "r153", "r157", "r164", "r169", "r171", "r172", "r173", "r174", "r177", "r178", "r187", "r200", "r208", "r213", "r216", "r257", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r402", "r410", "r486", "r542", "r559", "r560", "r604", "r632", "r755" ] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract", "presentation": [ "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Numerator:", "label": "Net Income (Loss) Available to Common Stockholders, Basic [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLossAvailableToCommonStockholdersDilutedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAvailableToCommonStockholdersDilutedAbstract", "presentation": [ "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Denominator:", "label": "Net Income (Loss) Available to Common Stockholders, Diluted [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.qualys.com/role/DescriptionofBusinessandSummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Recently Adopted Accounting Pronouncements and Recently Issued Accounting Pronouncements Not Yet Adopted", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-GAAP Measure Description", "label": "Non-GAAP Measure Description [Text Block]" } } }, "auth_ref": [ "r677" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-NEOs", "label": "Non-NEOs [Member]" } } }, "auth_ref": [ "r647", "r658", "r668", "r685", "r693" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount", "label": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r675" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Total Compensation Amount", "label": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r674" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO", "label": "Non-PEO NEO [Member]" } } }, "auth_ref": [ "r685" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted", "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r704" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated", "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r704" ] }, "us-gaap_NonUsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonUsMember", "presentation": [ "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign", "label": "Non-US [Member]", "documentation": "Countries excluding the United States of America (US)." } } }, "auth_ref": [ "r813", "r814", "r815", "r816" ] }, "us-gaap_NondesignatedMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NondesignatedMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsNarrativeDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofDerivativeFinancialInstrumentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Not Designated as Hedging Instrument", "label": "Not Designated as Hedging Instrument [Member]", "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP)." } } }, "auth_ref": [ "r13" ] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Total other income, net", "label": "Nonoperating Income (Expense)", "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [ "r85" ] }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpenseAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Other income (expense), net:", "label": "Nonoperating Income (Expense) [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.qualys.com/role/SegmentandGeographicAreaInformationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of operating segments", "label": "Number of Operating Segments", "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues." } } }, "auth_ref": [ "r733" ] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.qualys.com/role/SegmentandGeographicAreaInformationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of reportable segments", "label": "Number of Reportable Segments", "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements." } } }, "auth_ref": [ "r733" ] }, "us-gaap_OciBeforeReclassificationsBeforeTaxAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OciBeforeReclassificationsBeforeTaxAttributableToParent", "crdr": "credit", "calculation": { "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Change in unrealized gains (losses) during the period", "label": "OCI, before Reclassifications, before Tax, Attributable to Parent", "documentation": "Amount before tax and reclassification adjustments of other comprehensive income (loss) attributable to parent." } } }, "auth_ref": [ "r26" ] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Total operating expenses", "label": "Operating Expenses", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Operating expenses:", "label": "Operating Expenses [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "totalLabel": "Income from operations", "label": "Operating Income (Loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r200", "r208", "r213", "r216", "r604" ] }, "us-gaap_OperatingLeaseExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseExpense", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease expense", "label": "Operating Lease, Expense", "documentation": "Amount of operating lease expense. Excludes sublease income." } } }, "auth_ref": [ "r793" ] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/LeasesMinimumAnnualLeasePaymentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Present value of net minimum lease payments", "label": "Operating Lease, Liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r422" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities, current", "label": "Operating Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r422" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities, noncurrent", "label": "Operating Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r422" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/LeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Cash payments included in the measurement of lease liabilities", "label": "Operating Lease, Payments", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r423", "r424" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Operating leases - right of use asset", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r421" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.qualys.com/role/LeasesWeightedAverageRemainingLeaseTermandWeightedAverageDiscountRateDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average discount rate", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r427", "r621" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.qualys.com/role/LeasesWeightedAverageRemainingLeaseTermandWeightedAverageDiscountRateDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average remaining lease term (years)", "label": "Operating Lease, Weighted Average Remaining Lease Term", "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." } } }, "auth_ref": [ "r426", "r621" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Other noncurrent assets", "label": "Other Assets, Noncurrent", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r140" ] }, "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Net change in unrealized gains (losses) on available-for-sale debt securities, net of tax", "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax", "documentation": "Amount, after tax and adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale." } } }, "auth_ref": [ "r145", "r146", "r148" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Net change in unrealized gains (losses) on cash flow hedges, net of tax", "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax, Parent", "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent." } } }, "auth_ref": [ "r148" ] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails": { "parentTag": "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAmountsRecognizedInStatementofOperationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other foreign currency transactions losses", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature." } } }, "auth_ref": [ "r3" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofComprehensiveIncome" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive income (loss), net of tax", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent, Alternative [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 }, "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails", "http://www.qualys.com/role/CondensedConsolidatedStatementsofComprehensiveIncome", "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "totalLabel": "Other comprehensive income, net of tax", "verboseLabel": "Other comprehensive income, net of tax", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity." } } }, "auth_ref": [ "r6", "r10", "r105", "r151", "r154" ] }, "us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossTaxPortionAttributableToParent1", "crdr": "debit", "calculation": { "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Tax effect", "label": "Other Comprehensive Income (Loss), Tax, Portion Attributable to Parent", "documentation": "Amount of tax expense (benefit) allocated to other comprehensive income (loss) attributable to parent entity." } } }, "auth_ref": [ "r6", "r10", "r105" ] }, "qlys_OtherGeographicAreasMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "OtherGeographicAreasMember", "presentation": [ "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Rest of world", "label": "Other Geographic Areas [Member]", "documentation": "Represents information related to other geographic areas." } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Other noncurrent liabilities", "label": "Other Liabilities, Noncurrent", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r22" ] }, "us-gaap_OtherLongTermInvestmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLongTermInvestmentsMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term marketable securities", "label": "Other Long-Term Investments [Member]", "documentation": "Long-term investments classified as other." } } }, "auth_ref": [ "r808" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails", "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Other expense, net", "label": "Other Nonoperating Income (Expense)", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r86" ] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Other Performance Measure, Amount", "label": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r677" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount", "label": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r645", "r656", "r666", "r691" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Amount", "label": "Outstanding Recovery Compensation Amount" } } }, "auth_ref": [ "r648", "r659", "r669", "r694" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Outstanding Recovery, Individual Name" } } }, "auth_ref": [ "r648", "r659", "r669", "r694" ] }, "us-gaap_PatentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PatentsMember", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Patent licenses", "label": "Patents [Member]", "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law." } } }, "auth_ref": [ "r104" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "auth_ref": [ "r673" ] }, "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Payment of acquisition-related holdback", "label": "Payment for Contingent Consideration Liability, Financing Activities", "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date." } } }, "auth_ref": [ "r5" ] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Repurchase of common stock", "label": "Payments for Repurchase of Common Stock", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r28" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Payments for taxes related to net share settlement of equity awards", "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r161" ] }, "us-gaap_PaymentsToAcquireMarketableSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireMarketableSecurities", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchases of marketable securities", "label": "Payments to Acquire Marketable Securities", "documentation": "Amount of cash outflow for purchase of marketable security." } } }, "auth_ref": [ "r736" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchases of property and equipment", "label": "Payments to Acquire Property, Plant, and Equipment", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r87" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Issuers, Footnote", "label": "Peer Group Issuers, Footnote [Text Block]" } } }, "auth_ref": [ "r676" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Total Shareholder Return Amount", "label": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r676" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Actually Paid Compensation Amount", "label": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r675" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO", "label": "PEO [Member]" } } }, "auth_ref": [ "r685" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Name", "label": "PEO Name" } } }, "auth_ref": [ "r678" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Total Compensation Amount", "label": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r674" ] }, "qlys_PerformanceBasedRestrictedStockUnitsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "PerformanceBasedRestrictedStockUnitsMember", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Performance-based Restricted Stock Units", "label": "Performance-based Restricted Stock Units [Member]", "documentation": "Information related to performance-based restricted stock units." } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Axis]", "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r760", "r761", "r762", "r763", "r764", "r765", "r766", "r767", "r768", "r769", "r770", "r771", "r772", "r773", "r774", "r775", "r776", "r777", "r778", "r779", "r780", "r781", "r782", "r783", "r784", "r785" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Domain]", "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r760", "r761", "r762", "r763", "r764", "r765", "r766", "r767", "r768", "r769", "r770", "r771", "r772", "r773", "r774", "r775", "r776", "r777", "r778", "r779", "r780", "r781", "r782", "r783", "r784", "r785" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, par value (in USD per share)", "label": "Preferred Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r67", "r306" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares authorized (in shares)", "label": "Preferred Stock, Shares Authorized", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r67", "r520" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares issued (in shares)", "label": "Preferred Stock, Shares Issued", "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt." } } }, "auth_ref": [ "r67", "r306" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, shares outstanding (in shares)", "label": "Preferred Stock, Shares Outstanding", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r67", "r520", "r540", "r811", "r812" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock: $0.001 par value; 20,000 shares authorized, no shares issued and outstanding as of March\u00a031, 2024 and December\u00a031, 2023", "label": "Preferred Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r67", "r478", "r622" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Prepaid Expense and Other Assets, Current", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r722" ] }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfCommonStock", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from issuance of common stock through employee stock purchase plan", "label": "Proceeds from Issuance of Common Stock", "documentation": "The cash inflow from the additional capital contribution to the entity." } } }, "auth_ref": [ "r4" ] }, "us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleAndMaturityOfMarketableSecurities", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Sales and maturities of marketable securities", "label": "Proceeds from Sale and Maturity of Marketable Securities", "documentation": "The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities (held-to-maturity or available-for-sale) during the period." } } }, "auth_ref": [] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from exercise of stock options", "label": "Proceeds from Stock Options Exercised", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r4", "r17" ] }, "qlys_PropertyAndEquipmentNetAndOperatingLeasesRightOfUseAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "PropertyAndEquipmentNetAndOperatingLeasesRightOfUseAssets", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total Long-lived Assets", "label": "Property And equipment, Net And Operating Leases - Right Of Use Assets", "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 and right-of-use assets under operating leases." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total property and equipment", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization", "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset." } } }, "auth_ref": [ "r711", "r721", "r752" ] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails", "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Tangible Asset [Axis]", "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r9" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNet" ], "lang": { "en-us": { "role": { "terseLabel": "Property and Equipment, Net", "label": "Property, Plant and Equipment Disclosure [Text Block]", "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r96", "r121", "r126", "r127" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Computer equipment", "label": "Property, Plant and Equipment, Gross", "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." } } }, "auth_ref": [ "r97", "r136", "r484" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails", "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Line Items]", "label": "Property, Plant and Equipment [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 }, "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets", "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails", "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, net", "totalLabel": "Property and equipment, net", "label": "Property, Plant and Equipment, Net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r9", "r472", "r484", "r622" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Property, Plant and Equipment, Net", "label": "Property, Plant and Equipment [Table Text Block]", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r9" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails", "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Tangible Asset [Domain]", "label": "Long-Lived Tangible Asset [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r97" ] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Provision for credit losses", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r160", "r264" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure", "label": "Pay vs Performance Disclosure [Table]" } } }, "auth_ref": [ "r673" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure, Table", "label": "Pay vs Performance [Table Text Block]" } } }, "auth_ref": [ "r673" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Axis]", "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r291", "r292", "r293", "r294", "r324", "r331", "r358", "r359", "r360", "r436", "r460", "r492", "r510", "r511", "r564", "r566", "r568", "r569", "r575", "r593", "r594", "r605", "r610", "r616", "r623", "r626", "r753", "r757", "r799", "r800", "r801", "r802", "r803" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Domain]", "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r291", "r292", "r293", "r294", "r324", "r331", "r358", "r359", "r360", "r436", "r460", "r492", "r510", "r511", "r564", "r566", "r568", "r569", "r575", "r593", "r594", "r605", "r610", "r616", "r623", "r626", "r753", "r757", "r799", "r800", "r801", "r802", "r803" ] }, "us-gaap_ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent", "crdr": "debit", "calculation": { "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails": { "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Amount reclassified into income during the period", "label": "Reclassification from AOCI, Current Period, before Tax, Attributable to Parent", "documentation": "Amount before tax of reclassification adjustments of other comprehensive income (loss) attributable to parent." } } }, "auth_ref": [ "r26" ] }, "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeAxis", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reclassification out of Accumulated Other Comprehensive Income [Axis]", "label": "Reclassification out of Accumulated Other Comprehensive Income [Axis]", "documentation": "Information by item reclassified out of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r157" ] }, "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeDomain", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reclassification out of Accumulated Other Comprehensive Income [Domain]", "label": "Reclassification out of Accumulated Other Comprehensive Income [Domain]", "documentation": "Item reclassified out of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r157" ] }, "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reclassification out of Accumulated Other Comprehensive Income", "label": "Reclassification out of Accumulated Other Comprehensive Income [Member]", "documentation": "Identifies item reclassified out of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r157" ] }, "us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Amounts Reclassified from AOCI to the Statements of Operations", "label": "Reclassification out of Accumulated Other Comprehensive Income [Table Text Block]", "documentation": "Tabular disclosure of information about items reclassified out of accumulated other comprehensive income (loss)." } } }, "auth_ref": [] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "auth_ref": [ "r640", "r651", "r661", "r686" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": -1.0, "order": 1.0 }, "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails", "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Research and development", "negatedTerseLabel": "Research and development", "label": "Research and Development Expense", "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." } } }, "auth_ref": [ "r66", "r368", "r804" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Research and development", "label": "Research and Development Expense [Member]", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date:", "label": "Restatement Determination Date [Axis]" } } }, "auth_ref": [ "r641", "r652", "r662", "r687" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date", "label": "Restatement Determination Date" } } }, "auth_ref": [ "r642", "r653", "r663", "r688" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement does not require Recovery", "label": "Restatement Does Not Require Recovery [Text Block]" } } }, "auth_ref": [ "r649", "r660", "r670", "r695" ] }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Domain]", "label": "Cash and Cash Equivalents [Domain]", "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." } } }, "auth_ref": [ "r134" ] }, "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalentsNoncurrent", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Noncurrent restricted cash", "label": "Restricted Cash and Cash Equivalents, Noncurrent", "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." } } }, "auth_ref": [ "r29", "r118", "r163" ] }, "us-gaap_RestrictedCashCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashCurrent", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted cash", "label": "Restricted Cash, Current", "documentation": "Amount of cash restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits." } } }, "auth_ref": [ "r720", "r727" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted stock units", "label": "Restricted Stock Units (RSUs) [Member]", "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." } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated deficit", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r70", "r101", "r481", "r496", "r498", "r501", "r521", "r622" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Deficit", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r130", "r166", "r167", "r168", "r170", "r176", "r178", "r258", "r259", "r364", "r365", "r366", "r380", "r381", "r393", "r395", "r396", "r398", "r400", "r493", "r495", "r503", "r811" ] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 2.0 }, "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails", "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations", "http://www.qualys.com/role/RevenuefromContractswithCustomersRevenuebySalesChannelDetails", "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenues", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise." } } }, "auth_ref": [ "r201", "r202", "r207", "r211", "r212", "r218", "r220", "r222", "r319", "r320", "r462" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomers" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue from Contracts with Customers", "label": "Revenue from Contract with Customer [Text Block]", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r129", "r311", "r312", "r313", "r314", "r315", "r316", "r317", "r318", "r323" ] }, "us-gaap_RevenueRecognitionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRecognitionAbstract", "lang": { "en-us": { "role": { "label": "Revenue Recognition [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remaining performance obligation", "label": "Revenue, Remaining Performance Obligation, Amount", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r124" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails", "http://www.qualys.com/role/RevenuefromContractswithCustomersRevenuebySalesChannelDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remaining performance obligation, period", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r125" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r125" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersExpectedRevenuefromAllRemainingPerformanceObligationsDetails", "http://www.qualys.com/role/RevenuefromContractswithCustomersRevenuebySalesChannelDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Expected Revenue from Performance Obligations", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]", "documentation": "Tabular disclosure of expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [ "r712" ] }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "presentation": [ "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenues from External Customers and Long-Lived Assets [Line Items]", "label": "Revenues from External Customers and Long-Lived Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/LeasesSupplementalCashFlowInformationDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Lease liabilities arising from obtaining right-of-use assets", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r425", "r621" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Adopted", "label": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r704" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Terminated", "label": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r704" ] }, "us-gaap_SalesChannelDirectlyToConsumerMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesChannelDirectlyToConsumerMember", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersRevenuebySalesChannelDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Direct", "label": "Sales Channel, Directly to Consumer [Member]", "documentation": "Contract with customer in which good or service is transferred directly to consumer." } } }, "auth_ref": [ "r612" ] }, "us-gaap_SalesChannelThroughIntermediaryMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesChannelThroughIntermediaryMember", "presentation": [ "http://www.qualys.com/role/RevenuefromContractswithCustomersRevenuebySalesChannelDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Partner", "label": "Sales Channel, Through Intermediary [Member]", "documentation": "Contract with customer in which good or service is transferred through intermediary." } } }, "auth_ref": [ "r612" ] }, "qlys_ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Scanner Appliances and Other Computer Equipment Not Placed In Service", "label": "Scanner Appliances and Other Computer Equipment Not Placed In Service [Member]", "documentation": "Represents scanner appliances and other computer equipment not placed in service." } } }, "auth_ref": [] }, "qlys_ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Scanner Appliances and Other Computer Equipment", "label": "Scanner Appliances and Other Computer Equipment Subject To Subscription [Member]", "documentation": "Represents information related to scanner appliances and other computer equipment subject to subscription." } } }, "auth_ref": [] }, "qlys_ScannerAppliancesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "ScannerAppliancesMember", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Scanner appliances", "label": "Scanner Appliances [Member]", "documentation": "Represents information related to scanner appliances." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Accumulated Other Comprehensive Income (Loss)", "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)." } } }, "auth_ref": [ "r26", "r791", "r792" ] }, "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of the Carrying Value of Intangible Assets", "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]", "documentation": "Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company." } } }, "auth_ref": [ "r37" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "presentation": [ "http://www.qualys.com/role/NetIncomePerShareAntidilutiveNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities." } } }, "auth_ref": [ "r30" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "presentation": [ "http://www.qualys.com/role/NetIncomePerShareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Potentially Dilutive Shares Excluded from Diluted Net Income Per Share Calculation", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "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." } } }, "auth_ref": [ "r30" ] }, "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Gains (Losses) Recognized from Forward Contracts and Other Foreign Currency Transactions in Other Income (Expense)", "label": "Derivative Instruments, Gain (Loss) [Table Text Block]", "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments." } } }, "auth_ref": [ "r53", "r56", "r392" ] }, "us-gaap_ScheduleOfDerivativeInstrumentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDerivativeInstrumentsTextBlock", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Derivative Instruments", "label": "Schedule of Derivative Instruments [Table Text Block]", "documentation": "Tabular disclosure of pertinent information about a derivative or group of derivatives on a disaggregated basis, such as for individual instruments, or small groups of similar instruments. May include a combination of the type of instrument, risks being hedged, notional amount, hedge designation, related hedged item, inception date, maturity date, or other relevant item." } } }, "auth_ref": [ "r13", "r48", "r49", "r50", "r52", "r54", "r56", "r59", "r60" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.qualys.com/role/NetIncomePerShareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Earnings Per Share, Basic and Diluted", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r732" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Stock-Based Compensation Expense in Statements of Operations", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "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." } } }, "auth_ref": [ "r45" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetCarryingValueofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r37", "r40", "r463" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.qualys.com/role/PropertyandEquipmentNetNarrativeDetails", "http://www.qualys.com/role/PropertyandEquipmentNetPropertyandEquipmentNetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Table]", "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r9" ] }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock", "presentation": [ "http://www.qualys.com/role/SegmentandGeographicAreaInformationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas", "label": "Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]", "documentation": "Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries." } } }, "auth_ref": [ "r34", "r79" ] }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "presentation": [ "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries." } } }, "auth_ref": [ "r34", "r75" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r332", "r334", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Stock Option Activity", "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]", "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value." } } }, "auth_ref": [ "r15", "r16", "r44" ] }, "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of RSU Activity", "label": "Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]", "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." } } }, "auth_ref": [] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.qualys.com/role/IntangibleAssetsNetTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r40" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r635" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r637" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Domain]", "label": "Geographical [Domain]" } } }, "auth_ref": [ "r220", "r221", "r506", "r507", "r508", "r565", "r567", "r570", "r576", "r584", "r585", "r586", "r587", "r588", "r589", "r590", "r591", "r592", "r595", "r611", "r626", "r758", "r807" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.qualys.com/role/SegmentandGeographicAreaInformation" ], "lang": { "en-us": { "role": { "terseLabel": "Segment and Geographic Area Information", "label": "Segment Reporting Disclosure [Text Block]", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r196", "r197", "r198", "r199", "r200", "r206", "r210", "r214", "r215", "r216", "r217", "r218", "r219", "r222" ] }, "us-gaap_SellingAndMarketingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpense", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 }, "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails", "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Sales and marketing", "negatedTerseLabel": "Sales and marketing", "label": "Selling and Marketing Expense", "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services." } } }, "auth_ref": [] }, "us-gaap_SellingAndMarketingExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpenseMember", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sales and marketing", "label": "Selling and Marketing Expense [Member]", "documentation": "Primary financial statement caption encompassing selling and marketing expense." } } }, "auth_ref": [ "r78" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofCashFlows" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation, net of amounts capitalized", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r7" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting period (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition." } } }, "auth_ref": [ "r617" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Forfeited (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r352" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Forfeited (in USD per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event." } } }, "auth_ref": [ "r352" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r350" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in USD per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r350" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance (in shares)", "periodEndLabel": "Ending balance (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r347", "r348" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding RSUs", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance (in USD per share)", "periodEndLabel": "Ending balance (in USD per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r347", "r348" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Grant Date Fair Value Per Share", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Vested (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r351" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vested (in USD per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement." } } }, "auth_ref": [ "r351" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofStockbasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r332", "r334", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based compensation, additional shares available (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Additional Shares Authorized", "documentation": "Number of additional shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares authorized for issuance (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r619" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares available for grant (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant", "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." } } }, "auth_ref": [ "r43" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Options Additional Disclosures", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Canceled (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period", "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired." } } }, "auth_ref": [ "r766" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Canceled (in USD per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price", "documentation": "Weighted average price of options that were either forfeited or expired." } } }, "auth_ref": [ "r766" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r343" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Intrinsic Value", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value", "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding." } } }, "auth_ref": [ "r43" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance (in shares)", "periodEndLabel": "Ending balance (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r339", "r340" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding Options", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance (in USD per share)", "periodEndLabel": "Ending balance (in USD per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r339", "r340" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Exercise Price", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Exercisable as of March 31, 2024", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value", "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r356" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding options, exercisable (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number", "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r356" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average exercise price, exercisable (in USD per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price", "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r356" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vested and expected to vest as of March 31, 2024", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value", "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r355" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vested and expected to vest (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number", "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r355" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vested and expected to vest (in USD per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price", "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r355" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Domain]", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Exercised (in USD per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r344" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in USD per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options." } } }, "auth_ref": [ "r343" ] }, "qlys_ShareRepurchaseProgramTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "ShareRepurchaseProgramTableTextBlock", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Share Repurchase Program", "label": "Share Repurchase Program [Table Text Block]", "documentation": "Tabular disclosure of share repurchase program." } } }, "auth_ref": [] }, "qlys_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingNumber", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding and expected to vest (in shares)", "label": "Expected to vest, number of shares (in shares)", "documentation": "Represents vested and expected to vest outstanding number" } } }, "auth_ref": [] }, "qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding and expected to vest (in USD per share)", "label": "Expected to vest, weighted average grant date fair value (in dollars per share)", "documentation": "Represents weighted average exercise for share-based compensation arrangement by share-based payment award for equity instruments other than options, expected to vest." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expiration period", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period", "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." } } }, "auth_ref": [ "r618" ] }, "qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardOfferingPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOfferingPeriod", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Offering period (in months)", "label": "qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardOfferingPeriod", "documentation": "Represents the offering period under a share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average remaining contractual life, balance (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r103" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average remaining contractual life, exercisable (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term", "documentation": "Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r356" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average remaining contractual life, vested and expected to vest (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term", "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r355" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Purchase price of stock, percentage", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent", "documentation": "Purchase price of common stock expressed as a percentage of its fair value." } } }, "auth_ref": [] }, "qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting range (percentage)", "label": "qlys_SharebasedCompensationArrangementBySharebasedPaymentAwardTargetPercentage", "documentation": "The target percentage for vesting of equity-based award under share based payment arrangement." } } }, "auth_ref": [] }, "qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger": { "xbrltype": "percentItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares that will vest upon trigger (in percentage)", "label": "qlys_SharebasedCompensationPercentageOfSharesThatWillVestUponTrigger", "documentation": "Represents percentage of shares that will vest upon trigger for share-based compensation." } } }, "auth_ref": [] }, "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensation" ], "lang": { "en-us": { "role": { "terseLabel": "Stockholders' Equity and Stock-based Compensation", "label": "Shareholders' Equity and Share-Based Payments [Text Block]", "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP)." } } }, "auth_ref": [ "r100", "r102" ] }, "us-gaap_SharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesOutstanding", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance (in shares)", "periodEndLabel": "Ending balance (in shares)", "label": "Shares, Outstanding", "documentation": "Number of shares issued which are neither cancelled nor held in the treasury." } } }, "auth_ref": [] }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "negatedLabel": "Taxes related to net share settlement of equity awards (in shares)", "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_ShortTermInvestmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermInvestmentsMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Short-term marketable securities", "label": "Short-Term Investments [Member]", "documentation": "Investments which are not otherwise included in another category or item that the entity has the intent to sell or dispose of within one year from the date of the balance sheet." } } }, "auth_ref": [ "r577", "r578", "r579", "r597" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossAmountsReclassifiedfromAOCIDetails", "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails", "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r12", "r24", "r130", "r155", "r156", "r157", "r166", "r167", "r168", "r170", "r176", "r178", "r195", "r258", "r259", "r308", "r364", "r365", "r366", "r380", "r381", "r393", "r394", "r395", "r396", "r397", "r398", "r400", "r415", "r416", "r417", "r418", "r419", "r420", "r429", "r493", "r494", "r495", "r503", "r561" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Axis]", "label": "Geographical [Axis]" } } }, "auth_ref": [ "r220", "r221", "r506", "r507", "r508", "r565", "r567", "r570", "r576", "r581", "r584", "r585", "r586", "r587", "r588", "r589", "r590", "r591", "r592", "r595", "r611", "r626", "r758", "r807" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Line Items]", "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r166", "r167", "r168", "r195", "r462", "r499", "r505", "r512", "r513", "r514", "r515", "r516", "r517", "r520", "r523", "r524", "r525", "r526", "r527", "r530", "r531", "r532", "r533", "r535", "r536", "r537", "r538", "r539", "r541", "r543", "r544", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r561", "r627" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Cash Flows [Abstract]", "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Financial Position [Abstract]", "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "label": "Statement of Comprehensive Income [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r166", "r167", "r168", "r195", "r462", "r499", "r505", "r512", "r513", "r514", "r515", "r516", "r517", "r520", "r523", "r524", "r525", "r526", "r527", "r530", "r531", "r532", "r533", "r535", "r536", "r537", "r538", "r539", "r541", "r543", "r544", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r556", "r557", "r561", "r627" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Price or TSR Estimation Method", "label": "Stock Price or TSR Estimation Method [Text Block]" } } }, "auth_ref": [ "r644", "r655", "r665", "r690" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Appreciation Rights (SARs)", "label": "Stock Appreciation Rights (SARs) [Member]", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock through employee stock purchase plan (in shares)", "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan." } } }, "auth_ref": [ "r12", "r67", "r68", "r101" ] }, "qlys_StockIssuedDuringPeriodSharesRestrictedStockAwardVested": { "xbrltype": "sharesItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardVested", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock upon vesting of restricted stock units (in shares)", "label": "Issuance of common stock upon vesting of restricted stock units (in shares)", "documentation": "Number of shares issued during period for restricted stock vested." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSharebasedCompensationandStockOptionsActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock upon exercise of stock options (in shares)", "negatedLabel": "Exercised (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r12", "r67", "r68", "r101", "r344" ] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock through employee stock purchase plan", "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan." } } }, "auth_ref": [ "r12", "r67", "r68", "r101" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock upon exercise of stock options", "label": "Stock Issued During Period, Value, Stock Options Exercised", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r12", "r24", "r101" ] }, "qlys_StockRepurchaseProgramAdditionalAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "StockRepurchaseProgramAdditionalAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additional authorized amount", "label": "Additional Authorized Dollar Value", "documentation": "Amount of additional stock repurchase plan authorized 1." } } }, "auth_ref": [] }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Stock repurchase program, authorized amount", "label": "Stock Repurchase Program, Authorized Amount", "documentation": "Amount of stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Authorized repurchase amount remaining", "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "documentation": "Amount remaining of a stock repurchase plan authorized." } } }, "auth_ref": [] }, "qlys_StockRepurchaseProgramRollForward": { "xbrltype": "stringItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "StockRepurchaseProgramRollForward", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationScheduleofRepurchaseAgreementsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Authorized Dollar Value", "label": "Stock Repurchase Program [Roll Forward]", "documentation": "Stock Repurchase Program" } } }, "auth_ref": [] }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares repurchased and retired (in shares)", "label": "Stock Repurchased and Retired During Period, Shares", "documentation": "Number of shares that have been repurchased and retired during the period." } } }, "auth_ref": [ "r12", "r67", "r68", "r101" ] }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares repurchased and retired", "label": "Stock Repurchased and Retired During Period, Value", "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital)." } } }, "auth_ref": [ "r12", "r67", "r68", "r101" ] }, "us-gaap_StockRepurchasedDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodShares", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "negatedLabel": "Repurchase of common stock (in shares)", "label": "Stock Repurchased During Period, Shares", "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r12", "r67", "r68", "r101", "r500", "r561", "r580" ] }, "us-gaap_StockRepurchasedDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "negatedLabel": "Repurchase of common stock", "label": "Stock Repurchased During Period, Value", "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r12", "r67", "r68", "r101", "r503", "r561", "r580", "r633" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.qualys.com/role/AccumulatedOtherComprehensiveIncomeLossComponentsandChangesDetails", "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets", "http://www.qualys.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "lang": { "en-us": { "role": { "totalLabel": "Total stockholders\u2019 equity", "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Equity, Attributable to Parent", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r68", "r71", "r72", "r92", "r522", "r540", "r562", "r563", "r622", "r634", "r728", "r746", "r790", "r811" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "terseLabel": "Stockholders\u2019 equity:", "label": "Equity, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "qlys_SumedhThakarMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "SumedhThakarMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Sumedh Thakar [Member]", "documentation": "Sumedh Thakar" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Tabular List, Table", "label": "Tabular List [Table Text Block]" } } }, "auth_ref": [ "r684" ] }, "qlys_The2012EquityIncentivePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "The2012EquityIncentivePlanMember", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "The 2012 Equity Incentive Plan", "label": "The 2012 Equity Incentive Plan [Member]", "documentation": "Represents plan 2012." } } }, "auth_ref": [] }, "qlys_The2021EmployeeStockPurchasePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "The2021EmployeeStockPurchasePlanMember", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "The 2021 Employee Stock Purchase Plan", "label": "The 2021 Employee Stock Purchase Plan [Member]", "documentation": "Information related to the 2021 Employee Stock Purchase Plan." } } }, "auth_ref": [] }, "srt_TitleOfIndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualAxis", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Title of Individual [Axis]", "label": "Title of Individual [Axis]" } } }, "auth_ref": [ "r734", "r795" ] }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "presentation": [ "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationNarrativeDetails", "http://www.qualys.com/role/StockholdersEquityandStockbasedCompensationSummaryofRestrictedStockUnitActivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Title of Individual [Domain]", "label": "Title of Individual [Domain]" } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Amount", "label": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r676" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Vs Peer Group", "label": "Total Shareholder Return Vs Peer Group [Text Block]" } } }, "auth_ref": [ "r683" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangement:", "label": "Trading Arrangement [Axis]" } } }, "auth_ref": [ "r703" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangements, by Individual", "label": "Trading Arrangements, by Individual [Table]" } } }, "auth_ref": [ "r705" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.qualys.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instruments [Domain]", "label": "Financial Instruments [Domain]", "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms." } } }, "auth_ref": [ "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r305", "r307", "r399", "r430", "r431", "r432", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r487", "r713", "r714", "r715", "r716", "r717", "r718", "r719", "r742", "r743", "r744", "r745" ] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Adoption Date", "label": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r706" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Arrangement Duration", "label": "Trading Arrangement Duration" } } }, "auth_ref": [ "r707" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r705" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Title", "label": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r705" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Available", "label": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r708" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Termination Date", "label": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r706" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.qualys.com/role/SegmentandGeographicAreaInformationRevenueandPropertyandEquipmentNetbyGeographicAreaDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United States", "label": "UNITED STATES" } } }, "auth_ref": [] }, "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "USGovernmentAgenciesDebtSecuritiesMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails", "http://www.qualys.com/role/FairValueofFinancialInstrumentsSummaryofSecuritiesinUnrealizedLossPositionsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "U.S. Treasury and government agencies", "label": "US Government Agencies Debt Securities [Member]", "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB)." } } }, "auth_ref": [ "r601", "r613", "r805" ] }, "us-gaap_USGovernmentAgenciesSecuritiesAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "USGovernmentAgenciesSecuritiesAtCarryingValue", "crdr": "debit", "calculation": { "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails": { "parentTag": "us-gaap_FinancialInstrumentsOwnedAtFairValue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "U.S. Treasury and government agencies", "label": "US Government Agencies Securities, at Carrying Value", "documentation": "Debt securities issued by a United States government agency such as Government National Mortgage Association (Ginnie Mae), Federal Home Loan Mortgage Corporation (Freddie Mac), and Federal National Mortgage Association (Fannie Mae), which are 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. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months." } } }, "auth_ref": [] }, "us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "USGovernmentCorporationsAndAgenciesSecuritiesMember", "presentation": [ "http://www.qualys.com/role/FairValueofFinancialInstrumentsCashandCashEquivalentsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "U.S. Treasury and government agencies", "label": "US Government Corporations and Agencies Securities [Member]", "documentation": "This category includes information about debt issued by US Government Corporations and Agencies. Investments in such US Government Corporations may include debt securities issued by the Government National Mortgage Association (Ginnie Mae) and by the Federal National Mortgage Association (Fannie Mae) and the Federal Home Loan Mortgage Corporation (Freddie Mac)." } } }, "auth_ref": [ "r805" ] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Security Market Price Change", "label": "Underlying Security Market Price Change, Percent" } } }, "auth_ref": [ "r702" ] }, "us-gaap_UnrecognizedTaxBenefits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefits", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrecognized tax benefits", "label": "Unrecognized Tax Benefits", "documentation": "Amount of unrecognized tax benefits." } } }, "auth_ref": [ "r370", "r376" ] }, "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/IncomeTaxesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrecognized tax benefits effecting the tax rate", "label": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate", "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate." } } }, "auth_ref": [ "r377" ] }, "us-gaap_UnrecordedUnconditionalPurchaseObligationBalanceSheetAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecordedUnconditionalPurchaseObligationBalanceSheetAmount", "crdr": "credit", "presentation": [ "http://www.qualys.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Leases not yet commenced", "label": "Unrecorded Unconditional Purchase Obligation", "documentation": "Amount of the unrecorded obligation to transfer funds in the future for fixed or minimum amounts or quantities of goods or services at fixed or minimum prices (for example, as in take-or-pay contracts or throughput contracts)." } } }, "auth_ref": [ "r289" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.qualys.com/role/DescriptionofBusinessandSummaryofSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Use of Estimates", "label": "Use of Estimates, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r31", "r32", "r33", "r119", "r120", "r122", "r123" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations", "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in shares)", "totalLabel": "Diluted weighted average shares (in shares)", "label": "Weighted Average Number of Shares Outstanding, Diluted", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r181", "r190" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average shares used in computing net income per share:", "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.qualys.com/role/CondensedConsolidatedStatementsofOperations", "http://www.qualys.com/role/NetIncomePerShareBasicandDilutedNetIncomePerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in shares)", "verboseLabel": "Basic weighted average shares (in shares)", "label": "Weighted Average Number of Shares Outstanding, Basic", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r180", "r190" ] }, "qlys_WendyPfeifferMember": { "xbrltype": "domainItemType", "nsuri": "http://www.qualys.com/20240331", "localname": "WendyPfeifferMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Wendy Pfeiffer [Member]", "documentation": "Wendy Pfeiffer" } } }, "auth_ref": [] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(f)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c),(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-2" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "((a)(1),(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-2" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4C", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-5" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-8" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480870/815-30-50-1" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "940", "SubTopic": "320", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481961/940-320-45-2" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "985", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.7(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481573/470-10-45-12A" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(e)(1)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "c", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-6" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-6" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-6" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-7" }, "r116": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2" }, "r117": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "210", "Topic": "946", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20" }, "r118": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "SubTopic": "210", "Topic": "954", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480632/954-210-45-5" }, "r119": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r120": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r121": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1" }, "r122": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11" }, "r123": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12" }, "r124": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r125": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r126": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6" }, "r127": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-26" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-2" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-5" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "340", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-3" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350-30/tableOfContent" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.F)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-10B" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4E" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2E", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2E" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(4)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-3A" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(1)(h))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(5)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "7", "Subparagraph": "(SX 210.12-15(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "7", "Subparagraph": "(SX 210.12-15(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "7", "Subparagraph": "(SX 210.12-15(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481058/954-310-45-1" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1" }, "r595": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r596": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Subparagraph": "(b)", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38" }, "r597": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "7", "Subparagraph": "(SX 210.12-15(Column A))", "SubTopic": "320", "Topic": "946", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-7" }, "r598": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r599": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22" }, "r600": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15" }, "r601": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r602": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r603": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r604": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31" }, "r605": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A" }, "r606": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8" }, "r607": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24" }, "r608": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B" }, "r609": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C" }, "r610": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r611": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r612": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91" }, "r613": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r614": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r615": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17" }, "r616": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8" }, "r617": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r618": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r619": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r620": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D" }, "r621": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53" }, "r622": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10" }, "r623": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F" }, "r624": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r625": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r626": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r627": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r628": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r629": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r630": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r631": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r632": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r633": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11" }, "r634": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r635": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r636": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r637": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r638": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r639": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r640": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r641": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r642": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r643": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r644": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r645": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r646": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r647": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r648": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r649": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r650": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r651": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r652": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r653": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r654": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r655": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r656": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r657": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r658": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r659": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r660": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r661": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r662": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r663": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r664": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r665": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r666": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r667": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r668": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r669": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r670": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r671": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r672": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r673": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r674": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r675": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r676": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r677": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r678": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r679": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r680": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r681": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r682": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r683": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r684": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r685": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r686": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r687": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r688": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r689": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r690": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r691": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r692": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r693": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r694": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r695": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r696": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r697": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r698": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r699": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r700": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r701": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r702": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r703": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r704": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r705": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r706": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r707": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r708": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r709": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r710": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r711": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r712": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r713": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r714": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r715": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r716": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r717": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r718": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r719": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r720": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r721": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r722": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r723": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4" }, "r724": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5" }, "r725": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6" }, "r726": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r727": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8" }, "r728": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r729": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23" }, "r730": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24" }, "r731": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5" }, "r732": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r733": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18" }, "r734": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13" }, "r735": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-1" }, "r736": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-11" }, "r737": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r738": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r739": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r740": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r741": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r742": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9" }, "r743": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r744": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r745": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r746": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3" }, "r747": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4" }, "r748": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r749": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r750": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r751": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r752": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r753": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10" }, "r754": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r755": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r756": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r757": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r758": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5" }, "r759": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r760": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r761": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r762": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r763": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r764": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r765": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r766": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r767": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r768": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r769": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r770": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r771": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r772": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r773": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r774": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r775": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r776": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r777": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r778": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r779": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r780": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r781": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r782": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r783": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r784": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r785": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r786": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A" }, "r787": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B" }, "r788": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1" }, "r789": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r790": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28" }, "r791": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r792": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1" }, "r793": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4" }, "r794": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r795": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2" }, "r796": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r797": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7" }, "r798": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r799": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r800": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r801": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r802": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r803": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r804": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "912", "SubTopic": "730", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1" }, "r805": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "942", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480832/942-320-50-2" }, "r806": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r807": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B" }, "r808": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480109/944-80-50-1" }, "r809": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r810": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r811": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r812": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r813": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r814": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r815": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r816": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" } } } ZIP 83 0001107843-24-000016-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001107843-24-000016-xbrl.zip M4$L#!!0 ( .Z(IUB[*S/%JZP! !0#%0 1 <6QY9I^=Z@B@)'%W5?,$9;MZ'%MENXUK>N?]LI%(B=&4 MD&A=;-.__CDG4P(!PB 0)@4YT>.RI924>>ZW//GY_[Z.;>69>K[E.K_^7:NJ M?U>H8[BFY3S]^O=>__+FYN__M_L?G_^_2N5_OCQ\4ZY<(QQ3)U N/4H":BHO M5C!2@A%5_G"]G]8S4>YM$@Q=;URI\,CT>%M_U+HQ&4S-K MIEKIM.%'W=!HA>B-1H74FKI1-TE+[>CEIPNBU=JD0=7*T&C02KU>[U2(J6D5 MHS7LF&9=:YJ&5C8O&AU:KQE:P]2-0;W=J;=UM47U9D>K&:F^U*JN]_11 MZW0Z'U_Q9=&@"^LUJ, +%@;'+[0TQJI<\*;B1G=?&G/5VS.:!PW55K<%J_( X!IV-]ZTT$,%8[>/_?/_6-T9T3"HK3P%(?JX' M+=Z-AQINZ 3>-!TLTUUEMKX".22S:7X!Z-;7[D-^=X7O=:K99 M=#S<]X)5J,/%Q?F^!NDO?8MP=+6BZA5-CU^R L_%%>/M ?$Y_"]L CQ>HD[E M1[_4_3RBQ.Q^'M. */A\A?X96L^_EBY=)P!^KSQ.)_"8P?_ZM130U^ C(_V/ MW?_XC__X'%B!3;M(CI68[CY_Y!<_?^2O'KCFM/O9M)X5/YC:]->2:?D3FTPO M'->A, 'K]0('4H__:IDF==BOFES [C]@WCDE?_YM.2XH%_#VLZ(U25P5:U-16NU[[_''AK1D^S\*U_ABC_[1JO411CG]8%[ M&.Z:BY]HE[J_[[&"'KS=9%^PR5-)X13[:PE(_&)HO5*S,B2V/P=:I]1E%[)] M4.W$GXP$V,4#?:9.2!] U%@.*#!8&?LT2)R[@6T],:ZY?IU0 S37HS6&(7?# M/ESUA\3 >QP4VL*,4:!?F*$W!3S$,VXV:D!/U58CVXPU]8@SKI>Z&3&J:4>< M;B/[=/4C3K>9?;JU(TZWE7VZ=5 :OG7A6#9(?R^DAYM]/,DVZ):W)U5K+L^B M/R(>_0(JSKQTQQ/J^.RS/0\4YQ-%B?1E.A]R3Z9XJ?="/)/]^"?U S[UY$Q: M3>"=^]J_L@<XKG!J;DQ2-\P?.N0H_-)Q5#)IFIJXX*Y%]OZ!F_V-CGBTW\ MXJI ^[BHBSTZI* !#>JGF!!H7ESXS-2#.2G,?KL(P'#XM>1;XXF-=@>[-O)P MR@O60O75-Q'?'Q<^$GW3=T./_<7,THO0L0(V;Q]1Z9?BZV-*_-"C7?X7O_GY MX^*]^&]\Q\K[0IC#\LLB*_'B1_\JZ[N CABQS=X)QH]ETN10!F<2N-Z.GUUY M'B]>4<<%_DI[[;:@67C%Q\79O[5J&GIK(7C]XR$3!)\&D[7O^NW+?:9W6<[Z M>=W<9IN70=93R64O&Y4XX7A 5Z?&_YK KYG>YM,G%&@KKT-.NXAN;O/"2+#P MU8)I%U^GS,:._P)B@+^'%O44QO0TU>^]O/GO1=M[^>'9#!;?/F%"./X+_$8O M0$N;F;X558/_XN?F]V;3-!-#:\P87[P3_QU_Y./"NM/!H L !NY !]'*ZN!O MS%X4W=EE937A5I;$V3XKJXNULEKL&NZ_LH8 *UM@RMKV3%G+CRF; H A@6 ] M/P2WQ%I9+3^F;!]Z91$%^Y\Q &>(S MUW^&&$L"#\)UX$^_]VJ!E1D/@^MCU^D'KO&3O^OSQ]1/S* QF\G1I$6GX"#O MF::%;@RQ[XEEWCB79&(%Q"X*^#6UZ/ WC' N"BZ MQ_ZN7DJ.@->+[JJ_E^#/,=2I%]TE/X;@SQ/^1??,CRWX\\1%T?WO=Q7\>0*^ MZ/[S.X>GCI/OTPOO1!\]/'4DQ$F'6G $2>^[0,@JNJO^?CGT_#S#HKODQTFB MYP;_6M$]\V-[*7GBHN@>^SLGT?,#O+"N^E=B>?\D=DB_3&>__@/>2#QC-/U& MGZF]B('9H!MG$@8^&Z%M0,,ND_G.ZYS9;C2/_AE2QYBNF4EBJ/] C=#S@#2* M$KBL"1LXR(,R=$D9NU.&L)&-]7N^@S,T_4Z\GS3X&CKF)K]G%T+H^3X-+FWB M+X=\%N=5&(4M;-AG&WQCG(UZAH4Q'UBU1/%C3+E#O-<">U'_S?WF7H. M+NK2]28N[SO@PW.])] %%O7[*.JM 'XK##$(&^8Z808L0H1K'J1^,\^3"KY9#')3D-P!=CS5P>E/6W[K!C6/8H4G-/ZQ@E,[$A:&*(D2W M!*4*+HSI%1T$!13!10A>"8GXI$:.57!!:: (,;,<:4 1)#D:-@165 &6,ZE2%CMS7L$JGDG MVL3$!/9@^3^7]E>Z'K6>G.M78X2GG5ZZ>!2V$>05=4B;A/\;L9QOKN]_F?Z# MFD^6\_1 ;9Y^'UF3U:SP5]M]B0;F-:WH=5?4A[7STUX7/AO?H&;/C\;.YU\4 M&ZPEK$;%K>-:'Z[]]N0?'Z3KTW,((4&%C M.$((T$TT>>LZYHPL"X-S8:-'$N<'TT;"!JO$-0;R9#EA@U+B@C]/ZA@51 6]A(40&8Q#_^P9-M8<,IXG.4".@3-LY0 /8[C)76%C8, M(#Y''0@CPCKIQ6*2'$\_:POKN!>*2?+$B+"^? &8Q#_^$4UM88,#XG.4".B3 MP8:<7-OK& $-$[P'5^FC]/)$K$A=L. >K-!10FO=H2-Y0D,_QQ3L!UA(W<[P;_O M#H,7L-QN'(#(DS6P*=N_5QAN$#8.5QALY,D;PH;5,F'C&R4^';FV>0.VAOO, MC[(K"D=HJK"!-,&1D",C:*JPL;.MD,"VB/0-XCC4ZTW@E<0QBM/30%.%#1J) M"OU<:5_8:$DF ?0U]!PK"#T* []:K_A;@3A V%B!V#C(E0^*[2FG2R$8/8O# M+/AO_7#P;VH$CR[\XAN>-<$03G'XI=A>M?"XRI6OBNV!9\35K1O ZPR,+_:I M]VP9F^*= C%5L9USL1&5*T<=R6\/ -;F6VF%9^J$](&.B>58SM,]]8:N-T8T MW ULZXEE":Y?)R#*J/EHC6'(W; /5_TA,?!>/PZ)&G&*Y\SIZ4C1E).CIZ:D)T9/1XH/G1P]M20] M,7HZ4L3KY.BI+>F)T=.1HGXXI7*:)FRD)-3Y3QA(U>%@EYQ^(\82N1OH+=$=!OUC,&BA>JO/POT^_D MWZZ7=BM.\\M]\:N%UA_D4+5 M >C"UBX52&_DF9K4A2UD$E9OY I^82,'PNN-7-$@;!"@P'HC5P0)Z^ECBW&&-IZ%Z, M41/.*?>]X.(!ST/@N,$_OX-V&8?CO'9Y2^3'R!!N[@<(8>,!O1?BF4M[ M*!)%-E] 'I@/U \\"RMLF)SXX5@;(V);V0Z/5F#3N^&-8UK/EAD2>VY'7+]2 M(T3FN!L.+>-4:T5JPD4A#F_228([)L$)%UDYO ,I">Z8!"=L4&F)+.8%IZN4 M\-#_49C =EVX$)$H !>!'>K"Q7!$P M*->/#X+[YO*3Z)8/Z_$#; IE'Z(7O1#X$2X *2A^CM3(9 MHQ[ @.]/Q['8=,WQ#[ E5PB.$C9 )SS&CL5CPD;.ML)8G]JVY3P!PKX3[R<- MX/>39K"FL/$LL=%U).YJ"A=ERH2NWZA#/? <'+-GCBW' L.=H-MPVBPF7 "H M0#@[%I\)%YN1'G$JGH0+E0B.IV/QD["1BS7UU@L;I"\"-EH']^LSR0"M75$Q M19:+#&@=W G.NC9-K=34?-9V<&:[MX$Y5-KVD5M1&16WEL[:#.R+9 MUJ8Q?LL);R)T#UE8FP;+J^6SMH/;RMG6IC.:K.>SMH,;H]G65D.:S*E)8NO@ M=F!F&U?/398(9TEA_<)>AEMX5(; N'D6'PB7.KB*"+K0/&GMG )AV-# M-\^F.6WAT@1;0O?FM@BT*UQ>X-C0S95VA0O];X NBX/>!2/JS>_U/$J*DPQH M"Y<,$!+DN5*Y<+[I+,H/;S MFVU#Z%,C]*S HO[UJV&')C6_>N[XTAU/PH"5 MN-P-KXF'YQC[]]1C>8 OT_07G&DVIR.#Z2M] 1SJM^5SR?5=/#CG#> M^AG@^EA\+5P4X%UPS7/[ZPY3..6$?T>XP,2Y(/Q8'"Y8#R^E^AA\,[%:C0^LU0VN8NC&HMSOUMJZVJ-[L M:#6C.1RTR/^B*S=_Q@^F-H!_;#F5$<6SJR^T]B3X]&*9P>A"4]7_4UH85P'D M5&!&'C&""S\_B;X X=3C\-(055(9D;-G3B[\_ B9\ MY9:^* _NF#A_+_O$\>&5GA4-]*V_*'P5)L#^?.$SJJOJ)]MRZ&R&NOI_/B%< M*B8U7(]9!!>A ]# 43 =DCI=^CJR!E;PZ>@35$8>'?Y:^MMF7($T>R0#FRKN M4+E$6G "__-' @A$B,=X7,%F&I8^38AI@L54L>DPN&A5=5A#?,ECLV;7 'H! M^V+TJH'KP;0K #.;3'QZ$?_RR;3\B4VF0,%LY>RA3_"A)Z"D@1L$[OBB 9]X MIEZ D;R^4OJ/ MO;Z[[2N_V2KG^G\M_]&Y_NU8N[[Y_O^GW;^YN MC[B$92F0OH0_B#\"L@E+/Z %^/+_9T)0F,Z.#.W M_!Z"+P%VS?2!3EPO*"ELEUX ANAK<#&T7JE9";QPQE!ZJ?NZEIL"\QB@RTO: M,P#.P*%P>"CWH>>'8.$K@:OTJ8&6H*+5%-=3M,8'\Q8!*^7ZU1CA M"6M*SPCPMM:IU1= ))C=L9T:_ HKQH7. 73/7!WE&LQB,\+&*2::5*25>A3HQ&=9*W>_8<4>I:64%O;*M)?PB>*48E&*0&PT> M?,Y"[EXO!X?$]F>"L%[JNJF+OW3'8\O'8)PRM$!N.B&/M?%I'\,&5M[GX^G@V%[07+/PXE> V2T# M62Q'&A@BU2JU1K.I;ZW$"NA_''[*[8-@[($^L5Y(3H"'R\=8:X*E^*/W[5_] MLG)S>UD5&''I4/AP_4I )N-B43![LT4JQ%?\"34P/F\JEJ-8@:^ %$>;[Q>! MEG6N_G"]76UTFIDLP?77ZVJV-[TYJ?:!;$I.4.(81ED%"'9?\R91$H$5#5_R M>O=+UUST>S#JC[F]@$X\]QG?,W=X6J7N%;7)"_'H'E;G+/1]=EAX)*\W4=Z1 M=[];U,+M4K?5JJB-6EVK-]X$\$D0,MQ5%WY-YCMOFEQP]X=?AYX M'[M6DGC94.^).-9?[.]?SHWR.-ANJ@_5?E6)JI$\!J=%VE(X7I[#J;>U@AL?]_:\(U3/0I'W#]CA'"L9=10M8 MKI6ZS8:ZC.-?,I 2MH>U[T>NL^2H:O52MPV>:A,LU^+1T-R-^Z^_M76M]U -GA4VXULKSK\I!BDZN_J9'($'RL CPE38HP4 MPR:^?T1[^[B@\ B3ROWI>.#:'_QC.AY'!<1M%*]C)$'C[ K(R9>1!5?FPC2+ MRQJ)1B8Y)X'BN[9E+E;,%0,XVYLXD?Z9:OJ <=G,Q&GP!(>+-GV7E/U&H M:\J$>,HSL4.*F1[%'QTT"G-^^(CXF[/W#!D88__VK[X$=/Z$'R=F>4ICV5E% MP;+DIV(=,UA@M[W^5>]WA6W 4OA1+,JW;Y>; V:[Q#W^'?J!-7RC.OV@9C7N M,C P/C:8*L:(PGIAJC]!T%(6+$-[-)$U^:#]HHR(SW*BID)L&VYBTAP-W#]# M"\U;L&H'-!H []P]@ZZ8T(0Z=>-2@3#=JNL(J9GSE [P/4*KX(:@$?^1B MZB;.4 F,+)Z/6:J?!WL;]T4?!P%/.L+($Y$4" # >^,K2 ;J,V M\)#G.JA)[*E"0:M,E1M4,,1@L:TK$A %BP:6Y"&X(L$P MDP0=*0FR2(*LY322\;=C?. UHMBP%JH0PP#&]PAR+_*"A_HU]:H"%%M)O>&/ M06+ 5[Q8_P&?C $(4[0FX&V@@A%L3\J3Y[X$H_AN%8P+RJ9FTJ'EL.HU%EC' MJ*@.JUPS079;^Q0/VSA@[?3B<6A0E-9,LH1U)TR4@8-6T6.S*&D+54\N#MBI M=IKY5/C6JJUZ/L$[O:IOB+AM72'2J+:TG.* U5;C_>N7&9F]LY39J= !C07O M$CCSR?6F*;X=&\1XUH@&S=T\72UUOZ5+@+,ZI6OSU7<*)QRKO3E]S M;Q7!1ZU=SPF5;DZU.F(AZS;-"CA%A)T'[_77&4>G@=*L&HN!XTOHPXM\?^.^ M&UW;M/%F2Z[?DIKR'28\;5ZGF^3G29DQ,'YCL+B,O9--%*IO1:%K0^+B.+C# M-SQ)K)9)]7^M85K,BT6Z0'4Y+@M4A3[W0F&IE.T?3=E,!8XL?LN>XL=?+/@T MNK<.K,U%V?EL^4P5.L0Q+&*CR8IUU3@86_*8Q#-]!4ON+'-=<4GM _DEU;L4 M/0A2G(B'/Z*V/8M-? !*8($'OK?D;1]_?83P7["D(V-(K*#=\:.9F94^TL76 M$K7V5M=!=ZM6:Y4^N4]?FNQGBJW8W! MNRC>AE9$ IG)AE>R!]:[],!*=I2;N%P_7W@4TTK/=&V/N>C;ZOP1,O!=.PQ6 M'^&\V65[*-)ZHF7MC=>:]<8;>7/#](E6!AXE/RMD&%#O@M@O9.KCZM,;Z-4; M*0WTQ.V1=_2Y'+P=GJC%^K^'Q)[Z9>7&,;9.2 @S^EV_7RMU7Y?+N]O'Z M]G%],[F"IE1:U4XGGXQ*6ZNV6OED+YK53NWM' M>IJ'R_0<2KZJ LGZM^>RO:S'O78/EO]3^0IF'WCL?=[&-$7<9XC\IB*\LRO" M9\0LUAX9+NK2<'[ +Z[@'"SV3.@&'^V^]_"HW+ : $W[I'R]N>W=7M[TOBG@ M<-P]?.\]LGZ?J?@_E9SMP7&W%;]FQ5VSU+T)Z%C1JCNQIY2OQY"O@+2OL^CG M[#2Z-'MZ7P'[/ND.21@Y$48'=[' @PX&R.$WMK&!)8Z_$!OHA2K]$:4[4LK[ MJ%:)[VSXKN^G5B4[BXM>3">N8>>YT,> RMV$\L](QCX=S#AM;,C:F MR3PZPC-PGBD&&]TQE2Q^,C30E"Q^LNAM;\OBQ&?=KUZD[CX=S+FO: MEHS-ZBE&K@V?\/^N7/\9LK9SDL5/A ;:DL5/%KUUW'@1P)P"5UG#Z[G%7R5W MBXC^CDQ6B9>L:G6B9)4NDU6%X29$VG?BD"X.:$W<,,@[NJ&E5M2JIX.%=2D6!52K,;&;%V* MU0(Q%*^P"3Q #!.I]YYK4!.EJ)29IX/B;#)35B&+4(6,QYSP,N1Y'?+=XS^N M'V0-LN"J$)MORR)D(>:2$6O?Z!.QN0YD;4.E$CPAY-;V3'%):7D8:=F.I65/ MBLL"<51[85. 9LT2$%$S11/"%EYNF@6,I,(65F M38UD9D/*S.(P%&+MCG6'OG%X#UEXE926IX-<*2W%E)9QO6Y32LL",11@[?IU M9 TLN8_LE'"*3=#E/M%317"GU.T#7$D@/<'3PFJS]A;;;NJ:S]K('Z1K_O&J M1%?/56K G/0\6O=COV#9N_^D>_?KBR+NJ.WO'V[Z_ZU\[5T^WCTH_1_?O_<> M_K55 _RE-40G=/%+%C8)""YTO=HXVKDS=Z&G#*+#]/ ()C\<_)L:[-PK'R9L M#4&?.('B6?Y/GCD/'0.T#+$[Z5#-\RK2I?J.V^*"]X*CWV^(;9*B_X'K@RH+9%<;1'H[/E+<>P)L1FSRI# M7@8%,V8GR/LTGA@,9T>%P2.N8T_A!TP.W@-US'M\SH6"J\JYCSW<9 PRX :F$.L$0G@P568%,S/M Z6;0U M.^PZ<)_XR5?L=#(V5_:G-0]U\+<"'GX/B0?4#G-\8,<^PHJ4KS!*T=3*[U6% MG;4VC0\(&KHV0!0/ 8K 800AP?6YAA'"5#^X'IZS-GO"!<#96"EA*M3VZ0M, M@F[W9?[&7\H,'#'=E/%HRC!@"R@GCE@SXIW8.&"V#=N=;Y88^3&E$O#$UJTK/Y&^."&,M:;YP4@H=\H+_NL,R MG@87WX*E>$"M\-XDW2$A 3;@F\0NPV]3A=B^"T.PD9YBC1$HR!,Q(;"W$1., M+Y_"J\APB R4!-#ZTSX6#BBJ-6=B(.V(FW6/M;5JK;%9S%3TUM&D#.. 9M:S MQO)4:0L0TVM/XS$$0DORW M,@@PRQA%%,N?089"(A@2RT:ZAL%C2@.%OB)UR,3#^H4":C4"T/B&^!('ZAC,)Q M/2!OXRGA.8P4EC(;'G%)4K9QT;TJ\]G[X%V1Q)8D^1XDB;*&(PY/-@TY7260 MQT[>XX+.)!.NI"9@H*'],1-0S.ZB'K-)D" 9QIFAXM$_0\N;=ZO#Q\%$ C\4 M=!^W"=(%V +!O,1J79+&.Y+&HK !LP<^2%_!"&0GX(8#W_"L"9)0N8NSF ML8SF+=9Y32,;>3RQ+484,SF$0\!8)G.#+/UEBR*-! $>[\A$VD8*D@3S_F91 M9!HC#BCQC%%2$3$/#\0**!E_IC; ;#=#)(R9.HPN!4S71=J-BPXT=!8D#ZJR MN=6TX'C&'@+J+<4GS[AA$%_()=( Z'AH!3-OS(')1HZ$))-W(),8A6A!#'PK MX-K"PD -$P53<#+'?FP+)((+%HL(<8$!CK87,G$Q1^Q,[J#_;W*J02I9MK!! M' TL.Q906%SYS3I9OJX04#2R#O0"(.T8DP-4#W TT@(MHL'%C.7 M?>)1TS)8;+P\LQ7X([&(B6!],*0$R@ MA$PP73#XR _&9A&<-,$@D?:.4F K8Y)9J2:UP5O!35R,9;4Z/PX=GK#=T)RI M'+\<16RF"PIDB-'"9XR.D#A&/"0&J@ATAKDIR?03/H$D Y\# D%ZB#4)BZ2P M.2Q9KI'=,C-8EZ(^S/[A&B<2/CC!F8Q8D2J2[@Y,=W_P!$ 4Q[#B #LB@T=G M(AJ*HA\V,7Z"C3($T]-"$W<>U9B9)8 Y>-K@79['&&HF%K-:0*QX[C-'_^QS M\'>'?Q:F0#'W[RW)=@%-^7@:_CB7^/1;U99M,S*Q/B@7HW1L1QJ*W@ M7PYJ<<#]$T6V1]N>A:\POX=RGXS=$!1!G/Z-U#I7&M9"Q)71"Q<28]:XFCT! MADG@68.02PS^W4BHS&P$+C&BU,W, XI(:#D9BMJ)>I)R#NUE+,2@,)N2D 2) M>.4**3&'%.Q:=THIMV9MUV!G/[AA@,YKG++_X5BSTU_\6'E$\1$?:R> IHCB MA.,!6J'#.,OM^RX8)/@DRQRB\P->*=J44H7&U*DO;?>0NJ)=YR M23K%X5V41S/A)$/TQZ:#NS6LB13 C,_8F&&Q+H8\&&Q@E8]!)[PF9RX7HDPV MF8"ZF7@H7^82 ?WK*&3*=5)Y-76=='[BD"^^?8+M57R?KLWL1'%AASZ1.+W, M+&5)0>^@XI;4VCQH@:B.["'@Z6ED[2(= 9(]AZ=_L$F\-5==^% BO)]47: D M;9LZ3U$\A"D7B=X#H_>'PSU:BKIA&+#J-^IY6*\&[#NTR8L?AT+FNF,IJ)VL MZ@/[U*/$GZD>8J B0O=*SGHDQ3=2,F"0@0%*.::/@ M![5D@ CQ5_)XB?H!ENG%%\QS>S#], K9L-UN:QQP26+O3&(\_)ETKD''PTQ9 MC'0N>-#\=!U,XLY3?(FR2&:=3N=5T>#(C/W84>)[#Z9(/*GOMBT#TW\)B@*/ M.TKP),B'%:E(8GGG\ LO6YU3QPQKK)H$)4.T@8"9@::%H7<4"*Q":6)C[!ZE M#4O,)K07)YV4 %RB1,"FA(D]&Z7)/&,#CS/]%J5REFH#9)KF&(3R=2X*P&,( MXNIY[HS0 )/W<''DP!2?IK,"$Z;-L%@;QU&D+@^_,X^4S<)XT;Z!+>(9$M6' M]CK &_0XKX)CP40#"YY9G)O!$/'@&58F-D^Z/5NN368/A;%JL+QMZ""]K QM MC*7T[ ;*4-:2QMGMWZSELG^S)O=OOO]MJ7XJ^L_T\[5W1%IG M"Z0)0[=X2.,4O*L;QWA#4XDRV\N[VZOKV_[UE0*_]>^^W5SU'N&/+[UOP'37 M2O\?U]>/?>%7\2%T2&AB&N\7\>?*W'0WA'>80";T%:-W& #BM77,%UN_B@35 MUYFD8N6Z;C># M(..WYYJ]JG+M'O6^B;XM7Z MZW6UF=>DU';MS5=MZ!*0_2]6T9L:"6U\/J51#6>#M:UJ MWIDY-$!J]SO;X%+3RFS3M:[J]1DGK._%(V''8'=%#

)&6]MEZQ=ZG7W%S,0;UL0G" T8\0M\L ML8053)Y=,"I VB8UK#&Q_5]+^)=#QA1'5IX(F5P@??0<$_^YGA-'+[@DGH?I MJ'\2.Z0EA6=.P:-\#2Z<<%PQ719ZP=>6^'Y[QD3H= XKV %7;]7*K3;HR,6I M=KD+NP]J8N;;&D7Y:!/)'Z?)'_4C\(<&_*'6RLUF0Q#^R,FF*8I2?(C2YY2K MQ;7VC9X- JEL7VCFV* \YG!$_HBLQD5F&%JOU*S\13TWA0]TGL'3]$_[\L$; M]'@(/;&-<7KVQ+-!LFY!/)LE::W4UB/7"^H8"%35##) Z:) M0]-V$*S;VE.%YHT-@K7W3"P;@?G5]?",S_DY=%=T$,S_VI%KZL UK4ZYW6X) M8G_D&>TY>]K:('\;ETYE=9D\OPX]-,S#-SCB5UF M# I>#.M#XU"VZ9-@6]VXQOT_\Y1B\8N!TJ[<R,-L'ED)K(DJ7^UT M5LB+A;DRS7\3IVPY_Y4IMDK=5JN=,D%6U,42,9P7:EI9P4P,FWJ<9%BX52O' MC5/9SJ$-ARBK.LZTU!".G,O)A[CTZ(-6NQYB>V]1@+B3#ISNPH=B,(7W, ]QR3'7[(\\F[ M,4U=+75KS;*FZ8)8F=*#>3_A>P!RPHA\L]S2ZH*04YX!^5I#>!'\Z :X)7)_ M:1N!87,YQVDRSB;S=Q\6T4O=IMHHUS4M)S-E.R05P!(^5VK;9"/O0VVU4K?1 MZ90[G54W6C1J.ZG2OW2J^.8Z3S+.?[PX_ZWK&+OQ4;W4;7?*36&BL=).%B_2 MOSMU-4!*-\O-^HF9S2*+XOMX_R]KPO=G:+&#*E@P7]:Q[!R?X#"]MXD3@#]Y M'8/UEF9FB6:I6U/+6BON*&1GT/V&P'W C]P-?_B4N8E9N:,-W*&5 M:ZV]I:PT:\4CI U2-E="ZF"Y2KFVO[J6%NRVI'!%A]3#DTX"\AK%>J7YNH]D MC0%ZX^#9S8_DE4?>LAL=#;74;3;+C?WW)4CC53PJVB!6\Z,B#:A(+[>:HKA M9V"ZWC@!<9XL#,ON*U'/PL38(%'GX)PQP?6K88<(D=]@ARJI6ZG7)+.[$=A"++V!A3TD[=4:KN2NKU4K=5KM?WWJPB MC5+Q2&:#Y-R59!IBD5!0+@?K%-N-_>.%(EEO/*]""VQ)2K?B) N1C>M=X\R<-' MD+DWV)9K/QDYL-5&BXR,WU1+W793*[?:>6UJ._X.BST:ZDEV.A]VVFHG259V MTH"=-+W0G)P=CHI7R6]>_2WZ)A#*]I@W0][+ M%@!)H*@&>##=$%.B^[68WL8PSGEJ9Q OC'M,VW.ZV*W1=$X=P'-__LQZ:LXZ M#$W(%/><[..EG)A23UOAR:CN+3ONW'.JF.T&7='6N+VX?D)U9Y+>3Y/>MVP, MM)'>L7ZCG=?F9I%"/,7055Y(S:3M(9.4NPMXA&7"O-]MQW^S7NK6VV6]OG<7 M+)F4%(^(-DO-?(BH 414*ZL=48CHS)R V=8.CSY3)Z1^.6[J(W.2NQ[0 H/Q M-7]8P>@R.N ]YI/ICER">Y1K>EG31;$_9([R'4\T.0!!X6;E6JVL-T^LX*XH ME?N&$E:31&?52G"#"-[;,6QAO^".5E9SV]I\_-J*G(SA M-#1"=V+H%MZ;R]S_ZMAJ61 M+!Y)[1.?V)VD:HRDFL)TC#JIDJ\=HA)["M^SB.3M%IC8G4?J>&YWN=7>NYVK M# N+1TR[Q29V)Z9&J:LUR^VV*#4]9V#CKNP'E 4..6T*3'B#NW-$DS4ET$79 M("N-VG?>&)@+$;5*W6:YV1:%B,[RH"(9['VG8&]6YFB7NO5&J]S8GSUDE/_6M"\>R?RT%7DA70UZSR6-#EN348W)KJQR1Q]X8E97Y]EZW M-EOW&43,TC9%4K8I]<=LHCV,\_]X"R;2>XW='KZC@^ NMQ/1-8VI%O\V^P2CKGGAW7C\@ 37_2>R0SM\9:3=UQG;Z MVYR^;C;UP\RF5NJJ555=C=VO7% FQ%.>\76?E+4+\/$S?O9#C!.39S/U>V$P MFC7WX!O^O0V'XJ;X_0:K(F1FM+,:Q7B?+H*F7VLG!7R.RSM+@S\ M !0]L/+BVH;6*S4K?U'/35E6,S/4=R"*&]\/ER'^YJQ:[T$+F6?5?@]8[89& M,+T==S-E;D^[%@,./_A]/B.%^'CTSW?B&2-NTM>TLJ*K>IV-O*(&'0^HMW"K M-M/3H'-DM'67H^(31,+TPO:$T5%+768VZ9\$"8_)&.N['@N_!^EHHI'.>[L[ M0MK(Z"&ZSEX&\MLF*?] 1GNTLZ-U_+:MOMM4WL4TWEBR,YOYGH9G)[M=O+%" M+;>Y848;;>)WLXNS+BW-QMN\K-R-XI5YK;7R-D\.=Y8URYWF:DN\58"C479@ MPMYC)=GMZ:R3VPW]'0YA=?6@T?B+Q;B::FK)5WO3E_G9O\FY+-)AY9AG=FFW(.(XP<:$/B2>4T\!\#A)Z!\ MQ8&GMLII2M_WN1)7KCH9Z MM5T36_#R'0W^VL)#N<$A]\!$LLJ3'WF1F6%PHX-:+^OJWD<%R8T.IT%S&^(8 M.= <2Q2URUKK;#8\%$N&VTLG[&POTS>!)4(47^+*Z37RH*X](7,R,FC[C7T] MQ]Q?(FF'.C!O+W0>R9&1/"QY^'TW3.;#PX_=>9C9'!\#//4E+F!)E%2. MB?=D.>R[C47^,2B W\N;,#1U$V7H*EH.(ZH0 U,AQ)EB#8_C!F@^>'#942R8 MV9/'4M)>@+4]P8CZ5+ET'9,Z/C7Q-P9!%K;[:CG$,2P8SBH7V;:^JK)8TI. M2#2/.H)CXOHLRW;A49M@*="G%\L,1K *G&3RJ0BMZOP1,H IA,'Z1P2 M=: M.=67JIL2/W&VR!!6HT/K-4-KF+HQJ+<[];:NMJC>[&@UHSD?-ZW2=:&7B4_*R0(2SP@M@O9.HC529)$.@O"?1E>*V%RG!X, KDC #BP<7F M0X!-X&?JX2B8$Q%F+LK(0^GXM\WX:0%/H0A ;L$-K<@$GS^2;AKNT\6#IA]% M/JR;V" \.OY$#HD-"V0K;^(/U?+ >W@AO .$^B%OAH4 M=.B$>KQF5 $50=:O8HG\80U,C\Z%/E/:L!:;3'QZ$?_RR;3\B4VF%Y;#9L0> M^A2]+-(4*.F6=#:#&;\]%X)5E0O"*&H0?3FZ785;'U>OM[1JIY9^2ZUJJ=?7 MO4K3JVH[_9%UKUI_O:XV\YM4;=.K4CR7&"]@S='CC-HWBI\:?NSLM?N&\^?[ M^ 6;N9:9)(^@UZCR'<:-?.4:U)WY>>!][+(2;J6FE;=H.B 0>K9X?FOS7V#$ MH4>'5?4YG9.]!@X2PHF]O'F3_U%92:3F/ENX3HB,AZAG^XZQ +'#6EO"8->X MEJ"1JRU7G25TI;T=NHJ(Z*OGCM-ZC%^_&G:(8.GY/H7_S!WJQS3PSK5ZH]Q6 M]^YZFPF)8L><)?N=!?LUCL]^-6"_FEINMO/:JO'>[%= Z_O*Q'.'^VT@*$89X?L+? ;?>P;>S#S;Q -+V^5F MRO:M8EAG!]M9<+;4MD%'[$-M+3QHN59NZ:N-38I!;054'@7T!>:'E-'7"5:U M^*?5:OED:*O@ALD#]2E+JV%IM@E6K^U.QB=T].@QXKDSDE0.0YL5F7[T(*J /A,*WYHR)]Y.B MT2$CC[M*_SZU;%;W>.8V7B.KLID7///V^K1.:M13/S=!//B2ZWFGDU?CZ^&I%%#^^C M1O8@.CPV!SR05LY--:0B.:W:!]8(W>+JY$/DC?Q25AP:R"(((8FLX)'0&]SF M2?T@HCD9_MS5,+EQG@&,F*3F2B(&;&9%T0:/HZS)HTU.DH@V&!JY$1$6/)1K MG;S*>J5)<1KU#MR\B,P*9E6<6;E#IO;K*Q)_3?MU!M5;UW$7W80=^^?E%')$Z&\#!'3L@X3 CWHN*ZC=-9A0JX-BZI3K[;UW3\BRBQ,AWHUA+'&(MX$GJ)=K MC;WW',L"CM,OX !UAITJGBT?"$3F0O937L#7D4'ZA3ITAX8!M6:IVRFW]N\H M(U,A M+05CID?QIJE;KMLBXX#150R!?0@[FEZ]+=/BU)<5XS7Q'%B\'S_-B&2F ]69#JQCY5#UE)JF2,H_=8J<94^P$:U+\/,Q50ZQ-)R#K\.+E%@%8#A;E%@'+:=7N6$:""VZRI$:":!K MWRCQ*:)[0\+HL.CFA8-JNY M^QE^Q*/'Q'NR'%Z-H"_2C4&Q-/[]2417<:/IB"K$0.^*.%/F7KD!GJC@P64' M_*R /F&?[0GQV/&NP8CZ5+ET'1-+.DW\C156$'3=OEH.<0P+AO<#N(!=,/SJ M#'?+$(FF46_ /">N;R&F+SQJLS;!GUXL,QC!(G".R:[M3;NMJB>K.CU8SF<- B_XO] M+*.'1EZ\@@FP8V7@4?*S0H:PP MBOY"ICU29)$&@OR30E^&U%BK#X<$(D/,! M" 67[RNY %%-/1P%2@B_[89/R#$'E$$(+/@OAGD@<\?23<-]T*) MAU:J>/@])/;4+RLWCK&>DT69[.7=[=7U;?_Z2H'?^G??;JYZC_!'_Q'^^7Y] M^]A7[K["K>_W#]?_@'$W_[Q6;F[A[VOA5_8A=$AH6B!D?Q%_KI8#:L(-X1VF MOWZZ2Q0/DV6JS3[*%/TJ]=?K M:C._2=4VO4I< VP/ASG5E^CL%6;GC'@DGV"%/9D5\@BJC"K?8=S(5ZY!PYF? M!]['[G=VD&)-*Q_,UCX(>K+%T-^N Q88<>C,Z2IV%LDES;$&#A+"&*4HBJMY M-H7>A^E>Q)^60>[WJN>WU*D)+)\E7DJ_>9Z]7/;>]7K)A51[9P4ZU MI0O.L+SQ+<:I/3JBCF\]SUI8?;"!!'F+?1:B)J^RT;Z(%/A&78_>K'9$IT T M2(T1<9Z0\$!T>A0F]1\6SL@]V[X M2%Y3E%5#+77KZFKYZO:]>67WFN+9-_D15#;3J*%A\W M-X]#VC^;[9\3TSX& M\4?*T'9?E!$UGW+0-=ONU2RV0-AT;MT; N$2(/X5 /X/A/=O@! F)3 3_T - MF_B^-02(X QZC@E"X9YX("(RBP:=B09U[TY8XFP//G'R.]SA CD3XBJMU4K= M5DJAM#R0X$R]G_7^=UZNS-GVXMU#\<16YKWK,:8. L\:A*PFXM%=S]SU4K>9 MV]%20L>T)0$>UA7:D0#9UHR]#X&7P=\3WA!ZF:)J=FP!M[G*_XSR67F"YG1$ MX 8=G"+]=@[PX.'E:KFNY]7E*0],"MH=2O*OY-]<3)@\^;?%NY8F9UDK* W_,S*H?(Z MF"&O_6KYG\NP:6;GUL1I]Q.ZSB!F=Z*QMT/NP&KD?=I6 :+>DA-$6ILH>Z8: M>9^/M2\GG%M?UWEMMZ\$KN)1P+UA@?N;:$@,U_$O5H'+CB$&KT,93/,WC@K5 MABZ=/M_38BLZN'*M=F^(SVM7= +\9;'PL4(<4R%C+##ZBU^@_$!A6U^E ["K&HK/XJ3F90+6F2VT.FJG MLGI*P5E)0]LJJ)QHJ $TU 0:VMO(D6;^;F%- TQ[1@L@9$$+,0L#VPB,B?>3 M1@4^BWUKSLS\WZ]AS2+3S*"=](SQ# T.=Q]\YGN/CJUP[-\XSS2*-V=FJB9V M"NAH^^S?ECZ#B.2U02;O2EZK%(2['!JK[L2[T\^YV<%7=$@]CYUYR3-*Y'7' M>$MQC92#= B+ !S]*/MD4&EBW3]C)M?[2T?:TN/AO% M\6DLCJ'6,_J.9V:Z',)R ?WB4>+3*\K_O7%B.#_,P)Q5U[344K>FENNRF=Q) MDM:V)LQ!2$MC4>%V1Q6$M/(T9HH@A<'#GQ#+C,NDN 7CLOYMW*21\;N=XW>K M#!-!.W8&KCG0P1%@;;-Z#."960C3_FI9TU=;9,D 7K'I:T, [YWH"XL%RGK[ MQ.)[11#.,Q-Y0J9G:!\?)+2WWHJYYT!.8X$Z&, U81O<2L/WP,&[+6@FHTQM M,)FZ5\Y-&KP[I[!#NA"E2]B\@ HC]+ 3:7+ F=G !S6!(_A_FT,W-D_NXF!J MXEYFQFJ6NFUP)W5!:ANE02R.P,Y$=JN4A4EN:0(?+<7MT6?JA#*]?1@;&+NF MX1?^L(+19>C#>JD7\\,TLQ!NHW53[ZPVK94&LW $=M!X1+YDU6%&2O<1Z+],?_A83#(S7GHSZ&=EJ[8*)G.CW"CL M^;KRC(_W;TUR*%K42MUFL]S6\MK%>#A:/(MC-1:[MEFL"CB/QB01+ [0M6T; M0R[?F9U;:YO[T#-&!%/%[C!]W\>9A\:?H>71[S, SP^. MS2Q5=9"J6KE67RVRD!GB8I/3IGWA!R&G6JE;;Y9530!R.K>6F7B"-,]7 ,(B M_.4KA\\CDK&Y\P;0I^E_!;,'0=YSS.\HE*65G)^5?!]!^-XF3@#< M=!T#.3/C-$M=O:PV]ME6)2UE$4DJJZ6<'TFU<*>>6EL]0EDT:_FT&AD5-J62 M%F;;QY0_VS#V;BF5FQC\>X2QVUB%I+;VKD+*A,$"F/UG2XJ[953R(,4.VV#5 M;(I/BV=X#LZ0']XIS\$YZW-P'N@DG/X MW@TO&719 \FLHK2C@B@%M:[OLQ-*ANM$I*4MG<,<:8D7.C3V"C3(V-RNO1-,H;P0SSRWS/8A[.('#O)']Y&\8GG^R+41+&#BY-.KN8/]OK5R M6Y6[0$Z-PK:TE@].80T\1"KMC$-I0K^K"6WY?D@<8R5ZH00C6/332*'CB>U. M*8TNSZ(=$YLXTLS.P\R^B5"PGU/:+'5KY6:*Q)9F=O&I*8.9G0\UX8;IR*OPS95-]1]BJZE.5U N9P?D0VM5VI6_J*>FT9?'>Q*W-8U_=,) MUHP6JA@H]-F1#JG98;FW^I"-,=;48>POOG55!6NH7N[D<4S*\]0//,M!^ MQ_NR*C3_J JR&_[_>@[ZAQG4\4;/,1P_1=<[4/CF&'"-+K5X.='?( M'MCU<$B-K,7DNHI;>=OEII97$YSCZQ)96GI0_T%P>L9 MNIWJ44B@#.B3Y3CHG^ F-T8J,IJ_ED_K!^33&4=>6?[$]8G]&P!X D^PPQPQ M;!!2,^K/XSK9;<4ZD05S%$Y<=)L%I@TL9-VJUFN:WMO=18KSW!" M>H)B>^UU&F)+AU$#A)ANB'TNF%+?P^H3#JC_>130G(X4JQ58BN&V\U:] MW&GGU0\D#]HXDM3%BUJUF;C$OA-=2WS> &Q0[_VI45>!&A]' M5"&&X8[AVU/TA!TWP 9='EQV% MF]N016YD0CQ5B!"/J4^72=4P\E\O$WQBD M645&%-2'X?T +K :RNH,R\N BZ91;R"$7%[<<<&*.ZQG^NG%,H,1+ +GF'PJ MPKXZ?X0,8 9AL/X1 4"M-6!.K450)'_B;)%OK$:'UFN&UC!U8U!O=^IMX".J M-SM:S6@.!RWROS6M%#\T\N(53,@3K0P\2GY6R! 6>$'L%S+UD7B3E IDF@3Z M,KS60F4X/!@!)R,7,!;$\]' 5S(L+,11EY*)#_MAD_(/4>61<[8!:L M=T >^/R1=--P_X84>7^:;:6*A]]#8D_]L@+*8CTGBS+9R[O;J^O;_O65 K_U M[[[=7/4>X8_^(_SS_?KVL:_N20<& PV_/16]5Y>(W"K=$7XYN5^'6 MQ]7KM7:UV6JEWE*K6NKU=:]J5QO-9J8WK;^NU^MR3G).(LZI57OS35' <\DP MK:E<)*3& ]Z,QW=6AF7UU=]3IG8VB51FO/(Z>J6_T-2#VS+KN[QL:KGBN2_+ M&8QW@-A:!_.=0-F#%:)]2>R=%>FQEW!/++-RXQ1V_I=D8@7+\)>$G)60#2,< MAVPW1F$I@9V@6-C9X^Y3CXZHXUO/M+"K .?2'5/EPS?77[;6)4^>(4]>T:%E M6(&DA+V@^.BN:+@"S9X9FKC%CWI^%*8I[%JN6>>/%').=SRT^JZ.1R)?N6TV M9#72^#[)LBVI /LLK-\RE&6]IP\P=CC\&,A\?6?^S'1TX&&%+DE=QDAZNO<+ ML7$GNH]U1%?4H.,!]92:5E9T5:\=ME/J<\M$XX'MRT"RK;V8E)U2Y[&) MK!/&$#D:#:,>.2LZ1G),CYW2RR=1U0M]SEG0.;:=@=IJ6N%@L*M)E;\I?DKUSY:]NV'CGP%W:@UMME MM2UTNP3)89+#WF_+:@YL5<-X0;NLM?:NF?5%VQT0Y]'>(A,X16OP(#$J,2HQ*C%ZHAC-Y%GI&\^KY%5'6'.4 MV>BK@]'7*;=J>T<$);F="+D=DMH:A:&V7$^1$-_#8+6C>&#$O 8S\CC*[!0@ MW"]+7O/(&Q>!7_;Q,4ZPR]$AK139@TIB1V(GDX+>T%N'B?*%:OJYP@;M?3=\ M)*_WKH??Z06!9PU"MNOST;TG'G6"-+7=+'6;G;SJ,20Q258_8^SD:(L?@--; M(G'ZF47Y;]8=W19.X-?L9R/OU^>P.(R37EZK;9,P0Y!3\RKT B\OS(ONUUS MMNTJO[1+W7HSG_K:G.(6Q9.(>X4W"Q95*AYV,NFK#?W/U_#0_OIBUCW< MASE84WR(-"[ RO!MSDB7(109X"HJ=K*5C6_C,:QA,Z:=TK@,S^725X-8F6O# M):E(1CYC[&1CY U52ELP@[' #-QDE$T A(ICZR^2Y_VE/_[;S'_(0--JSW0CSSGW M-?FA MXW%?]9RZBYQM%$?&V"1V)'8D=B1V)';.!CMG%GY_)*_P+G8@%!BP@5VM[9*Q>AOA.!CNYQNI[YK]#/QCSHQN9J'MTMV:_ MC"$;/)%1*[?5]O%#-I+(I B0V)'8$4! BR.?V^+(9QE2YQ'S8 2K?!HI=#RQ MW2FET>598=#$)HX,J.>_E^ Z@C<;=!]!^QZ G5HAA 7,,J1>X-"&Q(X@&PK6 M\EU695932]U:N9FBRR2%"4EADO\E=B1VA-Y4D)]PUL02SF>6V6#XJPS07V3= M@V*'\5QR%[)3D PYG1AV#I02>'1[9GQ8-.;F;ISHY&+F)0^6(TX/F KUK8#V MJ?=L&93KC@=JN$\.>\M.I9XUO=35.F6UL>IB2VH4DAJEK)#8D=@YNBTOG""O M"2;(<\HRB&SK)X___$[ 98O/_JSG<"H!7]A%#4!ONN' IKR-ZVF<69 UW= \ M\-&@M3H_&K2YNGZ#_Q ZXR1,RQ62+-/VTB2>V.5>TULCC7-%\!=$'XYSVZ6NKC;*K<;J:2V2=R7O2M[-9BQO.+8A!X;M ME+IUM5[64UKB%,M6WA!,-2U_8I,I+I"N9W(Y2IQ1$J$G-DHB],1&282>V"B) MT!,;)1%Z8J,D0D]LE$3HB8V2"#VQ41*A)S9*(O3$1DF$GM@HB= 3&R41>F*C M)$)/;)1$Z(F-D@@]L5$,H1_9:>SPKVD]=S_#CWCTF'A/EL,3Z_HDB-/I%2P( MN:A5FXE++)$>74ODUPWJ!-2+:B*ZGP?>Q_G&C@U?@X?8O.+;498?%F63B4\O MXE\^Q6NR'%87P1[Z%+TLJAAH3%:2_&R2_/:G%\L,1A>:JE955<5JBHC$HR]' MMZMPZ^/J]5J[VFRU4F^I52WU^KI7M:N-9C/3F]9?U^MU.2W-+;6=E6-8:MX206B?;XOM&WO5>K95ZKP9(J$O>4+&_ M<'(J$ZAO[)=[$THPS'-?^._Z>T)L;='7.X%ROHEXK682?0FX^[ERXQ1V_M&^ M;4G(^Q&R883CD/73+2PEW 4CZA5V]MANP*,CZOC6,RWL*FX68062$O:"XJ.[HN$*-/ODI@#6:Z?UJ;!KX9L:4L@YW?'0ZKLZ M'O-A.W4/X< [SBZ3-53 ^GULTYECXWI/'V"X+:H:* MO'W#Y(WZ=[YEDV"-+5 S<(JF/+\U:YEE>#H#=:L.6#X!/; M0)EM[<4D[90MDAOI>ILF/W4MCR8_6<7+,;H72M:1K#-CG6V:L>^UO;BNE[H- M32_7VZN'8DKFDLQ5,.;*U'9#U]^M[48=.YN6._5]&N9(_A**U"1_;>2OVOOQ M5[W4U76M7)<<)CFLT!R6A<%VZ)Z:D:T:P%;M3EE+.;U0-.LPUQ-!6]5&4VSF MN*6!8K'D8@Y]N@L>:-OGO)XW>H3-GM_B3+ ]Q*ZHX-RKNY287=\D1B5&)48E M1D7$:";/:L/1U6 <\,(C+#O*;/0U\;3JLJ8V\FTX*,FMJ.2VX3RX_:BM51AJ MR_444/$]#%8^JAC),DS%!@R7%0=\#W>H!.15G@BZ5S!G*^%3V)/*Y#ER$CL2 M.^]@#6[0STR0+Y33S]4UZ.Z[X2-YO7<]_$XO"#QK$+)MGX_N/?&H$Z0I[396 M8^25,9;$)%G]C+&3HR5^ $[OB,3I9Q;CO_']$ MLT=@V^"95'W,Z2CB!7^DK M]0S+9W?Y97>"N-FJIGR'DTN+PSAKZFNW293:;K-68*K/,=.CU[#A9XR(O^)< MG$M(?WTIZQ[NPQRL*3Y$&A?42MU&N[ZY9E6&4&2 JZC8R58TOHW'L(;-F';* MK(CJI6ZKK&I;,*&D),GG$CLY\?F&$J;\^;Q1ZC958/15BU,R>J%):1M7)E=* M:@(E@'=*DAF11$;DF?H!+ IO@KD=>)814#,> 0D,R/97)L_[:G_ M=EKD809F-JSW0CSSGW M/3?2*G4U=57\RN2(#,%)[$CL2.Q([$CL2.S(Z/PC M>85W>93UNE4"EU7<,]M-\6D0V'1,'5:"3]FV;H6@W;6;=2LC]U%C/>S[_M7U M /1_6,$(M\T#/. "N_L%'49MN]2MUV0H7X;X3A<[N8;R>^:_ M0S] 409^)!-UC^[6[)C&"53R.%CB>V.Z4TNCRK&IK8Q)'A]/PW&EQ'\&:#[B-HWP.PT\J' MFEC=O-J:2P;4"Q/8D-@19+?!6K[+K,M886NG+4IAJZ0PR?\2.Q([1Y?.>^PX MR$\XU\02SF>6UV#XJPS0762-A6)_\5PR%[*-D(PXG1AV#I00>'1[9GR4-&;F M;ISH7&/F)0^6 TX/F CUK8#VJ?=L&93KC@=JN$\.>\M.A9[->JFK-&-INE;JU9[J1P3]Z9AO= _XF=?9,G9(K) M%FF>QB:>V.;,T68KCS-'\Q5FR;:8ZL=K* =X'.\>QV<%S4ANMU0Z:VQ>"2W=-8WJ:4;3^&Q=K19JOF*C)$)/;)1$Z(F-D@@] ML5$2H23!94>Q8&9/'K&5"?%8Q^-@1'VJ M7+J.21UL(P"_L5("UBGYJ^40Q[!@>#^ "VP#6G56QK ,N&@:]09"R/79]K(+ MUG39>J:?7BPS&,$B<([)IZ+R!G7^"!G #,)@_2,"@%IKP)S:BZ!(_L398F&( MU>C0>LW0&J9N#.KM3KVMJRVJ-SM:S6@.!RWRO[5Z*7YHY,4KF) G6AEXE/RL MD"$L\(+8+V3J(_$F*17(- GT97BMA# "Y'Q@4L/UV ;$BQ HR\-1,"D!K_V_J3< M2I4:OX?$GOIEY<8QUC-XP=9T>_=XW5<>[Y3+N]NKZ]O^]17^UK_[=G/5>X0_ MOM[<]FXO;WK?E/XC7/A^??O8WV[M(FF!]+5_"!T2FA8(\5]6E[2E8&J5WM:. M>FT2'!&UBE;E=77%^AD5+=Z&8UBZH2Q6*6K+=8E?B&_Y=\-[#[2T$S IUG/, M/M"7-;0,X@0]4/6A@\=TW8/:-BSJ/\+KOMBN\7->FJCS:DC+":G9"Z)K^#'J M&V2"&M4+03Y?P9^>Q0ZB1FGW)?0!\#[8#HZI],,QH'Z*UQ-?5^:?5^+OQ]6/ MT0J7!"7SKZC&+YRH@2 M\\\0C&?J\7=]=7WX7;FT@FE9N03P#5W/L0ACFA%\^V7DVO:TXKXX>'9>./ M MTR(>\$G<$M@- S:A%]>SS97O$<6&+R)_33SWV0+[A;46MMW0C!I_60XO5$:T M!]08.8"4IZGRH73S6/JEK/C4"#UVJ(F#SM%X8ENL03&SL?'(>?@X"13J<"/' M>R*.]1>)[KC )8![((7Y>SS+_\ENP:0M3[EYQ!EXQ ?F,8(0!%49@&1/<+XP MG6 ^S)\"I,9?0IM_IT%V++>*:U//@=E AK X!X*/43) MD^>^X&S6P9#]2E_!;8D^&\$& ^E(45K *8W7^A T#:L^6Y#O/+RNP#'IE8 "O3G8D!OCZ<:8 &4$+P'H,4L$:. M)CLP,K0XI\V!;%(;?$+D(/@VY^Z_*]>X_ F D"J/7O@ H%3N 75(W4AN!C!: MA0Z'0%/P+,S0'00$&)!@W3\#\K,%XH;[M$!QZY &?B9"$0C*9+5O&RCMM%J2^I[O4:JGXJ&HHM'#&4M&=RTT_Z8=>:+>HR ML[^1&*+8BI&,K0QGL15_%EN)2#4>/W3=@$=O1@0DWP!EQ,2C$Q*I'OR@9\Y% M(9D;8\!&\'(03D#@U $N1Y:&^W224($_'#9!%MOQ06'\J/:KRF^]WCVH3> Z M+H^L<6*J25V#NHW:-OZ++[,4!@A>9J1PPX3[$''GG_)\82.0II939N8.& D@(4VN5W&Y,2FFTUR$ M ]!9^'T%)*!BN@QZ0?Q^!:"8A&S\X7E\T<-&4Q[7=#-@5<%B8Q-P)Y83J1E@ M-?+$/LTU5@Y216$'V@(F0,5HB3+YPWX$] M"A;XP++G"GZN4=X:R%]M1NYZL%YQKF7UA:FEBSZ3]4A/C&16%!-5Z7YC EY< ML7MH8<$2\+\HK38#7*R*P"P;,['#N=?FNN:+97.?$40LV$L6.O(>#U.5'%X&D[VF!1/W8M/"32Z2O8K9/'P09>T*QV2* AM'>(@: M'CC(0>WG*26!;1/>&+C4\*O!/[/!-VNF1"V;JZ'5C-(U13@)(W ?*&8V@(1[ M&&4 Y"1CP N@RR:*19"[MZY#J\K;A/5Q*81]WCGPSOH M'I2 1A^[XN+QZ: O5]8# J-8P\F>WEW]1T7%KN.:%J#N1Q_8OXDO'D()AP8RKG$N&$68Q=HCSYXYP)'W#B8=$*_# B@HT>>9,ZT1QZ8BBS3I M],<@&EK8/X=YS)M?55\PP/_NQU.9V^D+JV#6\&!Y^M$7>8@D,;&M7S*?Y'RA1-A"A-_](HZI<GTB(89#9^$T!GI[ M#O<)CYS3U4QA%+@ &L# #W.H@,"F?\5NC04CC2")9/A4' 1)LM.I2*P9'24D M%HBBF2 ""'!!TTD(&H"2AY*.40'F/^>NT8K(<6"J;X@=^(L\/8%\B=+.B3CU M($[ZSND+OX#YLB6'#-XZ(99Y8&[E/(&O@24/(FKDV3F"%#4CTP%F<*H1V:%W MCCE 8^2B(PB/TCG-S]*\///Y%%H\G+Y ]O94DO&F0! @99YS<-RY)\V3(W$J M?B5 D=1ZR MA\0\)]L;EJ", A.[E*BU4DO46IO<'9'%"X/5,X.5A7G#H8552E%&=P*@H3S$ M^S+/NQB4Y18QO$,^AA_IK$@C\-% "9_A'(3'N&5++/]&E&*^'24W,P"B# = MI^A0;_AO((K3#,.&/RL>*/,,.(FM(?@6/!MZ&)%FF=T7=$R1D[%!)R.R88(1 M5K/_D4'" ^,SRXN$ :#'"OAW$BIV9NOP] @O*(,E)3Z2(&AF3 +WS9ZB/B[( M\D?,%00GU,,T[S0JR9B$,..0%_Y%K\%O)M[-OCHF0&K,362)(YXD

(4;- M\8L0RF/+61T:.JN#!].$H)>;>_,UP;H' MGOL3AICN"ZN 7A9%A.R%-%Q!IO$ #&'A'_"UE:),J=?%]6V ?OVFS30;\PTS&+4ZBG/)6 M'R26#8[#VGN?E:VFQ!F[%OA (_Z"BQ62L8"/R%8/N"%C6>JX/P( MNR8@84<8GB%R7OJXH,Y82<)BW4.:O,1F4,(.018K.]PF!YAM3J_ MRM\Q*TT$<^)I!(BT+;!-3*R0H],8.0^N5FI4HLL<*H?[D/E./E?(K0(9HJ"8- M6G@(7%5><0B^KH=7HATMRL!U3/19\',53)VQ-,E")6W2'GX+10@6C&-OM)FY M'9><(9M%7&N_,%<&R@7(QX(44?*,87Q^6.E:.P-MOQG4D\O(KDQ8 M>HCKDJ47I6H0$^@%$#9V331.^6K (26QZ&'E+X1O?P"K/V A70Z6)'%AU'2 MVT' OPS85@9<,J\D!L1Z[F"^66EQ'ASPVS@URT!?,='+L]DB2.)R;&?VKO@C M-"[#GKA67%$5WUM><\Q)7L;'--2MBTG:463713@SOZS*B*@C[<20E&&)U@,8,XQSRKWN=1 MD7G,8>G&8O1PP8C99*TL!HY8LFR^L8"ERK:.2 !,HQ7%@HX=[P*PMO4E1).L??RN$N_O=G@C+D3O6;!A1TY=Y M^AK:5_\[)Q,4!14$%# C=GNZ52 Y>>YYSN?D M7W+H5H<_5\9:SQ>E'+U5U0GHZ9E;F^M%M?@-GB#G*8B] (:!X+1. M9YQ[9[XR;DR+RLD;ZF5[$=QC'OQ0S9A:%B''"7"Y@9P% GKJ2^PG&H-]M5SF M;:\\A+3@.Q>?0IKWBE>:)EKPW4I- I:.SQ.EO/$;98T/R!D/X=NX'H3:E=+# M17&.MSA4-*WJ;-%\.6MLLN_>XPI-]N7"T77AD&L4#G9L\E_B>SER88P'4WI: M)_W$!8,+1NL%0[FHU3#$EEF-JGYU%WC][=[IY\%072KWWKF2WG%Q..%$;4GY M!2E9P4Q(M9F)?(YLS$P4"2PY(YUR.,HP4@&U*@^FBCZ419TS4Q^9Z821KIF9 ME)8QTRUD;DY77]DDD\PI)")%7?2.B\@)P_W[MU\V]'R(R;G%=JQ@Q]4>AGN< MKPK;\0I\54 3:Q MZ<90- S.7'UDKA-VO5GFTMO&7+<1B^_42/-0_&R+OFFC M3G51?\:1!AL2OR.S\"'H&C\Y[S5LGK'I%WBJ@?">#J0$QEEY9]W+^ M:B-_G3#LC?/79-PR_KJ%&/XAO]V)1^UGVWA*T9\I0>L(UB2,L);>,I6XA,/]PLG^5Q^KUQ^KO-EW@P8,[ M_XPX&&]C>D>F\_#D$P9(=%X8/U%X&-]KMCLWC#^+[;+LI0ZFZF3,6:N/K'5N M!%\3:VEM8JV:@G?Z7'TD:RUW!1Z]<--I7=;5*M9PUM,:V8(OWR,M<:[?4R6U MI]=<0ENX1[*-E>=9FQ$GWO\AI'.T<(,]1[)5+R[7ND14ZYR8S#WL8,EL3+ MP:\),&G..(;B:4!Y7%]+9KDMO%(:AXL?%[]27O-9XI<5,W$PU?2ZFD:XB+6& MU[B(5?>3:Q(QJ2,B=I,9XQ0@YYD12HR6N;\;/.:N2IH>:9JB*>=?M]Q8T7V6 MZZZ:JV-+VYT>XX+,!;FN7/8I0?#RPJKV05BIO_\C M17[GP/*=PG!OY:(XL'P-6+B;B>K)V&J.+<^QY;M(9(XMWRB1.;;\C:^,VU.. M+7\Z7.+8\C>,$JQ61 G.AKT: A2TI+^1(V1SWC_,^]J%H./EL=Y#> (N&+T5 M#+UVHV"TR"C<0FDO1X:OS06J"QE>'D]XTWJO&>F$/U$KF+%FL;\)+>Z(YSE>%[7B3X-VR* ^F MTM@8JG);!FEQYKJD76^6N92V,=<).Y_4"<%"R6%>[,JO;B/QP&'PZW%?&H3! ME\7ZAMOPZ+&-O'7"A6D:IEP6$>9,&RJ:ROFKC_QUPHMIGK_TEO'7+20L. Q^ MW3:^7AA\6:QON@T/'MO(3B?,>@.8Y;(X&4Q%>6@8(F>I/K+4"4O>!$M)XY:Q MU"T$YAP&_QJQ>J,P^+)4W]@;'F:UD>W.#>-KP2J7)9R (U96TIRUVLA:YT;P M-;&6W";6JAG42&^Y*\!A\#E*<,-^SPGI5VHL!^X#4 D7I]L0IW/]N0J9R^$I)[JR'!:P\<9@*@XG1N4R6BZ*7!3;]>:UNM>7 M$,5)ET3Q)C/-3<'GCXL#UO9,Z=1,G1YII*()Z]I ].7Z9E#5NZOM3L!QB>82 M76_.O(Q$GW8K9+$FMX(+-1=J+M3GYN5K%FJI-T*=@\L?O].G: 4;:!W#Z6?/ ML=TY<<-[21JI%/OWPDPC(6S_XY+X1'C!/UQ/@.C0#1;$#X09"5\(<848C'L8 M_T6B,!GL[[)@F2%Y\GS@#6$>^4!-(5P2^+]/B+""1R\#@< [SH7?3-]:LBV. M(=,5>B/$3A]M-GU#1.15VXU,RAEI,L9+5W VP=H+;/S!O4\<6@ZU'4F PI"Z M*F:/\?825!XK^O]@@ M&82/WL;6TT&+NKMSW1]6H\BCR3C_JZO. MA5%5G2_J\HLZ/HRG$<1_2>P;XC]U")/Q.0H?GU,C:3>63$!3Q@>\-$GKWUUP MNAU*[%],VSWI79':ZBZU?_6"X CP 2]V06FQK&@5 M.69(YK_X$&EN T^,\G\F(#GDT?Q>IDBMCWBO7'RX^)03'TS;G"4^&AY_?9,G.;]=B-_>M('A]ASF#&,IB.2;8:E,DIMST[6YJ4EFJLM]5&C+C3JI M"S:G)> X7?$>FQM'632@[+;8@"Z\JDNI2(.I*@\-M2VHJARPMT7L5;M/J<@] MS(GUG-]*^91-,=Q)GU(93.4*/B7GIAYHK]I\2I491<5HB9*J,R4I3EKN4E+X MERI9R IMXQV7%_'*SJ0VF&K:<"+>!$HW9\GF6;)^![0^0$S.HRWFT7).:T-, M>M)I-093I7HBE'-@&SFP20:LS=&=Q 8[&SJU31G> NCXMR5X8'OW MS?:.=4*L\OFRMJ";$Y(3DA.R-83DM5B\%NN RR1=-]>ACL%W5X>Z6M> I([Y MZIR]ZLA;9-E*S*N-X1S53HXJEV5HB*5.91E4:3"555YOU7YV:I*;ZDH9J#*S M>V+ELS%><'6>B^BO$>N1"#,OIY>:GQYO)42^LH>H#*:2,32DRAXB+T[H'WN= M[R&J@VE;ZA(X1]7K(3;$4B<]1 U;\*J4Y'-^ZH&&JLU%U*GAT\7*-?F7*9]* MH'IAH>0P%][BKVXL_=I<,\.-Q*3*E3UN[(\=JT-5K>L\F^<\>L1?Y[O&/;!BMI&?9V5;QT]-LE-=+K;=ADU'.YFC(>B5-G ERW&:7MVA//DA=U,309>;& B.6?# MUK!A.=^T(3X\Z9OBP96:9<32Z6#.@VWDP299L#9_5@55J$^&AM%^LWP+4PE^ M]=RGVAL3"O>,7 NZGZ^LT97QRAU>N9-O=;0K!X7:8*H:0UWGH$BK-<13)V,U V*U<0VQ&N>G+JNHVN*N";5\FMJ1TIV^5: \ M! $)[_"MR#P57_&:D\.2HE_75]3Q(%<:CO7*AIT?Z/:/O<[V%75Q,-5Y:VE7 M6*J<=)^;FJ2F>KR%'69VCU1:8O=N[%L(@=>KR@W5QY- MJN-H4F,X&?.$$&>O&OU&/#CE#:==8:ER?N-E!EQF>4H#OY&G&#O 3DUR4VV. MHTX-GS&I7*G!I;) M]6\+UH:SA=_+0-JY%V&%,R5[!9%J'7G^?A72]$?+7!E2SD H3UD;ZM6U38W[ M>Z5<#I=J+M5MD.JSPR@#CU!K*PCFDLPEN9>27"H2O1*"HJ$,IDJ.*)_;,LNE MF$MQOZ2X02&N+917F7>M=-Z[II'^C[1+%_X[MY^G_X(_DN6N3/_)=MES)=B\ M^&EW*$?WLCA2$_&RW3EQP_N["$9EADL!6\A_/U\UE;W6?LMW+,8VVI;MM5H"] H>RXD $D<^,MHP[@E*G8US^]V/-P M"?LP'L$6HGZ($U/QD^.O1_#5C]G/%64DJTKN5^.1F/OYH5N)TFALY%]RZ%:' M/U?&&E_4Y1>E'KU5U;1G?BI>K)0WM4"O$O]*!EK/-=#OB$56,^(+LC@4I+$D M5QO$5H2(!:X_:[1="ZF[R?T)F/QK=H[GK=-Z&[8)F((Y7 7-J5V1VNHNM3%* M/E)TSLE= W-_,&U?^+?I1"1//R>KB2^1F4O7-I5][IWYREJ],NYH%9+@-[8K MA$LO@GO,@Q^J>5D=A!+#$%<@?T7V,\2Q;AC<"V^D3)JTMI(9?OWEKZ^S$\\8 M3:26,_1OGDM>8UP\81'E0'M5[C1HW3N7SG#W-%.MCNLN",EFI?7!M#84S X< M$W%A:-.[75 8BM91I+/C"_L[F=_]E_A>GN08 Q 30Q*EG[CXK!C*2,!FWR 6KLUVU ]$5G\E842S$ZY:L3\3!5%6&FM26 MP50+3+2E7U*E8J./F[_<*@+8U9QEKRT'ZK5X(=R+N1=PN4\>FL\6IN_:S"C+=8U5*M%0"D=+,/ZM@0OC(]TY"MK[4C'#AQ.O/56 M*^);MND(:W--?(ZW?MCL7!DZ9S*AYD=2.=XZ9Z_:XC]8^& J<[SUKK!4*2R1 MIGCJ!)B(,L;93QQNO?W\1>YWN(..B)8B(H"4-#0TM25JZH2+F(!/P4+)82Z\Q5_=6/J5S\"LJ'#4*WO<. I, M48:3<5UG@CSGT2/^.M_EQJ-FGI3M"DN5\[D;XJF3/O<$439K0'CF_-1E%567 MSRV.F>FK89S?9?*RUW=NV_JK>N>']KEN_M9GE*G:=?UM4<1 7QJ*&I_=R'FR M%IX\VT<7I<'4J"OAQ-FPC6Q8SJ]OB ]/^?6B/)C*6K8YG8\0[04/-LF"M<4" M"IIE<6CP&:*MX)E?/?>I]LKXPDT+'0#ZY2LKOS)>]L3+GO*MCG[EH)!.O1K* MVH_.S7)3;7%70:U M?-JX+=!T-U:^\Q $)+S#MR+S5'S%"W8.2XIQ95]Q,IB*\E"O;M?Y87C_V.ML M7U'"P_ Q+]CI"D^5\Q4;8JI3OJ(D#J8:+]=I/S.NDV MJH,ISS!V@)N:9*;:W$:-FCVM+8@"'.*;HX06DQBM]L&6)25''TQ5;2C)E2N5 M2^UD!R)\SI*7]C(-\#+ERI$+Y\,6\V$IU[0I1CSIFDX&4[E*I3)GP1:S8),< M6)<_*X^I5=:4]H\\N 4,[USWMF!M.%OXO0RDG7L15CA3LE<0J=:1I_ADU#I) MTQ\M:&3R[)7)+[ M)%P5/^T.Y>A>%D=J(EZV.R=N>'\W 1F_.-=( M8]3]TD:#7O[QNX011X:"='C_W7*B.3S#,H.EX"V$OY_/VNH^:[^%>Q9C6VW+ MM@SZ>)2U/@*0Q(&_C#9\2UDA_MFG: 54L=B_<96V&YGTNC2SQ/10D"G67F#C M#^Y] D;2?B8_O=CS< G4Q+U*7Q5S_'A[B3D#_H["PY>DN-L"KB/^%125"FL2 MI3UJI?Y<^LEJUN83N9N!>_#GG;F Q=Z;SHOY&J#PI24-Q"Q-P/UW/_B&BT5S M7$T)#>R$O,>I\O.XH M 6X2""%\_82.-ZC0A%"" _^&[[# =0&$$IZ14KC7^.NWW@I>X_6?03XN!?S& M#(47XA/!=N$6^_<5$O4DF$]//GE"SU^8O0H.<9]"JMQ#>/U[89>5#A,?R!HO M(5&#U,(#>1US'9#[Y"\_)8!YMDN)1"_Z*;Y9K#M17^P9>+J/[.NM*AF-F3J) M$_OQD^.O1_#5C]G/964TT?*_&H_$W,\/W0KLCII_Q:$['?Y<&6M\37Q-K5R3 M>O1.5:O(\M%6BL.MQ#KC>!CQ4\;%NE*$J. M/?=O1B7?!D4Q8?=AXVRW$]RM!W2FCOLO^0%/%:)STG(6YBS<==)R%FX9"U\M MR.L,*:DK]L9V(=;P(KC'//BA&@4[6('ZUENMB&_9IB.LS776[R_SKCT][N[I ML;4F'C^W/GXV\):=/H#S_2C.:NQ9H87\G\[O_ M$M_+DY[) *R,(8G23]SZ<#GBK&Q&K?&$J&P8I(@^# MN,3<2!B4+S*G@QU%:D>PVDS(ETOSW;<'9-K<\?R&;GMZ".<\9K, M217G0X7S(>?#^M(\6093!U/-J#P=C3-7*UW.BW)7 6=4JP8_R[FL=RKL4"H@ MRSLZ5U1=8J$+*JJS8V.C%>KH-DII^,3<@J(@M[GT1)D,IHHZ5.6V@'[7D'/M M.?.54\07Y;[3*EH=@XK.8;8N%FOTG,_:PV;'JQM.*SE5'$R-H3[F\YV[PGLM MTG'EHV)5 G;+8@YS%=J?C:HJG)Z#) M5'4XUNH:F,=YK$>J[-R 6AL#6\G94=_\))J/%6M]NP8?>+"C05I]>J^)>)HJ M#46ILOWB0TZXS/=9YDNY#2TKFM"PYTNNX4212S>7[EY*=VN$NVIN39/!HDM# M2>4&G8L\%_E.&/3R&4U-&4Q!F+E!Y]+-I?NZ!KV>1+*F@ME6E:%L5#[WYY+- M);O/DGTYNWUV^EX;3)5)A\/M4C-&^6"T G>ZW>%:?$W=71,?C%:?,>3T3CCM6 RFLXGHW$^O%K?K8[ G4/% MJ P1SWFOE0[I19FO@*N*L)W7QX?B7-8>#5=3HD#G>JQ;''9!/79V8&VT0EO= M1AD.GZM64!3TM@;4?3PUY(QW)<8[/Z V^GC,QOGP0GQ8-: V\,1J/-1SYLIP MYFLG\Y7S1"_*?:=]5$."P$<7KW_\P_FL/4JNGIC:D+DJZQB+75"5G1M4&TI+ M%-8MG%?SJ6L5U;#1YAX10QU,%7DHZY6'F/.L9RL5]$6YKX#JUD!U9ROQ^/%- MZ]BL/5Q6.9[&@QUC*.I\L&17F*]%.NZ,>-I ?N-*K@-\=CDVJRF>G@RFFCA4 M%7Y(W146NZ J.S>>GHPQ2\./J2_"#WSH&L=];M!*M7K&^T0$\V4,)3&;N^-0 M[USDN5#7H]6>0)=FR.C:%:O=>)2S:7[#Y+]N7L M]MG)>PVL\Z3# U%S1J[%[_(I6L&N6<=&L*6?\T<4A/;BE7UDNW/BAO>2-%+I MH+8+,X^$$../2R*\]5;PY%?DE, &"I*Y$,+'L$2LGPL]X65I6TL!?Y+!(A> MW^PP$."=_R3QI+D-_P@O<#-A[MO/Q!5F\ "XM1T*OAW\2:OT/'B,+RR &SP_ M& JV:SD1[E-\-_K#(?VEO8"G"#8\Q_/)G6/_29S7.YP==.=Z(0X1"NF2DS=Y M\2)G+BS-9X++#XCCT*_CE;T*,P+6B-#/?&)AK>"KX"WHOTUX0DA?T/*"4)B9 M@1V,A(=0^,WTK24S/?$X*(4N+1D2M?.5/*0WRY++)U10<%FGR!;1Q0,-4A2Q M$5B=P+JPB3" )<+[^NQV+TOBTH?:[C/\ FL?XSO9H ]L?.I(2&_WW(,[(/EF MQ+'),SFXXC4\$3DAM7UL5\*\N^$2W?F&[OA=3-K4&]HN?+'_,&$=:Q2VY72_ M\8YLNP_M\@SW\*_(CLF0;':P\[QXP_"1Z57N<_#VUS\KMPZ1.2C&8"VL$M#C$;LM9HHS6I M(MK10WO:7MS7[Q^WO/'6,8/ 7MAD_O,K!F2HE"/3^2U^U7? ,(^XXD>XW<^. M9_VY5>?Z0""@Y-=PX]"/R."T]FN+JEMXCN.]H$ %T0I6"I<'= \6FY$6R!OY M^S6C*C(AU(8I[G?WH_NS.'5Q-)'KF<4I2J.QT;;AB711\N6G)Q:8?-:=H1KH M>5(ME0Q'5/B@LQI)^["Q2V_!+O$Q.XV/,_IW9IQ1S,+):N)+9*;'V\;5Y][Y M@BOC.K4(,][XH*)WX("]V.$2J/#9)<+_$I//*NHTLG"9Y)1\/#FUGX[:)JHP M;14'+O"O_U#^ ?9![MD84K2CI;/0!@)SZ\.Q4M?I<0>RR5Q^VO1NUY8?=(ZH M;U1:=B8H.]K0&-=52EL+CBT<_X)W0I27H+^']SY-R";0]+I-=BK!]RJ6-(>V3[!-M%=JF*XU/%X M,%4F0T/,'KKP)IQ;9M.-.J^#14MSI4BY4M?:TN5Z"Q$5W4XBX+E'11/07<"8 MUIJ ST"E>A0^%K3K0R.G!JZS@0IGRLLK_#1#EN9!F?*@;F3;-+G#WQ07\5D] M5XR2O2C,BE U/8ZX8=)P7+U=@3ON-\A[YV9KU+%*^4ZLGNCDKCGOL^?%OAU4 M-GM^9-J*_8QE<:55"E;]RMI0GU0&[N,E_%RJN537X$)L_U5:FG4FS4KGI;E M,3_^VV)-BB9]PW159[QS"I9@)A7+][2NVWXFV\K+?^R6Q<:O.=Y>8L[@I:+P M\"690I4K<*<*:Q+EW0K7])_+37W4VGPB=S.?F'_>T0.H>]-Y,5\#I'BZ)-9V M[]($W'_W@V^X6#16&LQX!U@?1_/@S@"O$A]_!6LR6[,68>FC!OB;K4Z((ENB M.I>LF6),%$,:ZT32)J)L:8N9;OX?B"HMW<929BSMQG+O?_UH3O.V<8_38W&7 M=/U.99H'OB'SAS#Y5#M>[1T+YQV:G7M1QG+OG/Z7YAB9WO'>!K_:MHY76]&: M\$^>>_?;MMC[6S9__@9=PG5M]NHT877O% F+48Y/6MB,9PI\." MM9+ C_]>"B%NLF.BU"--",6LD+:U0EB0,\KFN 6@GD/9UQ76(";$QW:0(/2L M/U$(3/C0?H;XV'D%"CESUCCCOK*&F-W:_]T6FJ0'!?3:'#9(,!/SNNF \8E@ MPO]=3_@K\I!6<:L./-%*-7EL;[G;A6-:%MC&,.^'V'E"NU(<$@2"#;^W??8Y M//D%7EA84@5K:;I/)&!KW"6# MB>U 0=S?DEH-WI_@Z1+\@2\"W\9WP=VP;-^*5D%HNA;]8&YC\GG;S'.*^/3= ML=-+L$S??T5^IK\>"2GN#D!? DW^BDP?2Q_@1ML>K,Q;S['UZ,"+"_9^#Q4E M=JJY!ZZU5\"Q()$@3_L=3' Y:VJS76 Q(KPAW]?$#<@/0\$%GHC?$!>+G\YI MRQUZ-K0G#(@4$OI,^)VW)LP"Y.X%:Y6#:S8/!&D W>73%6-*F';F'7G8S'1P M2X1@2>#'NSRY-!.FMPCX-'/:Q 4Z$$DX!T[UO56&IXLH3$GNGH5X1ZCF #(( M'VP72(;;_M$-0C]:,;M:T%"<]=X'TVN7(,@!HT("6"_E(MTH;:&'6@]^!FJ(2IGUBA^\F/Y\TQ,6T'9-,H^LN+,4VUQ!DI]- M4!4SV\'&4Q#7143/X[>TBQL],_#/XY>#C)[@N:9Y$FSC? ML@IHE'UN&0G_@_\5(!8D%@J82\UQ.JWX5@SCJQ_)#!>/08JT YV%2]$ M- F(9AR)^,YBUTLM7@9V54;9-AS)*U[# MY^0 S:Y9KT*Y6WTJ5]R4+E"G_;%[$/S(=\&WOJ;T'S M?@#%2]W97\"=1!BD1^]G\C7ER+%LQ2=X6CED\I1 JH/I>)2=V9((8ROY8@.U M8WY/$A(% BG,,$%8PH*2W[_&_CYS3=%AQB@!O5\K=M2/.GC/F\W77"\M@R<9*6\P M0^)>!'([B7,G\(0H8"GV IF9.&)/94UVKH&7\U9VDJQ@"51?<.+,C4V"=&(# MDZ.GDANG<@Z'4@YX]^-;F4DVY*:<@SCG3/,XBP6\T8XPYJXED5AVZ$B3[7@+ M$!T2FCA:-8\P-Y\0(\P7W@S>_GV 8Z+BMVRF6()&%&:S+*-D16$KM++1YG)1WEW;)B=ZF%8U9)*2!V MA^/'/,&ZU.KE$X*U5^?#B]G2Q6P*+V9KP5HN71%"]9@8E6T34R@3*?%M'LMC4D=A;AL(@DN>BBN44 MT31?DU#Y'FLK:<7!B3DX<5U8G]T"TMR $_]KYO\XS0 4<]H=H5VBX-+DDW?( MQ\%Q.3@N!\>]!M;'86B/JC [U[B^)H@6V@0X&6E*RW?PP^FCJJ/G2E50&/K6 M'ISWBOUI\]75XWV^^S4H,?]0%;%! 7EG!Y;C88M03D>OI ZFJMH6*+X:[!X7 MAMX*@]:X,&B#J5:YL[U=V#<],HK9@@LTAYB%M'-:L3BH94: ],8%"/$ALL6) M''RR!\QC-,X\!E;YMX1Y;@$ULASR6.%T1H\]*XXS5+O03R#^R)D*?)[/=7WT MKPJ1"9>L6Y*L$S.XJTN6C$5E8N6Q*XU+UBWD;'_=%DI72=RF-F$/*:W204=- M:=V2J^-)7Y[TY7FN^I*^0:)D7@O:!Q$\K]8@/?/,+Y>(NC._)R2B'/2I+($[ M-53';3DJX>EAGAYN17JXM-W!Q@6Y+OQ@GB1N%0N=ER0NS4*(2F*T91HO3Q4? MSQGD8WN/;Q;1OF;J]$=[G)=L+JT\U,%4T[,MSI7R8E5WL:4A$Y=@+L'-)[7K MC=,0PF XJ3Y^\/H"7F!&14=Q-M(0+FN?!+3WS:8IT$V#7 PS@FU>J4]3D",( M! M;%@2ISK\@P3TM"'C]/]X+HI8/&=@)O7*%,+H^0IY0-"'SR2>$->=1: $* MZKM!6A4H;COQUZ9/EQ1C>V?P5391ZA#Q>?^ BQ'GQ5RO'=AYY":?_!79/GO0 M'F0YO"AV6S)H&$1B ;J$<,D.>FO\8 KWNHF1Z8)-(: 3XA@.#$-L6INO]*FS M5\%SB8"K?TV 9RB.#(,"7WO8:(L]B@EVC"< >R[3>Y/>D"T1*6?CHG N)5R, M5WB63?=@0\;X#?^9 ]Z3)1S%NTEC3QV":J&KRF_.8V^UY2;,$#ASI$*:X FV M3WJCX&/+)W,[C*=A/"'$^H+0JW!8(L(<79,Z\YQ2YV /WN)/]--@E ;ZN M [J##(4GQP,!V6M-M<.(L=@&K3]YC1EQ;)+<@I'GQ?/#Y6MJ+ +N[! ( EJ3 ML+=&>;2W?,+@L5,+?46,CS7QJ=I'666(7\G&[^$:U-G.G:#V?72_)2#\GQ<; MO/F^[TNJYMSV;MPN!I/]AB%6_9"&BZ9HY#D@56Z"?)T1\1WU M=6)DPG&EOAF9$.S.3.!MK_UK>\T/>I)] 55 KO,KWKIWJG5/IL3]99?%X5CD) MVS^[>_GEW"#_DQ=NAY<]!/_#2D12/\C+*1N#J2I6KOQI3\D"EY6^RLJ)VM$+ MR,H$?%EUTFI9Z;YSU061_%P@[\J0CB]KJPWHP\<]_I@?GYQA@VJ:B2%D'O+A>K'>#6QKBL]#\?6V M8CY;G:@H@[AN-2+SAS#^#)^Q6[.8>HS LG<[#Q(^QL5Y:,1^R.K.O;K,G"$\ M[*EG5VT6( .=NHS"$^UNC'M:+]J[54C9&H2#VOM6SE MHI0J3_.Y#6NP!"!@A%9M@(8D5^452I7E+F[=[$Y5NE M0[8_NWR97M&:M\I%=S=U@RKZ2E0[RHXW,Z(EOY;W9]9E2#L4TU.4A+PB7UZ+ MTZ6482DTE,GQ8IQO(80G2\\!51*\_RNRP]>\A" =R=X66&Q>>W9C_%XJ16Z, M"^;(\SB_Y#F7CN=<1DY19NE,.9<)+A,-G@E?4"8,E E]G 7&NKA,U GN*VKM M+SYYRXI-;.0%G\""L"=ZKUMZ#K&Z^T23;6MXBC>O4O98X72ZXP)E%*Z(M&QV MTOJ56(X9!/8"WI>6G6X.8!_"T+=G$ZL'S[)9U5?X MA=*WA,9?V-_)_.Z_Q/?R!$X:@' 9DBC]U)\T$&>V(S[% 8^V#J[+Q8VJM8;GO4J#-70\<$2"DK;S(V*4)T4XP+R2%)7:O0Z$ M5[UBPTLY 868K^1QP02/"\2BI"8&3/;6$VMAG@LPW$=N;&KN:S71UZY M(*S=]1?(7Y:_+']9_K*M72!_6?ZR_&4+##42E5)3C8KDI M]6 M2B2T&@ Z-'4PU=7*5/8>NK"COC@UP&C*"[S4!U>AD7!2/0Q[6!$;0GY.TYLU7T'"[0 M*JZ+@ZDJ5P&NX\S41F8ZY0@TPTQ22YCIUA(/%2$';@.3XV3.H$IG;W$S+G-, MH5YS6>'XO]9&RI>):RL?+EAJ(9(K.QV01' MEVSL+39CMG>!_&7YR_*7Y2_;V@7RE^4ORU\V^[(_TAPP_'=N/T\3A_!3M *7 MUTH"S/B?>QZK>*IR[7,4?EX\6%:TBAPS)/-#^>E'FH6&&__L@&N[=5.E@4# M>5W#(T(_(N#%PQJ3EUF9_I/M,L=2VHV/_HB"T%Z\LH]L=T[<\%Z21BI%KKAP M(""-L0AL2>(BL$" ,""N]Y[1&K[D7Z'Y'1[H+023EHD'NW7B"]];"0^?WWX4 M0H\>-\-6P'L%!#?:I5XU4AA>#/ZS(G@]W,I;$Y_U$ @O!!YE!A I.([W$MQO M''VZ[8?IBE@?N#V;2(#Y\T YQUP'Y#[YRT\)<]DN?7]ZT4_QS>+P #9@WYVG M6\2^_NG%GH=+(.EX!+N!V8U8#N,GQU^/X*L?LY_KXF@BYW\U'HFYGQ^ZE2B- MQD;^)8=N=?AS9:S5MRCYU*W:JV8JU(?DGA-.*B&26" AQ&_-\8Y*=81/B/ ; M_&X9".]!N.?_FOD_3C02R%F74RZSKWSU5?6FGWF%NVH17MCN^"J>A'<8QYD,LO7VXQ6UW[D MGR3L1U;HW--HX$YX:P9+80$^O; D\R<2G&6*:H*:N]#UW5< W>"Y9^)&688J M\XY].[[,>\4>G4%.B@Z*BWD#6Q/?PAWPWO^QP^7;*( W)?[[[Y83(84>$%DG M(/-'\WO>.22.V=9KF'72@@)6+A5=DHI20G%B;MU9LE#RP%YA'0EU%>(V(R\= M-,L== 7?>D&([I]_P#QOWIMWYQ4V9TC3SXM8D//D3P7YR[9@\ [.=O)(.9_G MA'H_R1O8+297<6(:Y8L.*N5.QDH!H8EZTYT#-ST3QUOC*1Q'<*HCUF"T?7#G M[[:4??]]C<>?>0*)@]LKSU1M3V31T1F10'TW9G M)KF_W9#N/H-9$(BR!0,P>J/ CQ@TO?U86H]>:#H;X>O'['^B@0AZ,+=N[ >W=](N/3@FV?X":W/ MS].->!XN9H'[N]256T/PQ,6?B_\E#_"O+/1*/C)W3T U6N)1'>]RZVY;F4^$ M%S,02HF#7 !%[I/GQLUC[A/C[(U+?P)/>[SE;+6DG"J76I@VF+I>1N(R'Z1: M\/;*;D-/\' U2?/>&\(6\<-0< F.>*']COBSAV?3=I#W[F!Y=P&L!-YQ!H)' MK @TB W+#]=O,?5ELC=* M,7;,.0HVX:V]P,8?W-.%0KRV[;W[QVZ79:Q(QMM+S!GHC"@\?$FF*/T*)@++ MST5MCSJI/W&YR RV.B&*;(GJ7+)FBC%1#&FL$TF;B+*E+6:Z^7\*\$I\T7+3 MV+$VG\C=S"?FGW?F M[PWG1>S-< M4U:E8 >25-]GV 'R;)8-*8TF/("*?.8 M:;L'$T)\_!6LR6S-6@20 ] )?SN]/SJ.6$ #!Z*)IANM[+]^-*=Y>W^TR_7" M'1)4@7_Z_/A>4$9,NKOU9[G.\"\^*NWP]8MCNN@LH7M$CV;?V8'E>$'DY_1_ M3W1F(4"=D?E#&'^&-]_M"D]N3M7BYLY#V*0P8^EWN&)/76Z?"\\HV?I^\ 5S M7LLHW=;>!F=CA\ID2V6P=T/:@VX'K.D<[1CK,D=O,J'X-<1+X$WNO6MROU:W M9MOO2OC[;05VVEOH4H+ M<8,@[/2WOD>5FH^>)G_[FL$],?C@H/?]B^\%0=ENJPE"D!OCH:&-^U.1QH6C MM\*A75 XM/$8A$.?#,?CGHT?:S6O;XQ?X"W"%]/GE6Y'Y.'$-+&#\@!__V"[ M.&/E5V(&Y"L^__/B]X!@YV[(S@!3:(;OR-J'Q]#4$19 K7"RSG_I/TL+E3B8 M2MHPKXV,E]'U@"-/C ]O(T=*,4=6+LJOB2-O(<2AFXS(_H*]6OO>,P/RY+TH MAP4K,Y>H_8*%-5[CX42JJ^*C!;$%Y\CMP=#XQ)B=-K*DTC*6O 6/_IMENBXX M].9Z[=ATKA]WZ8](5:: M_U2A9@AQE!1N$_?3Y8\457:1I;4*$O*6EM8\A:< M^@^1#VP4^60H+&";X"_!;@D%]^^/"-F)6M4V"ID^F&I#76Q+>I3[]_5RY(DB MY39RI($,N;2.]#@*Z]SZN2I.?X4VIVX+80>-P@1";%4>CHW* M,7:IS>] G'"S7-P]0R(B^(HJ#D6I+GBUJTV'[45H\2L)@GO!W.XU,-1VLQD^ M2FJ[JP0:O9+2 %1!@::A63UI>68 OCSYR MD 078"G:=OM VX OT_B;OX([4SE) ,D<7*](D)X=(,!=,G@N<++[;C"#,B!-'L#V*%"-'B8!HM$&:O M@A7/; J$I3D73(KE8IF^_XKX+,^F$U&8B;^7.S#:[5U2Z]>:VE9KJH/I9)3% M8A5@/YPD)51R^=H%EX_U">-1UF=+UC\4?!*L8=OL9^*\#A%]A\W6$DS,?09L MIW'O7"^$72:NL'9,B\SAEP+PW;-MG;.#^@5)@*?'1RAPS@X:%UP^'C6.LF<< M^1LX*@S0T$U#^.Y8-E:((:,"AA9%$:"\ Z>$P@L"?97;]OQ-_\MY#>Z+9( V M8^L^NJ'I/MG@O]#SA?+G!RGNF RFRB@[1^M\YCZ@6Z_ZEM(89>#(6\+M#H%] MM8HAW,* M8H../SU)"4+X#^V_P(N\#11D(S^%G(-CF_!GC A1= M&WX%TDMU./UH!A1@L@Q?+T#9H^>?/ *?_>3"PN>)?H!K;6\^$I)QV(+72F58 MUJD][A/FB<*OMCFS'3M\C2GQ=4.JTA92PI&)XB@+KU"[)W"A%Y+AA41YE#WC MVKP0-4LI[CH.^LG]@,I^ /C:$6H(2G@6*&Z%.J-:9J;#$@EEHT.E M^59C-, MBFK**)L3/5]N3H3W]:Y?A?6+^BA;&KU=_]5SA_DIL40"I Y(0,-A]15<@G\& MB<470N*O N'9]%_1;%/U^;HF='O 3=N@-*/5WV3S1@+>"Z\49B1\P;20[3Y[ MMD4S1W E=2R2)]@!\R("FD3"01$4_]D-1\)'<#\@.C"?.P)21X_HP5\S/7PO7F$3B,X M-G'VBGD\<^+ 3OL,83I][U'&@2SM"7\E&#P!9;YLG:;/&Y\)P;8MB(]@IQ$A M?_$-/@T63(HI#F^.PZR5QCMM,4=ND$V%&#$4TXY )_#J<2-(3)^-8:'NO^DX M\$%,UX/>*-5]#:L^>L=[.P0*6T4.*%KFB-P7U6Q=070UU)$N&O6!ITH.3V"K%'(7RI9]2#K.;9"'DERY M<*M=S6JMYGF0>)6C3QP6!?$$IDLSHF" *"AB;N4T[]9O4!2TLT3A1MJ?Q1- M+,V(PF0P!:,PT2I/&>9&H8PDZ-PH')&$$_@OC4B"/!Y,]:$BU576SDU"(4$P MN$DX(@@G^CH*"D*6U\7!5)EPE7]13I_0?#@6TA(ZV8Y;@".,?Z(?XFS&Q^-Q ML?+L :[B^11Z/H:Z/?JB'C-9TE_$/DA=&^IJ77!D5QPPW=]!SIO:,M.AA]CL M8/?TB:&/)2R\T&%34G%SZ(%E7":3=$4LS2#5 M-,&>1^9),4U0&)8D?\R:$Z;0PB;&7!TO/# M.WKXG]P/;D56:THF('-\7_KCTR3?]!*M39_6$YO;V\;=)[A<(+0-[&>1ORA,\EPBOQ/3Q9-\A0;&JXI@I;V^0L[Y'G=2??"9SQV[/42.V =:HC,("Y*"GI7'6?[$"'S8N:;*6863PR0 M/X$"L($)07 0^-_\T?Q>^BA&'4R-\5"4VE+1P(?*IEY7"Z M/"L*;0@.DALB_6 M&MFNY1,SP/HMF]9W!:%OSVAAF&"9:X8"9\?H^T"U/TDHF"\FUN0&P8';FHC( MYSCX7\3O E(36JKV1+PGWUPO;4OPR1-#YXS"P-X4YIK6,KGEG*;OXU(HN*M% M=NK4_KFMC]I0 LMZ:5$:*Y2%VR_M=5QS!_>W_9W*.Y"IIR4\GE55$]^W0\^W M6;4R*XB&+UYC5&!&W+7O/<>+W;D9?<(6O(N62]O^_ Y7]BK0"EQ65^P)2^*L MA14A^%@OV()Z!?_O;X8DZC\)Y-ESGI%8 ;$BWXY1PK&TCHU!2,#$*#3J2'@( MA""REL.X4"^A!4>8VCQ\9;YR:FP>[BT6Q$\7JH(@?7P\R&Q;WJ7HVNX?D] M'"/A/PA>F%DXVS8D+7W&;@%R !J8K02>XR%&/B*>1[/ \NU-7T3>B[\L/0JA M&OFH2;>WR;TVP204OK&7]+)JV:18[: VL:D"#8R%;21QOTC2$Q,#YU(@=UIV M; >;GY)YTNGR'//N[E(0+7*WB'GN$=;ILC2?476CF5LX$:&-'D VV$;$>Q3^ M=+T7A\R?MB#2\:+_2#8%W)D3XY(%Q$,5VJ9CA-56,,/A&GBC, M)6[Q+UN;_P &7OCH,L.;_6+0&M9>42/"OT\38+1.?OHW KJ\.O!F:IU. #.\-=?4N?XOF2>NXEOPCCZ1,.:4 MTOE>:3#5AN/:(!DZ3-6AH58&/>6X7X7YX9/G6B6- M7M%ZI]:]:^D9\#V5Z[.-WI992HNV,IB*TE!4VH)>64-Q(!>0O@K(V8:O@H"H M"/PW-)3L .4K8O]=]-S\ZJ.T/AP!;[D&*9Y:VZ(0O#BYVYE3EX5WVWF9 1 O08L;,JQ:X<4,A#KGG^9K]X_ S;:/Z_O5 M"_8V9&%_)_.[_Q+?R]L+HTI16O/+FPRFKI?AE"SKV)LG" X\@O'&=@S=:?88 M%3TO:O4QV0-ES]Q)D5+3YZM=JBA!GG!)*%BF[[^B^#Z;3I34@R3&(:YN"K ^ MC8%(LH'.Z'4,A=B5RB!/@N2C@G$WSE;V%VST:YW34!_B%7[=+!#\O;)Z6<5R M3TD\,BQX>+D1KJ6R-*EW$ =3:2*/])9,HBWK1((WD4?9DOI\,UD(J!-O M?1HE405OO\BQ^86/@*C@?OK\^%[01DRS=>O/8=YB46SR:WNSC+BFA?F^;(HOHJ[Z)B[Z#E\ Q_O: MP;;&;*L18.M#6#3Z0%% %I$CX&3>(#%Q[ 4YNN^!G Q%]S7VJ,/1?:^QEHNB M^\8*K)2F_F8MR3QRR.=%(L(?;/ FR*\@%_-]-?[SZV_F'Y[_U@$!S"IR;=R7 M>CTL;-UUKEG?14;%]KQJ3U%&8[65Z*XG'UYG*U0K7_#2BRJ/&7RA11T'^KWV M;.Z&KZ^SO>^\M2 &6(53^Q86ZFV*5H5,P6H#90LM)$!I2$0^X9[2[3_T'Q"S M/,"JP+,6?K471'CSO\3T&T26;!TP:C]/X=\8M]129GX6:5I7@?,N)_-U%BL>*=AMG*JM+?XYD&X0 M)_L)A\/IA=]II@]MYLYI RS,NI]'/@[7V>8:<(KMMI@@D_V]EI&MCJUST^@Y MMX./0R7C6"7]%HO>I22O0?4E]V:@I9F$ELK8 =B*FG<4$R%?1+*:-RZH(JCB!?2M,@7%XTHL*!_*!O9 M:L7.]IWUG)W*^"Y MX&:L8%/FPHOG_TGA8J^93>^3?Y:A0>P!S>LXO)?VW\QGFH/^692%L6=*S0X-*YS0Y M]_1%V^0[:+HTF!IM434U)=_8OFL=F>*TTYL31+,_$.<;0;%KJLWI>\EK/15$ M?3O8*/?R_=&0)Y">ZDZVZ3+&MT.CMFS;]<\0N:C=L*B5ZBD?WDW'EH_O&Y>P6TKM9. $<[E)G MU%!SXO>J44/])>'[TP4O1*;6+:U *J; TGJ;I9&.:^B/[IPL#FOIS9C-7SQO M_F([N6I9P[KA^LNICFT53^F43^G$:GJ(R& \BW/1=^G4]07=)C[BN2'2],?Z MG(@.'0I,$ZN;R%-. H-AS%IO=H'QS% MIDD* H-BV6-=[=?_H ZM)EQ:24? M%%29:NTH-H;.46RZQ"\E_;?S&:8XBHUA@%*1LE7%',6F==QS*>8YX*!-P)>7 MLWB4',:&P]B4NY[#V+3J9*/"UAP=L4O,O(W1EG]Q,)S^XUO:XL;HO.[CN8W^4P-C>$%=/BI7$8 MFZ-I&JUQ&)N)S&%LVJB@.8Q-:]ZE4]<7=)LXC V'L:D6'30!8S-1,$;0Q9IC MA#; V.P?RQ^&M4D_YX\H".W%*_O(!FOOAO>2-%(I^$V:@0Z2X *<)8US HJ= M $(@W]=8(RR\F('P]U(NT X39DHGTDF?SXM]EBS&?MJ6_=3!=#S*SB$6@%X. MKM1TY^66KUYT^=J)Y"$^$=8^L+,/ MZX)[6*B1Y^#U@A@%H> MX+-GXD;P6PI:0E"\YG@Q.DHNU=@4@" (X3\KT(X! M7N2MB4\?%8PV%H,JX:.%6?O"^2)5LFNT/*N6^]%3S[E7*_ M!7R::Q^!RQ>4HP1@8=N;!YB*FZ$4@?)V'.\EN-_EZ.ZCXQGJ2!?+H>,=!3*3 M&@4RNPVHHR,04;>0'$>%(;SQR\^"?!'XBY5*GSK6]R<]XK]B7\K])1G MW8&OE)E 7\&;P(]]_^EM=LEPV.LQAR*'SQ M2HH%N'@H%HI>N;20FXTR8J%SLW%!L<"49FG!$+$!69>S*=-6VHOSSE1K,D+T M9?2NG)NS) N9)]F4O&3+F<4-_.2T(=)P[79.7:4^EFH:#UCC7C9T9HK_1DK; M;D0EF:4_D0ZV.B&*;(GJ7+)FBC%1#&FL$TF;B+*E+6:Z^7\JQ,Y%R_>K6G\6.5/YR7H/[7PFP./G,SF;B_ M,PW+\DV:?[2/P=CD/D>H_G;GZV_ADP\@OF$SC+ M[+0T?3*U- /8*7INBL=.P,HDWO6$0]CN#3-78>VX[6+Q#_"&3USR CY8.;"Y^]H+;/S!O4]0 M0SZ3[7'[/W;]D]AE'V\O,6?@H(,E/WA)YACZ"M$5#A,1)WO42?VY])/5K,TG M-A]UNZ118ULD MXENT7CO4ES&=MV:P_.!X+^_L /S3(/(/%&'I8ZTO15CIUPU@U'-ZC'I46Z.)K(^5_U9W"C?/EZITG?ZIWHZ8' #IV%]]0U MG?D_,M\+1P76.B7PUD=8I5U8/B2L(0KG#K;<:5-=XL!;@>7*)Z*M$G GK4DB#)2(R;ARKS&OBBO,!+_N6SG! M].T $Q(+WUL)WBR,.RXHK>Z\Q5T4),@758JQ^B;^>:_8'_$_81"_XFT_+WX/ M6,W,9\HT6$KS_KNU--TG\L'S=U7$KS'#O9;6$8AJ+ UEI4=#<+C<]%5N3IC- MVN1F87\G\[O_$M_+$1EQ/ #9,"11^JDE,E.@L*SL&<1_Z!:1^0,\U'R*F[L2 MJCT2?_7@SO=^@X<2\'+A5S,\="PA9HJ:NGHL@45&+_'["R8C@+#MI]R6?]"2 MAC#OU_.87@+P(SUEVBUDR1YE()8 /\NXX;.,@OF_;N70MD<0>"!1,'7>2TJ\ M(Q99S8B?)D9NEKO72<7_%-*J;W R5+97O0Q1SCH+::W_E&_:3V063EIY\>14 M+EV4L#I./&,JUR6@7GN[LYD9N@WLK(S5FL=W]A9R.AF-M..Y\1Y(QI)NA+;K M:*-0.6V4CB>^$!\-]B8:NY.V7*H,IMKH8NF+UG'G/QK#RN4,O(\1V@P#JX.I M.JJ,>-(3!JXKEY'L4%Y)Y2;K\YL91C[\]U"ZHM8J2OUJR8KX-?$TXE2:8??H M@@/@%0:O['=NQI!'NE(3A)TR&JN5(.SZ%OS3[;C=4J+Q^)8!Z>C;][0L@NF9 M^F %CMKRI$JB#APZ7=01IET9HHOMQ& ME!$)@]N(2XC$!R\J'4](XF"J#C5%X4;BDA(Q2:JO?$+A%+C-*"L@!V$)-M+Q MZ/U,OICV_ $)?+9\2!2G5*GM8I6\3% TM57Q:14 M SMI2R5-3:EA0@'W%1T$.;R%G9*7[^P(U/>4;Y L*!'>+/IA/1*GB7 MA 5M44'UU6\XZ_/.C_H-9UVWP:ZIUTY2!U-9'QIRSK#]:+]R)P7$P=!(:6&).?.>$1668G,(YGKM>]^!/T/BO+:SLJ<4_*M\ M'/[U=S>9N/J[BW-5*6:DZ7R)?&L))/L\@[VE&'(_FPYB.7];$A*6\1^V(+&2 MAAB/HVR")T&)O6IY$L5?>3(=V/09<"\R3;Z-I5BV9OQA )Q/YL(\\A-8XRS" M;3N9**<\#-9NAE?=!,21?@7O)O00?QS(;9%6$J\0CFNQF02:V/*9!$:/9Q(D M6O M,)L=4O%^<.=OZ58^ ??9)$@!B6:J7R4].S) TK-S"5*WI^G6G0><-:Z M/N6H98X]F#OTQ.]%N=E&8'K'/+CH?+[Z"&IQY=H+<)THCGO16M#6]SLG>/@4 MR22$NZ,FH_^EY93H>*!JBR'JP]V8?;JF"_!,!XE\+*TK24N9@7T3RUG#FNT0L]G#$Z^$RM"G.IX MGH2/X/UN%[#>+\4M*_,U13T/#V VM&(D7*T=[Y7@V -T./+PX;E@\>&O=E M='Q>1CMS 9,;R 5\P^EV2\^!_0W>@]L1OCZX<_KASR88]Z3Z("<;8.1D XQL M-N!;"%?%#_BGP!Y!+1/]XFZ&3Z%&C+@!9;;S,@1&WD!#^/3$0,/3>8.KSN#+ M9\Z8B!]=U.(8=GYQS!)IA9:_<[Z!_DJ"D YUD<:B).12H!=YE<^N\/]%+F&B M;-!,M22\&;Q?+-A4+>$=4&'PPW O;1&DI(P=ZCP3!C/WL&)I>12Y D04WN!% M@]U?XA>#'T;"[YOYBMGO=UU\&U81A4O/AU>G<%A2'.A#XT!,>6$E\&9(L_2F=! I!S9?(#Z+X=?"EP5K:F?].V'!,L!BI\-FTV&A43*XP=HB/\)'CL MU'*7\T? KH(9O\20QHA>%,*U[ S+Q'>E 7(R,Y,^".Z[?11L_3/-)8+'C]N4 M0" ^'^ (TC_8"G^ M%X1&X-3KS27<@_N:@DXKM*KL^\80$-G[ MLTUV/<'Q@!7]O1O',^GI_8.CKUT\?N_D+.*'@P@:+0/*N#JE2BO/$S4[E55G MK# 3OO[@^;\@.Y?5F_(8*]LU+6=\;"UZ\\P$V-7.S X.$Q6O>C;?KMS8^_AX MA 5-0E*OTE.W=T+5DKCC45* ;?VG8YXN7B,'8 ;JZ%LEWW6FUV>;L3HC6.+)[ MSGROC9\ A*:GL?1OS#V>DW@*.KAHR=GI\;P%N)OI#B1*D]EIHL[VB?H9O!8\ M__@"?WKS7,Q+6LVTI9X$U-O/2=S1WV!RG=X,HP2X6P .($@<]:_P_7TLMHM" MX2%ZPI-'4:,1Q0^6HB]+)#OX64C_+=F) M8)DN.V2T9Q'\DV:G2R+9B6"*4IPK[1 XD2,J1HD4H1#%P'7F$_F\2!:0$%7B [0^8J$B W89">]831T-:':Y:KC=9QJNPN[CT9N+AV40<+!!!O.1\#_> M"X&09KA]^I:-\/P='S?WS9>D6 (NQ=,W>@JX\T 6*J0?BC>88^1DXV![C_'L M.E&M>,"7U)A:^ '0(7D8JE2?(C3;KIEH!;8N>@"9A$T^6:!3 \\&2Y"]_?"T M[J%WVER4#KQ"P<2E@PZ#]V.?"N0O/.X\@^50#^6PW(ZR/T.[O7K;JSK&.[6^ MO0TF13#[::\N*^C(P!_!.2)SMCW,H6"^VD';4QI=2=8@%IH4=-ULNIR\4HD= M*:,E>*A>8BF+ZB.1:33[!86S(6^F"J:%DS4R1?$2?^$MX[MSRG M916]++;\O.Y/.>^W],E*3M(\)S^-&Y^3('Z#$+4L,>R\,C-.-=\/PA-QB4]; M3I[A;@([^?7<[:FM (M_1C^-%N,8#*8A<0^\QB9: MF,=3J2ASC(3,L7R)F@-K2>:10V(-E=DSRHRQ=#T@)QU&Y%;&?1D@]B $T6J% M>8%=9WDW\16+J&#&9$GW8K72++;?8:5GU?U%ZE: J>7:!I9-)N4&LEUHBEHK M1[NU<%&3B<*!UO=P 3ZGZ@?V7;K;&3A'2;$9;!0/+!'>QR4'=/H<34UQTL2D MV4S0HK2A26.3-5'\:B]NEDP/3T\^>4)/\2.FC]T O,%_8PJPS "#HN/>SIGJ MUD*:'9GTT#!]"K+>K>S#_Q8=(7EKA+GM420Q%DA<^I8>RBID!K+61X8. 2CE MYS>5ALHB8A\MY;9]BH_JRJ4U%1$+L10E"_!6]ZC2,ES04WRQGN"$?2$^97 M0)WBJDUHDXIJ<$2P='I$L"+C\%7UZ(A@KE&Y1CT(X'8YKV$3H-+XM+3W@$5@ MBC24^4BP"W+2+^Q@LHX)QUVR"85+"IH5'DK]X&-\MOB+[P5!GF1@45JV9*7N MJ=1E]KEO)B#O%3O*R$>9[]ZV),='AJP'D&\%C19KKJ9$/I//M&R^%.3P7@,0Z/<:YJX!(F M/MO&&=@W-I+EE@0X5TH>M>;Z6PCPWN))BW-#$5[=%JYBB/>! 4E$6#?NILI) M-SHDSR!.!E.I+H/((SX>\35TC'*2MTO:1Q61',3)2,\F.W@,R&/ 2Q0CT')F M8;\OZIP(Y*Q:E0YIG**L3;[\:0DHZ^)K8(F,D7SCB;(N*>,+>?BE6>V0XY\/V;'K M^.OH^,NU./Y<^]Z ]FV=X['IKJT8&!B#J6$,-3%[:'<=?7P+B?O81K(9[#4G M[[MH8-KM[:=V*_'VLV(T&4QU/0MERS-)/)/4 7<^Q>(EW7EM#(ROC').I7C" MOJ7L>%UW_C"K57#G-7$P548ZS^-S[=LE=SXE"S6Y\YH$ZE@%?,\_]( M@>[2 W!WA)0/Q&5WABJ90[L52N.K&T1JZE=RR. MB_QU.WZ1 0K_CG,4>P&0C ,D#+ZP,:,'^21A##!5RSW>V)LU>HAC@LVDF,TTB!R VTU2:7T_0EJ5G1.F'9T2='>X^TOW=3I+*&\ZCX>B. MG+%KF^D\\0O&O)),0L*1:#:(%;!*(J\O2Q(/RLGR/IVR0";Y/@K7'@&S3 MOT12H\C-"9O#%&N;9'8>X]@8NY01,5DAXU^X/+EF,X4IX6)*J>#,\6/&M78& MW+>\?3EG MG5N,LHQ5W;??VRX\ELAC#@)2]Q;N;.C#%N]S1R$(%8'E''*X)F M,:"*-9\M5K,=1$6'C1 T)&F]@,QM 3LCDYZA(+2R M6YB>(,=ZQQ_!C_L/"#"JQ-_A91\A0GY*'1JD-VZ"YW?0+%S:?D*HT /RHE.SF8R4L-W.CU/\-1(^ #=_.18"L%'DD1LO!W_+AI'3 MT7LX%]S"OE:?SE !TX\#EW!F&OQU$8'BWSA!GL6F\EDD[0.A4X-^#I5 $U6Y MB>,G?7!# G-F.W8(!,%YD_$XP'@&5.A[SI#]?D'U?CRECTT1-I_ $-/WJV^6 M1X8+MKXR=94?W/G>)]1W/C'E0Q>SD;(NXF)*SOYH0SQQAP"[#FU(+Q005M'E1P"Y5B'&_^//!+>=+0@>[[OR)P MMSY"0.!'- _U&>,'B&;<^*CWDQ<[_N=UANC8 3L;=-MQS P1$S"H57 M7O2E\N(@WHM<8)IZLQ*[5X]$'03T#] ]B*LQ,O5ON@SR*LLC+9N?X(V53?$7 MAWX^;OUP$NIUK-\ND&Z>?4.L=*.F.2NG][*-UDTJ;MUXFU"7I/&8==L5R0M: MMZ/0UL5,G-HR?.M;"/Q8Q>C-Q'>EH2^O9^+8SAPS<8@'KV3[FVM!A>Z(C9-Y M!'=[$=S5;-RN2)YEXW2467F4,ZR$AW%-,5D,PGI#@5R'S-QF;PCM MN2.&3N'!' _F+BV4"%M]EI7#>C-9'6F5QSCP2(ZC-%\IM]G4U(.F3_:,,3W9 MR^G,O*&X4.5QX0W&A0W-W35DKJKU<=7 ^R61F0Q:F6*, MQ,J5*74&>[M0(/E5]=H^M 'KT=AIV[AK&N[@:"]!JD+M\H_?@WT8&0K2X2-M M>P9+65K72VTI%BD93REGV+6F<'Z:?E?UC'=5.OJN>'R: P]]^H--0?I>?Q[X MCIOFN2S" 7R*I=34E92HTPE_$0_C5;1<,TG]T4R[?:8=XF \3%2S>9ZS^?,8 MOL=N#UMGV5;N#]LJ:D?9UCC#R'151"=GO*O>S7>=C ?3W*F!W)X64$Q*CQ23 MT5$&%L\0UJLU@%5\5ZG\NZJM*?!3T\IBDH& M2.P \K6,?Q+/JWSXNO MP"Q/+KS0G.GJMUX0!EE8M8E1&D"MI1C-"![),+PH'AJ#YEIZ+P%B<.^BK06I MG;+2L+]8=N(&),82WH+E(<8B?C>*Q8<4E!_((0_A.C[RX$;TV8=/8/0TP7 M1Q.Y-KBNL9%_R:%;'?Y<&6OU+>HXAEA^#4FR+R#2Y#J_J@)/->DHIM@^0G M'T2^9S%0Z=S>! S<<"RU!0^-CWWD,G)$1D[4KS0B(\:8M@*JDVP&O$TRTGK? MIQ<=3U])0&B\BNTZP)[HL2O(8&5!U-YJ.$A0V#A2[FFS57CT0K )APJ6AH)+Z#&/N8(7#ND( M7%JO]E_XX1GC= JCXAPYA^]I)KP6TO1(1UY%0V+]^&0XEL6:_.4Z-K6EAU-< ME+DH%Q/E:QP7&V,#AXN *%?.JK=2E%OB)15!7-N(Z+:I#[5MOH4RV]& M1K9/#K;(P35C6JGDBRC7>!$1:R1&6:NP>9'2@U3^DH3K*>W!-(^Q'O63%_XO";>-::55@P@Z3AYE\V.);AB6 M?/,]N-L6OSFBW*JC;+KYW#?7M*Z\.:*9BD??_ S+IG?E[97!='S,JJ=<%H]U MZ \%=%N&PIKX]%FN16)UP3Y':KW_]N6+L(Y (<(7 @UP@EWC.!1>EC86I_ED M!XM[1M(N%;A;OO 2P]/>F0R?%I]L>W.JB(YWNVK&Q0C/>F _>'[\$?Y.W-D- MT-?6/?@6K\3TM_17T:M2]WUK 7\$%#O^>C@MIN6OI^'K:>>]GI;)%+3N]724 MGLFAUT-)./&*D]:_HH&OJ!QZQ?/\W58WV2/%A:]DH[V^^-Z3;Z[.:++? GMO M;Q??C>(D9)KE#7'2IV;YV,?\9R!0F!E@E@U1UXP,-$5A1N'2\ZF^G[U2YW3F M 5NC>I_;8 Q"SP]P/ /KO0_NA;XUOX/C)8I2&SO6CR^J8 =ANU+\^8V!#ZX+ M(9E%L18$'.!2H#>P9$=I-SHD'[;"^ [%PQ?H&)L=3>@NUR1_(S(\0.D64,&DB&G4,+>--=C?19*>/CX?9%# IXWMM5=P#+6H1 M<^)B"9/$:,U;4C=["_6IG\'3FT&\+X\K* )>@%A,<@XD)EG(DB\V0!&\L>D4 M$B"Q)@'B V'/%:!)W9:4MW.D!$AJ6H D;H$NS0&_F:^"3H_NQMSX-"@[!PH8 MZI,=F1N?Z\5QU/I((K<^#4K0@FOBQ@!]V'9H6A;0'+.0%B:SP1>F[[.G A1@(^SS&")]<(> M_(P$HU2)[9S=(A#8?4+;AX^P>-HGEF,&@;VP\8.=2E'\&B0S"*+MY4 !RUNM M/),92NI& M;'D.Q A2&X=+LV0/9== M3OL>[##87L4G!>8+&YL4*.]1AT\*O,9:FID4>'C WXE1?EGS<"5; (*]L/T@ MQ*9OUM!,E1G3,O2=4#]O A00>GL.1BSIY1=8=U5B)<"DVO@K*Q[ <>3"-6@1 MIIWA=S8:1:9*46VBG@^8+@+]:-HNJJ]8'<&"MTO%M5E6!!J-_G-.%K9EA\TV M-U]J9]Y5:/7>10'8VI2RLW9/3-K==2'G#^[\*S,2;.VLK>=;?.MR$"DR+7)4 ML\U_F]&WB5UV2[_6"X>TB< MU]R>\JLW<9=K1RT5I1S8"]H&4#92D;&(R<@)4S;]I=?LV"_=UWNBC[U)0LJ# MJ:9M.RESNI1W6O&$AVT>95>##??8NQ0!SHIWOR;F91OX;G]S9@@L(ZZQIAYI MU8^M&MK:9]-VJ+>!PIV-5M)14EBH;:T?Q@\B.3M :)OOPD;]I>D2(S_2&(LV MZMDKY!G?WD9!6U(MP"=Q+?P*^!""'V8T:,RWP*X]2OLS["S]RZ%')9%*.FN8 M6U&)50;H Z?[0 )@-)M8P; 7FW@&1!RC,!'*ZJ%61((WHK :Z,> M2=POTW4QKT(6"V:]Z)TAMB1@J>9(),R9P>WGL,,^W \N(JM@*-@0^KBO0Y8[ M,7U492GD)K:(D?#>M);"7Y'IPT)V??9HC3.V [J&])KP-\?6! K%9K]*KIH? M_KW DF7![J-7YI_H50MQ5(47L%>E>2H(X(((5AV_0K]1I'9Y*]XH<$MVV(M1 MO03C .L%T>P/^!PMU3-P!Y/3>42SK@%YIDCX"Y,VEZ=3IO2W,]NQPU?YA%1#$A ?(+/-8Q7]*3NYA-!:,7V#1W$H5X^C;R,!Q\]'0*%7=@4\1Q+_ 32!F_K "@DY M04V"JT9S&:S;_CB"U)#>EZXD$8P9<]3XF$_/=40_B>9";IS:VH$M9^K!#D:-; MF\7T21ZQ(=57>,Q;YEW!2CZ#&:02'6SH4,Y IGY@,?_2@PU5BPU$/FS[3:(4O _; L"^C[W$EC#.H MZ7%W5KMC,8=X@!5"J 87>XL%GCZR([7T%?%1&%ZU4<#HSR$;4GMTT*#@%D-P M27P:JQXQ 'LC,'<-0MH6C J#R[0ZM#^2_3D*_KBS!V55^(GDT.^I!X'LQ)JP M8'9WJPJ5,<7KRTZXW6;"8.',!;O \A\A^OB/%SGSC]0EV>B(6#N4?CN('[51 M3DI^\W+V(@60!P**SP9']MGSS1E(6>P9[69,LFH\21#FIT::Y)(3F+]U<8ET M$M7Q/"XY;_EU!-M@\2Q[C=Z *6Q2@G%9"!HL8(O# M#!,C:KM 4T&48AM49S).:WLR3NQI,NX;>4+K^I6L/1^=R&,Y.47)YN04)9N3 MB^])+?@O!+/O:Q!:X0&\!^&CR\0&&.2L=!U[7LXJI.[B[OU."[4>OKT5)&/< M\.%:E]"Y$S[:,.<0Z^W07P2[]ACBY64(2O. <@ M"I,T#P$7E^93-L<2]I8O,1-%L("+IA-\\A0Y)J:WXJ(P:VF316HAJ/*I>X\9 M0LRHTD]H8HJFB[Q-7<:VDHYE)/$,!/Q7ZC2GD'EW-3A[$$L_'3[/9\0X&L5] M_/1A7_@_T8CJ\^+S_\_>FS:WC63IPG\%X5[&%0&I1>TJSU2$VN7J]DQ7V6.[ MIN)^>@,$DB+:(,#"(IKUZ]^SY8*%%+6#%&[(W'R20.,=*]F&829F[? M B->)"R8_+2RPHU!1;X*1\#0T\)Y). O"3+X8G'!Z$^)F#>'#TYCBC9"HI^/ ML5%VPW@0>S Z\O"J5"*GN/DTZ$B,A%]A.>&OSQ@OW,Q&>+$0R.,! MF#L3P: M!/(65E@X55&5*%1BUPH,F^*G/)N]^P;+G0;)6S!8,KA/<9E&_\K2JW]A4/L2 M5$%9_'UI#:P@00NK6$%3?'S6HBE>;6)ML3$E$XBG]96U/4%/!7X=E!G*K((7 M-487##.=4913(B>ND1?O&G?Q&3C91]U?W8EQ^+9TQT]"@WQTTZTZ*M)ZTJ#M M9GKFSB+3BRVE+_Y"<>V?.:[]#N/:_SG.__:#J2?5_*EUU^30\CP_:+5=?RIIG8G MB"IJ/O6]F,1WK,1]U\G2+]:7Y(BS@\XB^J-XS]_BG_O%1NX[A>7@UAO8"PXY9O6/.#YY_QUR\^N'LW#\8]7O']-XH MV@F&G)\8BKK2^AFHU4;G-Y33/L&6/3EX]][ B=OC\ M(H85SH?^Z6D;]]HG$=O"4V$+_3GF3V#@.GOMTN<=F%C]\00JA,M M;BDF T$K>PF58@8$6_$%B(D M9@IL3[F"#I#H":6#?]>Q53UXU.5$'YD,(I> MHHCJ8L^C=<7?5H7B&_N=L \$J0UPCEV&FK^):7 AU3SB^O'/:2'7VBRZZC;#:">"MJ@NDRC=]J<^D65\*%O@:<^;)H^O=OM-LUQ+S;-R:L? MC@_]T\-V4?S0KN2QY.1]&L7!D(I=LS=6Q)6>>&]0+SG_\/#>D:4A&]M+*3OM MA92=O?KAPK\XN;<"'AJN;2PFGQ0'^Q99GD1W4L0OI%O:^5DOM@BV5/,/1FU> M]JTU[ Y;.M@FMCL];-/KP0;RI.T%W,RC MN]W(I7<7+IKFD/\>%'$(>_?'&.F5HA5$,Z='FQ+-\,MUO/(F]#-]P#4A!QCR MS56ED&4A-3'R;(5,F\7S1! F(82VW?T:H*2-.8P'5-+6H))Z#2Q\80B1@62F M%\LPD,P,)#-;C[#K^1J\*+U>0_[YU)<"5L^:65%0!@/WS'UB >0V8+NF[S=1 MW'?*Q?3G][W?Q+=*/X\N^BY;QC.Z3[9]1^.,.QHOO*$F%42"@QO_RHK;AP$9 MBGIVU.ZSL;7(H6$G[.I.N*&(\WX[X02BM46X@AH6R QY=@82^VY[U2[':UD"0O%?[*LW%+$^@WF=-+GE+=WX1R,,6' MJBQ*<'9AAF@%;GTPG(*)=.I?G/3[8!C U7>6KAO,BL>5KC.0KC/_X+3=K[=/ MTK6%)\0:=./A><^/BG>F\>P\PZ8IW%R6TJ/8 (G%>+!,>BEW6VB9?,;>PUXV MIYS\8(G>O?C@^VZ$(S2!2MS _'D>D+D"DSOM-WKJ%NG\+0QU889;'(7JD MU(*>I/5NA\ .5@$]WB'P%DRZ#WSB7J;1;P'NU\ZMB@C4PXN^5+T/%64]U/Z; MR]((.\;?&_(]T.QOOO?ABBCSLJ3P]Q -Q6GH[ I.BU/&WA(;#F4.P]K$@*5!XT M.54G*;Y+Y>/6;^V[I:UD,5KYA=NF%LZ.*;5P=G]6H%LMY19X%2]9)N^6['HP MF3PAF3R]?]^@9Y+)+3R8MM [^:6C /!NZ:YZ=?(]ZF/N9. ^QZ='NM*7=X4ZVZ0$'D^#NPQ]_IJQ]&^P?WQGKT)Y@[2/ZN2_[) MPTC^V:L?#O;/'LKL&XR[FZ,PO3]*Q:EX-*:9YE>[K(L>=&YV3XG=[O@6P>Q2 M8^=T@#]4,/Y!EJNG95;#-AVVZ>/:&FNVZ059&P_5.;AGV[0G9LI=2-?D?B(H MQ\BG-,^*&'_P?:Z2 .'-ED;I+W5:*YG_ _N38%QD* ,K?]+B8GCZS3 Z05J2 MDSI=E?O?J2$!F0=7:F^",N_Q6<;KG3F#SW5>^X63R M:-1>+-.P=[.<5O][V$0JQZM@3$%OQN)-%M5M+*3=688"M,*,,)M8K,F^154D$ M'WL!/'+//&[HA[GIK0;FN2>-!^PD0]' /->+91B8YP;FN8>6_(%Y[@7K]34] M9WN8C>YUP&FS@LW[O?061916H._.+]9CG>[I@%W.8$++#I#3^>C5#UW-7?M0 MK[V3"WUQ\$P+#4YT5P>%;3(#=AI'=LOBQON]_0[LHQL RP^TCUS(Z"3^IJ*] M/U2>=>VOHU<__/5/YX>CPSBW4V-NH7F*7<5K>>:;JBX MV[RBX+Z=V'9K"S[3!CQ[P$C PQ:<#.*Q>5'<(QS2-Y?*G2/4T#_JJ)3;'OT] M0(1N 1$Z70T1ND6_R@O3KW+ %6TYKJAW#4??EVKF;4^_T4W^^W.0!DR3]Q^% M]V-/6( MT_JJAJC#N;M,X;Q..I;[?ZA]*XYX$J/YXBU5D'L*$3O>CRI42!V @!T/H1'[ M.[HIWL-<1C*I9>:!%)19CF8P3!\;?/"-S^*Q=N^021K$:>'AFA[B6^2+((_V MDBS["AN*/AV]<04&15Q@CS,5H,V):_E9A.5P] [_Q&^MT>J!U3I%9E#OD@FF M1Q='QSZB&\'BQ97S/5E3]\)]'*8[&'<45RH%X4%\)@LN3L.D*BO8%^J:KH [ MHB#)AU;V\7/=UAQAF31?::CV/9C5 K&:(?8Z!ZU2>C!]8-,5,9Z=\( 890%$ MPYNL'IB&=\+;+/7L>@MP< JOJ,(IOK1,-;K@83R'7Q:^GF?Y:JR2&%ZC]3DY M$+-YTO4;W:&Y_3GHJ^:'"D1\UG47]6T.*]GZF&>Q^6F,ID34NCB)OZIDV?QT M%K0^PB!NZ]>&?+SU1:ZBN&-L\SS[=]>8"Z6^MCZ;=LU&"93D!#Y8A$G MB?LQBFBJKL@=$#&'I>;51;F"O\'^C4$'@$Z"33>CCV%.P?TKJ/=T.0U*%(M0 MY:SH>,+-Z5*"8*JKI4\!;OHU33)]O79#B*AI3/*-&U\4KN^-JY*PQHAK3F#H M> B4F5\[(\995:Y&((N3OH>AKN]/SE%3WJ1/]P[/]\]'/=*HM,BGIDBG#X-Z M4YO7PY/](YHP4FI&FSD*S+6#\*(<%6&%FBS,BI+:;LX5'L6PD^&OJSQ;@+&2 MDQ9P5")=58@-$(SC)"Z7J/Q8XX*F92_WFO3DU)LDV8*5+UR.C\W,JB%+]@B"/:_":0K#NX+5SDFMFP,+U1Z>::#QPB2K(H^B M&[C$PT+V8R%QXSE[-8B">8G_(&L*=S78NU\5G3QL-@XKUY.54[ DV2P.25E: MO6X7RE7KUQF&(FF50:6"XH?;I]A.F8UFT>7@ T@MDA@:\%D>%W@#-"9 ^Y?Z MTAP\)K),@ARL6O"DX#,["/ +P/FCG>Y-@CC!@X./A:+(X I4&Q4^ 35\"49+ M <.))^"(I*4[5M ;5TDVACNR&-*#HRI$A!0=23 RO"U(%#MR19# D\)EF. @ M\:LKE+EX4PKJ!BY:S>.Z_RHD(#?6&O&R2D'Q*")H2B M!E,D"#$2# <<$)O-5="J-2Q# M^AXC%>B>T!]P1.09:GW:H8,)V>]UYLT*BCQ9PH;$R"^M,GN-PYKU:,T<'RY. MK\&XXZ -*%,VHW#OL4J%&_BTBF AYD%1YE5(8;WZAD3CK%!4^(H_C>#,3K(Y MWI1-L2#\O8J+P8OHDR#,T "'_[.6])RYDB42Q/Y ,8WG', GQS!5B3+&1#"^MU]3%^5F)[SN:Q.\YI3_+Y"J8T7(.),[A\#G[9$&GKR;I2"-;U MFVD71FHB[F_GXI&>CJ6C'GL\E&$(DR">#5NV)TO;C+V5)6+F:+ER1;'OWV%1 MXTF,V7LI9^!3^:M:8@"_R% 5UWSB]L%M+QS6O9?K7E0AQM(F%2:E"=-'9I5$ MO&0QC1U-@;@TD( ''=<8AAO6MC]K6\_,@NJN9G/KVF)H-:DXJ:NQ,Q*M$LJG M,OB&FOPZ+@B,@=^@OL]SO!*^@SMJP:#':8>+OL3X[" ,_10&6.^K(!>\F7)3 ML%XV\ M$"C03?QNN;)%BGEVE0>S-R@2PQ+V8PG)@)[ 9LSRPHL8OW@+T QM5D%&%AH: M*6BA3W'QU?N);ZU!0Z@,Y.M'0?WNZP?M*-+Q-]" 9R)8TH6$.SSX3!0\SR& MV8'7P(\IAEW!Z0RN5FV34R";,6;\-Z*A&F!#0M$2:H(17@OD>20,'VCVI1?0 MV<[^.M@,*=B)?E>RET)O>I$;0!H8 AT9Q;[WA?"Z=*'OCB",\[":89LLS+?E M:H(.I6&I+-;.':JNHAK_FP\ES!=_A9O;[&ZLZD:0[_BC>CNY..P,*2Y5$>;Q MF$?P$5;">__>]PC0/[KT7KO[Y3N&T]VX9 Q7IIN[>Y?'$67P^@Q21<0GG*5T MUJ+4_+K_>=]%I.)]#-@4>US&O!E??W[W]KM][^=!\F >1S!B [=0Z76<9RD.9I\V!\TG75N;4G (50XCF.39#+3)C&"F M^+\\O0Q!162>@:$B^KFBQ*C@(;T@25;>7N"&B%BG;01;.I[-T3W-TIMV4X5S MBTCS.-WW?D.X5THC09,V4B0+.1D]])"R+9/^!D*Y;@"(OB1>U'"*.RDBB&4( M2ZCCT!0L:6X$N*C^2'[]*(8]B+E%D"TF=N4Y;POJ^E&MAI2_O.*QLX>Y3BL0^@KJ]CN->VF$Z!+"73,YDE,BM[!Y:#*5RG+17X5 MI/$?@4'LF#()+^F& M8-@4\DIC+*4'"U5A74FY4"KMF#NZZ4*-7:.CX*@"V24P7B9MM/C=D"K'*1VL M;>9<%WWE,*D)O!X^:9:!R,@Y3J&.'"9L(F8IP?H4>KCS*<+RB"N]P# UO O\ MF.-;/(,XXUHLAD8?]>!3Q(DF:2 M%?1&LH+R]#FH\AF63+%UB()%J2%LUA[%O"I!:'T&W.P3EBISL5D[1G>'6LYK MNYC0WBO6K8;.P[S6GHL5R<:4\@B0_8"DFM0OU\K$N=UZM1TG"_!!A(9P#"FX M!4M$GR\4F('POZMD!2:'7+$@! ^I$*1ILMR#.>=V]2R.K5U3"#J1WP:&.*%- MX"%0-E%VNT^H"*=+7?JUS_7X?%=3.9_"LLVS&%$4 JG 6J':.]'>+%4P6V-E M;MEYMQ=<30B"$,U+[E&9Z$L$"Y:"7JET]!J+]%6@IK$ MJ5BG/'/U>Q7GXJYX7[(H6/)QT+6%)5I!TF_"((WSCC*9^#VF-_G48TWLO:4K M+^?S@H=<5[J1PM7PL4Z4]9>C^?BFK+:4J^U04!G' L<7>N=HSTBJA'=XENZ! M[PL>.RI,O:M0-^-@W!.-#ZY9-L90@'LZ[LSVTLZXJ\EP@?*LNL*-5&23$AQ9 MM1<4>P$^YSH& :%CW7?"7Y*22-6"++J BZ^+:HQN\5Q.B"\40JI]J$6M?M#. M,>+E311%3(C:AP2'TJ.> J.,HEMMR"A%&6QA+QP"6:S!I>;^NOH;S_*\/APY M@CV)1H#/GI>Z&+EV'59F6J-&GA.9$SR@K(TB#144-FFGT>NL1BC4'V97H(CP MNP"3-Z":\)#'N^(S\.'TON[3.9:2<;$N(2V_P4D0*]ZY] 1=FT=&[BK\>\$E MQK1JK/QTVL%5*NYJ^>YI*M$/>S4.M@:=U^G,NC;8F:TC%5%L],*<-+90QCE\ M,C*Q6A(7EI0'29XQYHL9AM](S8 JJV8TBLA$>9516H$WSK,@LCH-IJ%" Z5> M#8%E,5*][] U\+ZM#0,]IB IIV&04^6G!.-\/"LJ#,A6.=GWI&%]1J+ GG?L M6HH6EF)Y4FTQ"RYU0IEEU F%RW&H"PI3EPBSPC']&BD6R-K)LV]43@X;X.3B M+_3=Z<%??)WE),O0U[O>;".R#4 [Q!C;(WFTLB=QN%]3JD?^C.&W0I( )E8O MU_Z'!_I=EY"P8T9[[,95Y<*BCH6UBE%K4C8(5*)+DV GA'R&(?+C1AEP;P-+ MA1K;N8^C]Q!77ZNBP@BXMM?I%^ZMFB!.5Y#89(BLD:"5OXX3P-4Z=" [W'YQ M'205G!E11%H/)U+[AT@H4B6DB\! FJU8* U'- B79+FYWJ@E[D9'*Q*BSY"A M6L%/1/%T\OO>2OKH9]SSIK#OG34\=D)W8O;)J?J#,R8GRC^6.O?-;5[(YF!H MSXF+A@*,6#D8QQ\V_F'*%[$FD9@3V/?MKF#O)J;E#%%#I3DBZ[(I!$K.RAJ"4^R M'S3Q1LWQ6,K+$Y$%\D.DQ+9"#A:J3E1]9EJRU(U]D%ZC)$[-W$'E(O?PX&;: M+Z/I-/::9*G$!.E*FNI\R;J-;P]_XGGARHQ3L8J=5NO^KP0MS,TDH[99ZL*&8206CM&_L=R"[!@P MD,#Z?VN>:(,?#""'BV"0,*-$"!8T@3UPD"G><"[3+?DE+%$;9Y!B M#M8#*ZO'6M1"6OB KM2"IX7OS&.B?#;.=&S!G_= NRJI,A,C-"\*B7_T&K\O8JIKI.A/A2*0I.V M*P;,DEAWN\%-IDIPOK0&>;(BK6<\SOD1N8(Y2NV"=2U2&G4-,IYPQ$NFD -? M'4NT,Q&J$JL^*:*@O08\@KY-D@O S+" M* '\A@SRQ52E.I&*2I%]M(XX*]PC3CQ0?:DDC]8%7&NOA1'5+-KW+F$D!-#& M^%/[ ;E"_Q*%BR*A/&<836)9=8X"3)-, \;B+151B7C"38%W!L> QZ;A)C%,(I-!$C@G"H:1$8AY^Z)'5\ MZ9.RL-6'BVEF8*VF="%J*'V#.Z;CHZCF!,?5P6BO>2# 2G_SPP%N%&%Z2P^2=^TMCW3?CM@IY'(X[[HGQT=]D9>2AN:L M*B?;&)8%?9]NA^\3L.);9BL%J\YZB2)HTB"W:YD9#T(F$8,!$2&#[[*[J_ M.M^)Z-[G37M3[/')Y1WYT?*.[,3)\&D%J8K5/G)4].&DX#S=B@$S0FF5M@?7 M)X_V4-\N'?TD>O!A5>1=-!>\2%92J8+0TI%/LN)-4:>D&)A'S61OE%4%&N4S M/'54/4'O1!-LKEUN6:?9D0#UW(#_=,2> 4Q!N7I89L[K:O%!->#Q>8\4PV?# MA_"SYD/8"9WPN8/GX1'4@22H3)73_32$41"++$^BA4UFU]]CO9:PUXF-.\X#5BFXRB$26S3E=\;DZ/JV]P MS]8R<-4<\^'L(L/V)1D6OP\$B)!JI'Y$GXFUXEQH'\1&3$"@4V'!E(E"ESL@ M-GB4ECV4'$0_8($HH8C%.<0%GV!H%>.#5NOA#5IK[KZ4ULL24DQ(6\'2H \: M<42-=!7=PS$4>+HP'"P8HTYLMN; C082H0?@%2KCKWHFO#U8TZ" M1]HSZ+;HUTK$KVU(_KV?.G#'5U#<55GPT,X)&E#H'Z@DHBCG-1%W):TTK>*#K)2D^M:Q3 M@PT]A#O>1:@V_+P-S"_GE$*OYVJ#R;W1[Y&1U@X]M"/J02^V,SI?I!F2$D1V M(]=+N'D[:5(XB'5+M1J,G0U#D6W_GNFN7DLHZCL?'K@;(1NT@YE90BB]7BOS MCBEWT^B([1N$HC 5KFN5Z5P.6; 4#BNP>3!8'H8A^[]&^2H0$81C7,00]T0H/A2:4QY$=-!#J_$ M0B\LT=-,6%T,>!+%:A'@[7NZ=;7=)"CCC!9FTK18M0AJ:L,7@#$>*@@VA2.- M:J8#00D[&"&+L#%MVC(+3L99JDA_:PX^.IY8KR,E#0ZY*,2U17]>5P**JXA: MH?,=+PFZUE%(P6![.H)A,LCT]+Z=Z%\97,FRDLFV%'D%O] MX<&=,G*EK#/"=+Q;K8,J(9^C?>_]Q/5$6X,5/QU6]!H<=])[EJ@%/&9%'TF3 M0IP5QBTG9!X@0IE034XMQ8JQL?>OOA'TF&, 9(8P,&#U[\RSXL*545&XIFR% M9!3CN&0+N@W1+,<-]O5AAU[G_[U/2.14_P8 MPR@!%\?I8-?JII-MF9!QZX .@O30Y$B">:&^U_]X@Q052;#\/DYI'NA';^1F M$@5"JQL4$U5OR)+14O'7-BBR?\"!D3*'_XOTD^7K??CJ;^W/ST;[%T?=7QWL MCSH_7W6KT>'^P7GW3U;=:O7GQP>G#S>HHYMN!:N!R_I?KXY>Z6OTNL#1KY[G MJK_1.N:K+A??[/L##XDD&W>]:%UV./^&%[YIA0F;HL52]?0Z[8!W/A9[_LS% MGN^PFND_Q_G??B [!;MHF^U71OV9;'N9[')2 G/"S<:1A[/V9KN6 0W!#:;Z MYM=].?-U]&BB^81BWG:.PU I<([7+ ?&AIYI,=H)B..N:I7F@AS>_+Z;">:! MUS$?.0ZE+Q-"T@G_91^O.2,/,POX%XF%;I.Z;R+<[Z3V.]Y[6W;CQ2TW8_<2M[?*PZF"+RJ8XO^VFN+_M\$"*;# %VZMY=MO# MYYE6T!K;,@MO"A;FM5SH$SG;%&!LK+.NLE?@.!IE6 M5\?;<80/!ME&.NZ..>7!(-M%@^Q]!VW""[/&SOITZ _6F%V8VWJ.@S6V]=;8 M+ZH4&^P!K"^IK3\"&8BR"BOUZ;C:K=/\MMKK :=H=\JX'MMR?!&2>,>4[B") M/3QF_D8D)0/7+3B_!P_1NO1B-+0N??JQ/#E![E,29][0Z&HV#_*X8!ZN-N6* M9^A6B!&.H&(UAHN-WG0=">,#OBG=\?%:F6X+C]/)Z?[QV-;!PW8F%:R?GY2WQ9VZ/H3[PF0U\9H_)9_;"9N7/@PAM M/EG;$<_HZU6BOAN!E2/V1QYW+]YP@^$Y=WO.\\M47Z^ZCZER.-I24_(U\99G M%=PCHH[/H0*QLJ33Q7?/176[[:G"@\XPSQU*R#I3*[U[TY91^!L-T&Y["% M>(5'*T'OW1X;_/1[V](K\1 /T7/G*?K5K6W&\\DTL#8]K<=+[\^CD_V1!X]+ M=%M/[*534N)@QHD#97/)]19C7D@):&[]C3\K@IGIX 1^$48??2_*8W@P/LL^ M.%(S:1E'W3RGEE*F4R;\@EJ,8FM,F.5LIG+C!SSQ#J,)W/<^<*>A MDNK;3)O0;.)U#>O9%[R^M'':8M9^CDGTO8O3OWB+0)KRF:[J])=99O"CXT+Z M@,<9]=+[[R"ML/^<:6]G6\%C1SN\]MBY,?8*M[<#;[>==X1-W MA>TBR/3_FL;8G.MS21T4.U;Q>-6O=8=)TXAQ6*,[K]'1D3/+49QC9T%GO[16 MY?3,N1Z4?IG"=?O>^]ML*9",D[]0NS9:+MG[=%L9084B'#OY7Z9ZNM5 [1J@%8]=,+PIGZ;.P5#(-Z)'84A MT+L=GOFCB^UM)#0(VU8)VZE_<7)'OKA!V 9ANYVP'6^OI.TNNHJ6YK':H_5N M?PV>^KVMZ4W 58V&)MN#K6K:T@V,U<'^X>-"K"J$0'A!:B$0\!U<561IJA*X M25&"!P5?)A7N/)BW+/RZ-Z8!XA-46A"MBH\O\>>1':X+W\)=BQ<%B:=F\R1; M*GC1:2R#*ZKY/,M+&J1DT.%>F&P?5P5,6%'XS0$64WJS,,FJR .)*6%N9C18 M&<:!'0:F_N,@29;PU:10)0W(BY2]6Z3FN0IC>@_NBC6#\<1_\ ?2>X9N?&AO M#"M65 EE]AEO DHGB%,]]*" 1Q7>6,$D,9P 1V">!(.'U93GJ&@W8 "UKJP_ MVJZLWKMF^YX!%[ M^>YA3 ,NH'=1R[NQX%YL_OO>ASFY6\;]D03#3!*+W^Y@ M#^[;RWY7,J0#*&$ )0R@A &4L#57W1Z4<&]5?_>VDG>]\S"R+1S9\^^-OE[U M*+:8@[K8$>MZ@&,\:HJA%G:+;-AM@&5L=?+RS#\YNFV7[_[D+P=AVS)A.[L8 M6);ZLR"[+&RO#T]/6B?^%DC9CD,R7K\<3,;CV9LOX:H7P7C3;5)K,$!A\ ,: MIG'T)#"-&FQAGF<3512,JQ#NFQI:P1D5DY[>V3/OS?Z>M4 !H 0,^?S[(1MYF.N W8GVW.D!]>^,<' R5+?Q9DIX7M MQ#\]'(2M/PNRR\)VY)^=;R^H<<<10*/'0@#V;HL-D8I[V]2[#0#J,*DM]J=. MT7*T?_ZHV)]Y'L,88F0/>5BREJ/]DRZR%OMV4Q5$U#%'T$,-#A9NO36&"Y,X M)*P07E5DDW(!+\6C:>*0=H/HY!\J57F0T/M>1K,XC8LR)Y#1@'38W@S^,*8! MZ; C(<2=RL\/2(W>R)Y_;_3UJ@'I M," =GC]N[P;>@EK@;0 \;'-:<'3J7PR AQXMR$X+VXD_&@ //5J0G1:V ?#0 MX\4Y' /?7(R^GK5"P \K+:L5^$>1MN'>Y >+J<;PQYR-"'\X?NH^YN:_-!@0Q)^L(8A)UA1U[NAEE=@/) M\26#*[VLQ,4""&- ; WIC0&\, MZ(T!O=&3R1J"(0-Z8QC9[HWL^?=&7Z\:T!L#>N/YDQ W!=L&Z,86)CB/_;/# MXZU-< ZRMDVR=NB/SA^K2\4@:X.LU67MY/AH:V5MUX$;H[-G6)H!NK%]5VT, MW3B[(W+CJ0 :*XSG!BCCT&;T;PG*\->A,HK-81DQ>G6J*&60PC1Q9D9E$1?N M#^$J)MJPO\^#T#+XA MLN,Z1F#' %38N@3\,*8!J+ C$<"=2J\/0(4!J# %0:@P@!4&( */9FLP?4? M@ K#R'9O9,^_-_IZU0!4&( *SQ]R7QMI&U *6YC-N_#/3@:40G_68Y=E[=P_ M'&2M1^NQR[(V\D\.!GJ)OB[.8Y',]&Z+#8&*)\$HW)E>XJE "EV&D2O\7B,I.E$&]5^@DU44=->Q2M4D+@LO MR.$5TRMODFRL3_[(>QYBEAVMC?,CWQ"L17RN;G,?$O/,K2>T?V)\$ MXR)+JG+U3UH>\C/H'O2%CP[K<^'^%X<;1__U*CZY4,='X>@D.@S'Q^<7Q^>' M!V?J\/1B=!2>3L9GP?]W"";SA]T&R")8%[EEW M@\+N=&>].6$KIV4R>;2MR"HA4F&6DYA]#Z>,RO$J&%/0F[%XL/$G__7J3S>O MS]FK'[X0@ 7VRUMX($A<\9]_"W[H6OL5RO/\"=1B-W+G?]32^P"**J ^0KC+ M?\G2O7]<7G[T?HK3( U!]7@?'3Z8GYD/9F/84K_/! _M&5)VH)EGH$\KT'BX MD!/S\BX9SASU(3'>@-;-JAR4*;X&J]64HJU$DF-_793P 6K,PO<6=)#$I1PM M7V'J-;L.ZG5X2CD%!0[Z&$$-"&1P.\$0ZWZ.H=-<$'\Z=!4=#5+!!$S@-?QV&LX&W4 MCH#5?H&Y_A%!93FV1();X_)_@AG>"9G^35F)P24/QG$2ETN4*+0K8C[S49;@ M#(\+$H$07@)LC;P@VX)D #_&GZ-9$/%D*3-9.=T<[N0E05%ZY4(EU]I(\CT0 M[W]]^=GWP-R(P1SX,HT+D7,/_E45;"4%O"RX&6&%U%0D]3<,5T,PP6 B$ A<7Y7(+49CQ;>'58^) MJ"OPTFJ&VP!>1^BKT@S.4_P -E\ -E$$EE:*#%IH!26P;8OO=T*$?K1O^KWW M)7.F>+U$!(4F$ ,-188MK-P9NC7!3.LTDDHV"I_R93O#D.C[(4 MJ-!CN/\2;%P15+B0=7SAC&4>+$F%PT^"$M^ R=-X3X4*1R/W2V$-O='A'NT% M_2P:.7X;9E,8!0[,[CBZ)>U$D*0LO=XO=TC#<1 _#*8,IJ3 MK@DU*TB[^&9Y$5G%?[:EM2)%:-:@I3]([LWZ[MI2?%BWW0O8"+ PHX/COY!: M'AU<_$6F5;^\.^9GIY'L<-N[QOE4PZ$Y:X_I")D=BSF;;LGR7A97AVSUQ@B[ MC'!$H/+>_?W]EQ\O=V*[_&;M^\;K^6A.:+_*.@>BW'RN50F2Y1]\Q-HK0!:J M1(QS\ R0J)/57UR*,36I$OQYG%Z#0Y#E2/()EX.VF\\3)O6$;W_=_[SOT<.U MC^-3W(@-16WK9>E51O]VS'_7^R'C*YWBT,A7]+)K)&9-//*:P1U)R7(27V.. MAUBG&T5V6^UM&M-%OD_AQ4E2$=6KXBRY,WN5!0F'S\CXU8M@7HAFN[Y S3F$&V3K)Y)"G1'9T\;5 M#5!@LH0>;<0&QUQQ-)%CF?J9U@H*X7WM\#(3-- RBM+@S>"?,4B>J_LVY+Z8DC6E6HAQB? !6(N?805QD"0=9T7@@ M(U>V[1C>JJQ*LC5\9__$*2T]_08,'(XVHS<7PKI$M#]IJLU6;WA'S='!XZ1& M#[? 6*%IX[T>?2=K]9J_^$[O#*KH VF?QN#X,)TQK6.MHLZW'VAJ7I)ZIS)0 M>W!\S]>'W^G/ZX'YUQ+'_@ZN.?H.? 5X99@&XP,&,S34;)P:?4F5ETN^_>]5 M3%%J^/'Q=ZUK88Q@NQ%3,OJZ&#AY??+=^ACYZ]/O2(';W5#7&%%&ZYRK24+Z M132I:31M=POJ';V)UL3*MUGPIR!;23P#6\#8VJA^\("CM""K'^K(O?$66;%# M:#I-W*X6GENS,3Y+]2?\&$2T-M1F;Y[-H&P;H, MFV&%GG"%7/UE'8=BD"". M]VHJ:A*W8'-S^AR[HQ^ !L?SS0P* Z/V00I3#DLX&JY)1,84;$F"4)DXUJ0J M08F_P1\-TO-PTO.A;GJ[O2A6VN,^K=5JVS&*P8T"-ZQ$4$).V@)U=))H Y%5 M ]RWU#XJNS1X@+-[P?T[Y.1>;?^_/,C T6K(P)#]W\WL?]_M^[^K,*B*;HO9 M;RD'L>GK]GR0@$N$?X@SV)U>=X-36DE)'JCP'7?59Z-C@BDW\0XLA $CI[#I M)8?8'4[;U%'X@N<2I?;PUE4:P)BHWPVMN,D4<>X 7C>,D]@'^P7G?^$)H4$=;21@R$'-L4O#V M ,0!ZDQ[?_"'=^"->+IJX!W:(8WX9GHC:9K>!U#/?ZNU9;W\$1;6S#S MK [JO>N[V?-Y]F-O"ZN\?S&NPU#;OGP7996$[O/!'!R=] M$K;M/_"W0:;M8<$!=GL6WOY*8[]X]/GZ*,QD(=LL#BG M_NG9;97H8&=N?*AL@1*[O D]],*LS;-;[X=-C8H'4E8OU]SKV=)LH:K:;GMK M$\+,'3^OMYMA4C%NHH;;;F/J\HO#HA=E0HPO_X-:YDL&,>JK5.875 MN6W3T<&2>M!,]*I"B'/2<3WMG-X- MC-L_PU=1QO$=P/1M:S+PRUY^[)PFRA MXMK"K.@J@I$-SZS-()B[!GJXW\^?WL.>W!B ^QR6YB"ZNRZZ)^?^Z)IM(2"T@[WE08$^,B6.\!S-D=6DPI3.9KJC?]OH^(X9Y UG87= M((_F*NR8/-T17/GBY*DG9T*[;\6&A/MGKW[8I+[V<:>_FS?Q7_'O51S% @]Z MRPT;O$^:-WDW^*2(,JNC"MIG%KP\3L-XCN3J]-)X<6*F90%'(U:'2XTX JBN M@X3*M"WO.1=&(Y\05HKWDJZ4YN#/)\='^\>Z*8G?-="G&D\_25TM3\"?X0.G M?PM2 N/Z3Q420E8E.O*17Q?T9J?H>#[3EFM4XP4%0SD,^E&;P0' A3 M@&94A"T*AP&^ 1*MC95*/3A>XFLE3-.W[$N@V?PB3R6%6DR1U)=JO)@-.\O+ M@7-@]S@'>E@)V;,"YEO7]@_U^$,]?N]G^*A+9/4XAKKW>XYLT*JW+B'_[GXZ M= MC>;]0ISTP[X2^N>CV\*S M'DC87@*:H%-G<_.$]3I[QV&!Y_Y!O^HK!LQF#5%[>OI,J_.B##GJ:0A&K837 M[J\0MAEI=^Q?G%ST!&HW8""=E0$;X>CXX,E7YJ68!VY#]C4)*.R.D\R1(WDPG#]"O^TY-O_?PZ;E_.CJ_%S#L7M/3;\3CL"E>Y*8X//!'1_=# M2S[YIEB!3UD!UNAS-_4/)G!YV;9YMQF%\F-%?=XVY^BG7I!7*L7Y@"MZB9?X M\\GY_J$&23PKG,1@'#1DP6WO@/!6C7B=4(<9Z3L4EVI6>+,@3I.E1WU@N)O\ MRN9]IM7@^F9);KO"2$U4GE.7AV^*^ZERSQI^5#_7];@OZQK=VTC1*,X&T7!M%V$^GGU-,E.-^_ MZ,42(.9PGL=PNL'-O: $!V]+KKB<^#)4XR3R+,?E[!LB1Q,(X3 M,E5\N *.@2#!5F:320&'T!B6L*?S/3K8'_5BPFM3C-V(X\AVQ+5;(4)88JJ; M;UOIUHTD][W;6EE'6V%EC?JR,38\'/JOZD<]$7S4-([=&6BSU>P&8SU*/18K M'KKLIH. BKJX11GUC&8<+_A6J+-@_A&-TZK9\+.^J- MV:K:I_5-AP=>@_>2)O>T7D7I%<$U+ I^"U=1ITKT(GI[B(]Z8LC*$DSA,Y6W M3I6A1ZC!SQT=U^=BZ!'Z,GJ$]CD,^-Y@888PX#88J'UQ)&H&:A'HPW86E%R; M1V5P745[!9E4Z$M4L 1P8&^5V7/8L^G7"!8=+*)3-XJQ(WM7N-7,.5N>LSD< MF[G381XCLM4<:\?(*A+;E8.KURK)Z*HMB:P>'NV?]6JM7 AB:\[;#,.U73.%H MP")DJ[)Z.GNC_?->S1X'+^@LAH_4;)YD2\5QBFF64,$\93>]:IZEGC;=B47( MP-,HI^I5:5SV.04QLD7_SSKSSG1;X@%8!E6$8/V@J8.GK:8@^'M2*>^?ZEMP MA=GH$ PG#D)X\/\_A&4V!G/JF#3'X38=TT?]"7N#E10J%17L6<1%4<%)I,1> M!6TMX@W:.ZNN.'CW[O/'CSV6],/^Z)CZY!KUHKZI/(P+FF6>WFPN$>FM,/5/ M3_LCO];,W*J3\*2GCNU#GH;;I)$/>Q+S%4]>S9']3?EC542JVM%2Z^^Q:S<2#GB!FL6J?@K MHD=X+=]AKDSU"C%4.<%N!G,R(AAW\ +V"#S?*ZK)) YC"0U.*KF7 Y()= S*-*&]P+\-KD!7\I4H MLB1S0:CQ "BJ9*K!]DBR*O+F25#"=;-BWX.=. V0@NT;?-LQ8M( (0_CPYMJ-IN5'C%,3XACN@R(E^1C38ZE$VVN<3W5R*8-K*7 M!L.J@" >T7&IL41I2RQ$LN3X0$* M1!A4YZ\DV+CT=&]&6N=F-_!3:"_ /,4%P9-0I5=TYUF0G@5T!/Z[2A4M .^9@#9*S,>0ARR) M>-'AP='!#M@[W9/U47Q([RU)W\-:.GWEC:7^1+ ]6/EI)&2$T;EX#&(>C+-K MRWM9,)(.C.$R+A/X^M4-O+NOS$__MP+?4.6P(3XI3H"FWD^X54<'>__KX]-S M/ BN%3-WIIF,S9YE,C;8C80H:QUM>.[H.(!H$/XB<%\(QO/7/YT?'AZ\^8AQ MQ_?O?>]]J6;>V3[,4!I1+\L/''J:5:,,,3F,Y9^U3G7O ,0L^.]:FW1OW53^H_'YZ>.(8BZ)4 MUA!>Z3J(V=:]>0GVO<^\:MK%LY>(&UC&,ZYKP?^E,@%P,>GYJ;K*$!B+DYV# MG 52YX+V-.MGL(-2\4,U6#J/**Y!A_:G"L8X.ACOC^9^FA87 8&2D9Y#O/U1Z&[>#Q_&U"RYG-2]:2N6D^L\-:V(QL M?G1PT%^V^4\*@:[P?F0-XDQ]S#/>*+MC-GQ6ROLE \-OI/=ME08@-26S9]^" M1]OCHU9.VA'+YDTV 9V$@1?9$Y@"SS3Q@9WX>6WB!S2T14.?K$9#WV8;'KT: M,-1//I:GQE _DQY]BT%4-',=3?H.U" >R+NA1+^T_9J5'HV>#$>[*3T9+2?F M =V(06<:G7GZ,#KS=-"9@\Y\))U)-M31/KLRV_O?_T6O(RY)E5#X9V.#@Q,,1DC-X@'SV"KQH5108 U880*??V()T MG1:B$<" /,Q;^B83J+1'QZ.<)!P6IKL0AFFAP-O%$F"Z+Q\1Z+5G;G$UCH]S MHHD'&SC-9O#>H0Z>F4OH\,,$I<=-=R@?D$85.+#.:V"D!#Z#[U1>!G$J#J]^ M-PI>S+(T+LU!J%T3\T0].0G(#=P'1 06(^?93N)97,*1K.!2GG.,]H^7IIZ8 MVA*-\4 F5(8W4?R2072-_O%#IDJ?(DUS6P"[",;;*L]5&BX??V,^>ZX*$ZNY MC>TV=J?3E\H:>[1M.=%B@WV-7'N"*2JYT5B%0<6;UMDV>A.&>J[-;L1-JE%7 M805B##O9^6'].KA[NGD,V_SZR??^\?>/X*;_\FDE MR.BIIOOMY8^]3%GZK*-X+6)=Z=766'1!"0M"XH!J9D8U\+"2\03,_+1XI M)TYF,%Z2M04 /EA@#!;%*@_"LN# ,:E#P:*PONKZ<4TJZO+GI%7Q9R#3A/!S MU9RP-_A.2M;PFZ#(M!X'.QKT?$KW#8I"E13/=,@"U@9H%PP. ,\';AK4X353 M%5VICKF@R&2:R;1RN'AE"ORIQ.:O?SH_.CU^;@<>$AL7HX"_H"RET0L7@<&S9AFFZ(!0J@K/ .C;Q48F+=GANKOEA;/+< M,<*W#:FZBCQ$O/%/.*.?P"ZM@G%-,O+/1"3 M&8N"$@/<95[S'!,KL]GY!3$F5,V+M*@,5E1+&.+@BA\7> MVV> 9$ZZ9QZ QL%/\GE&GM,X0X0],:"A6[.',HO>DO,JV,6:)V?I9>3R(^>9 M#CMQFRQ^M&$!H/>AKM8PP2J_#G2@RG9WIV77+"(2P3(H/!<11WYDE)%>Y8=Q M6DC '5@^-U<8-Z"8Z[S*,;(H*[!BLGNY6?-:1,656Z%.6RFZOI [S@*0!C[' M<.[-12(VX(6J($]-I&02Q'J&/)#02JT'&7G3Y1S!C)S=&QT<>., 083S+$[K M)(FUT!Q_*=[RF>5Q4Y%CDR#*O"G#:1G>S0 MG>RYF>QUQ@&>9&16"';ZYKOY&O),P(4) 2E!:R%BL/!&1\'>Z.2U^HY^! I' M_NK&$/K>3,'\UY_$Z'!G].B <"U]NF2P*AZE''G@F";8SZ88)$ZQ3D326'QF MZHH@>3?&T-I;BLK-"6Q1R%W@1(WQA? LK<:SV!1*M;"7,5':8N,4\)MHV& U MP#^+:H;&$T-G([D]?N'4)!%4%,R/. .+ \_L>!+S=.*WG^O%B.:I5,9 R#D# M9\\K38LEQ5<_WBP5DAKD 6$JEE)C@M!=]:,^37L0AM6LXL@V&:,P+U4*9[&$ MNCGG2$\S$^7N5PN6Q>=8.TR9/FQ>\TM42!INDI!<&12<+)6[46!'6%&80I/I6RM62+: M37.N5$4O(]5,:E[&]'9!D:5"Q RCT&7400C:Z%JPV6"&. 8N6^MFI*E"89$ZF< 92C>-9\;K[ MWM\);BV@:54[=.ZK"_V[:FE\%.TDAM+[\HBB OLSHFS[AD-;8(K)Z'@O*&6# M="Q3@JR"NQ$+>6MM^/><-TNTU>"A#^=,../AX$5VPGSX(BE%^$]:ES RY/I9;+F"/./C&Z!U1Q[<2.:BV6HF! -GCMROH2#Z"LJSS)K_\"_ MW>P,$$@+@3Q[$ CDZ'" 0.X^!+)^8ASMGSH?4:<_^>SIA;O[$/EX^>F+]_[] MOO?ARS_???+>__+3AT\_7WYY_^&7.T=$1B?]+5/BN/M&^'MPE]A "&S& M#RQ?(:W!J[+T*F/.A\:+HD\&*QU'%7.-@=\7?$5D6W:E<(#[WC^S!9B^N>\A MQHB)0] 5C%,1B!3S@H4N!*F,1 :)4S# MX[[B?YAP!5:$4B"77DF#5)W"#LX@5#-A]Q)#*J/@QC6W_C"(0@Q(YSD9..Y\ M,HL/S6AMX'"O'*U%!]C%D\G.8"&OP#^GISB+$<.]0RHKB:D?3P?TT7>,*6WJ M-."0=X\UC\[[KEDOMUBU(F#7^RF@^NU[Z-#>L'=6NL(TN,;D?YKFD$IS!KK$#F MN:D1J"8)4KI!+U0*@0Z&;D*,8:-/TO=JX[I;G:W2FQ\4-FJOL4(0!C+:4+,L M$WM"Y2!9PH[9XZR@/B(Z\!?^"IP&J3&,69:%)1MS_36<*L:)..X>Q0!=?;EB MZJE)*ATO(7'W4+14%Z_G<6@.MYHD\#C@Q5&,>+66L/@S%"<\@Q0O7FZHB9?U M?&VC->M:T>#R92T:=%K@R4GG,(;7LI1".LB6I6XUR? =B16%X]JS3,UBQWA4 MYS.>SU5#Q.%8N/+7-%ND3$I!!RO.;0W/+ EES9X7Y'8Y;Q]I8B?A;/^IE;WP>'T)K"&+_>[T4&T';FLM VQ0D/T&@U' M,M$DFH-M3^A??LV:L&EKYH*+$XTK4:H4'A3#AE@BE4^AJ5':#V:3 DLC5FYP MH?/,]+9^..:VY\X=MJ>#+#4X.^#L1DA!0JL2:X*1]KI(^9@FGQ%K?-FN38&] M#5JCT6\Q\-**"H;AWQ,V&) ,D[6SM8&SJBPH:6 [-(+UZQQ@WV^R(J?-H,+Q MP0JRHMHB[8W.GVV-*-%Y^N;Y0&*-N/TQRRLSVEVKA*AZU$RR?KQ9,!8I!CR* MS!@,%K63Z $<*ET-2W@ZV@A+2(06!A"N#3\UAH9YT MH0J.'";@_2S)MJ, 56HVT' 6/=L&4L0/<)W%H:"&'86G>VXC-HQ+88=U>D9K M+[W"DATY(8^"E ZH_!H3;8#TQ MJPU^>P)/!3MC;CSE6());JS71G8(M1I"]UFAG7^MTFC8G4^]O&MHI7R.;FFB+9-TTB544I',A5.DL3GB MLL **DP##;NV#Z&5&UB0AH5YKH4A5C=N9$]5BX((7J=#>:\-2_:D2Q8@SQ-G MM54>JOC:%BLO/03EAE-!(V$A2\0]S\BBH;+5*,8RABJAE'$FV.J\FCLI/-*4 M?"0.:_ND:ZO3J^)1=+KY-K.JA$R88J'#2CVM]U^-DSCD2GU=Z77#+M2#>?S&W7+VZ+Z^PX7QU8<-0HK"3)0J#VGK(Z(=N!<0-&=O1 M#U!H5>)0HLXST'2(7D\C CH[F0.L"M9H@QM^-IQ/3[_0W&&)#AN3/[4H)*S- MU9 L;O=&#*#@;E-YJH,UEY9%+D\N7 HC=FIQ-=IQ6.>GM4."4(E;5A#*:QI3 MF:9N/SZLQ].NAR71+8HLY"9@QJEJ(;.&/-[SKYB31\(R?LZV&LH-38+/!3P, MPR>^!GUB"I'RL&I/NVHQYM6N*8"(]@CS^]=B&V&63O*,V^_4D">^5"=8RHM MU[7'_L< P\9^B-5V1E M1\(&8(KDTKD6G9UX6+1GT Z60:<,ODF_&S>M@1\B]8E/_^2K:?=B;WGU>R5> M<)56!<;5W8ZM7'&!/Z-^F; URS)A<1@6NA_NK#![XAII_6L(M:3V!:^DQ#Z5 M%NV- RZ[G*&A'@S K6AX]NS/[-Q"-#% M*"K#TCYI-,( GUYD))L"B$7])&6Y$QFTS1 /=17-BZ8#[ MB%F:Z"*<7V;$99T(J48-FO'O*H\+I-3@:%^=EMFR*);X6TBL,X9?(2B MJ!2>^<2E(G25UP'7V&.Q*?8M:O]Z-Z3K71!.I;H3.RY>DQ=CB]=54BCN;;41 M;8$G3?>$>!.-+-LF0M.G<&&_5)22LV-KAFMMJ<1L;M7!(BTMC 2%0[MZ+%R& MV84_?/B"9)]?,&/R')<@'41L692"D$"^ *J6Y5;FMD^;U!@U> 2"&G<+I79! MJ*],6K^KY5:NF.$>WPMV.[DB, =C38#I]/$J0SLX)]Q:8!$E2^Y&O.U':M'3%E#\XETRWPW7:J;KBM;=,,KPE#&Z(GL#$ MPDA0@!W,=-BE_;(P6Q-F2H@3LVX91D>1%ZB^@CK\TJZ=EL;('*FQ@&UF+BIN MQR"!(V$)$+ M]4RE@OU>B>U: \! 0)2T4,BHG4&5QAI>A )FQ4JE4^:Y<"-J]$,Q]TC1VV]( M>9-\\"9=^2 DU9<2)_33D776^H7$TL^-1$$Y27<:/22-[#:7"SS#S6DQTW)' MXU%F]!)NCMTX0+YLA/E#*P,M-Q![Q:37N.^#>1PYICGU0.*BY]H_Y6H0=RBFYJO[Y3MVNX9OC59W,*0>C4(I319 M."WICD*>(>9;X\H.9.5)HR"/BJ8EI;/ZI14JMT[ U M"#$$9RE-BLX,7>5(GR8JUI<%("Z8!K\.":F4*.M&&$X3WT;L-"BI45N=$H"I M:B3XI6MHR'"/%":#<6R-^^A-;&*B#@N!GE75V,CN!M79RO8.I9U.Z^F&6GG7 M^UQ*'XD.QR-?"]J2 [CX1,=XEIESM!6O63$GBC=X#[BW],-R5]5L^ED6@;E$ MS5=F%=+B(1./L&S0<>GV4IXQR5M=L=%IB\\KFNU+['E6@)FA9CA8Q^XOLDD) M(J*H<\V\*H61VC*>T^UA_T5\5:K*199_Y<70/RW@>S3,DZP"60-!19HABGJ! M'9&C74:4XC#PJSR8D3]>9IJGVCPW@3%7:+S8Z=X-1?=;YW'@B(MLBIO/.'UV MU11(EC?/,K%TB"B<[X;&3>UFL;--X 53)&O)D9@1Y(V;-^BF2'C*T<+:!^!G MZS2W)HAAMXHXU'B+Q&7-:<3FMV1+H3#7WX$4PU40ZS(+#(&K>;F^4?;+0RA> M# C%'HSER4F4^ZSM/C@'TPV*2GM [)V!U8#[O:@PM1ZC%=7:^J1Y* )EO*^! M+.IY"PB$?AB/$3QS9,D<]BAM!D] [7-$;2W*?%BL1\&PN,@&[NNPU%U"J'$+ M.CP)3*G"768+#2@;!OLR_,HQ3RKN^1U/]DKZ[H3+L.&&4S'#G = XST-=):V!M)^P>XS@LUKCDX3ID0A3C1DQIX6YZK+IUP!>"E MYKFP2(@N'E;BJ5!Z+5&S[!&3[I&)J-@R^B",?:D8SQF@Q*Y MU@=Q6*DG/LH:5"DF/A(U:%0F%L8(!LA D%"S#+,5\ XP*3 ^;:_5\\-4;\C-6W6NY^8LI02L)1M80V4X/4;( MX4Z"-(6[^^9B;GY(^;5"80GJL MJ&,LO&\ UE8QY:H$*E.XHI0DO22\JY1/I)SYMW/AP*Z<><,L)[:XDK2:_%X0 M(G*G=$/PZ_J6-IW#3 MU]J3Y'.:94DPE9)IW3"LB[VP0":+R5+ %+6GM#-//F>J=$21H\)(6EX&!.CC M=L<8\66,&=D0[=BPW24F6@&R+U*A\\ZUK[K7I7C2+,+KAG6UH#<+W6MHET V#N9"*+<8;4$R7X]I'7!P7A&CM2F/OBZRK(H6CH;#FK=2IV02'.8PQ(;\?#D MQ'FTAP?BLLY ROE_)@LJNA>-P &M #*K0<[%V2AS'6MBBPYQ4>98F/&'BY\1 M: G]&XX-QJR4&,OF9U#+F G,#-LAZIO/0!P!\&;7*F4(C<5:6#0A+I],D+@Y M9HHDS]%X)WC/S'/[:LCB"DZQK;U:.@N[9:$8UZ2@:.P2$;+63M%WVEA[/1A ML&='1QW621 T!P_&G4WF=0CO.G/=41W$U>EV0^F\6=UBZ$2VK5JC50?*KQ NJ8]RS5'E+<.BX\RX2[3,$TMZ3'*,T?%05P8R,:^QSB5@\.0$L).S2MOCR MFP8"GN/&KD"-%W!UAWU3>KZE05BQ@=G 2T/3@SWPB,^UPM42N0,;.& :W1V1NO(%HFZJ!, B"O6Q(>,,PSPY:L MTNLXSU)=-,F6C'SR"W B*<4J];UUV3FSN%<0V. M%J<8@DKK$JQ7IA'X/ 2W)$ L47; %Z[?C3IJ7$H0M&8FF!YSK7./S!@.UCD% M&XWHX6K;]S;J] %TZ!8Y,6R;4"?DU?%]<":S7+KETHFFXZW6?74/^UKT51/[ M&,\3#5%;N5J+.T;M3&Y"VR]=D:O9JQ\5_=:(!KE1$N10[T?>^?V0+NDOMNG*+& MU[1VW>-"RE[QIL)<0I48136C=)/X!%B0C1V\D0:ARLDG)I&A$#PJE&LN$)%\ M5I<D.+IU9+9*HVY%LO$>FZ-E"!738JVX)C0?U>X;]S!8*?ZFBH#;7Y[7K-SO"]#LC>%&A>Q ME,$)JT1BX*4R+P[1 X4[Q7 ''TE:!%@1,+$<2W NK9+J5?I)K:C?SK0N)J=- M.Z\UQ'UF"_4ZG1 MHA"M>."RH'0C<(=5CH0;'3>AXGA97T).'+R9,EKLW H/?-:JD#0ZO,BL M^ XT#LQV-I-"QHRTOD+\BU(YZ4U84_R,6!MX0F526*7BN*N=$AM>8@,E)2EIW7Z - \='I%HIAG; %2D*KG'BET] MNY^$<\/^W9FED4!HA,0;8=* M].*&J:-PF]RY- MA /9-R0X@XR U*;*%E:*"IRA-J2DCPW[H#M![_X..3[@A'M7P;HIDS3[.8XB M.!;Q6^;M6+D<>(A>5PF>G7*0LB92**6(IBB,:*]8B5J0'F3G.@B=EA;<(BW' M@Q+>P_(UU;5#*_:FE]TD MO]C!; 0HKI6LVP%V'=L[#?F&[%V=9B*WDW_W"2Q66M69(^K/#]XLX$BSX$7?,%";E4U+* 73JO&U_> ML?H$8>)3 :4O92E\,(6(08//@J3$'(Z/F#2>;AA#HE*];0Q CAPH@:_5?!\# M;+.1#(RID>N,(M#1V,UQO"3^XTI#:ZZT[2@R:$Q6#&WDJ+.=@Z1AQK2FKCU= M60B_P9-"G^ M/IK2,E30.YB^,JTLDO8. YQ.-DF<\ NQ!B%EFB]LVET<9'7/ MT6"?LE!Q-0X4A(*/,8!#UK7P,3M1F/V>A<+@:C8"B_@]B M5'-<=,U/2IA6C;YWV(,XCJ&I&'UC&%I5 XN Y&@4&B2S#,9#?)I&PIAY2,>+ M;NH06---G 35[HB6M,BB67//#5\E*Q^*7X\O@0^BHR^M5G/NE>XL&<@M.L;"+:!*3">OJCD5GA;YN) M:*?RBL\$-,R'Y+--/H^&Y',/QC(DGQV'_#(!ZZ>ZFK(3(&FA.-79F!#9B8D& MS2FL$1BM9I(4^BQ]),PH'I? FZ M+^YX&!!'NA>MMMQ&T'S-E*QO2O=R/>*Q,3[Y?2L*0&OL$=V0^7\:@"#&J@G5 M+OZ1+ODQ\-+T$'Q!>.&E?8^@T$>\Y +(F&(&-"?]BF3BN3$Q4^[8@BENSM&S M!69\*HT'%)Y9^RX=$REV-%F\N=*E>_7V'_9GNON'>YK"H3Z+JYF)41C;',ZP MS!+9\T@CQH#1#D-K?<_>NTYER0>*V,0Z@.8F5@P_<]JH.L==J:+FW#LA0&?A=#DJO:5M.^"@7=4U1D;9HX_1A[7-&-5UD%3:<0=I%$C5 M%?@^-B\]KJ(KI5M#4<"(2>OA?VI%ANY,B0L:J>9+K- XG>4(XR#\"@L%EMN> M;+@)_;\W3U:G\*4^SXW5:F^\ZS6"^M-R6L"LEGJ? MTMG-N#1*6:E4+FIXD6BBX05Z29VJ5$<+DZYF6+C#V%^EC@'A:G6A"W92)88- MGJI0Q4ICU=.D@.4 @Z'S-SL-39ML,L'=-<9=6TM_.$S\3@3Q035X;X[=2VV> M:,5G24DX<(?0NH@B]1KL3HFM+KC(;AUM']R P09EH&277E,UBTOH"#-'MHHX M''J:IRI(>--F#N91U&N;-6[?>Z=_N0#'FTU'H]&MU>A&[30%.\7L,*H >E6S MD0V3#?^0$Z?%ZG MCG?[GDJH3#_&/,3&S/2Q"")7X'ZSR4UE\;G80 E=.Q1#U$%1GW?N-0@E@_='M([XJ>RA=@!NP)>L M]3V0:>@Z%FCJ1-&MT #F$1,V"-WC563']\89X_M)V/8_[[.$T'.MK:;WH2:T MJ/E<'&6O;U)>. *$WS#(?>\?7'UHWU+K5@O>2%00,>$%J3$X?!+%]6BLRYBT M-UBR-8T8(P;BU!/8#0/#J8; (/68O%"=;N=<14P&[K6(G-.$3=LRDA>S#=M, M6F3&\?T:BP^[ UH'F-=D,]?"H)!D'@5X@2I'FC<;)ISZ7BQP=JDM&;X G(G2 M3HK>3T)BU(8U=^)MO"-A-D"YH BL-"7,A18_T&JA43LTVW[%?SB1)*OGM"S4 MY4NOLB2YM.%C86!(0Z0B2[?6RIWNALWSJPN)(^)'V56=>H!=J*^XO.4*7[[[ M[-/T#' ^QXQ6JCVL(<;T698[\MO>K[@+JT*#+YV=IVERVH0;CB:G/!W%&,4? MJ@C7LK&=972.$9A5>G%%G+ 5(W0,R%K=@K; N'$.E4W?BS5GR'V9W-?AD/OJ MP5AZD/OJC6_^8>/H(H8TX.Q"6 ABXU"'C8Z[&PT5SQ7(NN7+ZRY1RUJ1BUM6 M8'MYZ2S:0HQ% Y\7;!V'LWBR7P<8D-XV"N W/!_\":@9_E>^]!-)=\ M(_D,7^ SMIBGN\0!K?A[.%4#S>OD"%\;X!\%,\E9NG4X76$WAE M,)$83J+F DF6172.$S=)O2# U-*41&F-,05I3^& 7+Y"?)"O( M8R@5."_U7F6:#)\!=S$(2I!S6KS@M*[[AMQH37 WC*A\3I8>,C7Y,*:&? 58 MD0Q.=)'R#(W'ZI4T@H4O9H[O/XL+M)+ <..7K>>5 ^[XRG5V%%/P!0_*KN#)/^]6P49GZ6;,;U9M[;0 7VKCU!;PVJ+<]C=8%0SUA0;**J+NIPTW14L@J:J6G$'&)U"Z%Y;(!%$ M$89>NZ?"C1A:F&,8@&.M#0CNW8V3H*5:.S]+>D@-6E+%":;YVF=MO>BA3B?C M"+HS[RZ>4V.F'1G'_-#>) \D2R1KQOF;*M4.N.E5O!.R72]0HW(=0_74*7F- MZKX:&5;1)&^R<3].@S,N"/6_RL/X)ER0+ASO8I0CF+J4GYFC-/6_9+R4-W6.U^C<>8BNPDTDD?.*&C>LF(C3!V%8_4V.-1K!&! MKCJYN[!\9QVYUTZDE7]3NE6[94B7I3+Q9$?-)U@>Y;0RM$$L(W4U1A'+#Y+7 M6OQV4H7LQ&[\3<^E$/L&@FHB& ?UGG!8Y"G+J;LHNW5<2[FMM$I!Y-OJ#8(>0\QX9D'5S.N<]2A"3W[3?P424.]T,-*!AI"#+KM=!CQ MTB#5=C-8_%D0F4:)Q%S) ]:D^2D:$6C37*6U^&=69]+'([265.#8[RP@?*U^ MY"0+J7E?1D%=E$EJJ]ZN6]Q-.6,I(^>0)D8RE69^?).K_#LN"WSNO?Z\G&%! M:NB]0U4]S['DGM,S/?.^+ MV*G_S)*(^6Z$J[3U7BK(/T%U/,"7'(8_Y<<%FV!]I<= MV/_!K8@\ V?JM_@/6^94*/65+2>N/MHLH,=@\EK#"K+XA)I'6:88K+R]+!@3 MY?(ZV)[L-8M)3M2BWF 405 Z5>OP*6U*#2P2\+86J[@L$%WUL]4W>(./00G7 MV@_);&/2(LH;->JS&L='JSV'L)E:VDZ;N!6"$:Z)SC4YDF !8MWN(-1M/S;H M6N+H.-7H!F+*@QVL^VYF"']#\O>$V/I(1H5D-44W+JF= !I7P[@6#7"WX DF M/^_L=^M35"<2?!06:?$NFR":U4)_K;&'-,08 @L8-API#(49H0/]#5YJ5M( M"PK>@$, HCJ-YSY5Z+L&G6/>.JD_S4"BP22TP8JXCD.VK.\_8^!:/C4N12-1 M[4@M[>W.0MM;]VPF"1H:1-TR(=79($K;$^.<697J5L70<>U)%X,,D;RSL1.C M.XJZF3C.4IT56#MGE4;=/=<]*P2PN?HQ/)JP4CAO/B^5>0&M\9SD&'=LHMT!WZ M0C_Y8M5Q;'KI3$K*;Y!L-=)3NQ'F:_6O:L9872"-4%R1@P>2&WX5]G:WZY]. MNF!%L?2)KC5/=PMW_4:[1%R-*,@CRIUVEK'7>$Q9%VK #659:[=CXA?=G+>! MR:%(CPDP8^=C)-G_$\H;4]=73Z]: -36#+)#L?8^*D=% *9 MYE73+]4A"T0$S.^&+4@I:2SMS@W+#MP(EY5V-Q/0U;I3Z#V,F)U@CL@#6U5# MT &D**(6'5AM9-!]6#Q9$,.EJ"=3+$0HH"K?E4Q,K;YO33U<0^),! Z^$4@> ME52[L;A@EG&5WZQ 1@C2NP*6BO.(61LTFX);Y>DP,,>NL2-E[;3M:MO:Z@/1 MG3H]M# $BFP$2G*.3N[?73LXY7"L-QIV(J'<0-K7%!N=EB4GY;)9QB<<*PFI M4*[I&&$%-Z2("3Y37G MI9&5;4F)(R3UB1*+(LKVO9^(\C615RR4@ PM*K"!_=6.D:4<<9.X]:743&=V M'7<"H?5E6E/T[8I6TN%.WYD:MJI6]$_H/:%:():PNM-'J M9;\6]Z6+:':C$V]KLMO'JDPB\94R=X+3:\:(L\6TU)>C?M"C>L""A(II:1T> M$$K!Q]_JG7[U-G>Z?AIDMIC(JRSKM9U#:8.(O"X@1)V&^@=' 2.G>ZS#0''!!:!"XFQY=%J3>V^ M]Z^VN4-GBD!"&+M_@R*SN\-TJ6TUJ:V3C77%<^@Z.O#8BL83VS65ZXJ^!C)M M-$<)')9-&4VU[O<.30#,)K$W_)@E8 C"NF/M/OS/WW.X/Y@9'[%(35=MQ;#W MS(7_'I]JN9*Z:,^7!H^/0WX;=,+6+8.*3FPM"JB7837 M6+8?KVV/5$7T/$C;^K'T.M$0@PJ/=>KO!8I/TK M;\WM()&PB!F6=-+06 DE5V@ MHQ84<6&I0)F[?U&78KU0#K5KF>&89KULZ$4G=1 MYE?'VX!L9HOF7=A_N%;R>SX&C(T)]]+$Z[MP2K]O 6*EO>A4)?,FHX%T4>4C M66;+0;&1+#BT,2(Z$59$+FV0I<&DWYH4<;U0:(S(0P M2KB.U.35J,$U'V@UV+95WP*DOM9!QT;? M+/C4?2GM8RGO(]/@@*;/29?SJVCD+Y;ORHW>@AH-X\0HSH]OW]O/^(1'"F=# M>\](;&Z\B?U%0%_FT31+"' 2E,&^?5I]$9+XJVH^@0Z(&B^DMH^D&*/]XHR$ MCLN2>8#33.HU:_:8L#G5&FE]-3?6N/S#D'2YB-8H MFW,[T218"$F-PP%%I@ \T PDL\C#SA_48D9\2N)4N=0CN8?\F[?!LKZ\S/;Q MD-GNP5AZP!O2GX.LJW*30TVM4*[)P#CY1ZNL8L=$G&$%;NY+N6:W50(&+'(2 ML O"O*M17*XHZG/.)(?OS&^<;50>QK9W.D'^_= 8TXTX-O?T@&>#5N,Z:/&E MT%:U/;+<0$X]MAA/6@>RG0J'N*_1)6QE@97-#JX[CVMTS$'.L=AO6'&42\]2 ML-?+6((&V"/0^3%>SPH_XL7B5=*AV:]T(,'I[IXV73-\'8/D66K(NC'BB(;[ MZ(+O&N::SU$3.-N3S/*TUQ^'Q.[X6]?/$FJU9MX$5XAM'H[LA4&AGMQ&[;\_ M$*D20Q^MIFT4]LARJ5/IODJ:=.>B=ZG6<3%[IHX MIF.QS/J3KJVM0J9Q VGRLUKVX=A4TN/\H^VNV%F&D*:U-;558[!)DV[ MY9(;T3EAZQ$74]NO5.A5;>=M;$QPS70#\95N7[99TW$X$I8SO <\ZAL#)K!0 M%;P;[_U'G4;#C\'*3G6=A&G$C:WG=;NM>BM'>1]4NHTWB5&*-2,Q RKJQ+^T M2)0ZUSQ#Q-RUHK.D:<5B697PYSK0PZX*6C%,7J_CM_I\8AI1:4'&)Z;N7 9K M&#M= :MB98-&G<>P">56@D)7 8:87>YL(>[8(9:CQW1(Y-)9,AE:'1#9V.!^ MAS;X['21 ^6[]+A#CZCSNF#FFHJ!E(9TV$%J>Y!/C$.8_.>^]UE8GKC!L#Z/ M=>3#>/.SN*B53F%69*AJ# MD>/%-#1T$"P4.:F?KGXG085_@]&U&[NIYFEU3J*E[Y+J=8K^(4\C&A&S;!SK M!C34RQ1IV:1I)[7ZH3V>' M&7?#L#J7^P+#+$W*KO; 7=V7.>B=2G*)+![=O:X1;Z<>P4$>L5,] >N$>"?I M#KK+.":TN)11!V"8(*M;J>D&3'T+QI1M8VT?#'V&#+-F Q_L]B%W5OD[1!$#GX_N*K(;#27]7=QC? M44Y"LRA\?)&A^_PPZ&NZI(XV!T/VJ]('&]=?"8\F7H MRSK;CF-K=5*%6F%J U!6EP&XF:J%EF!:D%>P+E>9_GU#H,2G1F9Z$W_LJ$47 M/XX,[0\4H\+LA#>-38<483+D3RPV+40GE'AM&&-S37\9.#V!"5@X$R+.<=BS MQNX.P?MRJH=FL+4817TU++RYV4A#M\=S+!:#SB23CK!WMNE3#=:#UJ>01!5? M0<14Y*QXC$E4PV#/^/D:Z^,*M-Z$(Z(8:=)G_2J60A).1S)7B:4SVPVYO*L" MD041]=$(=4@P1[>K%,/'Y7-M-"R2\,R:X&8+ZD+-^\R)4\W!C4_=1@RF&9K3 M5(1A(B3WFJC%$?TAVV>S?2=#MJ\'8^E!MJ\W9M)ORH0JW>!CTS6GWE86W>+" MNH,9PMJ:0!=I,$3J542=LKP^.W51'G6S04] 4:V@[2X-N^"AH\:?48L4M"9 3UK(NUU&&K@W$8Y.N MA86R]R#.S8AH<&GUZHT?*:Y.;+FP04TG4;@3G#$_!WDX_>N?1J<';XY&OO3S M0QL"YI7"7'.*7\^8U._XY"\KD%>;]AC6/G$[1J5/8P>$'-/-B>Q M1O4-LR'6$C>)%J.OR8U,WF-K-7(==,6\!.9UU;Q(&H MBU; C)LB\!3ES$G7BSN0+5).YU"7UY5)?%_/E!OBC95@+B+DLU!TD@KK"KB7*E%/"*D<2 M1^N&-!-RA%_C4L4Z@$UK8C#%"JJ8BU/G/35I)RAB%L1;WO9]AS-FUCID[ M-W)\JL[3PBA#Z>.H/4[W%B >@<:2M#83]0]KK++DJKF'L61 >8/J.(SK*SBL MDUU1;=PQMBC1=)9A+RG.5WD+W+=,FE2.5;G &+A^@-,CE":&TCKKO4I:;8=3 MNRNM[KV3VE5QC"QV7)/UUS>S=KFL'](B'*H*7=W5?+NVR[(;YW9K>]K:I$;O MWJYCEG44G:&T M&.WHX.Z2K%=C+N3F*/ M[4SN_0@2H(0V"+ !0C+[U]^SGV>? Y"B_!+-<*IFQA%)/,YCG_U8>RULO7 7 M^YZ/=&\8I"3CJVEPH1-<* MZ&+2(FTO04GGNET[2V Y\1()WJ!KJH2W]")=L<@E'$*AOD*G@W;=%R;E%V^* M]AT8O!J:.Z#$1E79@DX9KRXOV8;5_XP((>^UAO/**P=G@T^5!3H11?)@K MSL6P(]8KONY>)(_/ X\ZPO)OJ& R=[J4DF"#BAB5.V%:*/)QK2 2I:)5P?V2 M+3>MI+;\ZI9%/^G"JD%W5IBCCK4VZ/H8S@E1V+X31OB]\$&;7=D]@=#BT P:6OR^:8TK7 M:F^?MZR71L":Q+LEVEL\O#?<^/7WA7>/? NBW2NW8TL^L"9]*M8DF%I0@]:N M31?-4EN-;=\\\(Y]T4EA 7AJY\'IT5E!P?%B>IB5+S\KZHHCK*ID^#S@Q\3# M+BJ=L 'Y]33D)_% WQ$R48'IED@3.ZIQ 3R]=#[F8:+OA/9/U<)Q9G/ ;4XI M/P?T8H0/G!)= Q:,BROT\-RCERQ5!C-8UA7Q#NA?.>GX9"NDSV%:/]6TFJAZ M'6OC84*^Z#&7OJ<6UV^]D41."O=!CMEEL:80!13.) *'PW>'6?JBLZ164"FM M2)]Q!EUV[B,M<;DX%KL?>,Z\=W^8L"^[K0 _4C';"O?E8!5!:8$63;WDLVC& M,M=X.#%;HILX][,&;H/6$O-9RJ%RF,TO>VK);HM)*&2?H05E7IN@"19EC"E" MM[LV:D7%:V%>>.A"A\F^P\E>:;483\7!B<:VK9[%M6$'+(.?^!M/:Y1@';T" M]Q4S6^>0::):AN2DX)_HXM8EWA/8 MT;SN ?&)A.TL89 F1;E9#(#<34KSSA M5E8GB\IIZ#1W*,4JUJ@=J!@.U&,->U0OP-IZJ1]T'3P>[L$!#[<#SW+0=?@: MC31] 6MV9'/&?-"<7"]$N31I MEW4E5!_2;IG>?HMT6TOWT8] ]Q\)40_:YD;ZHQ%S' M?__@ 'QQWSWLR?:9QJYJL*\Q%;A5WC2U6X'S9'3I3CS32G^=-H=Y^Z+S9NAC MG,,Q[RKNH!>>Q_R"C+^T>[>\/94N +LKH$NQ (A9$O/\,P6POI&278G7-LK]Q1GBZ0TA/26;XS=#\J\F\,QX8_T11T ?QV6"Y? M!X(@SNBP:NR=]2PG_L,,@(!7>0\!=P-@PA^_ZS$80TT^?5BG=/@,O")K%&R) MW=B/6;?8ISB47 /D[K?&\F";B9?0S1-6HC7RGKAA$-C4\>@GCQ>->#(13.FCZ T060.2%V() 9-H[5SIA8LE=,G! M"<"I-295 !QL=9$2F?> 9ZB0#8&->\BT",:C(S 5?]%];YIGV('N[H+I@2#] MLW Q[U36; ?V.H%M)9HDJ-=BO-P85DNCO%T6A(WF5HAXDGL/ M=CSZWZ*687(/(!2;[_*5)CUT.'@*MGY P!O3\\783(0H&9XQ53&,9W@J8*XIE2.IK\74=]0[1@(VCD:+"]Z$/I MP09[.]>9<#>&I8MS+O+;V/$;('$#L/W/:I8GZ?3=10-\Z4=LH6?X/T_N!/2< MMG?G.GWS5YC%H9:AH6>Z\W&+FI<>^N8E#R5%/.Z66%*P.P\>#%Q$?N_V_ZNN MRA,">#BK/)W6389<;XJO0P@RV5Q3L48[10>G-(K(Y2.8NOLR=),!LQB>"Q9& M](_.>2D9PX?LR3Z86R:Z#$Q"PW9%6"6U+_B2>3+"Q$?I'#A#EYSXAV,.LN(J MG:Z TX,^P$@)'.:&AZYNWD4N%M#Q$NJJ$\;4\=(,8#M.?4@O79"9K$ MX)0-*!;B7KI"VA]E"&7BM%=06F>T#V")",05 M>.2 2<]0BD4PY:8]?)[^HVX,4:(N>%%[H5^ZG?_?]76.'7_,SC&ZRRV_;=OQ M3CH1UQ#4X33%S="GQA40]@Y3P>2IQ6C)'9!N\18E<3@""C]2XB'+'RKMN!]5 MT!%>2LP#=+(<:[N#)S6*-T2"[?LAUK*)P,-2$T :B/M8_SXD1Z$%=+I;1P?4;.;*V?3$X"JPCMF6NC1]D\,;%8) M[ZB ZB'3V7\/]+7D6,NS* =%]%G@3ZWRM/'7CID."":!-]O08N=]&Q\;>*N!WE!"K%;@;+HDU1J]G\VB*/8;>..\;V_8AD]-KI;#^RW[D M;?\ [2ZFYB#R8K]-H$^AZ;B 7%N1Q_4M0)32'O%E>]]S?[@&S2#%PR,Q@YN_ M"^:ZU#!K-O!CZST"XHDKXX#9L3O5KI0J1[&U?*DDK&W"R@ZY.4*AC7@8FA\N MTQ)=?Z&:AOW_+=R=LIYPP^^"M8YJ9IBXVO0RU$=L9"?@R^Z)\+\:-[DI Z6^ M-?TDS5,QQW'4&6ZT>HDG@Z4"AN:0OK!A)H7I)+@%NV#.*KL3D=E1 MX";Q'28Y)A2#M;&"]49B*GX0J$?J4G)Q7*7:@;"M!W]<=,74& MU+7]B[6Y99A](7+H_-0L!.R5-,#!==$URIS(;87'NNWK1& 2',6= 1HH^3*Y MK#Z=,EP+2"BY::_A 7M]69>!IN%P(7Z <31@?NIS"#"RXXJT$@)%^8 &., ? MUBIG+[ GMT2JHT63(V-W6\^6U\B?4PT(3_67#\A_5$9O:E[0)7$;A,-Q/'K9 M?P=3YM8N?6:W8@2OXJ#S/L5@$:*QXEB>3B M%^%7T7P@Z@WW MPYR_L,HQ2B*,,(!_4;PT<9$]RBH+XTVTWU%6 9HPA//,+&UT5%T09#=9*&1B MW?%>@5X/AC4 GYAZQ3#L#9_5K''.W*')ESF[[R"9?TL'ZN4:( .,L9R#N#,S M92QT7T;U1-8/L,1"HI,%*40W]Y1"Y"@5(4J4_"'"5B+$"V<=0.=7K-ZWR+I_J/Q)L!9_Y.NFB38G,$(ZT^P,X15PA%*N,)'\O)9CE/L!(_*_ MW!N/CT_=X>;..:H%GYZB3,UH"EWF:88ZC=[UQ>!U/U.9NXQ,S:D-V=<3]E4(MK->U/5 M-T7LJ%4_A'AZ>0.ZN4J&(&.1WR4YIA:5H-;M_Z"*#GDFM^F"Q*Q8 R/'0.>Z MO$82)!2M#Y)$N36B,YP7%9 -4K[*VA>&VO'!9)^!'U[7=A+DF-4ND>H3O!&+ M Y""JD(:HOQ9 #]3Z*.\L&9%.1(8,H2!J&[=].^\%RY*Q+*ZS?$@D:+Y&2T# MU:) J0BHR8D6,4R0QT82W,,T@!IXX!JUAI1DID3+L%SI#HBXT'V=$Y9TBN"I M5N3:V#W7U#-E+2-".$I/V!4*SY18/DQ2@)0^5!3I&-(J-'[_&@BZ/]!][(27 M;5(>)U!6\:9:,3#PUO_FA'.F3#JBF(+G.XF;.)Z,>*)_#7=C["\ MQU^9-AC@1C\-\-9;V: ^@VF NTEN8,PE9@-G*,A_A3@5X#]N&IFE)Q*>5BCU MX%+>%Y1.P %OW!3A:Z6W)F7"0 XSKPKTV0>$L $=;5#0EO::*82X VNJ =TS11$TS)&)!8/W31 M-6V7HS&J%U!![JIB:?H'P"BZW5;55P(9^4,MFT@AP',H??,WC#B+"?_X[[ ][.S1Z4IR? 9R](M7F>2OH(\R6TK)WM MH#HDGW<&R(K.?8=N-CP_-Y_$_2C2$R&2@1XEL?XUXS9!2FS2@RBA.?0?L#P= M326H[U*I7'8IJ>3Q"EH[L)J #$=0YH642$7L(Q+% IFE+.E,Q5NF$XO(;]% MEZ9[6MY4Y'A%7<0+(-7#-B%XP-S3ZQ@.3)V*<.#1YV:=7$%J<+"7C[FI M\\K-7TX2.7AVD.XZSGV.#2_EZN//#8R=>@T\J#&_W@$(#OZ/$U1T,2N > M% M]6KPDKE5VJP""O',##DVO/DXM#INZ,)1[+F,O3 MN+3<*[A-XV)\JAZZ?\R] PI3&Y=KU]Q82G&VL ]>6-MR)(YD6^L?2;3$YC#. M1H@=E9MP40V)R8?!8)-/5OY#WH52B=YH']:;I%#()9"WAQ;FHK'T_MP>;L2E MO,:J:4"'5M,+6QWVZ ,4N1<*GA(UF8NI""^Y[=*5%SG&-@L0:DN;0(^:$@U+ MSHI*&GB=3@LTH5T1CP<8&N]__T=+\8)O5Y)&K7U(39S'6&.MAJ0!PMPM)2I! M0JI-F0*@O(DQIHQJ1"IA)3M,3S':^?TA9OBY/QZT?"\+R'U!1:%\P>0(&9S<(0_&>84K"O7,XU25^&VE[O;W"69?.BFIK,)Z$48-1S MQ8, UT+>X.D>(%B.1V_\EX9NP,P$;(",7+(DC470#[;DD1O MIMC-:9VT5'% M9Q"^J4G>B&RO;F,Y-^ @QX&O5C$3@N@X7I/$X!M1=09FB80>+'/,,JY M3G7HCL_>KC_S/IX2Z,"-%VF&3#I_0O1W[&G2L MK!.@;-V.P5PU;&_(#SG_I94GF[)9%--K[]:[TAQ:B;&/ DRHO0"5'%(^K.Q% M@'QARMP(.M%X98*:P:,$8^8.?O_K+)^GW'.P2%<*1!E4!E3-9CCXNDD)%)@Y MT$(P: 8.B.EJ*LV_LXXP-FGGED$C:Y2KPO*ARM2UQD6.DZGHY00WY,?N/6KP M;L&^TOJU\''J40;'8RG,OW#HJLOK,?[KI3%G1//IK#I!X^#A.!AQ3SE+W?G' M0)1J1?-J4UE8'M&W-3X/!T)KW'7_DNVH<5O,V4QTIF'C4","WK$#B2^S5 R1 MAS2=1^5*4^.29P:6ORL7V6,K 5XQ/MNC5>TB_JY52\6+>]*M!E!ZJ94I-+*F M=4/4'\@M6%P5.%O.H,*XE2./@&1),GJLKIK"0[0!J6!1TO3:_O-SF0G/*Q(G M\?\L+(#3?Y'.4%[0FK)$2T8Q90N/6!C&F5E7BI)&KW/H2%/ M3.HB''P2.<[?IU#])+*-*8>14O\=YD%WB_UM[5;-4SHYJM%Y=P' B?'CA# T M6)#A2V!W$FZ0'TNWU?_;W>\"-G0U>NEL#?BG]_!7I]RL6%T5SF'0LP8?B3N; M1E'@#^D"A F;D23+Y'\$YW164#N4= RY@&7*AC]_/\T!]"RG-RY'%RMRI.=. M/8L(IO2]X+ ]0#\+8(HZ=])G:%\!SUXN2(I$;+=PSWE]F>.V(=?"EKME4JSG M&>!.#;C&0C*$^/G(%ZT%;B"(76&6H[*$?PN,'NUS"RC8O@JFF998*\I'5T5^ MG0=D!LX/,/*$?E\+!072['.%FN;>3ML 2R09GE;*]3=YI=J,BJAZ'M*&X>9( M^NJ>0%)\\QI67#='UE>IU_5*,T1=XAN^(K"BN\ZD1BE$9\\JC,Q,LQR&N%P& M4O:1(-H-$EG801] S&$NK0NMR)ZBA=HCYT\X$BF4ZH4%ZPNHS&CJ I,?EW69 M&8J9^AI\ELMBD?#-LWP"S^2N/I>ZZT50%+.-@OI@&8F6R@FA"V@-Y\5&VY_8 M!Y4WI"J9^S-MY #@Y"X!N/QB21[)D!T0[R78E2*KO#3T+QXA)01>M+KFQ"QA M6A=M ?LIN#'6SP_A&O"V>%@CSS,)^8_:'4K\,9V"X)_(EHQ/Y\ M1<7'AZ+B#CS+H:@85 <$C"L-$$=I>Y0>2:.5%>=<3>]XV!5)K&@#VP_DW\["\+)KL"-R^U>WG9 C'4V.S4E: MERM UUV@#*27+KY% \61OS*S$W<)IOC.7/EYAOW2R;\;PQBK;ME>I&S1^=] M+/Q#T-5(U,&B_^28XH"!UVV<*;;N%$%,%@MSF/FZ1 P,;JL (8[DJ/GQU2O @B0B#+6>E:]:N]>I!Y>5" BD5.A3#,X MBEK7)"@W[X;3%&>D? ^J^/'A?%%1W?9#X/T(I*/[_= <3M M.)*V9R#QX^CF@ANQ=),LG)\'^77:(T.Y8@II&\ZBR?"2-]Q([,8(%D0V^H?M M)4KQ>E$VB7+IKAPQL=]G+EX!ZL2=*7"H*&C9E+:N$PM M#&W(HVMDH&RA6S^+R4'LT1B,)<-49\4%GIK1&L7E7:X&.@%,%%X)MBM#1E\O&PHFDUW-@/C=1(D:'SQUJ9L MXFB&TJDT(0.$Z$8)>+M!V>;)UUB#1()7=%.GZI>7N M_I[%_?8ZG,HU$"6TX5W*M&"/!6"&3HL%?116,)#2*/5V=O3A=_M!&LG_EOLR .;"(TE_Z&<$K M$6286P3Y5>J/X"%G14V%62_P &_+I^!XTXJJY0.'A5(@9,3#M\+D!4XRV/>N M(?A6?H7$U7S3%L!TSO5EB!QLZ/;2/><,7$%DU1\N?5)SX(K'1--E(63=,*#Y MT9?2LHPFE+_7$=?:H?(='J#L'?$A(G2)6V%F 5X 3^6NJ<)=89!]U+#8VQ+# MA3@ZN>-'&>)X3C/8#DR<+ S'&F<(DA @8@9,F!K\5S -,A#PAE*M]4KK 7ECX@&*@:(>U=Z!9Q&VR2[?5WN68( 7X]:*^1H BAKCNCV7M MUI!I'IJZ,72N8HUZ5-CI(0J<=5AQF" -P=$<]$)5\TI:G%6Y;#\L^7FPIZM4 MA+Q:8/UK/,,,]"OKD-.((R,##3.Q,T3DG'XV;E#I" GM/X@]%<..NEG4F(6! M!FPQPY0$V\0;:ILRC5X"ARUOW)O_!)"GHIW6HQ^=-3IWNYPP#Q=PE7>5,X1D M:7*W+-S:XKK3*@*"QH.K6;9^IZ%Z=8KO\*D2"0DT[\.6J#8%16P)P]NC_;YB MY"F?-<-*49>P'!N"!3%N7G\,-;'6.:"MR%WU$CB21^P!Y ;R+ @/@JR(;Q#C MLP%T8\*$V-+MI=Q2'7D+61&IIC.[-32H80W:0 ?E(+;B1X \BZ=A5$,G-D-! M>$[126"&?'$=-B\BW[;M7[A@A#)?E!AEN-<,/,V+V*_H!R(>4RV[ALO%M\"X M] :&CXMP=5ZGS: \(S IY&Y5M[Z8Z+97"=W0[B4OA 0<"V#MHI9#F'*3O'BF M1F4@(A(+UB,S /O_7J-L9@>9?T-JSBO#*@:Z4:6LXA3&>TZE7-4^9=_]9?,1322'&N)6-<3[)X<:X@X\RY>N(7[V MU3;L%;]&>_7:$S._L'"O5PSW2D:_ $@R&;U-W^,&?^U5['\%)$O3[D.(\'M% M*56$_3-9')Y7!#A%.:A>0C:JN?@47**Y'B&KI)ZK@%["D]C)(0MWT)3B?H0" M+WM@<4 2036S\R/N!QH2)HBI!BH]%P]@=G^)6!FJ%R OY?6(VX4DI$7B\LRW M"7@ZTDR6"=7>[9J#< M#&G\>]*<$<@3$\#7A-J_3/$US+. T;=]'OS^[ "$S*UOD"HOK/:(+M/V%,54 MD6VIND$OE\BKK:5Q]>RMAN9#0U]%S5L/@V@5Z%<&7]#S_[7O:>CE^O1RZOK0"F>J-EAX7O4/2=>AAJH!:: M@$C=3XA*T^<:L<]&FQM\#0,GTR_4GHV3 LNE"W>VK3,,X!A-C,-,1CT@9(!Q M,W$=XB:Q#AXLXB#P@<4$*$'M4R' ">P?.,]P-!!Y[7950E ^N/S,^>@?6!.A M-1K$;KV5'UTQV8P MZI(Y]\F4Z%9^2_.:TYXM. /;>'W@7:3*L<4Y2*TXO7;U&-X]A!,=1"[NQPEJ MA8J5*\AS!$EED.9!!%\"N6.EW14'Z%S5B6%#=)Z@LG*B+7*D M9@@]>RR1#"_H)GGEWX.430Q1&ZY]PJA[" 1V-OAL387G'79GEI!=TDKO10JR M))C5A_MSQX%_EX&!9(MO]ACU\%IV)/\SKS!M%(J AGA[*;BR/HS8J11ZQF> M-*,V*PQCX(@Z\M<.A4W7)%Q]XFBM9%5(Q3Z0.EB7E_TTR)N=B3)>#H0/$Q03 M(GG;&L,O@;AK1W_81M]S.^Z2FI9SR9_Y$6XYS(:GI&[B\]S7Y%F$UYSGR%3O M-EI6,I,<"3#T" M\V4V[,OQ1J;Y'4:$0^1K\X'Z<3G_DNFK!OE3I7)I!W%D% MU9BL(41EO&B'3J#-!.NQIXPY59@P/93LUN)G8I9A],9SH>,3[8 !Y8#>8[(3 MZ\Q7T&NG&[->SW?1NY@47@P7'RW(HK=*KT5P&=\C87.@*Q5#&6F*VNI9\&CR M'# #H[\)ASUZ)?>030/*@ P.#FL8U(XT2"U# %:H@ZZ4*J0#MD;L5@(JP&OA M68EF_BUB*S3QY*9LGI,X!6&#\9$H8@+I[#*[AKH1=(M1QQ,TQ8"ZCO:KMF[# MOH,TM&_(["H%O]?K5 ./@2/ W9]8!&!:I,%'U+M,L_.DSJ0U2AOQZ?0$M@G. M9S345P0R*OAP0D1Q@P Y<6'BXL#CLP/\,]337# C*[W)37@U=))H,2_2;2=/ MD%<]%<&T3[3II(??/IA;BO.NO,#0PY,M<'>_EZ 1]H6WD#\!7BBLS1$% C2' M8@GHA;H?KVHW'VQ5X8[G1&PD?SHG_,CX\>,'=(&?W;*8'_T"\?;1CV51YOB= MA,]3E+_$8!R "-]C,E/U1H'\W)5-.RIYEBLL5+QL(JUDB0N0 MBJ*]A+(/5$&N*[)1069%%BRUG_O%C-O07[>)31'1D[MYV) <_/,53<:'HLD. M/,L.-%[MCE?TEM6!<)LG9 '8[Y#\F#V;U3@,&OTP,PG&Z,CP"IE3D9B(B0IE MV@#S!S.AMRY %H7/J[PDK!/_4:_SE^\ATX$D5KWD+[ NKZG42O;I!_35>D"#)^E @*I67@G^_( MKMU07PP,!CR?!!'DN1'S>^;5S%C* C&B\ KVYVX!%^Z&[NQAWR&D82'R$WB6 MJZ(NE3B'FH"(PZE;D,YJQZD_HAMF'CP"E +\E=U1N$O581V!9#7@"4*4##@E\$ #W#+<0$#\Q:$QD$YIGS)(S9!'NE&\'+* M1Z]?D6=VBX_6RLR]]%+1F*+QC@B^0:?$_%YDU+H205A7SFYD4!QQ;P=\8+3D MG@(U9]U418HHVPZ0$J]X88.O(2OJZ=-7Y[*B)$7"$'TF$\3V?_>@[M7FM5*B M '7E1:L+"D?(NVSX8N81IOP(O C@Y3-&#/J/X!*>GG0X$C2&7F.^(:^W#$+;]4/WLS+ MRC"_IG<)1OO5:QWM!%MOL /DBD!E5_5245'YZ#?0+@%2D3,D%3FA]+]_4WI$F;LNYL]E]DHQ^7Z:7\-\4GDX[Y\&_J*_=5TCYW/WC5Z@APS_>YA5V\KB' M>PG8-_?P/[G+%)G[[)F;,JCCTQN_=6\!9QMPR2[5-L#C)+@N-#D$Q5$<=]A; MQ)3"@2.%$' 6>F8/TSKF#1>=;#KG22_"Q/(.9]?=SR"JD/0LRX/'#Z>5%WV: M34>N7;FQB$$=DA@"H'\I(HBB M4XS*-B3M>4\:+,/7M DO,C&-]+1 D81,#%OJW_^.OD#"UIJ,D5D(@=+44CR' M,%,D#SIS5JN^EDQ'^*'Z+2#:XWMO0H^173W[Y&L=.<_U-L/2>67J]&XODCN% M3'9X0"*G*LBQG3T9/S1:=(C _3"?"]I2+HLR7^?Z9KD;M6QHH-S7>/BU[D9) MM95.0\W>H1I[7)1:?7";DEJ=^B/YG.MK"$_7$_GY#XH (@TB7E#--FSUO:()'G-./V=S="];N0:JP MX@3T&I2%:J[-R]G1$$7J\]^/D *7!=MN^G' M8EU,#E0=5;<9,S=9 0_GM 1X=^CQ!0O4IQ!U=;YY^K15[SPE?+>JK43'6.HV M-(O=L1XEK!=;,]^P;NP*T44$[_YCS6')%B,)3XL#DL!6;+%I%CX&,5!-P!2PD[LOA<\%+\ M_N&[DSL]- M@K# '@2E0L'SP!'@UK@6)3<='U!(;^,Y=E3,;X)@! 0&Y/0/A M_;%$3S%PPLG:0@S?IG7UK3^Y[++ANP-YR=R*OI'#CFJ5<'!1M,2@RIFB ,)D6.ZB* T M-](C)$TP367FAAW05 MB!NX!;#@E:];W5 1SI2 MRUG<2_W!38MOZGENRJIJDFR1$318X Q>I&V<0/ T[M"R6 ;9RW[>$ITRB?!# ML)!E)0JD.!0Q870WL56^A,%4(FAN1#P4NGRAZ_10Z-J!9SD4ND)>:SGPT5,= MR&$D/E.573F;PBDK97$&Q?*%:025U#/VEC)/,^83:3W2.N@&;)3R+TMT1 M MB9IXF[ R[J.H/@VO0/3$)/'W0K4B2D@R5&*;D(51621P?C:[*M8=^1ND[X M\%YC(&J6EYQ"OW%)9BT9J3:Q90Q$6/T-$%[RED)M.TXWP6ZBR$ZWAD1UB;*, M=Q4V/G$:9UTS2G#](.7I\>QRC[JY>?<%8!O=B'W.L'4@SD261MS=UT-VALC% M@#3K4S Q[H[!9]H#0!,FZLY1<[D/PF#.;(PYZ5P06;6:D)AP 7# 7 [.F$\& MA(T-MAEK"&(*.X?4WN";Q .?,<2.2>#IL$+B(\3<7R$^TA I);&A>]5;Y-)V MA55E:;["_T@X3J75(BTP_O[1;H\%'KT. YZ58C8$:JA>_EY@X_^@&3I_\?T< M! FJ'(+X!F/C0#.DUX6+BR/>TKC]V*(/@5IM@+X7&],K9"EE3:;'AX7@F"_8 M9,W0N \?(\10-D!N?AC\BSP7QP@A%!EO00$0MLV25%!KY(W?@.!_Q&GP4 M)*I"3=$_?-MM/1)VY5N\@P##,V1A"6]3Q.TK7"-M<@'85/4ZT3(7>)7 7X?@ M]+P5FM-!L1!,1PP]L_8MA6V T#+*M#BDR6B(6ANQ+O#DVX^#D!RI4*3WPY&J M.O#"[0"P-T*ZH->+_%*(X0CV[81>6^"Y:1!8Z)V,'? M*_'5_%7$Z]I@W_K0VR-3@H 2F+8NZ&'@71]!PP)D!>MPJ<-@0B-\U-;"YX*, M]0!J(7V7APW'W#G')H6Y: =>Q?:I3=ASX.WHEHP[::=*]+WI(F$>^78/%R I M-#P(97 Q!X=0%!)<*:1QQ5X7K*1(Y.36%S-9RL'9!$,#G+,XNLC&!']V#@ZF M+;G%PARY ^P7E'%5OKW9#2/&"Z2EX!AEVHKTHP2:=\:GB?O]*FZB]2( S@"! M.@,R\2OQ"%BSNO)<@G@2>GKD&/W()/F$-J!$%97QAJ[M'MR2Y\O"C@TJ*(KN M8[_:\(S$HY-QZ0#+S3)9L"VI2M[61]!R[+[&]4,STH*ZD'&V1@4Q+[_]/OJ9 MVK!&KPBL_0M]-='/?X%XIMGXM1_?/ O_<+X V*7\S6]XT'F+V498H]H(/4?= MR@;#"CL=RQG%!"2%A&5_:&DIDWH@;N1E#KACFD1KEU1[67.A&1R[ F"$9W,V M3=OGAF7I" 9+R#K)SI@SAS)'<-SR5.)E]6%$ FX">2%E7=/EYW(,#.9"HJYZTY2Y]ML.7K(; (.L\"*@',4=(6HRB&:0((@C3U M,0E2-A(('VKP+2VK=8LX:GO0I>2!-BV@"]!X>X6Q^02.1BZJJK2Z7I12M6LV MGXPDU'M\EA)SLBU6!8MFVLU;+/M"5!-F+X5%")_,C+1(.@P]3C!ZQZ-G!&87 M4[?M56B[HFM4+$?0UT*YW-%T!5CN=+E,I^\$"#\4G$#V$YA4(3R,.8%(>QGS MHQ#T,"+/K^)U])AQ0B$B3/)2#):DU*>>]'!6?"?F[SEFQ<@O*',26G&-B$OD MQ <#W1]5/^@$ZB<^6(!3,K^U#_:6@OG7(JZ:;GR!$OEVK1 B0W9QHXBF-]"M MSBD3W.N4#\EUF.N2LLE*5Q40>J[C\UU'+;%]:?Q02=9*\MFADKP#SW*H)*^C M.:HKL$\V;EQWYODN M1>O2DZ,O6#07\#[5KM_(.ZT$Q+3YN<>X RKQ[*7A0X M@%66A+DT^(^P .AGATZ+R5 M Q1FQB$AD4"R#:+32*57)$!S;XU8?K,\.9C _Z?'W%>53N$8TI*+H\1B6 M",U+:^ 4+\J4$(\$^# $K\S&., VZ;>-@$I+*!<'9.&VVA3EP4QI8]^8Z?[P M@=7PC/A<]#IB48]=O4H;;)+I>_8$#!PT,E*YX384O7.M6!85CAE@C]LH.IG8 M*@RXJ^+(8K\QML4R E:YUX>>H"=/1F3L0CX+L0/@1QE3&2Z]GF*D47J7ZX.9 M+6Q:/&>P*SQ_K"SIOKR5L.1F1,L#&K9+BK<'@&E\FZH;J9J]+OY-[Y M#+>^X44H34T(AI)/-93A8Y(?C4\XPH, =+G,YXLE(][K-L3DU)+_\N48U0J* M2'/MZ'!/H *B::ZX>,*],EI/"A J8(EL?R QY"K+& &_7?AC+#3*#GHP8U$IL?D_MV/?$P_ MU*(0(,+(MDJ60X$2#3>UX?4""9D"@_V4KA<4$'=F"=FBX3\!X8#H MO<6*!A^$9):J.TJ9P1N+ \:&V_D?_ATE:_6.2?!<=$:[5IL;*;,IH:=EJ>>SQ/,KU)6GE$;:]:'H) PKTA0'.(>$:[)A'A+ M2C!3N'.$SEP4Y_$$"+"33$^!2E_!&Z++U5B^P8'\?NBM;C2B@E.SI2C$)'-' M.W0592OQFNF!H#'_,SZ3 M VZE:)E\WH+V;[H%!^;7>?IN6(H3M!V:.53!EE[D"AB(JM7@A ?%QWXU)\". MWC3G>V$FB7^DU@-Y(BVF?%H9Q#Q$CQN7GH%QR8+B:8+N4!?4 X@4O6JX'>PP M]%W;HB&P/I^/OH.FQ9C:1ML(OL>)\>DP:F&A\#4$0DXO:VP$(D$'3"'V7\OR M415555^9=H#^119= XRU Z/C2ZJ6_'-/EDF Y!]J.$+;.3"!LAA\I'X!F $\ M^)8$6I+<]*AUKI-:202/Z;>4J4+<%0;.B_TGN(!2XA=N8-&Y;L&E6B;^&8H3:[ \]RJ,W:HZ(/ M(&3$-FUU8E=@0^A=@6C[W\ZN)G$P%F<$8D\1S:R4&/3M>8;SB8UU@P3 M MB\("$9S3:+_$PU["C)_ ;2>]YR?Q1[A,G$?4):",*749NQ<>%N2'_(5/ 9 MX*Z,!:TV+Z]R]N3LB0H*MW*HXB%! WM]65/:E6KD0 ^(M7B?U5:MWGS.NQ>@MH"I.!4=4!Z2Q1EXH+[+&F8GE2 H_()=*2*2.CL MOFX50A-[G6"F^!K],EIX29CW8L^PMQ1OS$P$S\-/3N0V='^H"U'H>+LXK((("C@U0%$NVGRB_LF\Q4Y:9B\I7K!WX >OBQILY M"Y::05LQXP EL2#J _(P-_O%4KK^J5[,K&5KJ&K)!R""0%H#VH=@3F:)Q M5]8,!??N5^?_VTL?Y;FC>5:71:T5GSDD<<(CP2_-5$3Q&FI? ^" <]@&U,$ MA@2$;H2Q," W^AS2-!VE'/E)@B-.TCO4\M]#K'40U=$DKKL"5.OSY1(S(!2J M\[>(#$_ :E%D'IA!V2/\0[].@ZU-F37(2-")B$V0ZC\*;0"T1^J@@[XIU>2E M-T?WBV"D^9ON8!"WBR&&".Z_8I52L!_*.TO/P:L^P&D7&"55Q='93Y;_O#@ M[.9Q.#H;W^% 8//=@\^M1K@IHQ ,V.DC&(D%6BY_QK!J0M 8V.00D_E/-%K3 M+8$K+]<;+#LG"\T_II67WUJ9ZW3XY3/N7F_8IGF3S]!T64NCHX&[RK@T9 M&3R]C3-C%WG/!$;>Y7I'4I,9AYG^@C--;?@VGV$[IGQB!X(L#P=H=77$"R+@PUD%S !TB/I MI>62:8>Y3=L3D"-D%EM#M;K2@QJ;W.HMRMI/P,D[K(4OMQ9\#H'RWIQL6-.^ MNA\^:! 1]59Z2+:?4)\,IW8M8B Q>! %[ .N&KNI4F?9%DL/X@\4WB7Z$T?7 M1J/R/,X5FT$P4MUE+]W#AM@)6(EZ;BOUB.W"1?)?=+< M\*T0I)!MPG;%(L;GHD;J%=L="Y-3=^T0QG0])_DPW]$^),!_5K%=*B) R0", M(7*+,9],:3"ZECA)@?3D;)LLW9S6[6 2@6BF# B+$FY[LHE#=I2(2 $[$GF0 M96B3$5#$XS936;?G])5S W((E!F9Z%6D951X4HJ%JO+Q$O!Q&,K^Q(,-!0^W MD)_2W1$49$G)\FK:K(A;T>PR/).59:)'7$OT4N:G(7POXM0QUV5+I?(YB+WU MDH1BWGC$!+@F1)<1U10SN:3J&3A;DR_"M*B- 8S,='CEX\%Y"BUC-Q&Y#L35 MV9=O@ N>YRS1;-&T3-WW53'9CJ$V^K7AF6MBFB1VHG0BV"KHM<*!4[V%@ DBKTS+L*20 MU?065C.:&0XVL,Z)TM/3D"G5-B4;WC=+IQ\)?XNEZX$=_:)B.9M6*!)1*)(8 M/H8X+Q 51_75L$.M@/4#0SQ(6%I4T1BP-4P4-CS BA'^PM ^8N(\RP&O/-!S M30G9FJ@8BV8]:^>?#S)T_P 9VH%GV0'(T!VY#1H:G M?2"RBEAZV_\]Y!(:;K2P+S7ZB1I!83$SUS \KK%YI4JF9WK&& &,><_;M8P- MK-IM=%W@D+XL9EAH0C^"1'JEH\("^!N/GLK?N[=*6-"& MZBTV-[&$PA]S6F"-/KA4OSU:])I,=X4?D,G*/]*6IPJTW$Y+ L"O9]Z>T*!N M>U(A>BOWTE)RLA/*2GAZ+1.)N!Q5YN?+C(-2I:+606;4,%2:4CDTF$7=GO8N M]Y%%L #".%8Q8E-WX8=XAPSB5]GTN/MIGY:U1" M+.T46.F]H),;*H;F\K4GJ*8_PN]E6>Q'0/@V?0_K*VA_",!)2RK(9BP7!7E/ MJF]3Q;40VI9AA7:*8O!"&R;-LHL/7R>*5-V!L"H&).>5&42T.3R?^(O*M%DE M 5>0*I?0,](Z$@9TH_N@9&Y@R.1,"D8.>BQ8/A0E17LM%TJ5@WH?>C\7J62B M>Z(PI'!ITNC0L]$E((#,:9&"R,J<6KCD>IY3FI,CRP*9.A!+)<^"[ Q$Q1SN M-%/J2.=P!LB5AMA^@!86K+X #W9E#Z2E3>"NF$P$8,,+:GHMYZA"AT1KD#PXL MR':;%O'H4LZ(=8WJ$@XF&(:E)X>X<,T:Q:6R/Q(8T4'@!]#[NOV>5K'5DM*- M3CLYZC.8M26SQ(:6)MY. Q2T0,#I1<08\(X/Y0_)L,L0I1EP[L&\ ?$;SC6Y MTE._Z.#J\^(]7I88U;UP%7W#- J#Z?0W!,O98;9)[M-Z0EZH>&0YYG[@@))' M3O!D:>D@42T+-X2M+F5G,*;O.+["E'G5?D-]F=;1#J6-@RV#^Z[ )C/"O3#L$" M#S?;=#1=G 7SGNYUW939-79F6M,&3 I=(YG)&I*4Q+_7-13!^?H4,1@2O34I M@%DQ-)1M37N'->;?F6 6[RQ=/ZET,*MN7I06D%<)=/:HM21:&":XBBWKX&Y3 M-*6[0(*D?D#5!8>_EA4'I*U<+%9-BX7XKY%S&O+$@UMD%6[-25#E[Z'R.8$, M\;1VD_LO_ Y8H%J;2)&W%\&VEN)1S<,-3@?]W!N'1DTEAU@??&4)T<)+)]$8 M*\$!BA&#%LE[]MCYZ^X5^[,2V PTV-O8#8 UNRAG]+3C3_]63]K1^1031J: D>LW8\ ZGK>U*T45\_=*!R=3R!J@Z^'$_XU3*8//"1WG1%P6&)_X\$OH3CWKU&")6;-$K"D- M3Y+PA;R8#U_!%Z_E6K 0*+H&V>HZX\EZV5RDE2W:/)=*XM-:[XWO^\R@L$ 6 MGON/YW66E_PF>#A6%;U8&LZ3IXB( M7_'*XR!28B,U4L$*%D"M,V.R!BL.6OU:53!M;VUBIL_,21&34?HE/GR;WA63 MB.V$[4@K#X10,CWG/&\*AL1TB@^F'%AUJXM&C[$M<%ZTO7 @"<)(\I#++C]R MWR-CFH?]6):Z6?0SY/ UJ0?,V@GM![TO#$,9G>A,]6+2'@$K@C^JA2(>@F+5 M ];L@P^:(W^%*K00,J=E&U-$;L,]W^^Z11K*]G(T

GY_9$H\4"IV"^C%.3 M]KT8T*4XT"#XFN:#0TUS!Y[E2]&L&$F8#S8]O! M#DCP=4AP&'SPVRC*&?,,_NT*R,UI=8)@P4SHT M,23Y8WM![GJ*T2FXVREVCS TQ?$6I1W/??AH$CP# U@)9W*[.85MS(K/=!TB MP:0-OH6@+5N\^%IB4#'PQ1]KBF":-8/_6#< ME8C(X$!$UN-+.0SL40 20*_S1A'H+\_? MP4O4SM L@Q(CF+<51F\;3>"U@$?D$W2('V9UW:Q*.I5U/ !6)B(X+"L#,_Q/D4K^V&^ULT7H/XZ;0ST>02;"^3>3..C-0+O P>P@OMP;Z,OD,?RS2J_LI*G33%XY M")(QLYFR7LD6>5'DVX7NC%P%_0"%FMAP 7M/A6G8U $AITKOA_*I$VP/7&IA M,N7GAJ0V,'.D6I";V9%BP]-[U );[OVCFIHKEJ:9G"VC"X"TW8I:9LP3!E5A MZMPQ[V5+FD3(&+]"MQG#JQA"66D!GW!(2JBE;""@J0@Z\2EI"G>FK@&U&A;' MZ6<%L#\#2\76+7;[0L="0M;],%8#O-T"Q.)>X&RX(L&?)CZ$Y^#^GYVS"] + M[Q%?H&65$_D?(-1= #+P)6D]3@*8>&+ZFDTSC35%:,F:' X92J$'R_H_VK"W M@16K^%%(1..7:/<516=?OM*F%B4JD(SFBR_$/PE&(W[;4,0PW2U;0(@2+R,\?\$M$(1NSXG/ MU@S$,3X2+@% JU8U2R5B9 17;D@9@_ ]125@>GT06"D86BFS9-P>$M]Q+[;V MJV@MT9+L%B@J[>N","KSA<&^ZFZ!C84[ 61Z:'?)*G0_SPDY(^0>!3#KDN+Z M9"U,@4]*QD[1DSCSTBW5>MCK M%7/"\ $?$AV 5ZEA%;$D5X* M22\8\RF)%;D)IQW1B-0D-K*8O66)<2[-FIAU[MR7H>Z,)I- Z]S;P&7Q[]"M M.>2/A:LX.BBLLX:1#I#O )4-&SC:QHAWU@7(V,26VA_@(1"PM,%O. \W$KA) M^+0]?]% 9+1LQ0A->66,<$ID\XLYOA*_TDFBH[E@M0SRQ59DWL)WKIA;- +C MB#F+7*L@ECG #!5F^/ ,]R!9]D!ZI3=,=^1XK=O02:A;\,4XB-:#-MG]6TF MZ?3=10-DY4<\<#/\GR=?$HAI05=FX(8RCRSA04,#+H ('N+O3)9-9Z%?DPUT M>8.RK)9@D\$*K6HR;ZS0(AN@T?>YX8TP,8G^@!*G"B. F7<=A-606D3Z@=L.;.)@C*G>]&5&ST&'O_SFK[/1KVDSO?SW?QL_.'ER-DZX M*VGHD>Y\O6(B+B,NIO?HLKI%=)>#=_;P6!L)=W+$-BU^B&G=C@5W=\_MG"U MW>5RX;!I<,,MN>>WR:/U/3Z^K[VJM4E+C?W24QXS*'?AW$+]L UF&+KO,'C7 M:S00N )<&G)!S'D\=!5J0I/4-_7I6<866F&Q)XU)3NWYM5E6[M9NKB M$(Q[&X\?Z@MN6,:0AVNNJ E7$E6J^XON,O[F=8X9J SZDT]'SPF1^J*"2 H. MFE=E2OGJ$S/<[JX[N:L;8D+IO3;SS-C7=B,\'CWGLY-:<4:OY&OPTMK-1ZF, M69/G*!A=9MJ41WEM/O4PJI;QI9[.WKE':X3G#'D]UEV.Z\'H!XC/"VWCV]5" M]Z+Z]H?VFT1ZU.B67M+NTYEUEN&B2>=:5J$0A]3GYRE+@E,I>TE?RJM+W K& M3:*F)*^G%=^E);JG=THK12U.5!3X#'.Q.W'D2Q>$Y9,&V[/'IV"@QH_00 DF MRI")36HH. '7BH('T8PQ0S)2'_QE?'(2V.EX(H]'+[E1&YKFW%5@"YV=R)VC MOSQ.G 5=C1ZBY71_\L^*G[NM#E.J?WV,?SS[B!>HO+Z<^U[X-LSRXQ__M_HJ M1Q-P1@]##WL/_^,T?+*'QO9_DB<[#<99M /6[)[$\$@!@M<>/"'!-;[T\>EH MPA=>>X";CNXU+V >?O.S,8D<6(2 2,Y\%S>M%&ZR&ND'B%2.M=NPWZF)OA@' M)E2U6&MBMM_[B9\+ Q,AN68DM*=!P7YO/K=B/57P\3F25'DD]:A9:ZQ&/Q7,]3-D91%4!#L'WP&FEQRSB)YJ_'^ 9*4@ M<*W?U'-2B'R%SKP\RF5MG6Z9@-WC^YC;D+?I+L(JBPM5,+4-)NN-/HD M!H_,$PZY"Z%SMD).1:SS>]:UK,Y;7'M*HI!@&3NK86%2I0-F:UF'6)VDQP3 M[ W,^C@LJ&%YD(A^QQDW$0E?@6/]E_,B;C(T. M:O2[TP?WC6O:Y/,4^6%]?\LT7&GVJ8X&X(:AO5IDR M./;:G;T<#-4FB;!/G!MD@O; .UW=FK#;#Z?C#^&MS(%;%?)K*6O\+-*"/#0T MG3*<0Z-)O(7*>Q)0N!C14*#.\AQ!"C5B-E2++TY&(3&0V_GN%0U0+F"I[#/' MT&NP>)];#%1UB][$WQG60)OGM'T,^(^6! $(3/H67\8OG@UKA;-M>Q,N('?6 MTOGF2,1K*%J$4> 2ZPIN1J:=UVVB@/!97J;7I"Q\S<<[>OG@ /D&:<(QVS,6 MX%M(/8C@93%?0=IU#M, U05([GI986&M9PT_3?8&DTF^39E2UYNSIS63X0BQ MD(&%[<6&1\#EG(XX2;R@CS,E[-F4,R!>IT=VX>"O)BMDW0>0#Q*4^36AY,TH M4$)"PSPA U..H 7A>59M] %$GE]RB 8\4"%\-BH$CAG >')M<5*FU3LW2?GT MG906W9PR:1][XY:?:9*+!\A;;R T$=%WFR) G^]Z-/G^$Z9K:SO$D#=B-L*X@5%C1&QGE6M#0XIPEUEX/T_2YIHD1 MO)?%A"U\-1*B6&<(KIL"FAHP<?&QO'YJ_GR(IT<'Q-,./,N71#P=;,X' MVAR,PU(Q.>XPX 8W4,J@5"1PR.0Y,6?/]JJ_?K=G!L(%1'//V>*GV156AESD M#GG20#P13FCH1*A$9Q#Z44K&L+$K-W#XUPWS*==@Y=T,S\$?:T02C&J,1*=+ M?1>AT\GK8B]:EG=[,9C)#JBQE]?U$<+[%>!M_>]INH!$A>]$Q7C48B6]!G,+ MO2R9:%".9L4,VK$\!?Y>1/)!#6.2$YZ0"SA&91=+ I)]T0H/*3GY3+Z)K-UH MON'-=GIR)H.K^9N?F8OKJ4D/_))>2SR%-IC:QJP4D\VYU-?"1LW*%$(F38Z@ MG70*^/R!DG#43WYRKW9-?M*;EN7V4BNJ^(%:BQ5Q?B5BJ!47ZI M&Y(E('8-SX8]L$W^#U4X6!=-0ZD('&OW8MC;Z%-GH.<' !G[_%$AK#=><'S. MFH[0RF$*9_7)\FKP>VZ-@$I&%2EY=;6(RZ1N"&N"V). M0EAE>*D/2/K=$1.N[$8+^]Z'5/.SHFVZ!7'.6WE*2KU P_T(M4U4(I)HT]W& M247%N*R[C$5M7KQ5BH*5MC=RJZYA]\2D/D2H+H[**Y7,4JD[4**1OP[7%/?B M8'D[H",MPMTTSL*"ZG9-G6%Y!7A2!R:JR14-YK'P7H(,@O"<+$N)Y9RELS2L M-%![)3.25M*BCR8783[@?".:UDV3'#P:G&*P>*!6!J%KB^V^ ". K!0T7B+4&^ %91G+D;[+\X7S M5%GE0E\ ^GR% HY2F\[>7Q78.M)3\?-'DO\['^AA15/GA$X=T_D6SVP25N#B MR1#Y(1%9%9'-CVUIV!G+9%8*%-^E[#%S%Y@$'"5<2MP+D[!N>[3X^B@P+( H MZ/UIZFOP=)KM1@@V']AM7LO*:D%=DEZG;]:X**$!^AIP9"-F9BCA GZ"2L)& M208-EIIP JM@$0%K6KZ1)#'LVTA.D(]6=1>6L(=?1ZV'&P00^E0=-_^.+*CB M*PO4I1VH2$DEQ&>F9!>HZ:**C>7ZYX,%<$&>>S:\3K*>HE3JR\9R&:E19/5QGOPEZ:-LN9;W MP<*YQ>*BR9:<&T9W\>A37;V^8AY\]_(I="ZZ,Y'VD\0LOE4)I\2SVR.M1*[# M*F$[W YX4O NTI# *9NJ-F0A'J8I!Q!N3/@A)G28D]OKCO'9NA=6^&>:A)G. MCY6<([0>DP'P=(5-8V"#-CE)?M_*U$6ZF+;SS5NA543M@5#5=30F'M@QO(R. M1\_]$FK](O*L:NO6C-FZN!I"G-"&I8'.I0Q8 (!$7A.5:O"6FI2DT36$(=8F M7_E,;RMMOB80C2^_QJY'] FS]5N258WY:(9:-$*%W7I%PWRE/A[;1?K97ABJ MEX,Z='XE,CV?8-8,<76CVIKA)D(/&@C?IIC%\>S*M7LB0ZFWYE+]=>WF$)(1 ML6[5.D53 ==86#$S-,:MPOMATHB[!CBU%/3N9]03>['P'YS<8+@P)$)Z_Y_/ MSU])B-5&[#6(+S-\8^CO><-$U#L>8B[*Z,0_XZ'4D$H&[P=ICYS'"< 3P!$, M/29KE1&3(<;%M0C<3<0[-FNGLK)GQL1QW MO $)F 9.?.H+"CW LEB6[J\,]GD%.^=%,GKAWFUT.CH"?<*8G?"9)R E;4TF M0W*S^),.SU-1:\#OO/9YDY>:-TD$3D3E ?T&;1JD#(-//%41YPO]SDLGX#KC M^Z9-@T./ 6[+K%HY$*@9(=&$A2$2'Z@RTI0X&FEQ<"N$&]<,"'G2!7"_*)8=8(VYHU,N9OSHVPD@NDNQ\P"(Z+POSV%M*#XT3+H6=Y9M M\AU&;XPKO]Y;[\2+PA/:A;%IG2'\;AFE%1B%6VA MWE@C5+\7WNQ3(ZBM0VE&!(NB*53'/6VS)=#I*@W_9' #LF=<+%8"FMV=>"CX,B4-5>*FFOWG^E'5XR8&;U%E!Q+5S M)G^4GU$,CD5F@CTO&BP5#RJ[N*#00.29#6%H@6"E%@HI4ZW$W!!S!(*Z-LX/ MM71IT3!\R@6W;O]-_>KJ+2G!;V-:R+UM4Z=2?6?'&PK*,$3ERO_:7O<8ET(P M&K55B.!17HG(MY\+\OS6_A!?E6FW,GU0_$.9-BU@D2\T-1/_LP&36 M%8^+E+C]%,"E-TQ K54B=>PQ=K'S,/4/@<;ZVI4.YF0K:J3^8< M&$J[55"]VS_Z\+!BIAE:()94S7(:*NII<0L$>$.$DQ91^S:#P*N;DL:2X26Z M5**&H-(=AWF8L1JV*@11 1@'T:1Z[7&6U& \BK1).+OLIC_;#[-[#E45YMK@ M6%B!1U%_L3=U!$=:N[.1' MF#>\#O'F#8X29C%S.B?0>8:C$BQ!%D'TTW#CQ8N>",)B+K)-.EDM" M+IF?&8N)'AA?!*7=88'/9ONQ1E]VS?;V !*WJ9A:*+FY5PI9H4WJQ1_C2R_+3-B&_R6EP9J%2P R#E#Z53_*"<.UTQ#T8PT<^L6C)S@ M"^%X\WZJ$>+D($-/EU%$BZFVV1MF>81$&.)M<=&7)#51532PV"&]2DW"-SHV MTNG#6M9Z3$CET'@S1';!#/ MR3VUWST3>SSZ RGLKX5OC*$$D*)KM-9_7E60^^K7K__N"X#;O^NULY)^[HA& M92>YM9[E4R:Q(?J'L[LDC+-X"%$C9TSVE'GW81J6>2L9AX$"/J^PKNK/,];6 MZ!=^JECSYP,FN;!S_"VE4.D*7OABK6 &)AP*M\2*UCPKJUD0.)BE+*KM-U_[ MG>4)![-:0@X$RAC0K^I%6H8CLI@9-F! C1EL!D;:>B-H\2A>M(Y(4#0UN!ZB M%1F5!198^9V'O)Z^)U!D__7-S?F]\>GXFYV%U%+!XYB(6/;C__Y>F:7_1AAR MF8CPC4TL9J/?Z91_!G#-"UYXG#"Z&-?V#@^H>+&LG'_F\F=^>-C M]]'W_;^?W3]^].#QX$R8-;_6+=0XU/CT\>W?;F?\Z'>G!\^PH?]:#^<+MZ/QJ')@A:U>#?01OCRI]#X M'@A&H2>D=F&9W?12)_!*/#BW>W>JS>[4V[^MH=7O-X7+OB'R#6&/_=..R[E[ M&!<;NM,97,)70-&U@- +AN>+C,G&?7*GI?_^@-V_S4**#]Y=>0'G6" 2!UPR MC%G*%83'S%J*U-$[_PXN&GO%Q)[?CK^+BOB'U>H'ZMR3/>[\I#XCZM?_E3:B MG7]@WOJ86P!RX)U_X/_G@O8?# @6H#@7>G.0'B1)[OIW?41:7"._RVMB#M[=#22?TLXN<4YOG9TMC29 MGW9TD6UMIX;W]%[B;O"I!_+3#-[)Z&M8H'^)!^\3O?QNKYOQ8Q=)/J#LSN<9 M /CH5@-Q^SU\L $'&W"P 1_\U@\?)^/QHV1\^G#7[,"M728N7WY-CI%7%7&> MD?['Z>./<(VB4;BU6;QY%'=O$=\_2>Y_H/';,%RW&:)],W%#K[C;:V#\X-'Q M>'Q+(S:\V#^;RW+8FX>]^6?\1T?OQL.S'=X;)_G;\W>@C):\WR5VO53C= M:]'K ^>/($\>G$2@DP/GSUT\RY^7\V8S7,*%= MFWV#+69NN/$/TR-W]+HE4,S3LOVO;X[N?S.JTGD.WSRZ2-/%#]@X]EJ?AY%A MY_I:YTB_-_X&65+2Y7]]4[Q?_E!U\Z.LQK4%%W:'NSN7W44??X.=9K.C1X\> M.Z?B^/0_OP^?]*^C"8]'NDY;^UC P,S19H6]B6"MF&,['/Y_[H*K%WDE!)P# M'=BO.[> QR>3H_$CZ8$=(BY 0D!D(,FUPQF:(Z'1TJVW)5"@8*DQ/&Q)SD.0P:MU23.TU["PK)D M>.LN["F[ Y741[05WKNAK?#T[&[;"L_VJJWP63Y+L5\5];3> MY!5HK?IVPIV13ADVT+_5@XH$VRZUASO>P7IOKY;:KT!D]R:=Y%M/+_99="&@5 M0!?HF8^;G3OZ_+W[*I(EO 32E?RC9*-VI]/[V6V;MQ/FDX?>;?AE%HQ236.# MM,E9/BLJR=/U0//I]D/ORZ;\FW>S-N7L[=-=MXT M;]U7?RR=2ZZ>]..3;T:Y\Z\7$,4W7?[-5[L(7E:CVXP-#<@Y*XD]_)A]PRQ=5]IO[D[_;*5!65MEJ].OQZ-4L1[+G_HU2EJL3 M,H,/NO%;(/OV=S[[YJ_]P//CWA$V >R!L0QNGOU4IA=A@#Z)'Y?[W_SUE(J^<:Q+3R;KP;)9((/I MX$ 5+3+6H%T$;0]G>=H9T9>F,R##(?$(9Z" Z]=;/1SZ;Z??T96SSM.4+=?? M"3AV2DBE!IOH/C)_Y6E3%CEQGKN(,V 5]3'MT(73AA1E0$,N.X:F:!)$PZ": M&4$I&P*,9S>MG,(DH^ED^+7UVU Y[X6Q],;K852;9QRSL\ $:J."'59&-7QG M>L&A][979'5/>>$H,Q9NE1MVZL/;'@X/_CR'P\-M#X>'O#@.W[!T. MCYQ[YWZ>78[>P-Y+WZ4#9\,6Y\'PO:+SX#'P41?YK.\G]FTRL I&1]*0%NMM M'NL#SX[')R=?V=GQZ(N<'8]/G!\S'M^[[>DA4A)-#DQH2#L)HW+1U&UKQ.SX M B9%37HD;0V,9=XCCP\+R&Z"=#6H&X$6-,LK 3,<7Q*2G)=YJ3+5S)-J#ZR" M6.:9*)Y^X>[+^6TWWA7S$BIE894O1VV^7)8J08Z<;L2&!2+76;NCQ^:CSW!L M;CY%OE(C_UO-\BQB?V#$M@OF-ILINS]_JZM;V*F9V^+&4)VN-U3U329\PT.\ M;>;5]^: M#&X]._*?KP0_7E^"OTT:],$WGZMP+]]S;S@]G]9$[+,A.#T8@KTQ!*<; M#8&7+3X8@H,AB S!Z?'XW__M_?WGO3[+@SGX6LW!Z:?R"R8]_@7F?T?_]\?7OXQ>5"!>/97I"$-Z!5,BCA 2I K^$?2.YW_)$) MNL-&V'HCO'GZWY]M(Q!5S>.!(;"0A:/QHX'"PTYLD+?I^[JJYRMW+BSSJL5" M]?0RGZ>Z8PX+]4LMU*?GOQP6ZBT6ZM.TG JZXI>B>C>!9M!G!P/[I=?ML^<_ M'=;M+=;M,\ '%8=E>\?+]I?S'P_+]A;+]I=TDI?M8X9)]]?KY88LF^ M(G3YP46XVX6[#3/R'B8BGJ*H_"O0U7QAT@C/((WP$Z01CKCW +X&P--^M@'4 MYPHSSZP\+?F?0MZT@F+?Q-B_^A. M(?MAPOS+/T'4Q?_P^!$L<,&KM2.H_F$"%K+[F$.:Y-@JU#55T5XB+U,&?2ME MB?FI"32!Y'-MAF&,.N2E,@&A0YO1HFL6->N0:T;WT:TJR7-"HW\+/^#;V"_S MW;[#MA%LB[@NG'EMN\D_CG* M94CB5X0V'/3'R70592[,Q-(H/R++_(IIO#+/[GV2;H*SX]/'FYL)MKW2 M/??!Z2?I2Q@,%Q[L.'J_KVD,X<+__'[^R_][DXQ>_/9TF\AT?&_G0].OLK5B M>')^7/UPBR!VM]YH.#K]OOU^]+>7+T>_OAC]_<6O0PONRRRN_1#>!DJ-'T9_ MJ^O1K\7H[\7\[L;S:QHU) ?Y81W4Z3"&VXSAMXO&QSY_:3.5N[_72[GY5__/U!+ P04 " #NB*=8 M(O_!_^4/ )L $0 '%L>7,M,C R-# S,S$N>'-D[5W;)I #25(:S MU#QD9!+H;N < -T-D/SP[^>%BQX)X]3WSGN#-_T>(I[M.]2;G?>^CJ^M][U_ M?WSUZL,_+.OWB_M;=.7;P8)X ETR@@5QT!,5T L?'AR8N&CMX?V ML8/?]4\/?YF=X<'1>WQ"^M;4/B'6\?'QJ86=P<"RWTU/'>=X\-:Q!TKH,S_C M]IPL,(*F>?SLF9_WYD(LSPX.GIZ>WCP=O?'9[."PWQ\<_/[Y]D$5[45E7>K] M6"O]/&%N7/[H0-Z>8$[BXG^XJW7A?P08+KVQ_<6!;&S_Z&@0EY62Z!;9U.," M>W8BVQ',$JLEX8/B2G#_0-Z7BOI6?V =#G)5]34/K?Z1)8W$0C Z"02Y!NBN MR!0'KCCO!9YL$9U2X@ O7"*17RN0N2TPFQ'Q!2\(7V*;:/OEXRN$)%ATL?29 M0%ZNXA3SB3*8,R&K'?50".RM;V.A^"I+5?EOSKS3-W>@?F M6@-NS3!>5M*G!LZ1=L06%3%+E+?G3&AP"N!74EE'2 M7#?\9<7UFK A'7+5;(CKO="&PE%6Q@5=3?4W?ZD9R9"M;$94LY(92A G]IN9 M_WA@^X$GV,ID2!15B?^H,AC6A#F$5M$=%Y<_:NLDME-%9UQ<_BC0B3W/%ZJ^ MO!)=6RZI-_7#"W!)4O$"4IX M=F%3 N:,3&%RASG;BN?K[TM&WH E<9&<@O5!*&^#!L)AQ5#MO4T;%(N0/#SO M<<#!)6$7M;G]#IE6;3]4H1[]OVB]BR=56P]5B/NW;[B-W:H-ARIVX-9AO:P^ MAON(.N>]2Q_\\AZ2U[[>WY3Y4TIC6#26%4M+Z?>QK_X;("MUX"VD:GTXV"R[ M(27@Q+GS/JK?FP,ZJAP5V5)QHTN,ZZV/H,)JT<6XZ[9VJ.<0#RK##^Z[U)$! MS 5VI:_R,"=$<-/>ULK10G$(_?\ '4D2+"*9*"L415)1*':/5::/1YA!\^9$ M4#"X*>#6A6I1/*J#(GJ]IN5?74X$4: K1(LA;9DSK(KFE"H:H]QADD,)]?N_Y3 M4T,UE:?%\VTM/$$^4@KV**:]_B!\^\?<=QW"^*<_ BI6#<%9(%B+Z[LZN&85 M_1.%JCJ$\!7A-J-+*H1S[#D/P6*!V0J H#./3L'5\,305BD8ZLU& MT)DVQ$!F8+]0AQ;W]S(PH=QV?1XP(O](%4J(8Y4(=*)(J8(^58M2O2A6W"$6 M7&/*?L-N0/SI-?7 VZ38O?&X8"K8,X19)T2+X^DFCE(B4B(E7(E0E)':(9" MHL%"6@'5P?UG!;[,K<\-P3(5I@-MT-\$+2,9*=&%KA!Z+<5W*7H9A9FC%4Q" M/-7@XK=JA784U<4*%<&)B(Y3 ' MUY-XYD[U-@':_C_9[/^,-+4PK,GK$"SYL%/&*?*BW(=QI"<#;HPRT@RF*@*U ML+W=A*TH> VC''G#4BI05D>'H S]S#%^-AU1V0I:*-[EUPGEUJKJ'>KE!S*3 MLP9P[E?BSQA>SJD]9 3?>/(47Y6!8B!(BTHN$Q!)56,BE8ND8)21W"' P'D) MJ3HB[&&.F6%F/5]-"T8NG <9\3 !*4B)Z5#/ORP-]C-3;B:IM]/3D^/C=[GP MLIG4&WH=_^I2AD"30!MC"$*:R<5%HK3PYH)3@XP<>AU*[Q)RAMFT*@A6$ZE% M,A?75DK3=1'3DI1;%0RWB]!BEHN2M^3NNHB0-OM6!2M385K478M1+I NSO)U$90P$U<%A[4:VJ[/!I(LHYC(?53 KJZQ#Z'UN6[TH>=)%.#21 M;;AZ XUO*9Y0E\HG-:Z(P-1M)G+>)E\+:BY;8A).6Y%'HL9F1BMZ'>G=HY]T MECRD*7?#X']R37K$KKS:)/[;-6@94"NA8H6'3]6^G/R14;PG01ZB-,=)[("I ML4*]KQXL92[]DS@RH3'RN3*F46K4T:LE3"YO8T:8;*HUL091#Z7V(&D02BS: M,VD+HF).,D4_8_8#^@I6WK1O=T(D<[5:'N5R295Y)-_2L5XI-2A+LCV/,U2O"8%&6W514;"?3@YE*+2URR;#* M4T-J2-F6T)XXN4!B(3<]^3VQ_9DGU^,;+WDP)?O@8:/!2T6=6NKDDGF& 4UH M!TH-@0*91W?6'HSL)'D,=__D9=^+SP!"8#*KZ(DTH$=+DESRL-K6HSJ<&&D/ M8Z!0_YX7Y7BE ]W%G*M7;,G=I^'=YV[:\-1OB>\#C[J\7?Y@*TX):Y1FDSL<;VG,( M]<"L+E8+:[TGE_8 ZY#X]+PD-JQZF8)#U[TG"PQ&>+,186H_SK/)W<2ELQIA MPFY-T!(GE],T)4YLUGH%L PEIJ&,;2ACW)YJ3>/\?= "LGT?[.GV]Z%;5&"R M>L NX3*.\XC;[,RU5866*KDLN2E5XG*3%5**4:1YSX,BD"[QDHIP%^K2YT+X M=Q/H)"\I?!DP%IYT^>)[=OA'LS1YB05:%M4\ 2JW>1.KD#0+"1^%AJ6U?D&1 M;@G.Y@IDY2H-NEJA$H_KBM1PQ/($J.1$J3+.JN9)[Z$-L MZD5&)H*TUG#A,T'_5 ;*:QXGU+L.!/0G.%G4=UX\ M=JMKTN*>RVV7XIXXDUGM*%(O3V:$!J#(@DZR(SP*7F\8E]35(IC+.T?GT;L^ M4L-N> B6R_##'=B-W["8.0]< R%#B1K<3OJY3'&"6U9#^MK&]6/,G07T&Y$? MTX$Y\)$P/"-)(*ONCHF,9)V-,K*7Y=;*/19UAF1#&K6$R&690_46BH6C2'HF M>E=%D#1">=.YDK$A2%K28=9\!H&+8#'T/(!871KA5?6#+:;"M%CG4L_)X(^$ MHU!Z!' L?X]@>:>;IO/,Q>U1_&N>%:OG/[U$@1;I7 JV^O-C7??'*N"3'D0O MO!W%'+MB1S7M6NKD4K)UJ),]#E]6*@[%]N3:#J]\\"QW-2Y^I][\PH2>BBR#\4&[BEG.*/<$RX8M=6KXJ'@5S!FYTRK MH%M+L)>_OV]]+DMMBI@EK=K3RA1:>TZ UEW1Z%<@!;8@HQR^F+)O1>L?P="S?"GAF M MEK5?L["'68M&M*<.14K.J4Y6ZW6;ID-M W2TR7]2P9PV\4D#67+;*=O)*B>H MBSS+O9[C G/Y4DKGBKH!N%6Y^Y5(5%NZEB&Y7'?AVT$LI!0J_".5):\1V4// MR- 3U)&]!)-NP[@;B=:"GDN7EH NM5FQNDX"_N%@_VF/#Y=*E\D0G_TP6$_D573SAZO35>4^P@/345[]AE2HK[E'7 ME8_%Q\7E5W[IV5+M[(_5!WR=('RZL8=X +*I".1?OS(_6)[WPN)4D$4/A=_[ M=02SY"\^.'-\N7EU S>EI/3;X/G&%.9(AN!6>#-5]&*5%HERZ\,GS)PP=L@\ ML:F>OAK/L1N@L$ERLF]68;^WF?G@FS*2GV.5I=[;68#V>U).21'4XE]$L8 +H)MV@03"YLV2-?P@F_X5VCGWX MD;R.N2*7ZPEO!?,!/5M-?G?3*>#'#KF ^=L;6$E$*QI=>RH ",%2]= V-O\5+,IO_'>"J_$E0RZ*O;RA^O! MAQR^X2/TT4D+?B]GN+OI5QX=B"OMG!=(K#!1AKMH9O(A)I.G^&5A>^! M$\-6!GTTGI/#_N P7B=LN G#?02JMP\- M,&_#+0$*D76"Q2^[6XW]"S+"U!E.82'Z#\'LV@]8*7_KB*I/7)L19W?,+9ZH M8/:17 1'Y6ZJ2G!P=L0W:(-T:[XN?6_,Z&Q&ROOHQ7)W2?QE:(9!]R@/93W+ MHO'9M]5HQ6"^(A.1ODUK^ AAFK0)UFKY8%%T>#A\:N4S%K+8:NBZOHU##_3XF2:T=,7(G1[W4[\W>X![.]FJ2FD) 1.O M_B[Y=(SZ',LJ_'=,GL4%P/UC"X',1>RRS2)68^)'I0]R7LAYL6"_5S.U5)'0 M$J27C-@T.G>]=(ER@KV-YR-L-Y 1\@:7LV6V\* I!57ZZV?.$XU/E5@ZFS^5\\?U/M"M9!6EM&4QVV3OH!K9!ZU"TN E9.FVB![2 MNN+:@FU(2>U3-<.M3]6H[P:8TK]A76WIR$W6'U<;),>M&B2F&? DV M^ZU6LG67IC6]@Q->X2I'\F(W,7EK:Q/>6$VOL&$;6NH$RJ=!A[FO-\"5"B[S MV$_ZRG 6W;'6ULRGBZ7KKPA1T>XH.DPJD^79M.(GEZH8+SL5J TI.@G4J^1+ M>[$I\>W(7#[ C.;,82[[@34I^Z*2;.H,SW8'09B[C,YQ84O[QV4^Q#5);5U2T=F MMQ9@E_/-9S^F/M-%Y.7E6S&.U![IX:!T=C;8836HW8JF%B4#BEYGD0D?JX19 M+Q'<%A] 3?2Y<6K8#6:56]74.F=(QIC-B$B]EN9/J>0UM,3IDHPF] XVMDM40\( ;_NJ4$?>CH[M&,>#\1&L;YEW$@+&"\JY1%CN?UR$JQ$W MC3'J2VS+@"I=!(R\3+/*K5A'BIV9>]]UP1>4-"T-!?05=\5L(8=7MFWJ3#6W MYV2!/[[Z'U!+ P04 " #NB*=8^#!ED+PC #690$ %0 '%L>7,M,C R M-# S,S%?8V%L+GAM;.U]67-;.;+F>_\*3\WK9!O[TG&[;ZAL5U]'N,H.VS5] MYXF!)2'Q-D6ZN7B97S^)0TK6;I'$(8_J3D25%HKF^1+Y <@$>+\6SZUY_XG]E/SW":9GD\/?WK3[]__ 7<3__^MS_]Z=_^!\!__OS^S;.7 ML[0ZQ^GRV8LYAB7F9U_&R[-GRS-\]H_9_)_CS^'9NTE8EMG\'.!OW3][,?OT M;3X^/5L^$TRHB[==_'7^EZ0-SS(S\(Z^J,01@M :@C0BJ1PL\^)_G?XE<.F" M1@8E:02EE(>0.8=DB\]9<9,3[SYT,I[^\R_U2PP+?$;B31?=KW_]Z6RY_/27 MY\^_?/GRYZ]Q/OGS;'[Z7# FGU^\^Z?-V[_>>O\7V;V;>^^?=W^]?.MB?-<; MZ6/Y\__\]K8=C/IO@>RS/ZO??W[^^]LA_K<+DV^+/:7;^O/[Y M^8O9-.-T@9E^6,PFXUS5_'.85/P?SA"7"Y*B^]3EMT_XUY\6X_-/$[QX[6R. MY:\__8L^$:JZF5QC^9^/^-3GW_&F,$FK23<\;^CWS6=7>$VAX]S=.U-DZJGV?SB7TY"Q$GWZFBU@-,0/HU.%@OZZ%&Q06H>,J#3!13&#,%H M 2)88W0JQ>9R?9BJ* N2I=-I"8O8*7;SL:1@(9_C9+FX>*6.J.Q&\_J3UR.W M._[WN%C.QXG&ZD58G)U,NV^O_K6B:3JAJ;[X;39-J_FO8%ZVJT6>S64,,\ MW2+7]8FV>K\O/M,&"_Q_.+?E_GL?&].+&<'4TB9U M.HX37(OR&RY??4V3534&+I'9I'.2F>31+H%B(D) Z\#JS(S+H AQ%*1%1&(@QD27GBX00# ,3T$EO MLTC(&E/C?C2/(81Z.H1H-.S-:/#V$\Y)].GI&R3+\WT=Q+?E]\6:KB/A'!9G M.8B( 93(!3IL:#;T MS4)_C*;?R!C]0.2H3I>CG'Q$N/R^V]7+%B,3G"A#+AZ *!"=$ > MOP$AN&1>11J(UF;%]B@?0QS[=(C3LYK:T:D3]<4&@J&=D&-PX+TG7T?; ('% M -J:4LAFCLC[<;-?/)X$[@F18.?!;6=++,]POK%GOE--.IZ(6H'L&)M)*&'! MIZ(@&9.T=\%RV7I%N!/(8_3MGXZ^]Q_L9GI_,PYQ/.F6F O^>=09LXV@62+) M8E1DRVH%.;KB"^JB5&M+X3:*MK;QQ>=_NY"1!>F,#@+0:QIK)P.0?R] BU*B M9JQNU[T:QS<1#>G<;$]./&PI[Z6*9K1_,9LNYR$M_S%>GKU8+9;DS\UO(3-% MVI04 XQ,@.*,++BD'#BK++.9TU;K&I/D,;B&=-[6F"K-U=+._DEIOL)\A[PV M2I^Q(HG2UG-?#:&>%7)K.5/28I*JM2UT'Y@AG< UID8;!;3DPVPU72[>A6_5 M>K_ DG)F'!4'I\AL4XQ%B!(#L) DT;-PTWS)N!O)D([>VC-AWZ'OPWP:N13I MH?4 V DB(ZH"H0@.D53&C+'1\]2?W=2#(9@PZ)*0@XFF[LS,@N/1@ ZR%,FR M,PX/; @.QC#:2MLW&;SG6+=U^JZ N>*,D.7E2_ 9&#<2%"VP$!(9:28FDC)' M\G=:>_CWHQFHQ;,7!QJ-?4^7"9=&UQ58/GLNDM(@7>*@1""[2UA%O])B*YB. M!.XP/M-VS#B"P;,?,YIJXC NTQ5P7)NH+=&5!1)8D3D.CI8V"%PQS$X:+S28TSHMZ/[+\-G+!HO(Z@";KC%#E M DZ*0IY=$$8[QWQL[3O]"-/^T^3\?+RL5S_U\ZMZ:";C-%5%2YE4CC5TLE." M$(P4[0L(LG:M$3[**)I/C7OA#-2RVI\IM^=(&Y7TXC485HRGAU0 BC9[6LL# MRQ)$YLJS8 -+K3W&>[V&P5A6[3FPZY WT_D=\@AO>(J.$^.8 :6\ 1\B<4_J M;"7S 6WK"(T?K7>#L:#:,V!/!?1)!&:LLM++2L@:1$8&@)?!0 XA*)MY"BH> MF B[1)]LPJ.ZC_[?8;+"DG]F_'G>PWZ V]@_/SV?0*"A>CUL8P2%EZVE@CS2T3(EB6K./9ILS;NP'7 M,0QI87X7YE$RJQ4E*J_,ZQIA?8AFG\7)D!+>9'%)( MM-""UYC8G16"4M[TLN<'0G7T3@3W,\P^EB M_!G7 ;5O9HL:2_NV? Q?1X)QI9!6+19# 24Y;=(N6\@B%BN=,@9;+Q];0AS2 M:4)C$O6IK':,RGE\ DP#M#.Z$-GEQ[YTHX M8&SB+IOJU92S"ZD4*8H5AX"^+MK,6XA21PB:#$ FA#"J]>'[G4"&9$OOKO>' MT_QV&?-VAO2=>88GRQ=A/O]&._K:W//:)*^X!]2>S#U)(*-.&0SRXHIV.6-K MDC\*V)!,[G;T:*^3@X?Y7]XS2Q.-))!%91H&DIHX+1QPHZUPT1?CFZ^.VT$< MDG'>CD)]ZJEY4--[3$@L)[1DXEVNAAQY-(PL!6/)9I!:09!20.8Q^:A8D;;U M#O00GB&9WPUITDH##9/*\!.9>*^^?JI5'6@5O!*\?BEQMI$;6N^4=R1QX C. MF0""I,BOHV2N/'Y+?TEK9NXYRPYHF%W+\0L*NXR]6)-_W%?-G++,Y7M95P,6KK\MY MH'$?3\/\VVL:KBX^LL8ZS2:3;FB6.">G?<05UTRM\^7J91?MBZ*9;7,!J;1DB)$(U?H.]H>;Q''/C8;" MQWM7Y1VUUVS"DFRSZU@V^\1(:W([6,D0-GPK%/>^()AH8ZVX M88!#]_"+.7TST/JR'%AUO^F_7"]#/2W9JD;>"#+-J@=.4RQ8!(O.%A:=-\UY MO0/,(2V>K0C3M[;:Y]IEE6!2+<#KZ4OP44,4UO&D7*2]_K >[PZ! MC=CM6R?3_&N8_Q.O?/1(!!5L(?%L,22>X (B^2T@4HP<,S)66L^)^]$,R13= MCPFW0ES;:*#A\KE ^IAZ=_:2YN9DUI7$NH"$5N82R/@(P=!4+X5!9+RKI!B, MXLZA;9W\\2"@(2V);7G13@_M+$&D0N,JW^ MND:H&$?PF"%Q@\]8I(HT&JVMPXE>LBT]6NKB #ZHI<7X!52TO M)9,L7%@I6D>QW8=E2/ME&U;3]&*@)2Q!44B!4 M,E@X+\ZV9L;#B(:T;_;#CX8::;<^XO+*,6%,-EEA-9#_I$"%FABE.().))PE M,,[HUFOB50!MK@C((=N,Z<^T):WO*R1)5BS9)CZ TAK!DT$"P1@:6T[>F6E? MZ?Q.*(,Z8ME=^;>7OOT'_DE<%'F?D"GIH)A DS22H^^L*&!#DFAHBC)LOZ$> MZ*+HR&MN8S(>7__'C(FY(]>BE^"8NYYS@"B9'XK7*%SFCN=<3;^@@_2,MZ-YMW []2IU00G>L"[^>SSF#[M MYV^_+VJ+M%.Z*5F@>-0B3OI@;<=1RI(5(@RD$A4HS1W$H!2D) 67Q=)>T'KSWQ+BD/;X MGEAVQPE6;TIL>*:"7AF Q2VD*HLX=Z^0R:5E]+ M(^>EZN%4?B_,0]J1C\;%'M7<+SFOUONO.2PQI8Q@,R=+5R&#((P'Z3CS7EB' MKG45U1^"&E)PR#'IM;.B>N3/)F/VHGOKG9FS(V=$9,D$L)Q%4,)QB(I^TH*' MA(Y,X.8'8KLAW3+OO?=[R.-0K;E.#[!^?<_I'V7/BDO9$11&,R.*1/X+JV5H M"9FR)93FB;N/P;5EQOP?E%M[ZJN_+M_==DW?7]"+8^(W+X8+'B,D7SO><.8@ MZ%! ^!B2J+W(=>L8R1]A&E);WP,1J*F:FO8KPV[@S^O9SO_M!NQM>3E>K,E- M$&D-/1^OSA??H]\6HZA+]K$("+$>]B B$3UDT-K*&&DXO.FA?]4.2+=L _R' M6*H.H--V5:[/PAQ_#MVITGG=G#NP(\T3ZDY>'VH2>O3@A4&"IGBT!>G/K?EU M-Y(A=1 ^$'T:J*1EJ_K/XP4]_I?9_.5L%9=E-;G8=T>8(X]*2&"QAA#Q0KLM M1E>C;J73OKBL6I>"> C/D)H/'X@JS=33T!CZ-,N[H\?@>M0Y*/MC,:BYOGH*G-8N9'(3)62; MR;)/O)Y1V +>"%1>:(:Y]5JS?;S4'^R0?'<-M"3!79*NS:;KDKILO6%D.7'A M6.TQ6RNE"PW&,)&CHQ]=:Y/E\>CVWH?#M\Y(_#@[2?]:C>>X3ARM3N_W:(,1 M\\B\).VXB(Y41/,T&$L6)).<5"4TQM:.YJ. #2TFOP]*W=J:FVNLI5&7$',7 MO%WC5;H\Y&6%].UMN1-F-[U#*A!U;<"#7()7TH 17#LC0NT.W-[2VP[D$[@Y M:LZQ7A79CF\WIP+AIJUJ^>W=)$R7!+H6:^Y2G4>%#-88/0.=8^TWK1"WY>71'W,9:Z.[IF78;]3[OEXDGB!>?^'*.]_A?#S+MT^6 M-_5'7GU-9V%ZBN_#$E^5@FDY8AHMJT&[6K%J3HD,H3A:OEG4)+SSIGE=K<-* MV)/!=I=I&DU0"AW9HB:25Q%J%'3]$@)GZ((.LOD9YJY10D?.CQ@NQ^]P&?I0 M_S'\":F"95I'\(BU\%HA:"Q@K>+-7/#WW57_?]/QE M/ W3=!V?,J)(+Q24DDRMLT:> WGF@,A5UJ[02+2VE!Z/;DAA-D^?GONJ_RCT M3#IELBY!QEHZWW@+3D8'R?A46V78W+RZWJ[TW-.!K@V[WG[JLIY??<5Y&M-3 M1XF%VKPXD"U6]%-7>(WV/7 MN^_C[&/X6N..:]\W$KZF$=U]!ZB*=RE$ 6A,;057$"):"]9R*;0PG//6&=&[ M8MW20CF*L]R<;H?0:VL6$JIU!8=3^J6FEM (S3?)*9OP][O&B0N,PO-:PRR1 MM\_)[W?=Q-&$V*@866E^^;L/X*=P>-,3'P^@X>9+(V%^CY]6<[*O%OBV7.FC M/))9.E4BX;(5'**J?>$]"!K)%!S7[<]@?HSJ*83[]K7<-=)5+_<;KQ>+%0E] M Y;G5@N9#4CDEOAM:A<57B#HHD/VJ$1HG1CS0U!#:H-U!/-L?T7UF$7Z2QC/ MN^:1L[(9@S!Y/26?<=5-@'4<>YA>S=AY61M\3W;**MWC:?MGF;82M5'6Z5T8 MWGZ98CY97B(=*>N%%U*#EZ[48N06?(H!K),^9)Y89*U;ISP&5Y-^R3^']$_, M5TH*W.AFFI36.F8!+&LD!R8F"$PZ\)YF'V,)A6B]E#T&UY"8V?CT13?+M:$')-Z M;APF[\(GG-^<3I:&O1CCP"1=\W<8 U>/3YC+)=GH-8NM*]<^C&A('F7O]&JH MG/[7NA>S^:?9/"RQ-I6_.@*6>6-,*)"M]+5U.-;ZE!F8]M)$$:7B_E +VGT@ MAY0[>KQ5JXD*VS/MBEM^":DF'DYFB]4<1Q%=T9[V>*82[?O,&O"F.+#"6WO$9C-B7#3=6OU].UB!UE\/^*^8S@8MP4C>6+2L^J3U7"/: +H M$F2]^E.I>8^&77 .TIENR+1;DZYO71[OJ+ >JX;IS3"3_@X+'WY>[\>%6XC; MZ,#P9C'.NCQ?<9O7:6UU^5XL?PZ+\6+$I%:>D=,L5_&OETI2DU%H$FENU M?4I2&EQ69',KY4TJGF?1NO=A$^"#RC[JE9ZWSB4/KO=V=3'NK:E[78B:016* M8Q'(M*HW1")"0/()T=E@N/&T&[0^^W\LMB$=5QZ5=TV4UQNU'CLK:A;L]UDA M&8N%20'<60Y*!P=1"@_%"#)O#&.)\8&LAM> #^D$]$DLAKNK_7A6YH>J@/FW M6?DNX'AZ7:1WL\6XBX7LS_;0]/(3KU!OQODO!O0%9)V*?DIIB@* M;<6LQM2H.C%B$098C_UA99 ]C[EQAY",*F&]5LM;@;S!M<+#Z23\+% MK_3.L\7-,;5!&E538EE7Z=>2&^FRU4 V$ IF4Q;-Z]KW*M"0S@X.S?G;Q4Z& MPIR&]7;V$>E"E+?S-[/I*[+,L/.UVT21P)B201:WO!SFV#@CH M5: A6>1/>S*T9,Z!)L/=@HR4TZU$)T&;C1B:QPK6TX[*AM*\%3WQ>WXFV_BPP#\/*7 M9WCEK7<5_CF D_]X$(?S\7<Z7+J.>;9:?AA/3R=X45GM)?DXW_%G M38Z,D[)64"/3Q]48VD#C%Q+:$#P7OGD-Y';HAV0R#(ZL#16_-W'KKOP#&^<2 MV079A/IOFV(&\_X_SCEUF=C(N1*%KS%#AYYY*,'*=)#.<,.!^%XYXL ML9A^9";T"W'(MU9-F3H@30^0M2]7V'4>W6PC'\_FL]7IV:5TQ@KM@Y/ >?"@ M5""SW3 %HKCBDO:%W:P>>0@>/PQZ2#D 3XS9#=EPJ.""VU?:,B:7,!8P.3IR M,%.A4:S-KW@61ACC#+9N#WJH\+-':/S:PUIH_=H'CD1-JLRTR+%W_>O".5Y4R86!U/1% MB>1K"(L@:R!)$C()+\MQ)L6]F(?LJ#RA*="&$T=QPR^/#J[C]NAJH>F:RU-; MEQKMP)62P%ARPZ14TIJ^=\_M40_9F>F%S4=2^'#.BZ[+$)C3WM1K>K*4:7=) M%ES6))+*JEBNO)3-F_L;G1^T69U=CJMV%]//RQ)EOK' M6=F4]NXUD'1;!/U70=IG2%I51KJ>)/=Q'J:+D.IC:_K&C:AED:6TEH&+@?SU MR(GS"3V()(1UC/%L6P>*;@%OW^5Y4S+@_-,.K^1D9KT1L9%@]AN5@(WU4SEJ;;'"NG3-$M;*#YN@Q^];1+'M"[M, >?C)?(0,+1,%02H> M0;%0CQH= O.>F91H1=*M2U#L 7=0N=2').HV]D5+E3G*.+3A<0*G#:,8P EP+YK-%[I5,TH7DVR/ZH M!]6'X)B,/3 !FA'W;1JO4=T48/$P6!N2" P-&*5=/5PAHYVK L;KR&UAR3>O M#;@CU"&=!Q]U33V IH]OR7X_.]K(B+FJX>3MB]?]&[2/>/C![-IM!Z*1>7OE M'(">MDD-(-_H^ZG=FFWK]Q'G#JK)[BOITNE6"EM$[$?A#0H$S? MH9+XMM'12L7-[(D/.)G4%A:U5W;-!^G:^*WQA(!)1"4ALIK![9P$[Y,A^X8+ MB03&EM87<_>C&93A^E3XUDBY#4L&+\AF>D_4GW:%2-&[8!GDE"Q!R J"S!IT M\-J''+G6K6M570,PJ!Y83X52NZNPH>_>/?QBG&HMS'K#_&*U6)+P\U=?-^U( M:Q\*^B_7HV9K-/%=6XA2"U D(,1:]5@H)RV9XMDUK[V_ \PA11(\%4+VS89V M]U8XI9&;T*"Q-2!"=$D!L[&P6(2+J?5V M^P-(6U9,__\+9&LU]^B>OYO/:."6W\(TUU'XM+G7O>?E/5SQW1ZTO]O=0,!& M+O;%(]]-PK1R\.IS1[$4IWSDX'B] TVU,+0FBZSVQH[6^J!4#ZV1[\73H-G@ MW9]-/Z]#A_!-[1G^OBX9;\OO"UQWB^JF[I63DI?X:8YI'#9A")M L75[6.UT MQN00LK:19I H$'E!2$8Q;W*M2M"\XV7_8@TI+*498^]H<3@H>K1LLGFW8%WY MS)'C*+41$C*J+CT6P7G! 8.W HLG<[F'#IL/(!I2R,CAV;:]4MH%3]]-8OIY M@G>P^5X11B(87[B*4+(GUPLYC8E!!ZAXC()G:43S6/]&V ?E>/?&OJ-HND>+ MD:SH,#T=Q\EZ35YT77&O-!6:E9OOV,-JW/UA^UN.C01M=D%S"\VE3_OWV2Q_ M&4\FM)0YXY0-(%6M?*@=AVB5ARRS%CDR%E)KD^@QN/9=+%_3^!7RH9;XACRH M?/.1M\A%DD&9;8%@R*K,+C$7!4HI6I\=/HQH2,9;[Q1JJ)R# M$4;$Y&7M"6*\(\-2"0A2,L+$B@N.F1A:1X9M0YBF\EZQU .ZA*[(:FVF$,M]'>(>;5VV8Q ;B5Z0%[O MFU()9)GS L(GJ[..*8?6$20_PC2DQ?@X%-I>-8?U4NK)>[K![\UI_'CZRVJY MFN,ZW+.QP[+]8@-] ZPO]'<_O@%)Y]Q4^C9^A!,$@DT1@.J]BNMU7T@>IL"#ZH$ M?D##]1&(G]#F>S@.[J76(U&QFS=?9B.5.O-2@R"[$Q36#$QMZJFG-$)RR=&T M/L#9">B0DA0&0[Q=E'@DOKW'\S FLV;^MOPR7I#^*O81E](EY Z8(']'R1AJ M_B_Y0-SE5*RTJGGE\0:PAQ0U-A@N[J_@'IV4[HZ[AB>-SU?G)],I_;E[Z5WX M=KYG ^S'?O3^KL9.0C3R)FJ+"L1-Z-?TM'ON93OT2P"UH+JG[8W)"%&SVD7# M:7 E.=#2N12Q>!%:EWIY++9]%[P'G_/[-!/K:T81YE=?$U[D%]$,K"WG'8?" M:R\/&3P-B+/@F T\9U]D\ZS5G8 .R;OHA6TWE[?^U=DN!_5ND"/%6#3%U^X% M+("R!(96=TO&)N=%ZRCES5*:^^>8W@UE2'[!0=C30B7'W_!&O, M,\Y=+?=+D$EK@N<5Z%*+NH8:;T%# 5%R;:SQ+MY,%K^GIOGVSQ[2P5BO##J$ M;HZR5JVO+X12$G-*@"X)&A)DX +Q/$B6-'?*I^:V_-8@AW3P-;C5:GLU'IQM MMRXJ3-%.> (JC#>U[GZ&R&F ,M=HZ4_2F-;5WW;%NF5NY'\?[NVEU.,L>%]F M(XN2,"$'IF2H1>@$>!\#".MKE2\;M&M=!'9+B(\AG/GO2+A=5-CC4<=ON%PG M&;_#^8>S,,=:9S^%:7XYGJR6F&_]?8_#_IV?M?]!2!LQ&YV+_*,C/>:3ST26 M4_QM=1ZKA[B!TCU^\7:U7"P)'U%I9+BV*K ,,G#BIE 6O!:,")I5XK:N5JU3 M[;>$N._Z=\_C;CVGT]J(F9P3:@LY5:<&:_=.QA7DZ'1(+&836WNF6P$\ =TO'+ MX(C90,.'I>2%885Y8^^>5,BGFZFD@\TNI B:"0?*N (N,K*P)R+GJ_GL+' M^_9DN^:A8_7:0=N2MR)D22')W?M<(6K($K$, FH E*7U]"<+("@. (FA?@ < M' Z*!$'\7V5^5969E97YG__[Z]G@AR\XGO1'PW_\R/_&?OP!AVF4^\-/__CQ MCX\OP?WXO__K/_[C/_\?@/_[\_O7/_PZ2N=G.)S^\,L8PQ3S#W_UIZ<_3$_Q MAW^-QG_VOX0?W@W"M(S&9P#_-?NS7T:?OXW[GTZG/P@FU.)MB]^._YZTX5EF M!M[1%Y4X0A!:0Y!&))6#95[\OY_^'KAT02.#DC2"4LI#R)Q#LL7GK+C)B<\^ M=- ?_OGW^B6&"?Y PQM.9C_^X\?3Z?3SWW_ZZ:^__OK;US@>_&TT_O238$S^ MM'CWCQ=O_WKK_7_)V;NY]_ZGV6\OWSKI+WLC?2S_Z?_^_OI#.L6S /WA9!J& MZ?L#Z/%Y>OF'5]'HG^:_I+=.^G^?S/[^]2B%Z4Q!]P[AAY7OJ#_!XFU07P(N M0/*_?9WD'__K/W[X82ZY,$[CT0#?8_GAXML_WK^ZC;0_G/Z4^V<_7;SGIS 8 M$.+9)TR_?<9__#CIGWT>X.*UTS&6E>@70ZZ@=(7SO^JG_;0SIE,",D[G$8%> MQ6&E>$.,RSY]=\R7GP492S@?3!LBOOW93?&.SD*_I8!O?70#M+,/@C,\BSAN M"?7:YU[!N0!Y$V']R'^?A\&WR=_2Z.RG&;A?1L-, \9,WTQ&@WZNZ^N'*7VM M"^YD5#Y,1^G/T]$@TW+]XM_G_>FW^X?P;WH$U(67R?E4_U_;/.;*B(@Z_6&_ MKD:OZ<>+9U7\W8X-OTZ1/F*^4BVP#$;IVIL&=9T<72IV$"(.9J_VSB?P*83/ MOAA1(=+6P[*/H"P*\($V(568B)&%5$JX38O)@F8E3.*,&!>/ M((((^1,.II/%*U7\VIQ1=PA7&P3FLO MB@@NZZ[&-$-P?3S?.7,R7HSL8DINM+.4\>BLJ3ZGHV9BG&N*0/_XPVA,+"9C MBGXU6R?^G@8CHOX_?IR.S_'[BZ/AE%C]8C![(,U>_%2_:<:$^2SZ973V>32L M<^SD:Y^$$SS92KJ ]R: RB5!X,% A5 MG-E9X,LHM",;;F#Z=;9/K06J=\/^:,2&I8 :LF"E_70'!W97W*@KJ>^-$IF> MSYBS8+P4H)RU$$ORD*)/6GDTT;"'2X5KINGAF;")L#M@ ,$Y&PUG%M?O,XNU MYWP(4>@$M$$2(,D#>,$92!9MDKD(&7-C[=\"T5+SR\S\VVIOH)Q12\G>5C7; M5=4G.<^$& ;O0C^_&OX2/O>G87 !3DI? J8(GH6Z[;D,47$#/-NBI'/"2==8 M[7<">@P4:"?Q#F;^24KG9^>#ZGR]G9[BN Y\C*=UF?R"KX;DKN$%4!-20$9 FV*GBQF+Z(':R4-GJ,LQC?FQW(DCX$,#61\6_-R5\T3"\<8 M)O@KSO]]-;P=I'D_&@Q>CL9_A7'NJ5@$F4(!BD@D@4 +G&=. @N&%^LMLX4W MIL2&$/?/E<;QB2Y5TH'U\>$TC''R]GQ:3S_JD5*/\6"=XPX2S8=ZV!/!\>C M!!4$,J.9;1Z8N@EB_RSH5&TWPQ$[R;P#F^/V4'N"Q^ 9]V"T(N(+#'5+$V ( MEPY"*N=2\RC4\J#VHZ7!;E+OP)!X@].Y7?-Z-)GTN%,R"<: %W*)E IDU0C& M01:A'7+&4F@=;[@&X'%K?WM9=V!'K+)O*S8"^K9\#%_?C<8SZ4^GXWX\G]:@ M[,?1.UK)AM.>DX5S(0S() LHXSD)(AEP.=AH4(G@6ML5.T)^W.3:ISYOTU$U MV8]>32;GF'\]'],&^0['_5&>[YNS7[[]7+%/7GS%<>I/,/R?87".RP'SJ&RIJ4]8%VOE MG0>?F05T7+I<4(BT)YJM!ODD6=9(9[=)9IJ0[#U^/A^G4Y+-DKG12PI=Q&P@ M*V7)_">L)(\"W.8H,!?+5>OM\WY43X!&[;1RFS>V2][,V-YCSFO.O 1+SB,9 MC263T5@02D)R)%1D7,8]TF8&ZNFR9G.=W":-VY8T-8?L[@WX/4[(T$NSG"YZ MVTF5Q3_I-5H@G74R"T7>A@SD=6HT$*P(D#A/0D@O.;\W96T7 (^3,WM3R6T: M^391P7HZ1A(@7^%?_>EI%0X-@%Z8_?;G,$L5//M,_L4L\[F7DX\F6 8F@;2>!P\UP/DZV[4US2\*/#8[ __M\,IVEF;['V8';Q]&Z MV"4GMT%H#V;FJC*=P4?.:MS,>B=5"JIUE&H'N(^;?/O2XQ(.MHF!KUJI7YQ] M'HR^X=S!>'>Q^[\;A.&DE[FTLI +:Z+GY,)B@8"FIAX)'S3M^D:+?08>5D-] MW-S;A_Z6\&[GF/M=_NQ*V+U0/,<0R!DQF,BGQ0#!H (LY)TD)YVP:H]QB)5 MGR3G&NIN">-V#O9?6:4_CE;D0LVF3;RY2+]'$M^D/\4/./[23S@?[GM,HT]S MM4T_;G?M[F7HCV=$&I67_6$8IGX8O!J2\SR[ MYSPYF4QP.B&9ONZ'V!_0PW#R:\W7&DRVN7VWP]-VOH37:J2-[N)=POFU/ZDW MI,['.(-P\AW!MS>CZ>^T0-&O\LGT\@]>7R93,=K5;$H(R;IJ8'D/WGLB)TH; M&8M1-4]3;0![U[FY!,+;LB:(^84G7J(/MBAPWM*"+E2&()D$,E--%I8QG?8@ MM\U [^M.X;YY>7/#W*]VC^7>XN40?OYV^>W_Z>.8D)U^>XU?<#"[C!.0ZR2# M!QX% ]KV#41K%/" SC$EN ZM]Z#UD!WJ)N.>V;**J^VTUD$*XB6T"QG,MKO; M>"\RN=Z]>I$60;+72Y@OS\[8H87H[QW^O#G=1%\=7.-8-J\N 5[,IG4@[M&"O@'O MX'9S&]6N8=FTT,N>3.6;4#G#Q$10(+-3-4=)0\S<@"BB!.%D*C"ZN2RM;N&4>7."T\&81(03Z,<@4.'/:Z>;I\^O@ M.@[39R>%KN-$[:*-#DSCWT=#_/9[&/^)TY?GPSPYF?X2QN-OA.\BE38QX[W+ MH&.LU_6S!6<9 I*QYXL5/O#6#O@]D [(DP,%NEOJJ ,*U6(^]9I'/:LF"_(F MNFRXE3(F2(+FC>+.$,%3(9=!L2AX8&A:9\GCI$:BAACK8M/[X\-OH"XZ' M=7D\^41K;Q\G'^HJ.3M9O0DVDH,H/*W%Y(G2#LY3 F=,!&TT4YYF@C6M$YPW M OCTV-6=_KIPRY8R M!XR*5;$)6YJ;2YN"?'JDZU:/'=SNGTGGYY#^Q'S'Y.#:1(<21*CY8YXPAAIM MRUX53%XG^J=UTMX:N)X>O9IKJX,+^BNGP*\X[G\)T_X7@CQNR-79(;Q![H2&A+PZQL&"U_0=9I9+Y%G+Y@6'6N)_>@P]F/8[* &P MC)\<\LY02@>:M#;]U<#TS;V=M=7#?_^5HC/U/ MPU_.Q^,:S%E,@,FE@)8(L<=5E)YEF@6F5C=7UD)0C("3>TW6@181FR?[;8'S M"3*N:VUV4#G@!C,889R,BN1"48)^R4I: MFVO!TD-.T,/2!9KH22'9&,."52K7I@)-8 MA,;4W"I\2@GZF_"R?8+^)MH]E@3]NO"/(DFPH69/82:3I 9 M8R!K61=KO6YM8*Y&\W SAS9BQ 8Y'LAFN48E[^ZR)]; WM'F42[ MX#Y,BE$K#MRJ3K]G!1X;"67*EN5<#PY# 17(\7>(&@RR:%1QPLO6)[W'1[Y[ MDI2.D7N;Z*T#SMU,;[A E8/6:&A/,;7XMG*J7E\@1TZ+P+1%7M-P.LX\.51B MTOZT>4^FR1:JZ"#!Y.H!\^)XKU87)1'0$ZSF@8"HJ_=8*S2$$+(4$PN MV3'N5?-NI5O ?$+4ZEJ)'?5_NY(V$F.UH=9RG&UC ::)K=PI,L"ALY:UV+; 64 MI^GAM=!+!W3Y. [#2<%Q7?#F=7KZPT]OET8P/])'3I;_:M$B=8VQ=.3NM1S' M@6Z8M"#(Z,BTV\'VUW1,1EM7F*&]6PO:RKFL>?2UJF[D0A4,18C6J^+Q,_6^ M"RW'3M1-E-J]?48;RJMA&IQGS+78Z9W6".TB2Q_>[3[M_0.QY*[+;^N5-S)K8@K>:BW/)L@8C&:27*F?2T_&2,$J0(( MKZ2LA: 9;^]$W 'H25.LE:*Z:$2\+ ]U$3+F5CB."4(BGUBQH"#6]+VB,FKO M,3/?.MQZ!YPGS*!62NK ZUAV-V,ISW5 FS*9$S&; (K\*W!""0A*YZ@]F1NR M=6?[=;$]869UHKX.+C=TD0W79)F7E!U,?BWP\LKTC^'27_RQW 4)S0)JR!FE6-J M86.:"8/^+(!\=507,VZ=<75=5J/QF Y>BV,7ZJPBY#'HO?'U M:/AI.3IN%..>ALIK#PG%E(/H49+[H] S@[PTORU]-Z)G0K566P' K,W(5=#6 M^-9QM@TQ/LRK6KO<+>A4BQWLB??@3>G\['S6K.^W\6A"\W6,85 '\!LIXV.+SQK8N6DGK,28F91"TW^^7BNL!?^9G]_KNXO1ART&\ MII^^#T):'UT*&CBJVN6)_"JG)0FTB**]A?_\^@.O# MZ5GC7#(U,$]6!^$,-5QN&23,#+7PLL36">;K8GNF7A.M=1"TK@YW3^7@G!:! M;(E,=JNB,<9(-#?2*O*7R/-N?O):G_OT6+&QM%>66=K?;?L/YV=G8?QM5+Z3 MMC^\OE:^&TUF&#J\@[\-BJYOYN\LF2.ZKZ\$:EVR 9Z(F2KI DYPK'M>%-*1 ME[R/>^/B@/'1 3GK-!8T'K3O!K48[O'L1$?UKS'L8E> MCCTK?IVQ/-_C6$7/%@3I,CU^&^T>/6.=-5)X#8Z;6,?$P&7#H204Q?K@BGJ^ MQ_'@B+J!4H_K'HX]B()>WN M<6RBXBX.;NY([LZ*,X8R PM.@F(Q@4.N"*2U/&H?VA<\>;P9^+O0JY62.EG< M[KI>HKA63$<&TLK:>D/7@KDL@-%21E&PR!2?[P'M:8EJI:A#WN,P*4>OG 6A M:M-?B>1Q(5'>AURKWB9A;.LNE4_D'LR>@AWD>LDN$KIU^.K"4;IP6WSC0 MJT6[^\/ST?ED><3_-4XF'T_#D(O?Z9VGDYZ3QF$VA>3DZ[$/*Q!H"M9*WH7& M$EUNOC6V'<'^Z=F0'G<2;Z^Z[< F:SN:*WD1]6T]45/)E%10+_[5_$;:*.@E MDG,HA5FCO6Z=5]#I@)YYW(7F.S 2KP_NS6B8;DI.!AF#D)!2( =(2@O."=J) M+-DP@2OE?.L+1/=A>NI[^(Y:.KK%<3$UWLX2P&L!!HR?KS?7<)\G)#Z--)N9Z[9H\_RAU MA*R5M98\OAA:-T7K=$#/5.Y(^9UOYI?R$H*,'TRF7F.@G2=X!QZ9A!Q8\+3U MB" Z]HJ>-^[M-=(]3VY,@N74[^4L-0;E@=?C1V5CK4GB"WBCK#(V>,6ZC>2L MA_/0Z]5V.MYHE6J@H+UOJ\LQWUP_F441F4,H6690KMZI%^0,&9UC$HX\)-WZ M:+8!["=+N5W4MW)9VU_6]9LP'L^:GG:74GWK$5WG2]\]IB-*AF;:Q*)M@2+J M-7&)&KS0"K*TN902-#KVG Q].SU26X&L* TB>0[*TT2G:>4@!(/%ZN*R>6Y> MMB=>MD^&WD2[QY(,_;UY]/=UZ'U_\N?AID5OQ(Q;>WLC#75B-BZP+5KTUF/UB_/S=;!UE.M\%Z[#Y"ZW MT^)*>C12P;YI8G30PDH)VB6R.Y/5$+CB@*6XPHL5HH/3LWW3XYZ$X<.P8Q/) M=U$V;][D^\77=!J&GRX!7B3&6%H64;L(DGD/BG%R1Q3YQ\K[$-!J$73KN->= M@ [A)[;2W?+NZ@T$WS"II'IGJY!-Z/7??GY'N^V+\_'H B?#X&(("?BLS"[C M!:*V 5"CY<73;GNS..)M!W#3ASX"$G0JYPY6B?^#^5-_^.E7G!#@6?&JV:*8 M)#?>DFFOBDNUT@2"\UE"RHJI@@6-:GVM=#F2IVF4-M!*!Z'QVZ@N)LHZN#HR M15=A.HP9VD)O]U)A!Z'O90%9=%W*QK%XS.?7)A$UEWXH#, =$J.+G ^-W07C3^4 QC$!ETTI&60\XAU(716,&#D^BD MD,W]D'MA[=_B:*/#6WY(6P5TD,W\9C3,ER@OKZ(577A0(&.AN:"=@L X[9/< MJY@+T\ZTS@=9 N.1<&!7 7<:F+AR"E,K\LT*G'V[$,-[',Q;UY[V/\^62*U= M*&1[@S0R5)-80HRH(#+T3ID21&F?D[$-TJ=IG.Y!JQU--:0D<;)IXLTN$B6=E1"@68R*BF# MXJSU:!B=GH_/AM*==%B8R#X+^H_5. M)R)\B2 YU\PX9W)JG[BW',O3(T@3K71W.C>_BY>^75W8<+&%?AS]C.\QU2X2 M_=+'_.MY;4#Q!K].+R]^)B9)!"S4^^T&5&:Z%H,U9-8+:4.47LO60;8VR)\> M$P^@\2/(([VL4?M](BZM"=%]X=[U .RM9N\6\CBB#-4LN8VA2" ZTD2H(:O@ M#0>I:8H$GWAN7\SS,62H>N.*PZ(!@^"T@' %03@$K[@E[R<'EEI7N'I2&:J; M\+)]ANHFVCV6#-45QU1,!&\MV4.^U"KSWM>=SDDH12?&59%>MH[!/K8$@(W8 ML%X"P"9:V>=9[SJXGG("P$9Z6_?0=QNA[Y,4/F-*"7WM2XRM6_R\K 2 M #;2X18) )LH8$\) ,)Y%TQT8%'SVK"2MD@7',CDC<[,NNQ:Q\>/.P%@%P[L M*N ]1+DN$F%G9M02 ZMG$BM!B@0LUDNR-2'?8:CAEB*S2)P;UCI4NB'$AQFW MVLDMZE"''2PS*^!.+F6U#+,JM/7&R,%D7PN4((=@50*=@N4BN:)C:U-E&YS/ MY&NNS96+7L,0Z952 +-6SK^,SCZ/\;2:D?7HG-Z'-?A;7QX-:_0O#/,OLYL# MN\1%&SQUYV!HZY$WBH"N">L[A>NYHB::@I:R%B*D'328)$%GF8J1Q"K6.E%Q M4XP[U^5?[WGST(9AQD5)*[N4L5;O#A*\DQ:XBSE9[A-9'8>1QUXCEIWRZ%9- M_JX4="R1R ]3&EO]H-JS8OKM^Z(P=YL9)C)^,Y#%2HNZF;5Y(?GIA.0Y,Y&5 M:UW;X4Y AXI+=D>#45?JZ,"QN(%I$1%; U1'8A$'2:&CM[ZT-;O].7@-E;FZK;*&)+KI1?0?Z!J?? M*[E]SRMX F-J0Q$34CW/\X#U-GC)23O5^AK;IACW3Z".U+V: M5.UUU>URM !&N*_E?;T+X^_Q>41*JHD:(ZV @_3$?IS]/1 M@#YM,K<'>J:6.'&5VYY94,5XA2]PW%_E.\>@(NY9HQW<%+\[K/KUW6@\T]02Y+PG@T.710)" M24XS\V0M*,=I+5?"FQA9P=9ULW: ^WA9N"\=WJ:?ZI)^"S'=@;^G; Y2RP A MQYKF93-$06)3.3'%BA%*MCXHV1'RTZ1A:UW>IJ+NP"F@(5LG<@*F,=Y5=G4?:+&&@_?5[[&IG(X5-J& M)'IJK!,VY4B3IM0;X<9 IM4]&16T%D\J;2-H[HI!05YE,:!"M! D3_7.1QW&D;F_!HI[2-311T+&D;-PW^M^>TKZTQZOD99$@T2&_ B%3#J4%# M8"P %ANXYQ:3:!WSW@7O@TCZV(A$]WAOG2FS@_#5MM@7:0QKH.\H>60WY(?) M,MD?4QI1= +11FXA^EJ_+Y%G$H3AX(OE--E9E*QUZYAC).D]^2\/ ME:.;:/>(N+DH-&MR40PYL)!K0XWL:/\Q%J14*DI$&DZ/%PJ M[)0CW)X)FPC[")+R5(J^=C$'$W*-=Y>:)*TCF%H[4$NTWK7>4HX^*:^!8G=, MP-M$*\>0-:R*-J+0Y+&N]EXH*I O$3+ML2S8@J%8[9]&.4YZW+"=^'Z0&D;.X4KF^ID@Z6GO?X M!8?G6+-J%I?A_]6?GOYR/IF2',8OOJ;!>>X//]5;^O1__AB^]HSVH01'\HCU M!)L;39)1-:FF").LHHV\=0[P%C"/)PM@.UW?\K.[5507->Q'D^G;<@&\ETID MR- \TS10LPB>$GK9?"=%@ M]'GF 7S]3(LJ]K(J3@3.(6%-@"JY1@2L 2&9**X$C*QU!M&=@!X9$]H)OX/D MQP\X&-15:9A_#^,_<4K?+Y#5.R\BDM%-F#PADPR"B0H,TT(DEPH1N'5T;26: M1\:)1F+O(!WQ-QSB. P(V4D^(R'7P=:JU0MXUBNG4_90# ;:LWR!D)*K"UM) M/N1 O&W,BGL@/3)JM%1 !SF"WPWPA:G3'YX3?=]^QO'5"PCS]Y&5@Y/?^\/1 MF%R_5\,ICLDQHZ%=_Y2Y9_@[3D]'^6J'#T;NH)&IUA(+$E12$8)/ 82V6J%E M]6BB,=?V.+Q'QMMC)<;M.6":I&R_&0U'\Z'5VIL5]6*&8E'2:'200R&SWD22 MHM0"2K'.J9*B%JT/1.]&],A]^(;JV$=YN'?C"G3Z+0QSY??,&GR#TQ4O[Y!H MO-V#=DXJ;C"^1@G$BT>^&X1A75PNG_N==UX$433C8"11CGCFP265P I=,-$^ MZTKK_/;[4>ULU*=3S.<#?%M6/NNB9#VW,4O'(41C06FE:_4/!1DUANA"C*+U M!KLNMGTE!S?FR"U#OPM5'$LJ\,HA_?SM(WW$[$21W!FN@Q4D+;)952T]Y 0M M[-$5'AF3%EWKD/8:L Z5J=$-'4;=JJ6#T./JT=,'+!I'K@&QH\R--> =)H^C MN6K7ICD0A90V9.^A 6')M%0A2O!&UO9_-EKM3?&V=;N\@U'GGKR/8V#. M)NKHY+SC[/,Y>9J7T"[+^T0>)";0AB50UEP;'J M:'49G^%6I08AJ&G_JT\\[*G5^ Q%)D+MP!;<0<%"?W MT4GZD5E!&[#55H;6YO%:P!XO3=KIHX/UXS6&"=:+R:_./H]'7V:V]&7MN9BT M+>09&*/(1TC.0DPE0>#.\J*3SLU3D>^ \_@(TDKV#0]7:\"%#/HP'.+XY//G M03\,$RXPZ5BL01=!:X]DOTL/D6<':))A& S+>(,/M^,W=SW@\6BXF1@[.!U] M>3XFL=8F&,/\LO^U?K= %K*5*"0-T-(*I()2Y* I 5$*^D<8Q-3Z;O5J-(^' M#8TEW\$!Z328]FVW.3";(,\?=&,(I,X>(7F@A?1"X-Y=CANB(N-$F MI-90 1U8EBO1S8A<.S_C;"][W_]T.GU;_IC,+9SYV=B58Y-?\?,84W_>1W"8 M3\YJV9C_F?W8\X@LB9@ LV7DITE;LXD0O)8A,95H2K1V6/8PK*=#U -1H=OK M%5=1TO<#7 )WI41ZH7A>?%% .WY-@RH:H@X%E'0>C5#:Q>9U:QMA?W2\/8A2 M.\AZ7 GL#4Y[68A@+?/ U:Q;LRG@0PQ T\8FBRZET#K=]2X\CXY$S82_TJSO M_DC^31C/$@' M[5HA,R@0K';UQ)B^>*XLV!2"DZ$)\/VG=4 M[1;'I=OHY4 4DC&YH&2M(I+)H#-%@".88)6V!A5ZY*WWMX=\T-XUK>#V;9:OO.TI7,5-0RT;CB"-Z,IR3#5H@ ?>65X,73A(FZ2/X M;!-A"QFBTPK(5O0JZR1HUT\N6;";[WHK!,,O;SG?R.#Y5K0WJ7$ MI?<)"MC0<.IR>]G%SZ**:0+E28V+RUY4B M$Y-ZY2E-,5]YX\E@\!ZK2FBL[W!<1N.SNB:_C8/^I_FUO!V"F]T"VCDDND=Y M-0JD7@"Y&\$"]-&,T?6)DX)/DH(.3 MD06+F;>.![5#WZALSO9(YL$AG44L)0?@HA9HJ4R"^KBB^LT]U'TMH>.>A?YB&\?37,)U')LB?8R(H#T;D>F0KR.BO)6*S ML]X8Q[Q+[;OKM1S!H0+.AZ!@ZUFP/14ZJ4J^QFAZSL3BG X0,)&C2 89!&$] M66PF)6:*";IU [ZU@!VBQOC#68HW4EMW5?6VE]6\K27O>590.8;@N:SM5(V% MP#(#;K@.S'"A5.OKXZVP/S-TG\I_\.YACQ^=@]CC1^XBWI39LY/X["0>APR? MG<1G)_'9EGX4C'VVI9]MZ>-FZ*.TI2_>$+]]" .<_'):C[P'71ZEW/G [NW@ M]<=[?%9N"K1"8A9 6W< I9@'+^H-P21UQ(BAL-9W,A^=E6LE1Z.,!%N[0D6UX TNU^XR,V+[-P?VX'OBQQ49TN57[I;':.BD==3?&1;8&=,9:C0TSQ, #T&L>M7$E^=9M.0Y) MHGO2ZH^%0YMHI0/N7$/4'].R//CV<438)^>$]R)[EANIL*[!/LN:FO/>86N%=!"BN8KQX^EX=/[I=%9R_PQS M/XR_78 D)%8SC6,S=U(V9ZW MCAV/OQ'L?X;!.8[*S7?L$)?;_F$[Q^0:C;-1/.YE'0&^[G^IMW6N/_9*+#D$ MGAVC%Q?!U>[.@]W/.W"$V8J6AEG]<88J%3; M,S&10.1@?/1&B-3::E\?W;YB8%Q:KB=4#LH]OIJ M>"'F-3=+X5@0M/I -CR2 %P$SP*#K%2F$:!3LG5.T(80'[GKU*7"]L^OY9-L M#<@=N5!;P#V,&]4I#3:C7#,==F#P;@6=H>$H"Y1<:$5F#&F>TF1-7A%?8LDQ MM:ZI?C2TN\>M.GK6;:"ZUF;3K6.'T?(;A,\G":5MZ4I61>53+%[&_1'I(*4^#TF:35700?_'>TR^RVRIWT:C_%=_,.@ALS)E)B D M43OFT)))*#5(;QP&+5F68;\NURV,CY!$G:JI@Q:22YA^&R-9\Y+0*>#"T=J8 M=0:7:V]VJPH&KUAI?B"Z#JY'29_&ZKA-&=T\"?+#=)3^K V1:XV:?Y_W9XV? M9B_&,,%<2VWC<#+;9ENTL=KE<3LG0C8;:Z-4R ^G88P_WWST"3UY^ GGK1Z^ MO^5=^#;K^?A7&.?O?,TY%1G)F)8EU X0C(&W3(,2Q;G N>6E=:+D[JC;I5'> MBV6R"LS\X"':XA+R B:90(:C4+24DYF0HU(Z&1Y3["[+N:USC@+'KL X\YB S69U/W#O*ADRVTE52+-L1B8_.. 5>>?_B# MQ+TRX&8^PK::Z**OQ 66B^CP.FBZ:KQU#FQMK9D5*MY!K-TKVR63M(WD MNQI'',ZB0!3!D^.!T5INOU][CO20?HV[&#&D9= MR;!UHY<9.,%?D&,T^H8X\S3>G8_3*>U.5R!*HTM6W(/(0M0"V1QBP0*6.6\0 M'0M6KZ_F>Y_WP)7=5IX-Y_1D/.V]KX;(_*1?H]%):I U35&)6-/8, -#X4L MKJBR5M"7/O7*$DT_?5^>KSWP:1IGV\N\X3' )8A%DO(:,#8QQ]:A0/NI?;_] MM8/P;ZIO!\EU,8,OX"CR6ZTJ"JPMY+:R8B#89$#HK(6V3)BR5A3^T I<85NU MU]\F FNLM]])4F?G9PLB"$A4U MS#KP4>?;^*(M,>WB-A"7P%ERTA396T#^F@:.*(-V26O1VD6]!N!IVD*[ZZ*# MD^_M!?%]&,-\PX%89TP=Q;NZ&,]AHF8[T.1FA/Y8=-Q%G;0NQB:S#Q*M@9(M M@M*%?-_@Z#L>@C B$P@\Q2;IL4R%@KEHDB%%;L-D[]"*XPGUC%MT)Z)E)#176^GSC2FFZ MF3"6(5VX+U9J6KZ^;7 M/8&AI0]_FC&%-KIHF/J\%%"M//H>!_.>B:?]SQ]'+X;3_O3;HI+5&E ;GL=L M"&__9S8-%'H7/3K01N.S@DTA%^F$+(QF#EJ:.2E[B,(H4,+2\EB\4WJM"_ / M@3AWG!4=EC>;**$Q7UY\Q71>\TK>EM)/E]78+5H=F2=C6EE-^V-P$$M*X%S( MREK)65FKT=P]M%C^]/T>6'2JK%%327=1]W[;#.@WYQ7^VW*2\TPY83 WL$[. MIZ>C24LY;CV!]K#6/LH.@6(08O-8IIN#MWF.!VP_G"&WHCK/3CX0: MQ\CZBP%]"?U!-4!?CL:_T=].>U'P(.K%)ROK0;--'ER-3O#(=>0I"G$SW^WP ME%\QEF>^'X(4ASCG67-<5V8O#[3W10G3OOYH-X MIO=>:= Z=C8#<^MJX^W1Q)NC(>L+Q_/F(OU1[O$@)18;P:=4&]0$!1Y1@]7& M2)],X7&]!.5&@)X,+0^FQ8;AO'EL<57*-F&K.?OA$UG\+P;]V>WIJ\.<-9?I MQ_/I+(25C>36J)DSD4'Y:, ;J2%J%V.66DKCUB)B&SQ/BX<'T&$'-1.VGDV7 M(QZ38_JVT%^?C89S6:..(%?-^;P=U*='UCVH]#83S<&\K-F7?^)D>CE4WG,$WPL102KM0!63('J: M52QK)95 +4+KLEHM\3\]SAY*^;>); ]F1;SX^KD_GKWYPBK7@K8#49!F9&VV M$L@2"D4Z&HUC3%GM#&N=4=4,_-.D\-[5?IN_KEF>*(Z_D-6R7*QO1L,O-.MP M/@$G'T?3,+ANUT^F;T;3_P^G[S&-/@UG\8X0F-7"U1*?SH#BF0:&,9&TDT7& MM7>B=77>S@;SY/A]'+2XS7=_M'R?3^>7H_'%2_5]O,>%=(R7*G1KJX_+P"E9 M0$HGHBVT187634'V.\+GF7$\!%IR&K);V8JM=[F/8?P)I]_#03W.L197Y;7# M=+V5*)!F/4,P2IBBHS16WO @6P>.;T)Z,L0]H":7$'*W1/+EP[@:=IP[OA]/ MP_1?_<&@^@I_?!X-/X[[GS[5*[9:R%K^%S*?-304%ER.&4PI/+L(5 M-\AI9.01D&U4W8!:&4<$2382#UJ9HZGAN>'8G@SCCYHT2V;'SA>[3P:S]V!> M/F)R>.E;["DFBG:2 4DQD9_+%#C-!:#-!C'*0+]N70I@+61/CID=*&P)KW8_ MGZM!Z_?X^2)LG4^&^3U.^^-E@>Z>-[8X:14$KR2YE@'!>;)*A#$J:U.1:[%^P_P^ <>PZEU=$[T)FGVN94@7?< BW Q= XE$_- MZT2O#^^99XU4MX1FNY]Y7 <%<2B-="*R8MWWJ>X MU@6G?3BFKX^ON82119=,9DWV>M8;W=+B$CE(E"$$+E+*S:_V/,'F$INPM+OF M$ILH^UB:2[P:TM*&'Z;D%=:/>UW_H ZZ7NMT05D6T4..TI$?B )<3 4X:I:R MBZ"03%[/;7[6C0^$9G& *BHA)92ZR-*VS1@Y D'N;R1^"'YN(O@-> MU#-Q6EW#X++L#-/:)"6+!0 RNPM$(?H"M],2:.6 M$NZFQ!S2!YZ>#/.O^ 4'H\]UQ!+&O]$U <)#29*,NA@4!*L4(!>"C#N1 MF6O=ZFH-6(^)%JVUT,6E7!P,:B1EF'\/XS^QYO]>Q^=3"F3=2R)RKJNBE>!" M": X,[84--RW7BKNP_28*-)4_AWTW?X-AS@. \)WDL](SI/IO&?G=9#*HS)2 M"\"H M+8 0M"F C. )X;E6:U5[>CZRWC4ZTX'"5IHS!PZF+ZF^>9)H!M622OL-I:^! MY""!]$TE=#QA=!>CYR%R*"9)4#IJF@)$5\VR"-$%(57S+(5'%$9WR)1GY*,8 MI4K=*SQX86*M8.D3RY$K\=RC>;\L[2Z,OHFRCR6,?KTE0>$^6I-KU=R*6U@& M@8QD<)D6HRBC5++UA;Y'UOQF(P[[1N$X-!",AYS837SJK5;_Q1:EVRD\XU:EVRBL(:G%)LV MQXA9\AB=@2Q%+759GRW:/.CB M4N" RM7[%=S4K'<+4OC@,Y'7VQ34'T=J,\]+#92 MZ Z]"+;1QH%[6,BHM5.N@&&RMFD("6H',,*M(CK#=0QKF=T/@3@;][#8%V\V M44+K;FPW6ROPQ:&!MQ=E6#O),B(9<5R-Z/!H.7HW'] MHUZ1DH;%:@7:&VM1&)-R.I;\@ZU&>(3QL([/VX^70,?4B&K] MT<[;M_2$)ZW4&NVV.H.SLGO>USX93$<;I>;V>#I3;3JX!S1)]L#2_4^H+2AV M3'VN-JU/%8,.U52&4!@9RDYZB%$X/#Z,_3Z2#3 M:3>:/ M=O$^&=:6(EA37CZ.ZDMOSZ>3:1CF_O#3A6ZR3U9$SX'7&LK*" 1?&S!(QQP3 MT41^,^JS8^WU[L;R@!:VW>([1R+OC;CSH)S4RSG^+^Q_.JW"^(+C\ EGOL6O M88HO0W\\JQMY==\)TN; :P_V*!6H;"TMY4Z!B)(SCD4*<32MG+L1P9.9@42/F/JC]]'I,[GY!2)48BU[4NE6T)'OI(6!&*)Y)QD(PHC2_RWLL@W^> MQ\\7!&+)/.4 MB1:U8SW0(Z!!YT\.H,)L]O[3;Y]#?YY M,A_G9.Z2PP\Q^'T^QLG]4BCD**F$"23SI$O4#GR)#F)6LB@EC+ /9R9O,O+G M:7RDD@"REQR>GTD\PC1.59$8LY$W31TO^\1 M/J!E=X\!_:/FV4KCIV7AO'D])D+^&]9F.I]/^^EDC.'5<';=NW[X>_R"PW.D MM[P;CS[C>%8YKLII5KWV#4[CM^M_NTOUO [A[%Y";U^R:E1'[P+,Y"5-S1?T MD>-A&/QR/IF.SG \(0:_'@T_O>Y_(:9.)CB=?)]V/-FD*"9*VM+4 U.AMK,RCF2E3%1M2ZB MOQOB?57'VPOW5M?$ZUR9ARZ$5^_T7%85_KZD7%RNMB+F[*4!8^Z%+.K%<1[KA4?T<1BGUJ M?A/A-M1XJHTNQ]]Z?WSHQ2!*YEI!C$J MS5VEV,"%?O>GYX*S*%H%Q1R/1-5[*30)G M?#0F<,/O]*@VFY"OWCQD!6XIM=:5'V9QG^N^^H).$C,7H>9<2^4(EE3@$S(H MM&X8RS)9BS>LZQ6QPM7/>,@*;"F^#L[_+CR#ZAC\0C[9.*1IK86P< Y>?$V# M\QK&JXX!_9\_AJ\]D2.W! L<.06@9"()((O@&->%R.AE!ZVQ-H:Y_Q#O0;S\ MKA78O+#I123PY'HDD'Y\2Z^'VN+I-.WY8\)SL758XH[S)E#9+IV M>+*T_D7% *5+B]YMZA^/9\<;)<-K/ M_<&L'LNM7^X0IM_N03L'X!N,KU%H_>J#/V Z']-8<#)?>C#/EZ:SS^?3V:' MV_(BC(=$H\D"VG?6TG97O$FU#&*]]N&1C%1!1JI(W-=#=N>Q=79F*^SM0N\[ M(IH'[S29A%I% [9(#ZK4>^E1>Y"T[ M&7CZ3W?6L:3&"?87F#\+=U:'ZO2O_ MT*'[1GKX^=OR#Y@%M902D;; !$4&VIE*8A"BM)!0DP.E32RR]?6I#H=S^..$ M_9/T9I.=(R%+!UF/,$\<6 MM:I3\*8BL<'7+KR2@^ZX MX*((3("O;9J58#3DK"1PQU*.R+AVK5.(CJQ)4J>L:"?\YN7#K_+UW?DXG88) MUGX]L[5S$2T/G!A:% /."*8B&H,/&H%99B(&Q9->LPSQ.H][),KO2+X=7"W< M<8<].:NG9;VBI=.I:'!*)U"J9'!<18@ZARP]$R*V/I]H OQ8Z+;GX,?^E=ZZ M!_NU4VE,^:?+GF-OAX-O]X>4EYYNU\^9,R_E[X2[_LD;Q9 W0;FOWN7;]+UL M'+7L N*>.O])GY+A)D!BNH *SD(4+H#WD;;R@"9HN]9N^-0Z_RT_^>I&\!U< M^+O;8GW4UO$^V+"1F&^K5^]F!W]X]^Z:268X*P6U!;2E-I , 8+A$GRV*O&$ MBNN\GLE[XY,?I_)V%^)MC9JVUL%,9-][CTR:&PDW/WLW,^%^N#M:"_20WLE@ M<.41]ZYD=X]_Y0?N,C'_14/\]JY@GXBTZ+?EG2W(1 :B4+V1F11$:3AXEI3) M)GK!UW-'EWSX_J;G??*_-K5V%4/KS,0/YV>83S^>AC_# DYFIFB>"\A:G5VY M5.=Y$>!BD3P*YE)8+R/Q]FKV7__R]>8M3/_RO_[MO_VW__G_0/B_?_W\'KPNZ/J>KVKPJN2X MY@Q\R^L[4-]Q\(^B_#-_Q.#3$M>B*.\A_#?]VJOBX:G,;^]J$'@!ZA[K?EO^ MC4:QST+FP2R5_T'4YQ '401Q& <4,9QX67!U^S?LARF.N <%C3A$"&40,]^' M-!$98\B/&?7UHLM\]>??U'\(KCB0Y*TJ_<]___A?II/\NR7_1O-X]6^;$'Y;+^+__[]_=?Z!V_ MQS!?535>406@RO]6Z1^^+RBN-=?/X@5./J'^!;O'H/H1] ,8^C]_K]A?_NV_ M ="PHRR6_#,70/WY]?.[DR"S7]03OZSXK=K;3[S,"_:EQF7]'A.^E-CKU>JG M!_ZO?ZGR^XZLJK#,%)9^K+#\IU/ ?KD ?4?XUH>X.D!. MD_O!%8Y#//W@#-T;J2'X] CWP%R,8U>?15'CY0R? MQ19,#^6E^L%[^;<6C%IH0)EJ.*WJ[J'*O]=\Q7BC+7>6!CG[U[_(ORW6%;S% M^&'QF@M>EIR]DP?D/;_!WWEUO6+R3WD6LKRN%@%/TP2G"60)HA!YG,/,][&D M*B4I8ZGOBW11;[[Q!5_!KU\Z=#1,.X!_L:"\/B'!):^*=4F;LT\BH<[]!J]_ MZ\"#7,,'M4+@?_ZRQ=8!RY:S,V(YC@<-:*!A [QBZF^@!7^2)P7=@;-41WY1 M[A-:4&M"MR)524HUE0)71)/:KB5)#L)?^+*NNI] ]1,M5\;@?CG8XNNRHPF7 M] R_VR=^H86\^SS4<(?UHBSNQQ%?%^.^CF83)%)_ 47)>"GONT<(//B&O]0% M_?/ZX:'D--FUI&4GX_/G56&JTSW)4O@X+$"/?!@"Q_\ MH3 &@4'G[(EL4<^Y(K3GV^+QU_D2NTW3-GVTS5=?Y8/UY+8[K.U?6W7LY8CQ 44BDQ9L0!%$<"8@S+X2$BXPFF8@# MA$TD=&_=R:^0\O"MZISB)?B=8Z7,M$?XC]?%/!T<2 M9RQ\)T@9$C7Y2D_,Y+^V(K:_VBP"=8*$3GQ._7K< ?>95UR^="=-NM?\D2^+ M![4A;[X_\%7%%PD5*(HB!$/,!$2)$#!3BI3RC M^&O>_/EN]?&!E_( 6]V^P@]YC9?7I*I+3.M%S(1 ?4@]CT.420O'3B.4QAF MD1=[* A1YMOH27/0$RO-5W?JI*E O@)%AP' 5<7KQDW;LQK^9J<*++AKIA>F MX9F=DNAP #]U6/Q5L6Z#"&@Q 7]TN#AT?-DSP)$2L0 \JT:Q9\B^>AFQ@KUS M[.N*E)N,*=VE)_PS-*SN0C- M2.Q[!PW?&!FVNL,E5VE![%5QKVX;VF5^799J=]4=Y->G[2.?\)/ZT?4W7#)Y M-\E+_7"3U[ @2>Q'"4J@C^0% L4BAEG (QC%" =IS#D55HY$9YA-K#.VX,"# MAF<9''.V 89!M.=@JZ5W1<&'ORH$0!])T,,2D"?0?Z[%%&A4KT!O4SX-;XI] M7,XU UW%[YSA-6^,"@45ZU7]&=?\!I.E?.Q[_:MDX)^+A"0!3E$, M(X:)5+@>@\2+&?2(G\2I-.!BZIDHW*D0G-K!3.\X6R\Y*(3.+&[Q 1ND@<8: M*+2UC:?3CUOD-T]WZ .%OUIJ:^/HUPV#2)-M\K!2?PE;9Z?;&V2O#C?BY+:= MV;(_-.9 H0XT[H:1A 7(X%QA$OPY<%ZKVOO#K_GU!_^=&0I78?I(B\P'?\R8>N. L MX%Z*.?2QYT,4I *F MD=UV1ZP-I\=9/Q.QPJ4AY!K%^6VBB9A\U#R:"I:]$UDO^IL$7K^6FOTMSLN_ MX^6:FWJ/3[P^L6Y3<( &!'"E;D,: Z!0,'<5GZ+\O(_8 =%C-,R62+!E@!L_ M\!F*1CF 3ZTYF^?W#%%]E^^Y1\?FR#SRU7I[O>IEG'XDR_Q62[Z*.5.56Y'? MRT<^BB\JTTE@NO6#^ LO9@1Q1B&C20H1\3PH+S<1]'E(<")O,QZU"A.[0FSR MS)O.DGGH94\7&PRO1CF G>V*V5WF.7AMIUU:#*]Z+H%^MOK''K\[/$&#J%*] M?52OG#M_77//6?J+([1FSI1QR\S#I!K'ZT]D49ZZ8+WYSW5>/[U;576I_335 MQ_J.ES=W>/7Q02U1?2A6C[Q2)=QKG1U+D4@Y9]+,1()+O4QCF#&?0C]0UF;@ M(1SCQ<->"?WEUH\K_&U4RCX5QMKE5WZ;K[12(7BI%:U!OCQK,Z)<_4'BB9!Y442C=F.[^O(?>5N/E^,/Q6!7[ ?;44>. MA^?8H_F#N9H8T*,&:') +>D!+4%78$.2_*LF:D:OA^M]F,L5X@SOE^4?<;T= MUDX3YPB,+4J7YJ."(^\UJBSVKEC*EZL&BTU>JB'.QRT3=##XG]TZL0@=?4"GAKJ=]>TF,&3HH7DD1$,0S")(8(!1[,!,\@#N7_8H(RXALE 5Z P]1QK"U2[2UD!ZVN M \Q/[XO*]/9Y"<,-\D.F9Z.E]]B,@_VN!..R.T:RU"*!8WK6CLS1N.- OI1+ MWJV*FN_E:N#>!A1Z ^C.!C2-G%PE8%S&H\$4S 8BV("8()X@4<)A$,4<(B8PQ+'G0Q)X/,!^G 2!E<_T.)CI?1D: M*'AHH%HW3#O&&3,1O9Q>:Z=#0VH+<)H^:0,DN6N2=@S(W!W2!@@]TAYMZ.EQ M4JENT&OYQ2N'IVZ5TO8'\P./>B(,8,2Q@(B3!&*!.&34CT20LICZ5HGV)^!, M+)<=5, [L':2>8H[9J+I@&8[V=R0NX$X03O=,U0Y$L]34&:5SS.D[@OHN<=' MGIN/.%\J@9 MD03+8Y8DJGN;%\004RJ%.HH#GW*5#F-DQ;I';>KS634H@@33/Z7-6VVPM#RF MW6V$X='^+.RU4SD*$[!%[ ILD(:B**%"^PIT.%WI\4425=#@NOF%3GZ_5J;?^R*L3Z[<>1/": MJ\+@?-7XHQ4"AHW83E%]WB%_(<%V&F>85O"'@N[(]3Y URB7^['U9G.U#Q#3 M=[$//3;2Q&@:HRE_\ZMBI5T)KXJJ?G?_(,54P5$1_@7BOD#$BV"$@P BP@7$ MQ!,PRVB0T9!EH; JA3&".K%8;H&!I80&2M[$BNL"L&[0#6V1DW^I!D;;7,!9 M0V/%-;\L39-#!!PJ!*]#CHL+!H25C0[(KN\8(YKQ6C@T;#FP>JY?'^BC* MAT*ULE#'__8RT-KB'L_\A/H,>L(C$&6^5!R1D.8-CG$:A3'CU,JH&80VN;^B MA0U(L6*VVF"03:8N"T?$VSHN.KKW[(E)_!<&)#KS8@S!FMF784#VH4?#Y*5Q M4OVA6&TZ"#=I-UW;;T9XX-$L@=3S*40Q"J1$9P%,$\I%$H249'A1;X84GOVH M3T*RDN83LQ>'DL?4*VUB6),*=@56W-(%>9I-9A+MA'@[:>Z#W*1QME!/9W): M"_)9RAP)\6DXLPKP67+WA??\"Z-#!O=YK8LNKE?ZU)< ^(I*Q;!(/)\CGL4P M0EDD;_&Q!XD7^! E ?%9)ECF68WD'( U?>B@@ZR;;-$^;/#3!Y4-FEI6Q0UQ MSCBDX((?UF&%'5;L@'4:6#A'F[O@PDE([597+)V]* MK.H_/Q7+7"WXJ2SH>XMY? :K3/>5ML!!"QUTX/4GJW#@;%VJ&^5[UY/Y+,@> MY38R67\V-Y(%L7VWDLUK(YRUZR7W/1+YUZ4$<;^JF4UV]?&WIW;9JHZK"BKT M=RIX;UJ')C?L?C) OH'C]F+*+7VW9XEVFCH]3-XX%^[Q)>?SX@Z2M./('7YR M3"E;54G#;\G9/XKR3U'(+6Y]"U%(4S^09AJ7)AI$+)2V6LH(9 S1R%=Q961T MZQN$,D.(6(,%WSJX-A52IU@S+(/."+83PRVM&Y#G'2T61-L4?CD@?ER&\V?^ M('^K+[5'^.&L:.L,?<-E6:=>GK'PZ@S^NZ55YQZ^+ Q;\$J:79]5+E?)/W-: M//+R:5MN."(Z.[SBC$%;)C%1%8:@;' !'3+C0K=G.&5P,9B$29:7A7Z@5_%' M8@$^[_''K*1U=-37C/:+@\%GP#Q+C-B,]%.A8\.WQQ1K25W/[F[N\)^X-#]D M#]^:[L-M8($&V)B#]0B)-M5#%Y$ZLERH3[*K&J&3= P7!1V^-F,5T$F<=\M^ M3C\V=DG,41IP&'&X@0F*$8L91[BS"K\^FR43'S:-WAI9Q3OFFW6!5 ] MBMI>Q[_K:;*A?P741SU3O[6+]]_,;_U#[*JEEK^\']NFXUKOXWC3^SC4C^53 M6R*OP(9,L*'3=<;LL^_5<_=LNYB.'Z.'FZOM M2F:_^2Z5_0HO7ZVKNKB7>E\B]KY8W;[/'R62>O#QKT^_<56W^W"74RRWFN-J M;Y01\5G(_!#+4S&CJGT @JGO(XC#R,>84QYDH=4A.1FJ$Y^"_5EC+>I ?=*@ MPQULD-?:4*$/-?Z@(>!*J=0^#4 387E:3K?3AL?AB]@_R_-NHJVS&3QF?Y9- MSFA7A]5TB,Y[&DW.\(/C9GJ(X\X3'7/F3*/SKJK6NEVZ4/'[8J7[/BQ"U>-/ MB!#ZH3P;4"1BB!.?0!I$@B<>)B)B-L?"68@3:_<.?J,7\A8#I3"HQ@%4NJM( M?5<6Z]L[P.\?EL43Y^V/-ZU&'N2B=@K]/*O-]+)3!MJIUUW>O>OQK@'?M!5U MIQF-276DX,[#FU5/&9._KV[,7[33&E59;YN1[B@F58,E$A&F@1]#D40$(IP@ M2%CDP=H_],F98%:X8EVQG!=M)L0ZNQZ!K1,B2N MJ,I_;<5T>.U91-.(O$X=W WR;(W^/NQIJ8$IR'!C$$O01Y$B%*( MXXC!E%"$N!_' ADUYC4!-K% MJG9$K9M*?P@A\R.6E=TV\GEEF3KMKC6)ZP) MA8X.UT%0LYZK)D3O'ZE&[XP6976OYZ]Y\^>[55>EIHK'.^/@?8Y)OLSKIT44 M>R1(_ !BG/H0<2$@R>2)ZR$:^KXO4I9:=:.RA#^QP+_NBD[+UE*REGHK9AHK M@JE89*T;- +@IPZ5OX)\M:U&5;TK-CZ.*[#!R*G&&,,*=TK$"OK<>F4,:XZH MFE'+C,E34#[N@]:.>^Y"F@0B2&@",R;_@]*8RHM$FD!/8(["B'F>2,S[RAI MG-&_J]&Q:2$ZDH?#:F82SHR(%![M-FON^1S)&YNT$<<\&MEP'Y.UZDB\VVA? MSR"3I];61=1@YRI+TX;VX>03DX5F3$>QH&LW0<7FQ;%#=*NZS%5\[Q6N[E0M MD_Q#M4Y[Q$N5E?M!TM=VPDR0P'X:(Q@GJADA20E,.?&@H QA$@41YU95A>:@ M)U:76T#RX^YP E1B8SOZUIB79I>R:3ADIS:W. %O2D]5'_IX:&'U5'7#4CM MJ7)RWFUZ0>V-3 7 L>">5$& M/<8(1"&F$*<40>JA-!3"CW"8V309,(1KI5#&MAQ8;E&PTR.FS#-3(A.PQ$Z# M;! /0QZ709[/B!WRL.2:D>:PQ3JK&K#DA7[.L/V]=%AV@=>UD^?Y*=3JZRC MKGNK_'N# 7^O3,7/^>U=_5%\K;@.'__*15'RWC"AUZJ>2&*KDYU6[/I>=4__ MK^;B[7E!3*B(8!8G1!7(93"5UQ@82I7#*4D\G\66@=ZI<9[XYM,HJH>6CB8M M=ER/YCGVSTS?O;!=L=.5'?)70*-_U22C;OI(JW^U- !-!-!4P$) 24>3X7,% MB"8%] ?3]8G1J_3)<1K.GHOW[@+BDV,\=TA]KBTX$I2?#?2X4Z9WA+6-^S>C M6"B+_<1+$BB2.( (8P33.)3_02*E&8D0848^P/.@)M;I+;3^]=.P]:P!E\Q4 ML!O:[31G#^9F&,8D4VO.$^=(-0T FE6CG"=X7Q$8O#%.?G<;X&TZ5$O]44D# MME44*N.]VGZRB""?X S#D*HR0J@#OW1%W/K)UYSJ M$O^=7X67J"&;RNL+>7VA@M'PKG0YPT!#NPL5RA3%P\<@/*.J&"RX'7ITYG82 MRO%2/[U;R2N-3OZH/JKNUS=W>-46]WXH5H^ZOON= MV3V?^[.38\J2B GH"3]N!I>E-/9AE GD4Y;%.(IF:3(Q#7T3*[\.%=#B C0R MS;B<7C#L_,'_0WPK9FKQA6$]W\,C?VN7M:3$3=C]'I8MJM==;_8F(T1^0P_X.OV-,GP7,A+QCFS=:.O#:= M@M/ 0 =M3+NU8U1:),Y>2.VX/-E=JAVEP0Y0,ICU>NR]^9)R6D=>FZD MK=P(KQ2T31_^6OY-=SK7V[DI)&A365:WU[3.'[53<.%3A$@2I) GH7+%(00S M3@0489HE)(U1$F6+E>YSPVXLC.M+D#+Z<+/FPSU S=Q,;.\7TFC&5"J]*E=X MP6X\WEVQ9&I6KZ6)?-%F&!K3D_-VG-G=\E,4Y78XAQJ?U\-L6Z]T!3;(@2UV M#HUS%TQR9<9?A,N\!K\+MAVX!IPL^CP]*2724EG7:FA'TPPL;U"NWJVDJ9H7 M^[>@-]]Y27-5K)!3O@A(E K?#R /8P812@0D84(@9HQA/Q.((:N4NV>E9NK$ M#94@H]J?7QHM>=XMG]CRGWLC9[?S-Y9\C\2N)V5'I*J(;<@\8N5WI )-ZPNP MZ5UNV7-;\$YH^3'L=9?;YKH[I1NDQIVH;W"YDB=TU87Z7N?+M82T2'SJI4F$ M8(*C!"(BC8@T(A3&/*!Q2#V1L7==UF9-UK8MFBT]X M)YTU(MR35] 49GX00A2%*C'X9)X-F([#F $\ON9TZ7N*IRD=/F MUB%->X42@$W)IE@6W\ =9[>V%6EG&6DFU2[98R?>F@M]T*JQ=P-\DOB'*:6. M1/XLN%EEWY3X?25@_)[] *-/O-"U3NJV<7U?FTXIVGMMZO28-Q]!4Y&U:SK< M%VO3+ M>'3;B47"/3\A<0H9"1E$<81AEA ?XHB$"1(D\\R&#-H"GCPS;:?N;J_LKND0 M8QC,LF:IH<-D D99"N]%/+J@:;@9P/#4)"$>,>I+'P( I$ M!C.4R5LYIBG%J8^SD-N5Z(Q!8V(5TT(%?;!6#7@O9+*9FIF>=79*9PS71E3E M7$*TL\*<44C,7)MS":,.RW,N6FVD3X!2==FLI*W,)72I\S[PNJU27% _55;TJ3';H:#(AWY688 C6OB\& Z /W@LD[(]M=%27/ M;U?-8O2IZV9:;>/Z1]HW$3_Q19RHV#C#$&5>#+-,()@1#S/J(11SJW3Z,4A, MK(1:E !M<5+BH*(X@';(67;&&L-GD:6IIZJEO,#/(*(^@6DFV8YXYOE8^)A' M;/'(2U*\%$[WD7'(ZZM-3PA+%3V*[6:J>VI6VJGTCH<=.INVT]753N;6Q+W+ M+N")JT9F8U"8MZO9!4PZ:'%VR5HO=53P8)).YJ.4\C""28*)O.TR#E,L_T88 M"5& $A)&+VQ>\#,F9@T-#7[N7*T+OP-#W^,/L[MVZOYYA@?_, E;;K;MA61L M74C,#Y6RY6;CYI\H/&'2EB[B4GB7_$ZBKGU.:MZ-,LI5;L1;:; KAQ/O_$_7 MRI#?3ZB0R-_@[TU4>A&'*4E)S"$)U92:&&4P"SB%@1\PS#T219F5_>8>Q8G/ M16D^ WJG=E_EHZY7)<=+W3[I5B)8@9_D1:GBU5^!5*AT+_UDXXJJ\7>[ W." MC30[!)]W>^P.MJ8P> =9T [=^DFA]M>K)B%(X0PTTE= H;WY;>/&.L@G4J>; M1/^J39UQ=U1-QUQ'Q\\$",YZI$S'X/UC8D)(]GD_-R76H^K+\M>G=VI)%7 W M3/XY]N[$&K4%V;]_-@.[)?S\,6=KO#3/ SI*^["N?W?ZEQ6<_CFSC TT8:]K$U%HQ?^6V^4CG1@."E#B4I5T/3 6MF M'\/A1I% ^/K"Z\D=@0A[,4RQ()"&*,%$H#3VXW:CWJS8#[--':[&F_2FZ3SV M G=H'L?.13Q_/E_-CCNF0?SE>%U.\O2%.%(.\?NA?",GV>O:W7$:T,CC5K65 M:UKXO5Z7WK2.;1UJ4-@YKAZ5QH]GA2BM:PY]7ZXUESX%6&[V0 MG=9B/.]LCB]/]Z18+EB0HBQ*.(Q9%,C+?13):W[H0P]Y/N6((9$8A1P/5I[) M)F^ F2F/0^J'E<)%-(TSN,^08RS )U$?,*;E.XU,RK]L1?%PI5E$["0!G>B< M?F#<0?[URV_%(R]7^L)PRUT$61=3F_#8%/+% ??WYR\_@1@W^7I?-S+';#5H MWC9'=+&+#4[FZ=@E)V4 M?OT"MBB #@>P-\;B?)L]ZW/8EG1'QZ\QV%E/75MF[!^VUN_;.[@_%*M/O/C MB^O'6UT*2.LU7BZ?/N&<612ZGEEFZD!BL8*J-/2#_'^7%+%KX[?H (6/=4'L M.1Z=]XD[9(^='G#+&2M'N2'-HWSFY]:>S7UN2&3?DV[ZRD1.]>J,VT%WH35L MSB:H$#B4]_! J!LYBR#.X@@F,4F#E(E8WM2=)@&ZPWUBA:01F:,3F\/==.3Q M?9X]=K\EUH[G"5 8=UA]X/4VMV.! M49CP) AABF(/(I]02$*>P$S0E+ DPBP,%[7J66%VG.RL;J7P-S"L4MER#]R@$41P1Y%$,=9"I&@"4P)]B')4DQYF@F/6!VHXSDP+IGO<@Z8'4*CZ;*\ M/$N2=K+>W&GNHQ0XTJV[:\^J_8Z2M:^?CC_D:B#S GN9QS(4P3A-"411(N^G M'%%((Y'B&"&$P\1&C1R"F%B7- V.Z.$8YDNG,(^>OCR=B!V;NCSEJ&7'HG8$ MP#./5CXE= -/7MJJI2MWNY$+O2[N<;Y:^-CCD>K%0DFDFB&D&20,(\B3#/G( M]T0_E<7ZX>WJAG^O?Y78_FD:K1A88N+3I(4, M%&B@8:L^_46]*FI#N^D<"\X'(QQ1;R>@0X2#/Q0"0&/@*$O?@,91@8>A=6<+ M.A@0UP\XF#P^0@R++WRIRS!_UY%X_@'?&Y?&''UY:M$K[A_PZ@ETD$$+&BC8 M%K)WE&X#J;N49$MY&T6MG8P-431.NHZN.)]<#1&T(U&##XZ[>KU;,2[R55[S M]_)FQ]ZM:KF=.5GRZZKB=?4[_H^B?*5*W!2LUF@(B2 LR"+(_!1#E,84$AHS MB*G(1) B$F!D8V:-P&%BH=UB!#5*8(L3:)"Z AHMH/'27_=(\VS,!IA=B2=F MJYUBF(:CUK?H"WCBZ'(]!H-9[]P7L&C_*G[)4A<[9J]7S4A[-1!2:H!F/N[& MJA0BB^+ $S )E:LH2WV8MUQJW1'N!-1_#Z:1++W998]T[B8;#/Y3HV8L: 0]GL M_9$>J=-:ZWV^XN]J?E\ML"="$B899#0-(:(L@(3Q!*8^(BP1JE3):G*6"=") M] M)#[WA$=0YF5&M1*7(#&U+358[JBZ$:JZ'OG+%6DD= ,@+0U\? A>M/LB5JE$'A;03[,8HBC $(6@6>&&:9!@R$4<0Q2*! MF;0_8<#D?B01\7Q!; S12Y"9.IRF^C\JAXW^2P_Z2/?[17PWTRYS<=,R4C>> MD=9*QP4''.FCBU"9556Y8-J^%G.RY@4WG>,^8S\,PL#/?!CS!$/$DABF21! M@2)$D(\2AJW\:,_F?3_F;><:@;^-N-AYP?*J$G5*'N2A9 (CRM_6.+%F4@RMC%O;BPFV+E ;H0==&.O-+; ]:@U MZQGW3K;!3*O,Q]61">,[;4:D)NKPA1(V5!C+GVVQ!!I-L+/ MM^.,?>81Y 4P\M28EB3",,5^"D."41*S3%Z2$@==4 =0>-:XX,DVJ!=TJ[;? M!$)]D05Q!$4027V+2 2Q'R#(42HX%U+UQFR$\]W]-ESBC=] FI6U%G;L9%^M MI:O>82OO#MU> Y?)F](:,&W:KK1#"+R$MK0&##+L2VNRTLB3A-YQME[RC^(- M+M6I98* MSY:;[<@;X+2NSA%[7*FVD5C,J]\N8]6!DKMPN9GG]&RR,S;JV%\@/TD(8@RF ME""(PBB &>%,:D-&1!QX+ GL9@HX1&YBG=@"ZY*2U!WOB>-RMEDOQ[;#4"$^ M$Y-GOQ;J/T"W4C7(9@V)=N^']*V MO"W*I^OO>65:Y[W8\1\=' 2[ADYM@@!6+G,0% M3M$\87C@ .2S1PE.,<$D6'#RW7%*HYLS_''UMBAY?KMJ&NC1IVTCKG>KJBYU M^4+UH:A?\TH^I?R_UY6:5"P/_]X#BRSQ$Y($%/* 1U*_B 22*$QA&B$1!D%* M F$UEL4Q?A.K(M54M9GOKCX$L"I6D&WP494:^@I.VVVUS,%PO55FBNL9-\!. MQ_5&M -I%[78@@Y=T&OTU\,'2(S!%F6 *] BW7_*G4ZA3:Q;.X'N@&_:=5J6B \RS$PG.F.#G88[R8$)1ET9D>BJ"'P0UKS5 MWR9D'Y1]&[TTLW^ZR<+M*9J/]1TO;R2&;:SP0[%JJD0_%\OEV^9JL@@CFI&8 M2 V!O!0BXF_/T[X::)E!+HK8Y%1NZNN'H*F[91.+!'XI6T!+K,BCY++OTW-[W M<:8;;)JG):/ 723&.L@1#FO)8WH##!&(>89AE84JR MR(\P<1N2=8K^]"&,7D[>L\YRL]M51X?;L^V5^\/->*+;D9S 'VFHVZ@M>2ES MW>R0?UDGV20;XWRZVS@L+IPG\6[U("V#]_R1+_W6CX 37S"?^I!2+B!"7@0) M"WSH"3^,64!B0:SRZ@=@37Q&:%# MW2R#+#&T,7BAF!+!\MFT,85:.!>@9;^ M*5PLYTET/6KC"*3GF;1QFN23@S8&7K'/-AG1UG^^9OYV/?OM.O7/TI_??3M^ M5TWXGZ7U_IF&^^[:['_"=:]O#$->@OPDD*8/566<:0I)Z%.8B3"-_8RD?FH5 MBMU9?6(1:&"!I3RE5];%ZKML,#MO1A-G)QDMF E.DZ,$.#H_=M>>]<0X2M;^ M&7'\(?M3X:W$LECQSYP6\KKX]&[%; Z(XV^_J+/B!('GCXW+:;,.=2EXH .H M[F,L?\S9&B\='BO#9(TZ84XL.=MA,TQ2_]PY\^3(?**B8-_RY7*1Q2'/!.8P M#4@"$4U2F&(6PR1)J1=F C%LEPC4+CRQ/'5@+%-S.JK-#ILQM-C)SUDR[!-7 M]G!VE7'2+3MOJL@>,0U-GT2$ MJ6+)1 0I1+$G8(:# 9QS).01"2A=I>TLR G%J!^.5^'S!70Z&Q&8&B$KL ' M;IF[84RY97@&'F#)I;:,YU:[NC>&(5@S-UPP(/NPMX+)2^.$ M^J;$JTI($5%#A'CYF--\=?M1O,U7>$5SO.Q%WM64Z^KXK]IQ?"(4 ?(%5OGT M 41I1"$F?@PS/_4IPYS&L;#1 2Z1FUAE; #O9.>,:\7L=$_,],QS<=K2Y![' M9&OE- 4W'.DRIZC-JOJF8.J^IIP$AKV3[IJQ7,5Z\1)YP>-V_+KUH/2S"TVL MU;;P@43@I\>_@BT.YBZ]\^PX[]USR@D[K3/$A E&IQM3.LKW=W[UV=R QH3V M/8+F+XV[#[75+Y_Y4N=U5'?Y0S?LF08XBPB"(2$A1'&L,O2""+*84L#'GE1.R$G0YS4$ER4!=RO;.C MFH 74!QBR.+G+@,YA^;+2I.]D-G.2CM,XU"!Y@FV96,^[8?;L*GY3 M3M$@WJ^ET,B_ /5^GK//K=D',/PQE/IY%CO3YP:@1KC2U,I?5ZQ+]ZLZKQ^^G*/E\M?UU6^XO)@#3 GB1\R MF&:>!U&F.O%E/(.^\$(?LS @S"CSY\3Z4T?Q-42@08(.IID$GF+(L.PY(--. MZNPH-!:T,W0,B)A\LQ$Q^9>MB)U:;Q;A.D-,)U;G'K,7J/>2O\M/=\6*-X;. M(O'\ #%$(,\\Y4 .4I@QGL) \"0.,L$SL[YSQQ:?6)0T.*#AM:X#01'^(H"Z%/DC#V/"94W9#5."(3L$:? MX24#B#J0H-S M+.NC9AG9BX[8\@HN>R@@Y\Z^']5!NR&09_/,\C:C+6AV)%= M:@1R5D/3A@G[EJ/5N_:F8%<%\E&\*4MEFVZCO^_E8?VNYOUK-X; M=^1MNW)^*)K]R"M3O-3O+%[ 1S0:V=<&\AJB9L;'*5F.CJ:38&8]CLX1NW\$G7W^ MPCXJOSZUI?#*Z_FVY/^Y5FUU=4(_"JBG6E"J:% $<41E+=1"C/*O#1$-$LR MJS9>!C GEML>6+"!.ZH4PH1_9D+MF"MV\CV*(>.;KIPGT77SE0&(S].$Y3P+ M3C9C,7AUG#+X^,!+K"8*O5>7W,UDY ^2--UFNUYXTB"-J+1'$:>JM5*8P@SY M#+(X1 (S'(7$*EGH+,2)%<$&/EAJHVS98I#SZDI-$&BQL-,)Y]EHIA&<,L=. M'VSYHF'W)I?K)JSGV&*M&8Q)=:07SL.;52L8D[^O$\Q?'.NS4BU(=>W JR6N MJESDG/WZU'797N/E[[A649JGU[CF>S-1PX1'& 48RLN")S4&EU>&2'!(:2(B M% =!X%G=&RY!9NKLP5[A=7W'P;:9F?K)*US=Z3+C1[S4A3VJ[/AW7/[):YV8 MU@LIDB?0HP=T!-DZRR[8-5,GVCQ[8>M@ M,K.C[G*F'3KP'*PY3H5^YK2%2+7OZZTD^+J@>3.YI&Z227[EHB@EW._7=5WF M9*WUPDWQ">OK@LABYH5"*E*N@@)<6F%9$OJ0BH3A()8&&+(,"ER.U/0A VW> MJH#!5I#S55W(_]#BG@.FA[%K;?LP/$YUJFTQTY0SL7JLSW8'MV9RUO7'5^^N MVME-]2:UCF@4@<3Q"O2Q!')+&CS=Z4UW/'.D/1T@-*L.=5U]?G+UZ[W+T=I%$G=&"$?0Q0*!G'$?,B2-.'"HUDJK)IU M#$*;^%*YA0TJ!1RL%71;-3?$+5,-YH@'MLII0[Z&"S1@\).:_O+7"9HX&I'I M3)\,P9I951B0?:@%3%X:6=_0VE)M_0393]C=@WV]8L>PN:9U_BCOCM:X+#-1;\"!_I/>0V.*L6KS=Y-:LW.P6=791%3HCIO?<0,3#\HE)@# MYL4=@E^OY97R[WG1%%I_%/\NK<)7RF8LG][C;Q:%%+;K3JR7]]OO2DM7&UD; ME)3"5DB!%BL@T;HZ%XV_G)O#RGAJ1MHIUVEX>$E[8V-FN&A\?![8<[5$-F;# M0+-D\S7<>.P^KNN/XIK2]?UZJ?Q8>E";THIVR?OQEH]2J]]\*_X/QV6U M2$6(O#@A,(D85<5$&,>E$V'XJVW7&"C1A@KO*]"?4-:A*)_LT <2?] 0L!MB MO@(?7]X^LH+JGI!::_P ^[F#K\6Q*15?I?,!A-J]QRXE8]/G"0JYOQ5NVP,Q M]1W<-^BJ= PLI/"")XDLJ+\5/U]^@,[#T.9H5;#4>8D\>0O59^;$T&?A M8'?.S@1M=$6A/,HW3;15O:+N:*$NNSS!' >$P""AJL)"-:N.H@QZ//(]SR-Q M%GEVR594$,\(_E(1>#95\8)]=^Y>RFN,'?_Y'7=W?%DLE+D+HL'>V_M4@] M@D1&,QA&@9JM0:3!STD,29 DC*>I']#8+KOQ FPF3VN4>'#5!J%QV=4%6/&Z M:3@(*E[7R^9TEQ8*;R;58%4^;:G9+MD-,PTW-8>GB:AWY?O:U)/H@AZ^X"-9 MYK<:0W=JSP&;'*F_2S"950TZ8-F^.G2QY#BU^)Y7%>KLJ3)PGA4NWE;.NF85ZO MZISER[5J/K"]-[[Y3I=KQIE* %H=SWK.\2;>@S] M6_F/#_*FV/J!).+-L^ 57M+U,M?^FJG6Y]TURRME;\/ZV/:MY=W-ZF&L M.R&U./=V;)X43=>\=9Z8Z0S!9TK'=,W@TTF8SB'9IU[J- *YH&@[3UAD5QYY M=6(MV^3!*)!%>8_EMH(6M'V2Y#&ZA[6< Y+M5-1X:JW2&0=H&I6Q>&R]V9(2 M!XCIYQT./68O0S7RI;OK M%7O-'_FRT&/EWWQ7_A_>AGP0C9$?(P9%D'@0!8D/,XPH#+&7$A%F2<8#RXK2 M60Y4S MGB>.-- (!&952.,9M*^?+EC)WJ9XMZHDD%+>D#X5RUP%]B5<^J&HKUGQH )= MMG/9C1>WB'C3ZF%4JEVP\R.9QNOA(;:J2\F[DN[IL(,1QRI- P%AD M&434E\:?CQDDC,<$13$/?:N>0CNK3^W7U>,M%;!1U12[C#!43F/)LU0RQI39 MJXEC%+@2]YVUYQ7;8V0=B-_1AV:>9/Y&Y\;*NU-=ZJ+ 2D=J;N[PZNBHW@4G M F78]Z ?A02B(,X@"3T$@\2/$D83SIF5#W;>6Z[@6::Y25NBYW2 MA+$(E#1&1(WH22B!6<@8C!/Y;QZ@ M*,-6\[RLH$\LK+T9/!O .B3RX?KO(X]&.^::G9R3L<8#VK#EY*! JT7&J9O?^$HNMU25Y>P^7^4JHJT\L[MY8(QPST?$AS$+ M&40\(S -XD#>K,,T]3!B*44V:L8(ZM3.DP8'+2-X!PL[G6+&03-=XIPO=CJD MSY)=!";,IK.BV9$&,8,YJ^:P8L.^QK![>69G[X>U@M[V(J^NU_5=4>;_Q=F" M>@+CF$M=DBBO+FW*G)G;?NN#_['[:!FD5V6[W<8OW"_#%GF/IO>97?KK8-]&B"J)]*/1QD@;SG$8]!$@<<1G$:B(#$*/2L MFI\?!S.Q6FV!@A[44;'Q$SPRTX674VZGT$80;:V,AFERI%%. )E5+0P3NB_; M9YX>&= HBP=>UD_*J5O+>YT*I^A"B=_*HJH6<4R31- $!K%'I1D68)CR-(91 MFJ4HR#!"OK *< R"FUA@FWP?>9;R#JIEP&.85X8!$&<:G/0PR%SP5$E")( M?#^$+([BF#.1,637P65^&B961AT: #=X@+)#!-#>#/)E+O@5('BY,=54D_%1 MEMK,GX"%+?=R-W9V:V^3=],C[ IL/I:6-K A;F=@O2+/L4WX/%OCTFJ_.=WBFLWQ;EB49J"WF" MA8PD&(8)Q1 %(H68\P0BY&%$N4]X&BTD^J0P+O MKA@K\TII'UV 46A($.,95YV:&F_;9[S1VWO1T=-AZXG$>N&A)<@,F\C0HN9]E! P,'2X[,#9'2 M7,O5'A4TJ91O<[)LD*BN[XNRSO]+*_"ZC^D5V""I0B8-FGJ?-7W+'P(*O%X=(C!AYVEU35-?S5NJJ+>SU7\3ZO*G4?5GC\VECS MU5[#Z21@. O3&(8QC2#B"8-I&$50!'' ,NZ%GN<;#S0A>H]377/"R MU+9R55>J,W5SQFUL6IL)>./Y/JPIY^.FG7+L4-*S"4"'U!78HM5>)#O$;/K) MNF2OQ0#!6=@\;D"@A+=>XA(PJ2261:6';@I M\S6UL[&4:=_UV[0-[5!M"7' MU6C BUDU./IO_.KSC?:[F ,[H_LN7VU,HT_=A^6Z+'7 U[BW9_^MB=7UD?:6 MANV[CA XK&@OH\U.>1XARUD4^S0=(QMQ[BPU8^_-8R3LMML\^L0$$U"^KI3: M5?T8.)/&KWRT[7)"/>P+$0L8".)!)!(/8C_U(>>8D#"E81+YW4BH&T>C4$XA M8_2U[DZ$NK$72(7:WT N@4,0#G')JL1*&<7&V'RZ8KCWWAQ6^*'NYQ>J]EA75-@EE O5D/JXE@5 M"%,*<>P%D! JXB"B/DVPL4UW&L[$MX#/4M6H*^VWHEP:ML\[QQ@#H\L-N79Z MH^F L 4*--3SU0A6M%M81&YX6GU@;J1B9ZO/6@;.15JS,BZ+/FJ7B2,8S_#%%*:2:W-/ K3 MC B(!,H(2E'HIU;="L]"G%@1MU#LE.9Y-IGI0:?$VZFV'NA-JHS.H;E2HY^O MP#F^6*LI8UH=:9[S\&95)L;D[^L'\Q?'B?R)&$?W(2//CS!-/.CYJCLIC7R8 M(I'!*$RY5 4HC5!B(^_#X"86]FTD;[E?C7 %Z!A-<(9[9FK '4\L Q4#@4WG M\F]&I"/A/P-L5LDW(WQ?[ W?&I-JM%!5WQ2;%F][F7K(]X(@$ZCM9NPS#E/?SZ"\'6 <(RXR8G0_ MF![5&2T\/96O1X$NG/\=EW_R6J=3;DFQR::<=!^'-=?+VAW;FX_<#(GEX:Y< MZZFLI.[MQ]5VY#*4^$-%P!78D*!O3."F +V.EI>ER$ZZJ39IM"]E[+R0.U_))P'>;#Q5&U\70*B-?U0D.LO*G8/SPYF[ MDV(P8W;O')S!>+(.5)4"M):YUU(X^'KJN2-5=$,"]6-0G"^>E]4F[PC MSTLQ2RG,0AQ"A ($B8KR,S\E"8DR'IO5DHQ%8.(#^OI0O/M//.K&/9Y&J2EBWX M>8=MC63.P3RNL>N,]$:VO;:^%*+^)C^W*86D$.-013B5%YM>$BC+$0^8=@N]CP. MCXFUR+NN.W-;95BL0*5P /5=6:QOI0748M;^^*'%#3RHP4?C6SJ/W!3#V/'T MK+8,$FO>-1B!!J5VS-U5VVWY"G1X@>;A#C/=1M%AQ\0+>>,JYCL2BWF#NY>Q MZB"*>^%R(TVZ7B^"CV*_4\&"T8BGTK2'G"491"G*(!'RG[XGB, 9$CZRZED_ M#&YJ9;8]]9LR:=S#!O"F$X.EQ3;,/D/[S!E3+*VQ/OE2P>_?BARJ%3,275E2 MP\#FM9N,"#^PDLS>&B?RNXZD-AQT32H=&%YP/Z#2Y/%A$ 9$N6P(S!AGT*=1 M'/LA1\Q'=BWE!N'9?-TCF\9553-+U@_:-DAV(C[,+C,)=\8".P$_\*>TD,$? M'6R'!H\1C8XD?!C6K )N1/:^?)N]-#8M_$H#\V.TTDY8R?")AT> MZ@(0KLN[KG0+0*!QFJF[PQ [YNCLJXX.@PLY[W_Z@=>+,/6] M))'W\X B)/4-#F$:^!SZ6>RG:4)]',B3O:CQTDS?#(.S4BX;H.;9%NH5U5"F MA6MY23_#*C.UXHX!=CIDL,%HI;.I9^D:VB-R^H:@"MA+Z?79(]RBC6?_+<=3 MC][G*_ZNYO?50GB8=.)K_;M,SA4<]G_$$>HQ+:U\$'B0\2:# ML9=&88)$:C6YVA:!B97'9TXEZ.43N&;%@^ZYO4$.[&*G16?S>!M:._WTAZ*6 M5_.Z6]=.]5CODIDBFI+W=FI)8G*:=_,TAQG+#$R; MU*A>;KC6:[_F4A/6/542IY>[!.\A&.3^ FM6>ETY- P-V:8 M,'0"@9?B9#S#()OY06=6&JF@NI*Q7Y\TF%=+7%5Z8$+F(1XG$8)IB%2;UIC! M-,TRR#F)$4]$& JC[M%G(4U\<6A2_36T;B[!ES469 M"+UEQBF<;6WFNQ4M[E49EA[[LL"IQS(<^A"34%X,N)!_"Q#3]P2!@PSYH55U MP"E $ZN0#@S(-50[;7*2.69JPP7)=OIA"Q$T('4YY/ <'VL5<(XL1[)^$LRL M0GV.V'WI/?N\O2/O2_WGIY)^+&^JLFTA+PV"WWE]5[!MV,G0JV>RUL02V=:X ME;FJ/)2GTY?/8(L*:' Q]_,9,>>\T\\U7^S$UH0EX ^GL3=;HD=Y!HT S.8F MM"&W[S.T>L]%VVIH+HH?"JJ7.'B![_KVI>/Y?MB=?Y#*+4%S!C80@3%/(T"2//)U9GMUOT)M8O;S"+S(NI' M=BVNC\.96$N^ZC5\N&H;.8"\2:4:W=KA%,O,=*$#1M@IM98'7QH>=,T8&JA. MF\4,D>6N/H'U7Y^VC[3^E.MO MN-09GO73NU55E[JE9*5'Y=W@W7JY\PU-#MO7S+P+KOK= MS(7VO UR9MZ,@XXZ<\,?=QC]5JH+:EF(O%[P@+ P#1",LHA %$8AS.(D@U$< M!6JJ59H$B4U-7V]MJ\NB?0&?A@0>-"@[1=ZGWTS7CJ3*3ATV!'T:)LA:01U! MW9$.Z:\\JY@?(6E?$H\],M;B:@:8_".O[UZMI6ERS\N#F1F)X"E/*8.A%S"( MLHS!+&$(IA$5%//8QRBS,[_. YW8%GO-!9=P&"CY(U^M1T\;,>*?J2WFEBNV MAED[<>B;! \Z^-,.(+&AV)G-9@!R9@/.G F'UIS%N_;M;UJ_T-.;[_1.G?$? M\#U?Q)SZ?A:IQ#5/.60\E46+"6190G":(D9](U_,*0!3A\):D*"#"110\R8X M1WDR+. N*+4T/>R(M&J%,T3)J&8X1Q>Y 0I*!]X_5'KK0+]):OJ-2,/1U9O\)E^92O;G4]PR(6)& JY3>,5=ZO\#)($B^"!(>1 MM*H"YF.K@B KZ!-KHZ\_?_D9W,@SH%J73[J+R.T&-X!;Y.S4D1USS9319"RS M4T5?OX M'J!#9.=2AFO0(=.,-W2GA48QP9$.LH,]JP8:Q99]_3-ND7':9V>Z M01-B:0<,$<91$,0!C' 2043B"&8BB54?8^7581'W0AM-O2D^4W>)W!<$O%]N*VT=+Y?2R?9IND( VXCH8NS4:/C%8MZYZD:;?% M^ZI-IP&B*$$/]PD4[JPL=ZW%YT'^>8Z&63?FY'DS+Q8C^UT4)<]O5TW4D3YU MH4E=JK\IW7^]&?Z]($D4$4(B&&"6JF B@1@'''(1AAX6B/@)L>J"80=_XF.D MQ:9-*J!/2H>H_9%G2H.7LN04:I8M,RR9;*;Y)V2=G>KNN-9A CI4KIJF/%= M5QII?, 6(8<].,9QPE5G#DOH\_;K&,>:@RX>(Y>Q4TI562]^Q]_S^_5]:]Q% M/L)!C%+HJ7QQ%"CO?^)GT)-77A9D?A:EL8FZ.5AY8D72PC)3$X=D#RN BXBQ M$^T6C$.K]23R0](H7^I)HOS75@H/UYM%ODZ2T4G.Z0?&S_#>\WQO(C>$D90* M>13S1$00A9C#E*0,TC".(X8C+PMBFWS9 5A6=I=[AG.Y3D&:?SGV&Y&,SN<^]\L*\ M2HO,3REC4DMD@F40$>1!XN$4,AIE&!/J46*5#SP9IL_D*^IFW\H[OLI,ZK!Y M(3ZBYW8'_1">G^M[U;;]!_#T_"A.G?]+_#>SNVI&'@(J9?5U076YU8U\=9$B MGB4\2:$OO!"B),+R9D(7U8WUU" MD)UZ,J/%*AG[&.*CDK!W%IHM^?H8^OVDZZ._M^_F=8/)>HG+]WE5WZC;KG4+ MKY,+3/SUMW"! GP%-&CS-EVGJ1X6"&<$VTE'GU;PAX;J=O2-$5VC>FZ=7G6V M1EMG">MWUSK_L)V,_>?RJ6JJ@\GYZF"R7QW\40A>J@$Y37L /^(!]],$IE$D M(*+,@UF6$"A/*<9Y$B,_-$K.=8G4Q&+> >N'E>]U7QW#N++3#1C6#L_%5CME MXA++9]@"UIY[S62%E[85.]@9;\EG_B!_JWM8U'<<%'O?_'HE]0S 3>^2UJ9^ M:&TXO*7FY\O/@2G8UAP;:F5U,B O#'U].CB%-K;] M-6/R>ZS:/][G*^XO1$Q])GP!D]CG$*& P(RC$/K88V$8<41\(\?6()2)#Y,& M+F@A7G5_ 0HV^+BR,*).\^F\1>6$>CN=/YIP*XOK+&&CS*_3J\YFBYTEK&^8 MG7]X9"677)?ERW6=/_)M=K2JM7U=W.-\M?#C4(UQPC#R>:A*MS#$J1"0!VH8 M:T99R)A5Z=89@!,+:Q_\3I:_P@#\T>!@.5;E+ _-_+\N.6,GR!R,5@ M"FD<^LA/"&'"**?#!NC4"D&A(*^_"@=0;9"PU FS#/4 HY98JD)-#<:\',5 M0=E0[$HCF("<5RM8,.% ,]B\.TX[_(JKO/HH>L.5C\X%1XB&(5%-V&,_EI<% M)F#F10)&2-XA_%A>[1.KGNQF8"?6$!H)E<3QJ3&G1TQW-&2?F89PSQ0[';'A MQQ:#>4:HVQ'N2%48 IU56=@Q8E]=6+X]A+Y@/B<>3)&:\NC%!*:,(FFI)!Y% ?,) MMBJUG)^$B159AP5HT0 ='LU4EIFZ%X_?8#/U^+*WS4[5.NAHO.E9W*/K"ISY M%, ?UZ32:>(.U??S;3\"/T>[XX@URUOCX(6\PL'?JW?D" M=6>PWPF\G7MV[#!3E;+^1>ZMUH3=0;V@)/-8[(?R^DM5YW440N)Q:8HS[ D6 M!CA)?;M9ID?A3*QPVO*)#5B3FX@5F\PND0Z(MU,_8^@>,=1TD"IG,TV/0YEY MI.D@J8<338"F)=J)G2]VHYLW[9%S4N'FS MV.Q-F_?).-:P^> 9^_SA=ZLJET_>E$Q[I7*N9B_0:U8\R)O\VR6^-9A@]N2JR,$=!AH?OR*50X6ZNA="U&YKG&YSDT+&+.F6-[W%GQ!?RAT'&4 MDFQ,]JC4Y/.KSY:B;$QH/U79_*4Y4Y9O<'G+ZT_2=E=6S2U?I +3+$T"&!&, M(<)^!+,D(%!$<>3S-.:)3Z=/6MY':V)MHJ8V*6G1>(&?'C9P9\E:/M@# S/^ M63AKIXKSFK!LB\#D%]\.?M-UJP*KH@;5FOP'I[5J?H'OB[+._VM$,H4UJTU=/M,Q MT/9RW&$"-2J@Q\P&&?#3!AW0X7/Z#C#"3S2.%0F($M:N:&M1&OSMO6KMEDIT%&< C\X;SVUX8'HVQM(P"SF=LVY/8M;JOW M7MJX^$V'C;TX^V]RZ?JU_ (W+087*!0B2*6A'GKJQB,$ASCFJ;SQ(,IIZHL( MLT53G/A%WOMKLWO/2R#-1I#W"31/N^2W^6JE3GR"Y2\HUU7+7[^\5M918^Z\ MF 'T%E]%1$/N,QK",*091!1G$/M> !/NASX7W ]BW'X5;U;L_^9OHB///&5! M)[C\W_4YF-W57P*J+SKKKZ$3] AM!VW5DM1M3N"&VB,9@9IBH$CN]0!^ =F M$VSA<^<'NB3IQ\@8G& 3G>403H';):D^-_C[MCWSJ#R6HRM,GLLBH?9:AD^8 MT#)(GM.DEN.0GB&Q99#DX\DMPZ_8.Q7>2@JD::D:Y\G/_^GUFM\4;YHVG!_% MFY4HY,>A9>J^-O4M6"PYL8NAQ01TJ "VUBU[6VQ4Y*&'S]GNE11I&,&"4P\$&SFQ^AQ'$]]T/8UX?VP)&ZJ!W3*Z5BYPV#3K7.CLZ M2.*(18S"-,H$1/+O,,LB 3TSOZ,V1O#V._F8IQY=IP1W)KFU4UQ3:5E7O+?]QIW_@8K MBAUY'LQ@SNJ#L&+#OC?"[F7[*62?E7_O^GM>+9(PIB@2&0P(9E(GD!AF7II MPB.*8\HS+S#J1K.SZM27$G6R5;6\ORW![QPK7TU;#B9A&Q[7NUP8EN71M%E> M0<:1936:[(","\:2;=>:;239 ?K]<62'OQQQE[^YXX'G!YU_6R4^YH_\D]RH M]BHGDIA$?A)"S-68(41CJ!(1(8XP\4,69%F(C"_UYZ!-+$@J>UC!WX;"6@R M0L'BWGN6:P97?I>\L!.\83:,L0/.\L/"('#)EXLM@P?%$(6.JYN_*76#)L#9 M1>:S!4SIV3$*C%\:.00Y7TE3(\?+;;Q.GWIA+-55Q! ,$P]!E'BJ"X=R,/IQ MEO@!05D@K(8='XRB[X!XRUC""+KM1P\/4^5JQ/ ) M*/..$AXF]6!D\)G'G8EJ]?';BK/K[1SBA1]F820M=NC'B0>1ZB69D=B#/L\R MX7FQGWF>S3Q4$Z!60FP_&%5/'6NK("Z6VD..C1;AB_APN3RKEF0* =U;=HH, M(QN2IQ/V0Y#/+?DGF6"@!DZ_.S8D^&XEST5,U:7@-:YQ,Z:\7OC,HTDD$L@P M]R'"+)6V>\8AIQE"$?(%#HS*H\X!FB<@V(.M,NHP:*';Q@-/,&M8!;AD@9W8 MCZ5^1#!PF+0+8H$G%IXY%#A,WF$D\,SS(R;ZJ4-,Y\O=%4OYRN=Z99'8<_SM MJ3T ^MSM006?>;TN5];).B=H'Y8Z-V1;&OLC*;:;Z#=(U+AQ?L>7G&^6WR!) M.X/\AI^\+,+UMB@_\XHA@PJ!7I<3&N ?V:79$<\N2R:I1H<['*F M@0^^#')F="SK/+&. UD# )\EBG6> :="6 9OCKT6]];2ZJ;?TG81A5' .0DA MTU/3,*.0H"R#C!%*O*W/_(KYHSK.KWK+:]*@\RT/3"[(HM MHZ[-HSDRXOIL0N@%E^C!Y6>^2IN0>GBA-GK+17[=]8KI>A-5M+*6XJ0F?<%/(O%2US78O2!>Y$*A(4!C#.2 P18Q[$0NJ'@ =I)#@/@LQH]($[ ME*8.D___W+UK;R,YDB[\5PB<%WNZ ?$@[YG<_>2Z]19073:JW#/8MS\(O-HY M(TO>3*FZO+_^D'F14K<429%ISQE@9LIVBG%)13 8C'CBN*1-(<>U/6X]GV#+ MZ#5E;E8O9-S!O(Z:S9R0H89!QR2X7X$AFTXJ#:U>P35UB;Y?Q715C,U+6S4O MC?8OC6]?V@"/IQX(Y*WT\1J]FA5*6E%ZQ;+*:S0S7H1YUK.[Y2 MY#XMS>%E3G_<\W8BJ6[J=6,2TG_=?;S=Z[N>@4^KU7JY6FNB^XVIX7+2R($& MS#R]KO ^$&+&9;4#A3FSYG0X,.-"[4&_7'AT8K27+^62?U[SIWH>QRB@I, P M#0B&">?IW*O(S)M=HQWS0A@[1/'5%]:12] @.*D[T%? H2LP^*1YAJ3K?VIV,\VLR. CGFVUH_3O^IF. MH3B7LQN6DIB96D?$V49[AG&K],1PG8'Z8A3OW9;GM3UV1EDTM2>C/:F'MU++H;.W6\3< M[P]NC'NPI<]+]A4_:34ACZ_@>5=0)/1WA!%!+V\0;F0T,^T!S2U\V0Q(LN6/ MDFWP HS*;[2-7!;/:E<967:R3>:R:,,]1^-I^Y8"NJJ>5U63#FIF>KY7Y:_5 MR_L5XW,:%U$U4WPMCZDSS\;5HA=^7RVLF>&VY&9]CY"7:'I4)$=1\VD:DT;'HV(>1L'C#UM4-G[\ MR>E&-2#="E%27D5]719-6"IPT\60P@3E2'4QY# ("D(I03$C6OOO&!'?FVY/ M%71D0610WG9.,>/FZ$IWVECUVG!5*G=! MO-'BMW.?G:Z<[0+W>P5JEYZUV_B_< 629[BU[7_(GQ6U=+QL9:=%<+2''2P^ MZ>9U6K##7>O,4[8GQQO&Y&NLFZ#TMKJK5C]*R>R+G#)?M;?:(WU[C\V&Q5WT>^ MO3*XCBN@V (_ZO\#SG5[ZR=J#75X.7GK3WW&=S4VFO-0X6RG$:L1%D. WB",8I"V%21 $L0I+#-(A(DA:BR/5Z<]VPX]E# M]/:#>/N@9!%L.FTM3Q6,WU+J;9/UGPZ=IQ?1U[TCO=#"=YLVX?FQB/,;9NY<_:C7>_/:9 MJY3_\N%&P1(U*-_;XWJ>9JG(8PX%X1@FN?27B),(IBS ,0DS&F(CIVG.@N]0 M3G(#Q&+U5VNHJYX1@+><&*;T+;2LY_;\ZL[,U4E>0*.ZGAO5 ?*+8@B4RU_! MEB>P8\I+EL5>)XYP4=NJXK5K*\,I3G4U8NFI3D;@#!QY]TL9'T ME=]L.V>;P\2MZ$M"[WC5Q)]?MCU8>1 &01HRR&BN;AE)"G&!(L@X2G),L*") M4<^<*\8\N[8AFX.A&Z!GM/5X U:;28!]#;3DMCV(7=$_Y^P-:EZ(OL)[,;Q# MG?*5F-^^.M:?JPM;5VQ->\?K6)E'U\*NU[?&CB[7O E4/R_7\KM>RCBU#5EO MGE;5NOR?AH%N;N57_G-]_Q=?_."_KY;KQWK.4Y)GE&&8<:H LT)Y*$\" 04C M<9&G<9J'S! -_@IV/#MD^Y$VQ"< M]1 '#F?8C8ODR'^<(3*I7Q@7]-#>+SQM9\.XX&<]A1G,%8V:*9]2A9XK7"VEFBHK>\/#D(Z\T M+I,C6SQ#9%);'!?TT!8O/&VYI_8@:!5_E%NVW-A5(?H3_[*JZYL?N%RHU/>G M5?4=#P=1[L"QOO+UK;C'/^>8B)S'-(5IK, VPS"!*,WEL8(*(3@.$0JU1E.X M9LRSO:M<+'U4T"IJG]XL*XX7Y?_(7?L!E\L:_+*0[/+Z5[!: MQS#<6J@K7D M&S!E3;NAM3.PY,WFOL8_#;=S5Z]1,P!XA9=C&#*\_SP#!\YJ!F[V7H'B;@9^ MDR\*_*(X_W4&L%!0D /L-W53>#_R-LP##<>J$?3\_6#8P0S4+;;W M:M"&^HLTU?;7YQ%!S#6HY_->!_7\%-SYS"W>N8F #IOG7Q?YW$3H4ZWQKXMZ M_G6UOEM@JI(PWWGUHZ2\:QT)8A%0$L50X#"29Z@WOR2[AQAFY\E\Q:!S2_IQ!+5_.*RYJT& M=WS5&99F%\'V YYWA;N/M_K%_CLIQCVSM0!F_E7AC%_TCD:E]D=,6U71[U:9 MK$#^B/%A[?OQ'RU/5KA^5$;R0Q[@I"?MO@I)E :(9)'*91&89 H6).JD7S8/2M=(:GI"4H -Z#NU'2R)71Z*3-*8] M"XV)>70(&GWX"HC^_>1&0A.6QQA2@0MYG@FI@D6(( E(%C :I"3.Y\^\*E?L M^QI7:SU[O.K\?DA-^XOZCC^42U4'! A>J.W:/IUQ:OA=+K!4%409PS!A&8=( MI H_(B[BF/(@IZA3U,>EYC!,!VKJ:6DKZ6.;Z/&@(3WG-6%JQVLRQW<&YY73 M-MJY&E<)FFWEWP[S=BPY_&5;/9OE49%E20X+%',92U D#9/&$"=IQ%.4(I%K M#:&S9H=MAVG2NG<;15>AVH,;M=?E/W597TB.]P7=9_+%=$)8+4A=;G MY?-FK> GE[13@-@B2)<)04P@BN4X/FI-?]S[@"/YK90.K0]\?W#T >(=O#G_UE_UEM M:J:RW.K(,+&U=_4OZ2M0II:#;HC2MB?-2Q' )8G=UP*.QN1_ MXB!,81&0I!W;AC'*H"A0G.,DB6EB.+;-!5O>ZY)V6$0W3PK&O08[QOM.\YO; M]Y_5C'G5W-5L%&W?E_Q,UW6S6AIZ,$?O3,^[3?\FS#S?(7^JD+1Y(7J)MA8, M"CB%OO.C.F=SZIPP-?$L.Y>*/)YWYW1U6S]L!%6U2X#'>9+DB D8R8 /)FE> M2!\LSXL\SS)$PS@H2&'F>>T8\>QK;;'>K&\BK%^(KEOUKV931^I/PQ:N\SKU M.'.6EFQ,[!ZO4]:Q0[QRO2O*0FPFFM\^-T'4<*C6:K'XM*K4'^<9#B),"P99 M'FV4CX$_%/>C8=PE@ZE6_+DM1W#,Y?3V+ M-T6?+(KQ1\W2RZNLZ3?^+$WG4=&5^\DWOBXKSCYLU,7,75-0UN12YSF*<4)E M;)MSA%598 "+&.4P%0%*DSPEB!ME%0QH^TX=M$V/U8Z7)KRJ6FX,7;.!1C7] MK1\]&3I1Q03X=J"AC@_0,@):3F;M18E#AVBN %=>SH#RM*[+7"5'_LABB:LF M#=\\/*P_5LW9_>9I;3%H>'^!"6,T2;CB#VI"BR2_6O+5ICZ())I\H]58X@.M MC+L$9PHQ,WZ7NK =47Q:UFLG%!^L^AH#BD\+=F8^\9F'[3;_CT)P=7.QS:#] M_-9,0%53QS>2V"XC/L\8Q9CD".9)P.7>'PN(22I@$-(\BTA.@R QV?OU27LV M\R[QO,8_@23(9ZK^@:JVT ?-'F4+9>IM^WY49&;X6Q[Z!+WD B@VP'YMSDQM M_4IM[C9]<_$=[?D&A"?=\LT57^#(/,691&&"(@HC I,AR M6. @A2Q&L8C"A&>H0(I\O024: MJ4W/7SA0AF%4< @0N:7I"R'R2"@O$)$[*J^($7DDZCA(Y/'CKY/U_1NOU\U1 MHL'LE97=-OX\?-R+8\9=4G;LW#&$6=1%L).;L5K4C%;<'XMT--_\Q"/F^> 3 MTU+_5M]Q7OU6K3;/QD.2-9?S').='>+[-S7"2/[8<*.?'M95TN5DL0?]F!F@ MGFH\3#LVE-PJD:Q+8[*TLJ'0PR2SZ4>O.%^V!&H%9+-^D?OUT:Y>[[[B(4OS MC 8(9@BG,&%&>B;H-3F2N8'K_ #[_["[ZJ2\CDJ$,I8BF%1B (F:9RJE#F79XDP18CA6,1F MI3:O*HYG']J3!KBE#7A''#PKZK/^YR9E=FV;\RM_,=Y*ULS5Z_Y72)UMOU^= ML/U?.6C$_5=*H.F\MG^9+-JH,/^/I=)T7MST^30MKKQ!OO7H^X((PN31C F" MH.J^@BB/4AC%!:-YD84A,3HA:%/VO*T989,YQW4S I_UHC*SK:'IZ[U9KZN2 M;-;-3B^=^9W\=DO7[QZ;UEC@Z<#:7@/#UE@=%O!L3K!NY5*5NB[_P-O__[R\ MJ_@S+MD'+GA5<=;-4.TAW=N6JCD.8H0XX9 E6, $(P(+Q!#D),5AG&:\2-/Y MLKE9T$1YM6-$RWQ0:SY#=DQ*6Q03,F)NJ \G&N"& S,_8ZEN/:?C4856'JCG M!_S2<_2K&O30J[3C9C"YXV98-O4(E;5DX(Y MOR6+\F$[.+TYWY1/J@I6?)>_K85"M%*P8KA:?Y#O]^9G6<]%GF)YV$ PI6KJ M>1 H8"\1P#SEC.4Q%9@;=2^[9<^S47?,SL"673#@%^P8GNTR*BW/JDIMR/4, M-'P#Q3CX4[%N!P?AZK7J!1RO][+,7-+KO"=;4 G'ZG0+->&*N=< H'"LV#.P M%*ZI.!EN?S D]H_M@&B5*[E;U64SC"X121&1",$84W7)$N20B#"%!,EC'>4X M;GJ:]&NU;)CP7-2ED'?;/@4S_VJE3STOZEM+9KY2:UCUCBF@N (]6^Y\X35* M<>3QK%B8U*]=HZ1#[W756E?.!.CPKU6Z_5/%_WO#E_2E X_/DCQ-<(AAD5(" MDQ!%$&>$PCQC61$+G!66\/[G:7H.&@>$P9;RM9C](QK4K5_NY+=CK:[9^KFA'\J:+E:* MZ*XPBR,6!!F)((U(#)-"GD&+"&'(W81/2OM77S/QPQ\ MY9H)(BN%ZCD*7VHR\Q@]%S/0\+&O*+!CQ5.!FXT2''D4(]*3NA8;I1SZ&*LU M+!+&B\7'GS+84:W?[^6!ZV%5R:#';([PV!J^D\F+!=C2!COB!MGC,05HY)(= MR6Z863XCMN-1Q3K"V668QQ:>+M^L(=Y>]EGG>=MY,\MUA>GZ[^7ZL0?PW/9M M?Y6B;"I5KC!/LX)CN=O##&<4)BG&$,6!U&XJB. !YP4VPA#6I.O9BOO;,%!U M>*8SL-S2-ATUHZ=(O2W>@WK,#+UG /PE.=@B_ [@%&0H=%E3%D-GC.1V-GA& MC^K$PV>,5'$\@,;LXV;NHZ[6\_MRO>"WXO.2E3]*ML&+YMHB+HJ4((Q@$*(< M)A%GL$""0L$1C6F1!2S3RA:#9)30TU9W#CJK1;=!YS8Q;OA-YS6S<0E1M M@[XHSICIR@\/S%;^M#/9\^M.8IP7Q>K-\/*#7J<.-X,'YGG$480)@WF89FKD M"H.$LD2:9AQG"0T(1T;01B;$?FW5JUZI!3+><+[:YB?W&7P\&VSX&% TO"FJF[8ZEE2_+3 #[KG M]O,K>/8:DC!4E($B#<.]%IV."_T#_(@>+A_?W:C S.XUI =_*A8(ORVAU MAA]9=K(3_&71AN=WC: MGQ#J*#M]ZAG'5UWW89-DDC^#V,Q+)(DA4D8)*P(TS!@V,D- MUXZF9U,;C&>ZE[\O55=2.T;=[OY;1XM77FO9Z<;,5*]0B[NKJV-!?=]8#2B^ MC8NJ8Q5HWT^=^*CE9.6-2JS?BF_\>54U?7O?^4.#Y#!G+,D8H2%$F5"3E.7_ M(.D)8"1P$H9%FB$D3/S!>5*^(^&&L$K^5%O2H.YH&TY+/J\N/<-WHP3#6'@K M_XXJ^'Y)?O.YQQ=%<:7Q3X:([QY4^8F?%_+U[J^?:^[%:(DO(J MZ2Y618%#S%1F.BX03((80408AGF6A*C(. WU1KV-$?%LNKO[UXXLT,37'57, MN*FZ$M?,2$](>OFB65]DMJ(;]45KJL*]B[Y'35L%TBI:9/=:(<9TVDC^S_4> M2D>LUC>I)Y7#D<82AXW3&?WL).Y&A_O>T6@]:SFL!%>JS:"^XU6#6G%#ZN;2 M;5X$.*K&!"\$-G4Y'4?4GM: ]\O3>475X"+@DF*O!(>?(3#LFY(*P1T-! M+CUO":#&%PLUKVC)?L?5/[D:5-#U0<^SL(A$EB)(>1K"A$<4$I;GD"3R/R@E M&:/<"-SL+"G/)JM:!5J(A*>>L"&8V'DEQ5P><,)8^C*:R@B*4@81#BED*49I ME >8DRWDQ/UDNMK'EKA_6RK3\W)NOBUF?JZCVQA7]9SO?@I,LSHE((65Q+(] F8 DEE8L[38, M@J(H(K-IJ8<$//NVEARH%;U_!_]?\'^"( 3/N.LF_ \0SH(@4/]M(Q5ITYOU MXZI2/5,S$&=VGM7B_,0AO9>EYSJN>05F#J/3?D.J&ZW>F>=<-"+_)U^P^]7O>*U^?MEV%&WCEQG8:\P@MYM+QA:AJL4HD/*,BUKL.TZ3GV6MVU)L#&MZC;^9%+VF-TI0CQ'-Y;BX*F&0)@5@D M"8QR1D2,DQA'H44>S(7RKDZ&3:5#O:W%X??);*\8JF&?M/L4F::0CCSX)6J3 MNF1-T0]]K.['+">%CQ;/_[Q;50UF_0#7^W[5HGJ'<\3#0(B80!$CKD9#1;!( MHA R%D5Y1/(LBY$9*O,5W%AX##-G(>D#W@QP-QPJ?H6&]1R';ZW9#2>_U&PS M Y*W&>BX.P,=[W"0^?5* MDR)A14R,N@VNX,5S5-G,LJ_!V8 M GM<@9ZM ?2K.\?F0!6.'-LUG$SJV!RH[-"QN5C2$M:P7,H%2[SXO)2A85-V M5]_^M>3L Z_*'TVH6/?0]SU0@NK/?JAXTPY7WZRWV=%Y0% 2TBR'48A57U64 MPB+*4ABF-(Q2'HN8QD;XAPZ9\YV&7%6\?%B"%BR"O@"QJM0P)ND$6[X,2\6= MOA<]K_A:VC9SDULNP8#-&6@8G8$!JX-1'0-NP8[=& M7;(V+1:D!Z4>@4;ZH&$!^*8<1_U^L:IE_/K[\KE4>')-+[KQ@'6-I3P[QI8# MT+"@!NKWWKW>?!]B'M3K02;8,4.$TM#3N^#PHR,R7Z>JF0Y8 SJ>L M&TAO!R*GL?YT6'+ZPNY!RAE\S*+]I@LK:VU2K MK@TCS4+.\DA 7""A[B "B 5)85&?7)O1YV:]9NJ?9=W>_;37KJJ7(0BVC;48FZTW7>F0AY5X[DLWG+0'#FLEN M[SOT2B='ZTE- R:&C(S\-XUHN9)_EW!:>VM/2U>UBFQC@"Q3CYD#;RG M$E/U-TZY/#7)0.DK7\]IAG#""PXSIOK\HCR!6+4-19%(. I%&A9&;4,GJ7@. M5-[CJGI1%>]-O9DJ>L<=%W(KZ=DPALX[H2Q-@[M6!8:&U\NZHS<#6*S5+-3% M8O57,YY,;9;O*\[*=5,)YA0+[[RP[D#O3M"8&MWNO)@G8.Q&'K9"FM]!<)HC MS!]]UG=J8;$8 +*: */%YP2)_ZL. ?X M\.>?NZ(&YNMJJ;!VL.I(:^^D^^JM( VX&C(.BZ101QDV M0Y8=)^?9XMIT>C=>? :6IB->+NA*;]MSIP$S@VR%'Q+>EJ1TM']U7'!R44B7 M-27GB4U?-G)1\).5(9<_96;AC)?SC\NU:@ I%[SJYDF\S-,(B3 +$HARKM)P M D&2107$-$[#&(>IR+6N.<^L[]F&6XJ@(=G/)=%LP#RGD'&[=2"FF:&:2:AM MFA?D&-DUY2=;,Y3_V%G?N?4F,;<+PO3V=>DQ*TSD.[[ZREC41>*,+,K-SHP!48> M%=(6%OGTHE."(H^*=0")//ZL)<++6MIR P;9H/*'/(D$+U(8YH+!)"LBB*.( MP2P)8A8$ N7$"+YU?WG/QKDE9C>^X$ 5>E&HO8!F1J(W9ITT]E3?'BOSBN/BZ9FHP^3R)>!"P.81SEA0)&1A A MSF%>I 7/DQ03IC7U.+N0VLS@K MD8VBR$LR68629Q>=+)Z\)-8PJ+SXK.VNMJ+__,:?N\+9NVKU4.&GFRVX31N; MA/.4!XG@#,.,%&%7J5J$#&(2!2)#G*0D-=ONM.AZWPJO2TXP#<]7K:,>$LC+64VMDVK$=UXOW92!7'&[?9 MQQV (L?=)4&.2,%25$!$TP0F5+H,$F<:!C25V (L?7@R);B.X0%'G5:\,7.')\!3AR_.K@R+$!./+A MLTZB%O9A4Y7+ASM>E2O6H+K6\QQS)D.3'&)$ YA@FD$48P%Y@#(<9+S(8F'6 M+7V9J-;7\YJFZ,$.O!)-NV"/60A^*9<=ZN#Y2Q5;75I%*;;Z<1*@R,-'0QVT MY&OZ3U^6*K0YA[_?,>77)3K>IZ% M&90HQ*\"QH7T%(0&/,R-)JR,Y'!E2!6O\$Y".KDW3\+&2 M]&S=@>AF!KXGM<*&>'=):LO.WK,R.>W:/:;R"AVY9T4]W6U[_G'S2RV5H,=/ M6O6+@\<]6U9S52/)Z-]&]6*,&XVE!&8&G@G M=/@GBQ/N./C:MHVQA\!4%9Y417@W2_9=[F^+[5]4UN[#AM^H0M#;)5>YO/O' M:K5Y>+S_:Z5^DCM5+K#(1 IQEN4R>"UD\"K2" I!>$Y(F*>!5L'$U(Q[-E!) MO*N?E>3;//.Z90!(#II?:.Z"D[]1C>/^&WU/9FYH! CSTQ8(<]=#/@,[+."M M0$!*!%J1MG]N+A-F0'T#;O:_ ??_(M\ @^S'&_TF7)U1$5OH675\9>JK\M1R M*L5L*N'Q'FQJC9O)@;TBML;^HM[[:MFT_C;_7O_EK,GL%70_FNZ9DI_I4DBO MH.6]M-1KT+=,==%'SC8+?BMNJ#2_3=. .8[KM=?13UB4B0@1*%@@#[U<4$@" M>?Q-"R1/O$D<$9(97=Q=QX_O"[V..^5?!OR!B_!XACFS*U^*9D)M.E4;9MML MM>P%E\&QNESEZZ[D9MIDGAO5'67Z'"UKYSGOY(OD5<59DW!L,XN[.\^Y2 6C M.<>'L;,#N>4F1_07!!CWJ^ MS)UV#-,B6\5TPX5:TH.Z!9?#UW5D=#9W?938Q"/7=00_GK:N]2D[X_^\_,'K M=3=9'><)3AB"A(=J.G/ 82'"#*8TRY*\P&E:&*'L#=;V;-8#2F8V.Q1?ST M MA3*S1AUYC,WN!.>.;&RX\J0&=4*D0^LY]8CE"4-9WCMU$S?L2KBI*@4?H@B\ M>]D]/_[V1)Z A])O:VM6(B=MGM43]FUQB77]>MG=[?^?EPZ,Z M0[6=$,T?U?%I![N81QG/<(IA(HU4&BHF$!."("_R)"H0(P*934I]*Y)Y=A,- MP6Z+_^/[A]U 9=-CS5O1E^X!Z:WPZ_&HI?B'C0 '34,[*0%Y 9:D16J7E\ST8N][5UJ'FDRL5Y@0-_CG>R#B7%O)4*D@!&4\QYZ'(162$ M;G*!WBNEG8;#KIWFG8:JM$\\62K(3>9I0-QOZNF$E!YS3T-JKYY\.B&Z3O;I MU,>N@,9\A^D_Y?K;:\:N#8+F21%E!84D2QE,@E3 @@4Y1&D8A2PB/#8#.!JA MY=G\&\J0-*0']_06R)EG5*5GXHX48&;>K>PMU4'!BT/4,0/Q7()NGJ$T/03G MN,@G 3DO?,3.EK_RM8H/[JK5CY)Q]N[E#WD<^"Q#_0XYZ8:NRQ\-N3G"*&.$ M%Q %*8$)B0)8Q JS,Y;VSEF*0AR88.#JDS:R='. W*]J.I7D1#7(-JRHG,,. MU@MO^3"S?0/5ZKD"/PHS\PQ*5XH)<#?0U2^*$5 N?P5;7L#-9:T9.PMS!3CR M'0:$)W4EY@HY]"P6*UQ7ZK,2G\IEN>9?RA^*D(Q('DJRX"WD\*?->E/QFR#8*,IPR=R$14 M ML[#A%NS8!3TH=LLQ&+)\<0JO_Y>GF?Y^I5=BF,%V\S8F*1URJ4G'=41.6'N5 MHB*72CU78>24AIGW;A"EJY?YYZ_S#%&"1)K#5- ,)CR2)SLN4IAAE*,H(/(7 M6H-+=TMZKR]@)=;S],X\1?+29?M()'WW8!&%0-]6JS^^D_.'OAON%PV!7NK=_P;IPM< MUZ4H^U[>K]*DPNCWU7+]6,]QP C-8@)Y&E&89"&""%,,"Q:C- US7DB:73?\ MO<&H2R?<:7U%]SOV[\W-K)]"U#/;'@\4NZ#A%RB&^Q+9]0H0#H9L][WLBG$0 M1J!EW7 \IIN7J1>83/ANKIH*-KF M3=0?JZ:.6JZ_^L&KEQ:,4[.C^M1G/0<;DN1JR5>;>O'2EJ87]-K*^ MQ"# 7$8X*8(YY:JS(,YEL*/ 1F(>RY, (Z:3F\SH^\ZN/,IS%)0?? )/N/HG M7S?'V/M$.+;3NT^\%L=N*[ND4RI#[MS9*=:HYNFRR7 ML<"=^,+KFO-MMOD+QW4S5+N=O90T09"W.&8(@0@PG#&<09HI %4<## MH$C"5*NKR9RT9[?3$C?H[3?3V[A?\:L-,Y?2LC$;W".UG#3C5CM>VE_)>$(C M67JMY@QP#;QIT Z9X/Z1 _FALN* ;6>'JS3U[F)ST>A1:59TFFU_H[ *%HTT MKG 'K'0SBAQ@MN)TO?]6DNYU[]NM8!?\?5#P%;1LOEGRWPO>U @OV3"=++UN M0$*1)C#C00"3D%"(BY! DF2<(_F_TBN;1'PZ1#W[VR$+C0'@X:4,M[DBTU*E M7H#G6D&F4=V.^@QLZ3=J&G+@+J(SD==1&*=%%_ M*"JVY%I=)>?8*6\(S MN2&V=)MO/?_O3?G\-':(,5699J;9B2(,L\<]S2[BZM3@OO#OLG"N?[CJ[BV4X;XN"^ M?)+AT0Q(%L#O7^\^@_>K95U*)8R@'IAJXW*VU9TBS.STH@[TSD=F4X*U9+6; M%SR^]'23@[5$W)LAK/>)*\>RW8HV_"_QXFY5E\W^3NIUA>EZCFF"L9 !>99E M$4R8W'\19P(R'"6I0!E'H5%\KD/4=QIV.^:LK:MJF0 ]%^#/G@_;V6YC^M3; MG%UKR0GZK:1=R[2 MHL!Y0&"1I:%T#V$.<4I59UX2(GEVST/5*JM?MG],PL@9F)?GMT-%ZP'9?_M? M113F_]$$YFO-&]41#45))!(6YS"F*(%)%E&(! Z@*,(L99F@C.7SYQ;"?XVK M]11Z.B2GK:UW_*%<+E5ZC^"%2AA=K1[!F @IIY!B&JLO4 8)RQ$,&&4)3[(L M"$2GGH]+DW$C5RJG)Z9_5]WV;+K2B^X^<8VD9KM"N_X,W*S754DV[>7E>@7N ML-LKN/,RN9P'LD]@^OD?)P4\.>_C])-V'OS]ZNF)5\W6@.7WO$L8!#3G/(IB M2.(4P82B%!:(2!>5,Q((Q%(:&4TH/$G%%5$S SRM%ST;O%I:,S,< M"-K0\Y ]&97(D1&>IC&I'8Z*>6B*XP\[G;9S_XC7?U]M%NSST[,,VCX*P56? M%)>/?%.#;(L$%4DL$(R1VC)1@B!*D@PF"0V#G B4"R-<8CLV/-OSV5D]@+>, MR+UV_0_"O3S./<78 D(*Q6H.&)] R!;9<-0]^ M_ X1NL3$6Y@QI*DHS1%$NJM=B[T^TEW4%ITJ=/4B#2.(HA##).<,XCB-(2^8 M"+(()3DRFBVF3]IWGDF[?>]B^>JU.M8\37C1G&'NR9W2KH!!UY7?.>+Y1<*O M!&ZNJY#S..;:*USK<"YBT]7GP.E:6XFH//9D*(,X$ E,!.<0(Y'#+*&,$9() MD9I!J;KB;$)WI8.=68^"9U[KTJY]BZ8>;\)W8^\0)W@M5SA-1RIT[E.OY>N5 M7*XC=9[WR*X(V*:BELV=Q-_+]>/[3;U>R>/UEQ*3 Z M3X,\IUDAP\*8)@KEFD+$*($B3PN14E2$F)KEJ$S(>W:]'3V@O@Z =IR!OR1K M@':\S4#5/;2+YDUS7$8*UTU^^5*C:59LJ+3W6Z5M>9F!7LG?+NO/(F-FHP9G MJ30CXA/GV&P4R:,JS=R3>RV:ET3:Z<)5G:0A]6F+)^U4E)@/6 <[WF= 4W*\[3DWYV#]:M?1W[8$Y.3NFN_BC[TZIZI M6>(J[(9"]G@I'=;F%D>E+M_6H(3,W.IPR.P!G:GS@[!"^:=95 M<_G XK93B"MD!4/JTR(KV*GF"%G!8!=+7\0)RDB&8) 62/BX(82Y"%O"" MH330!W%XJU+ZCGX'(TB:#L6.1U7LJ28G6@_+>]-*U<&Q>*N\>RSZ/7CW,_!7 M/]H.=Z/M'IK1=DR-MA-JM-T/-9>K^8ZPU6*!J_K_L>^) 6K'6Y7!Y/MB!Q#R M336-U\UUY-$7AG>L-% @S?<"-@H ='BEB?>G- Z?>^YN-'%SHZE6:7LU0#D8 MU+C:#6I<]8,:#SV9*P22M_Z>1\%.WBSST^&JO%D5'$1Z_QK,VHX=WYZJY\Z?ZJWS9ZJY(;CSR MHY^7,OJ1 LPYRY(@"2@D C.81#2!",L@,4Y0(AA-\Q1ADRXUC[P:Q7;F[6Y= M HTT[$E_V?RT5@R:3DGW][;T#MAOY!V8A5-[^WEB MW^,6].RZG ?O7:?.YLO[XW3B>?7>57Z8)YB"I$5.X>/3\V+UPGG3]'8G#>A1 M;F!WTGSNY":C M '?BL^+LKF6FVX]375 7U'XIRA),@P9S"/$(%)&D>0Y&$ M"QPRBHL@S2(MP""'/'D^KW_\?G<'>,>$.FPISE2(2WLF-+MC7+X&C=/T],HU M<]8.F9Q>_P:GU.G?P]5G2M7Y];SE3EWE\4Z(_UWO3&'O/-GT.E%Y&B0<;.KV M#+@SD)G\>[7:/#RJPZ5R:DTAF6J];2!PY+/RDSV-%BX /'>J L^235='2;7_ M()(6"NHXRF/,"6*!2=7%"1J>??#7U1I\V)($N&[*!-KD0Y]&-)Q;?$)/>@F? M*Z4WE'7"GTJEI&=4V.7#4- M+*ET"G@/I(^Q2!":A3 C0023!"-89(+#+$AX&"11GHC8Q'#UR/JV9;[N$[[; M"]E_-S->3?7IV;-[I1A>;7?T@62@;9@$^RQXP3DTD]J1T6L2G=0/F"GBT#48 M?MK.6]Q5:IS%^D6= ]?J6JR'ZG[W4(T3 U0J_0H.G93WQ9+1^Z3I7[O3X5:0^2NF%CCXX.]?R%8\T8'K9L ME6+L( S$=.0=="A.ZAH,5'#H%TP^:MEW0\OV>F0WG)(.;TWN\<\A0N+]JJVY MG#,D8_\T%)"+.(,)8A02C*3?"#G%(<)Y%!FA=EGRX;L4^U%5(<@X VR6%<>+ M!G/J 9?+&OS2=LS\"E@[ [;+X98KPSYFVQ>@YV4F4*N9Y[E]_WG67PJH">7*Y6SC'RYX57'69,6;.*O^7-<;SN9) MC!(:YQPR$L4R[,D%1#3 D,4DXQ%.D8R!S,*>BVI0-L2; M,M;V-YJUJQJZTPUW7&C$S-?LE/&]549+%K1T7<8XEV1S%MJ<)31Q1'-)X.- MYN(G[(RZRV/UR2TUU*EMJ9>Q21905L"4YC) B57AA/P%+/* B+2(.>/8Q*3/ M$?)LT'V>;D#7$I/@K*;T#-B%_&;F:R6ZL?%>DLN1Z9XE,ZGA7A+VT&PO/F^) M28++ZF^JK^+S\GFSKK_P'WP1==GS(D=9+L- 2%+&81+A&&*6,HAQPM,\CSB. MC?#J1FCYSCPH4B R1 X948V>H3H2V,Q6%5'04)V!ENX,=/+[F(=V64170!\C ME*8%];@L\A& A\9'S.R7\7+^<;DNUR\?GWBE/,-OU>JO]:.J(,'+EWF"6$23 MG,(XS E,BIQ!).T59CS/2(8XX0G1L=T+='P7(#:404\:M+1!1US/G"]I:MR4 M'(E@)[JV 6L*-C(63:[0VJW\Q\Y<+ZT[B:EJ"M>;J>[C=EOL%D9,;==R M[3M>R9/UDQKF+?BN_QM+5K(AQ9W%,=IP!A#L(B25$;1 M5.[+89["(!$1XP$C<:1ET6[9\NP .B85QE[')ACP"7:,SL"VH;3EM4$U'7!K M!QOKZ-WIA0O3OQ$SES3ARS".0]SJSE'(XHBI2:,;MXH\#(0.$L"S-0F8$"ZM# MU+,S'< #X@X><,D-JZRT=%=$2' 4,#7Q*8")D K$.$UAS'$2XXRW@Q=,NB(= MZ\ZFO7$BW>EM%:XU8K81G,"95#5 OVQ9 #T/YW/;%BV$^B([ZP74(#EQ4Y^^ M$HZ[\PP^>^VLA ^\*G_@=0-JMFT+[\&#/B]/SA3=[06[4=:T$$6:I0F40:^: M("<2B$5,8!Y$-)!_R+)0J^G.&X>>??80I/^W]K;[2W?;O<,E;OM]/ZVJ!K:B MQS2NFQZ'%NQP#,^P5I?J[6-]%[':@9>U+JJ*O[>OYPQ?]9V:>=QMF)TRUKAM;>M.E:9CI7(TVP!4VRG '1F%$?6J M"1O5G "-L%K&S%%QRN8*(9U]_,GI1KG+6R%**BE\6N[B#0V/H[609__2T =; M!D#/@<*M7JV7*UU8!CVEC'L-Y_HP\Q&752'C*9>1E)&\([Z,V^] KW:=\*9>\@9J9"Y'%M @"6"2Y@$DB,HAX7L LSS*4)D&0 M!M/>J6Q9^Q>Z5U$\@X;IJ2]7=B]RH@L6J]?S>IZP\;_E5&;O=_\<4/_OMJN7Z4 M%DO3,(I% @4)B.I-Y9 0%$(141&AL AP:%09:LN(9Z.67YK4+*2QUJA> #.% MGLQ<@"F>38-D<[L\?T UCD>NU8FCZ,.:C4ECC6N5=1A97+V>ZTF:?]1<;!9? M2L'G88JE>V($9IAGTDDQ 0L>IA!E&(DD8"')C?IB=8AZ=D@]2C;H8+*!H@E^ M449EVD:FI4(]K^1:,68>:'0"Y@RT+#2*FF+DY;'$WN=<#DB^D>&6QTK0GVAY MXK.NKJ1N**TVG/7^J>3US9(U%]\[![;[VSSFB:;VLR!I&5AN(=7'#9:2HQ_D^7BQJC>5/'_8X3 MPOHH$QJ5RNHRZWBUR2ZOS@HRO*PZ_Y#E_-3ENF3EHKGZ^L[EEMG88UMGR5D[ M%N'I>=.BQMZ*0[2Q=R^G%VC0K +*4X2C&!*D:B%1)@\T@6 PSY.@X"S)*#?* MNGCDU7>L,B ,=I2M<,1\OC&]@.6-O 5P.\J++VOV$U5?5ZR^W*] MT KJCC_EV1$T-/0/6 <273Y=V0MC9KWW%6Y:U@9S+A5P"BM_E&R#%V!<3J.C MU6F1K,Y5!TM-=J@Z+<+P1'7F"8HI^7^-JK;=U3\2]B6T,@1-V[_;AD_^)O MMI= ^[U^;)CXEWNI>C'B&WQ-9IM3PQULV -#$8:[E1IB/GRNDP,T@JBHM /T M'0@S T>-\U0L^Y M"#->X!P&.8IE?%"D$'.:PTCD:13$A!6QT5WP22J> _:&%. M+4-D])-*T?/! M5XMJYC&/#N$?+PAL#E8^)I K*/*3-*8%&A\3\PA&?/1AE['_/ S3-&G[U1UY04XA#C) UCD:N-% M 8X*+>@M0[J^ZQ5VC'2&OV.E[6D'#3,&XU,-=#IN]QXU9>8(=)5T&_6A+KW4&9B'1L2[THJ&K)#3S?T/A/*"UGY7$4:!SO/ZD,OVRIJ:8:,IB*)(2Z"&"8\ MX1"E.86,)"@OPBB*L!&PG3D+OM,-:K"A_-P3>,+5/WD[.ZS>\F%8I&6N8#W; M]JLV,^-7% >E5#.P90[*S0(J]MJ34,N(PQHK:R6X*ITR9V#:BBAK!1T5.MFO M9%Y%L+O%;JH1-:L(]C_EV4OLB&E.C#XAU[BE7R>2F04/R@99]^J;N!@ MJ!3!(.#:3;DA.1WD&6MI $C>TFQ%%7;8B-^*;V92MY!;S M@<8$NV(\T,EE)YX.-";:\7"@T:?M#HZ'A>R[]K,HRA C601YS%6S3Y%!DLN- M*PPI"K*,"HZ9R?GP+"7/)JH& W2PXI)T6ZAB=O8[KR.](YX3R0VMLR.Y$]DQ M"J6V;(X.:.?I3'H.NRCNX7'K\@>LP07D-WH+KOUE18=C7$.1"I1G!6041^H" M*X%%+B//#&5QB%%(8V)T13U*S?L!K;'=+7'04[>+$0,2:ZWMXY2\6Q^0X*&V^BX XVM/8H):XO5&J/>P1=76!U[3JGQNNZ[?;>IRV1R %R5] M:?]W=QA+$Q2&!2$0DR*0NZ*TSB(BJDPS#'*6I2&E6BB^AG1][Y0[1E199L^* M0=F1@0K'S=>C8@RWTX%.;GIRZ!*RX_:[*JT=BA%3:$O MI:K25Q6L/[=Z$ZL*L/VO'>DX=E6A9:Z.T0HM@^6FJ] REW&O0LOBX^9ASN_E MLGS:/'752 %/!>51"$-24)@@+B#""@P]*1)6A%%2L$@WM-E;V;./[&CI!S#[ M8E\.6JR%,?-K'1F'=5=GF;\B+ME?;[)8Y*08P_CC] -VZ;6#_JZO&[7FK6A2 M>,,^L!M2-Z,NYUD6"E9(JV$X5:>""$,4IQPBAL,,I1')H]PDXV;*@&<+VW9K MXJY;LVG-K<%&%?.6RZ:%9-/L(:I]I&SS5-L67LW*"FOEZR7M?*K4S,Z/>E]; M7IKY*:U>]UIE/RA8(?GTGSUG#M-\MDIQE/DS)C]I,M!6.8?Y0>MU[)S77;62 MIK=^N9-?NO7-DJD1=L\J3/S*UW.$1)3G-(!AG*1RCP\P+(3@,(P("3*",4Z, M&DG'B'EV2CWI!JN6]W0MYJ*/*BRDG.=Q+H^562*/E8P$D BINBAD(6;R;R(- M3&;).U.8^0SY:12FYXU=J<',\_949Z"AVRCBXTX17T<48>Q:=21TY$9'24WJ M,G6$/G2/6I^Q;.'%"UZ_?\3+)5]\*"M.UXN7^]7[U;*6Y^:JB_]3%A0LE2XQ M4FWU29$F$ 4\AJE0(]Y100)J-*=!AZCOK%%#UK!A5T=7>L;M6@-F1MY0!QUY M%3ZU#*A.M)X%#ZTM)C*[:NO5(3EMDZ^!$HY:?DT^:^D.ME/+3_<7-PTY'=K' M#5V7/\KURP$J-XIX'L61/./)$Y\,!Z3'*$1((,G2B(8$1R0QPD"^GB7/KJ1G ML#F=-&UA+3>@Y\;0RUS_"C1]T*2*-?10E^ &6KYF6QU[ 5MWKRE7?NUZAJ;U M>LX4>.03W:U\K<>\H3(LJS@[/SFG?O?R._['JGJ_P'4]N"5! 0G5#7G3_)!D M&9$>LXA@FA<9S7F*6(3L/*8M2Q-ZS/4C!^]Q5;VHW-C?\&+3_/9P2I1A,Z*# MEV+J0Z=0M:$/'6BYYPZ,SN*J%5!=PR-HF)S(J5ZK.N=.U9JA5W*JURKPO%.] M>F7SEL@&4.[CSXJV,)*:+9'[G_+LOS21&"^)-NYBKI/*S%4T=)P#3)Z7P*HQ M\F"IR1HC3XLP;(P\\X3KR9E[IM;TU<8\C8(D3:! *(")/'9!S,( 58E M^K,XSR]A"4:$Z\OJ_7O'*L_L9OU]@-?RB7_+-FJYS@4 V1%QLSB?;J" N(A)0QF$4Q:IT'@E($*$P3J)('BQ2><#0@GDZO;QG MAVAS!W$@OYX[LI?*,.'79@-\A#VG17 %0[B_^+00@R<%.X(///V491[\_NGA M]^5SJ8S8>-S[V05\&TN33+XOG]2-WN]?[SX/-B_#7/E)\373YM=*;I-!/RVT M8V09+0GM,^PG5YTVV3XFV%'>??1ANZWKM]6*_54N%G*S/,RW#;93,\]NM*:_ M[VG/1A,^'J>'AU]:#WN#E1(<;1UFM"?=6:S4%-H0BREAJFQY M_?)Y*5EHFG+KV_4CK^X?\;(KT/D;KU43R)*I(3(*:O]^I7XU: !I.T/F890$ M.>,(,J$@)G).(0EY 7F2R-,X(B0.4NU.]M>7Q_.&/*#7-C9TW*AZWQ^2GV:D M9-NOICE+\HWH3:<=__6Y].?,/QZ\R!E8;OODNO[#?]E7:P =\/K,Y9 1O1\>C. =O@,WI\!/>@+ 'L-063\SS,BBQA,:0<"9A@GL!"J):(B+$H)&F6ID85O5=S]!H7!DW= MZ7&J>C13W3![_66!X>NROBKP]Q(<7!1XT+^+2P([G?F[(C#DY[4O".S4IW$] M8+FPI8M=5;Q\6+YO!JC0EWNY-]3R6"J=_&^X7'Y9U?4[+N0S]_CGG* PCTFD MCGAQ<_]*(6(9EV>_I,ARF@8,IR;]Y0:TC=RF>;OYO?J(0I-2_*CJI4>U10+Y M/FHU7,BXZ]Q$JYH^SX^N#'-6DA3X11'[=08ZCD#/$ACP- .DX09(=ASZ,',= MN/)6!I2G]4OF*CGR0!9+6*)]M"%F_:V=MWF_DDO^O5P_/JX6*F148YY.3V*F M!:&%$#E,1!["A-(4(NEN8);$ D4T%R1)YDO^H%;5 \AX[ON& M_$,>G>]7-T^K:EW^3T.CA_D@/,L)2B$G+())AE-(BB"$) UH@ED:X3C6SJJ; MT?9\/AU<=.'VHFLI#T%URX_R<'C D4&>U%#!&NEJ?VHSGT_E$B^I KQK(0M*7L]))D*$BQBF+$]@$A&%/4ND M=X[20."@2%.2F!R#]4E[/@6K^5-4E>+W6)FB9P'@+0]FT:6!6O7B23_*,G/) M2D]-RT+/A6KF^^6/5FF_@BTOX.:RUHQC1W,%.(H6#0A/&A^:*^0P(K18P<[) M?.""RU,V:Z?PR+BS8R,JG+/ MD_(&UVULM$F@CFM+S$V[D-_,+6]&[Z5?J@'G3:< I7N-EX1S9_ BA M26W\LL"'-JWQB2OO)-L%^[3\[?*;&DA>27=!P;WGQJ/M.#.\9/6C:]EIQUBMS1'E>T8)LE>+ZWE"7_.M<$QHJY^RMH.DZ MEF #JZ>GWR0<7JSGK"..=1P:1'HZGJ(%)#_8HBA0%F M<5(@%+)0*SUE1]ZS/QLPTSBL/78,\0S,U*KGE/PIR\PEC>K)7\_%=6IP!;]@ M1GQ:H 8KQ1Q!.MBM8GLL^L$7JV?.[CE]7*X6JX>7;VH,0=VE'%& $4*8P%QP M A,68$@H2R I!(T*'*8Q,YH1?(&>]P-21QVLM^1-#T?C^M(](3G3@NDQJ5? MCC)H27L N]84T]F!:9S:Q*X[FU->I#CC MD,8%ADG"$2010S"*6(CE?V/.C #43I/Q;-HWE&Z>-NUMO3R EK0T3'N<48Z> M05\OLID=]_1 3]"#]8[+Y,AHSQ"9U%;'!3TTT0M/7PN@_/'I>;%ZX?P[KWZ4 ME)^^#[]9++KIX;="'DM6#\OR?SB[XU6YDL_5Z\%QNXCCC*K2'9'P#"91)C?P MB&)8<&G5(L8A#8PV<&^<3I@K:?"PNV*3(;- E=0O:Z[N7[9X/+7ZQ.TSKYI' MK#&87;]7/;_T)MZ6F6N[B'K?O:2V^><]?B[7>*'8G*GK^(U\>AK 9D\*=8[C M[)K/5X)W]J3N\ZC/O@A:@&"P?]ROOJZ6=WSUE:\4^4]+ N^RO_N>=]/J]5ZN5J;X&.,:F;<13I5BIF+,]2'#^@,'<'M MX#-&5YX.0D-'P#T8#:T/6*) 45KQQET,2F=NA,NEQYPM4_9;BM=O-:9=^;NRN+*VW+%Z 78WE4JIUWV6KSER%'ORKE;IEJ M@J>>K1D8,.80!.LJQ;@"R[)C8EI0K:L4=02^==UJ=BYN<+KVV:VTQN%%7 M!E4/V/BW_U5$8?X?77^(F;^ZJ$T]S^121V8^Z,N!8CZ.*\'8M>A*YLB)7"0W MJ;O0%?[0,6A_SC+*^8'+A=JK51L'7O /G*R_;W?MSAGQYEC4W*#/"8J"$$A%% MUN#[(*;;L@;%JH**N1G0U*!Y8&*I!E;17_EJ([&QX5 MR)'=GJ8QJ:V.BGEHG^,/F]]>W'%>_5:M-L_-D;FY1FE/'=_6RYNGM>[]Q85E M/)N>H@X:\J ]^0\8 -_X>E,MN]M'_1)Q4D B: H3$F8RH,8!S+(L MR#'!.^FHF(=[Z?C#EO%M'SQ_X;CF377HK?BC;MM5 MYB(G$4LI@3PN9)R;"WG(#:1U%KB@ 8E9D.5:H.!:U'S'N]L#W4(1KP$$E6) M761MZ@X]PC#Z'56>9A3L2B6&T?!6&PW=65NV#5<"2MIME.PP,-:1T56 /$IK MVD!91^RC@%GK0[:S.5?TGY_K>L/9AXWJ/6M+BYK^M&V!DGKF3GYK'B7Y._F= MF6-2A#0/,"QBH>[:"ODOE&:0AC1-PP 5Q QYUXH+S\Y!L8/E2U7.@*Z>GE;+ M]O8-K!]E0/3P"'C'6/?KYXXU\"R7,1WT:?,2])R)=]6:.9F&%&CY 2U#H.5H MUO? ]ERU5;2@YPOG58F[H%7IQ-E#4AH>))XU>H:;C$:37+&9=&J6.B8K8 M:E&J'K=MSCF,$<^YX#!+9!23T)1!E-$0B@#A,(M8$B"CT-%LR\BJ4"; J.+LCFKJCH'*&I"XD,]()8 M>Z9XZ5G+XEU>UYSOYS&V\R]VF,U/N%S*16_%I[*F>/%?'%?SD"-"<$9E5!X7 M,$G2#)(L0K (\C .6)H3GID$Z?:L>+9RA?\*?JD:RLU@,35._FFU7#_J#I5S MH&V]$'\:'9JYBY:G&3C*8FX9FZE>*,+!'2[9#&S9:]',%(- <>BPA/AJ+;DJ M+K9G9-JRXZL5=E20?/V*YE'&?<5NJNK#INWGUHTM]C_E.V&P:W<&/4G],.) MP,O!@[UL9C[@OL+-3$8C\8Q"A-.26 4&!TM-%@Z<%F$8!)QYPA;_::\J]Z!F M]X]EQ=OF>C6+YFY5EXKD_A"L79@:8,[3($60H""'"<\2B#G-I5[CB%-1%(4I M5I0SWCP;[!!?![U\IFA5 M[MZN7NSQ2N_,S!%I-1^<>P.SXUF!?J F/*C2&=*6.\XF1N5RKM)C!"_W),Q< M.^/E_.-R+4.H&\:D%=3OY3]OJ_O57\LY"M3@A"B#"(48)H%0%= $P2AE"8L# MC N]X]H(#=_9EH8JZ,C.@"(LU0(4:3WG.*:?<2?G2&K#1(N-P-K.1D.DD?!) M?KKU%_(?.SS3 C]H0[6< M_+3O,X\.[7 M+Q_PFN_U'LY1BD@N.((9S^66&),88L$X#%*. AKF16A6+.66/=]6KVK4(,'T MG_)KOX-8N:Y9^#TU>SAK]'S-P%\MNZ#E=_L'H#B>KB':C3(]M4M? MR=RK-E.[4>RE5FM'5"Q+5E6A.SD"RMOE_-Z][![IDKS-/G';7"K7?^/UFK.; M)5-MH;29$JI^=;M9UVN\5 G$OW-58RN?^<$K_,"_]75T_A M'.5!0!(B. M$[ HA71*/QJIFOP6[^125SGJUTV+S0O'E>D=V=O1M&X=[YMAV-]6-D1FW;_T M'R3TRW#!*(,[C"*9YF.(DX#&A1KUN4S'N>?,>O'&PZOTMWS'1 M;,I-OZO5KCS%FS78<]_8^WJC.^I IAEHI7*\64[X'EQNA5.P/?U&-^'+.+F- M34G?_'+L0S?!_E[RU%[ ?>//\@ \1Y@3$F<"%G&JBADYA21A2/Z(61@SQG*B MM:&,$?'L_'NR8$<7M(3U+\?.ZN?R[9@+J0WS:^8"&UV.79+(ZG;L[**378]= M$FMX/W;Q6?L+LKN*LW7UM+2Z']O[\)378XHPEXL\J3E YI=C^T+KWXU9RWO% MU=B>J%XNQDY*==6]V/Z*DU^+G13HU*W8Z0OWCWBYY(O[M@/^\U*] M-\Y*7+UTP\RB@'/!XP1F82(W.)HGL.#RV)1R(4)">,J$$02F%E7/EGF'J_5R M))R]0EV:QQ#72C \0RCRH*,_ QT'8,B"A^%P1D*["MBU:$X;;9NHX2A4-OJP MY67Y_@P :?V5]#HM935GMJY5T#W'E+ \B5-8))FJ"RLBB.,LAYA&:1;AD"-L MY!CTR/K>LP=,@ X?%U2\G1$IC\:L8PM0-:G)\,Y;3Z^:=]G.M66XXP\5I::$ M](KI?,N.!X=7SD8RN[I*UB,Z[16QD2*.KG[-/GT%"I&,^7O8CVKU4.&G;?[X M9K-^7%7J^GCW3(O^&,XQBM,,T0B2G'"8Y$D.I2LI(,ZR, U"&K+$:%Z]/2N^ MGE=,W291)N&\4P#*[0C"#JN9H.+OX&R!P^Z M0AQUIQV70$1VC$R/1G25PDY"$EVWHFV'X'USZ&TCDE<;649C[A5.>@MM 6'81G!+NBD?!PQ8G["<\(=-Q6>.Y!N\!! MVBOEG-6?)$LJ)KE9LK[L[%;LVM]V]6KS*(NC$!,,<9(0F,0XAD6&0LA8F,4$ M)XC&1NC"QAQX-M4VHE:7=$_;LCP579WM\/0))G7?T7P+N#M'55V)CZ])R (Z68F7^GC^^M/EJZ@\2".[/7 MD,Z1P8]1FM34-40^-'*=C_CH%QR$PWF199$T;!@*(6T]B;"T>D8A9A')TB0/ MHJAPUPDXV9%C!U?ALJUOH+"(PX3D5*(&!M.\'/*@#3-/J='".%4KHK=SE3;9-]0^>/D49?QY+Y.?*=T\;9I; MUP8;:8>!\ALNE^^X_ [Q>_QSCC,>)8$,M2*42C<2HP(6A,80*R#)."@HCHS@ MHYQPY=DW#T"&%-DK&Z_M]&[GAKQKT[F/FH$!E\W;9Q:56N5@/^\5,VS#?IE5XE&"QQ105)(TH+ M)&<,HKS 4' L8BYBPC.SPKVSI'SGOQ5AJ(J<7*2\1S2FY]7ETL"'W>K7/R$;3Y9GH#*9;GF7\H?G'U>KN57H)3? M]7:R[KN7W_$_5M7[!:[KFY]E/9?'I"Q(!8,X3J6!BXC @F-Z'NV^ATWL&$'[/CIYCN#/Q4;AL-P3)6LFY+VICK3!/6U6K-(45O)[BQA M;49]XO2UE6J.D]EVRUA?P#_S:OVB)G6M55/=?V_*YZ;ESFQJU,5UO-[Y-J1G MS82Y==O@VI/W,D9*6UAW=[H7Z$U]AZLG_HD[6\T/VF)55^4/O)9F\WDI%VQZ MTKZ5]3\;WQY&>9$FO("(%0@F*9:Q,E-8;AE+0D8927*C#72,F.?=++K^<.E7_HY5&>"ZGHN,<\J2 I(08VGS<0R+/!<0 MX4)E#DF04*VZ30>\>'8)W_BZ5 T9[2S;C0P?:OL+VVM4KAM"3Z)(TW!ZRQ3H M+W^[6]\!7ZHQZ$.YV#2^YZ,0G#;SQA6S/=9&$X+T_#HN#[E.:2X+1RPYF;ZD MY#J5G2PVN7))RUL4]H]-EX*X7WWC2@7E@G_E:\G2ZHDKP'A%N7Z4<=:/DG'V M[N6/6IT@M@-T;JC\UK8)R^T0W2 MDBQCD <*>&>U'5>%MVS_N^$EC8_7 MJGEG\\HOR\P_'[RG+;] ,@Q:CL$OBN=?U9\5V^!N\*I^4:S+]_GK8,;8CGT_ M\X8]ZM?5/8\/%J>]]O&HY*-;()^T+%!2%HNN\V70^-)?<.B"I8RLX=OQRI#I M1.>.P434406,^T"7LAOZL3-B.[SAT17.#D9E;.'IT%0TQ-L#5=%YWO_ @7)Y MN^1J0N$^IGT>%3F*103CD&4R# L#B-.8PA E1< D_UEA5$9\/4N^GHUCF(-/3A"Y'!Q'AFB6 M1@',HOU! _4-%/I!^SXXA;*+%W=8GF=OUN]Q5;W(M]@T0+%J?KLLI,/^MQ%BD[? 71;\5!>.H2X[%\OE^U8S _K!2VSCSC,0ZRA$ 6%PRJ80JP$"B#C/ XC4@DPDP+ MA\."MF?+;[A15WH[?L"?+67-Z@H;?8Z[!,]:,O,/5@K2=@Q7B#KF)>2R P\A M?]IY!QN*D[B**U31^XUKEC!S(O^]>*G/P''=,-:@@N/%KF>WQZ&3CB+*X^3_ MMO=ES9'C2)KO\ROXMM5F0AL/\.J',5/E49.VE2E9IFK:UNHA#*?$Z5!0$XS( M3.VO7P D(Q@W )4U.Z.]61E2B3\ .%PP-T_+P&%J 10. R@%#\ >5SPF!1% M6B1:*1IVY+U'%GO*PT)Z=!Z&SH56SUL3_[HR#>QMU#0 [GM?S^?(J,#64EFT M@Z]7Z^$-E;;#A[[R6@1)88[15HUM&M 9_)%O#/\!J._C[?4XS32&FLYAK3$ M,$R22%ECRU$G,5[@7;Z1'\'\,& M38\,#.<%N2]?BK@1V?6HYG33QTA=B-WQ;^*G#9?I1/7B0:63 ML9^K7X5D_YJ1$J=QAE.0I%D"8):4 )&T!!F.XSC'+,\CHQQVQ_QYM@7?R!.C MZ_;HL>E@UHG0 OX-^ ^V AC6C+J>-+W+GC><"C,;U3$Z1%L^KO:;[21U=[UB MWH8]DECY'^OE M^WJ-5WP][U'F9DD2$\[B!. 0YP F.00X0S$(4U:6&%..L1$PU#EBGHWLAG0@ ME!V0)1,.:3"OF\8";?:TPO1LHBLU&)Y&>WQ'X0NPZGO;$O-=JPB9X*?,FNP4 M\HO\0I<-FI\NK[ I+;PHLKNJPM.DIBXHO"CTD5K"R^_8YMGWA[![5-%/BW?H MI5JA^2PI:8DR)L'+PE"L\H@#S(L$)"C*Q6J/N/"_S%+EC]*9[D[J19 %U2(@ M+6'3M/7C6M);V@YDM[YCDA0ED.N["V);I'N?% M)N%Y>6Z(!AU5_9#3"95+!AT7K!AS.?" MD[;X4Y:MFV6A_^IU6QKV/+A"2VZ(CFQB7-6K606T#]9]?@D.SP+WPH] MLM]DY9S,1)5HFVWV1%;D91[R N1%B0%$, 0(9Q*!.<.(,EZ$R*@%Q'6(Y=FN M=*QT.,Y_?'L?O(AUI\J##:N#KT-=VOA=U\"L/U.JF >*^[V+XD$G'/P:#)_K MQ R4G#=!*^D 1J$)E*S!2@C;ES3?! -Y;X)>XJ 3.5 RJXSQ0 ,6UP*I[)JF MT1DJVE4(-3$"VU7(?,)-O3+N'/14DE'&C@7A$BQ))1B?I3'+2EZ4@-(X S!+ M"X!XF0#*L?"5TP*&I1$LQD6*_N^L!EU_6$=57C>WICU9'1^F]76NC<^*?;65T]D7;[JS"NDBK)'/ M9)GR[4+9MR5[$B9.8?:HGYIA!QB.ZM$%ZAE1,"Q##GI0 !^E_9;B.VOX:49] MXBZ?5JHY;.UI-XQ%VN*';_?W+8S+!DX9%QEG!&2XE%V)(RYV2!Z!@H8,(;;]1!K%JHD*@$=XK?G1R[ MDP_9.M9,1DRZ\)^P1LK);V%9WZV72S%CLRC!- L)$;XTXP F&0=%F(0@@R$- M,<$%9(:1X(LTO3O7B@/A5BL66G"S6ET0D):! "EV3-WKR\K4=;"=JLC4Q6ZU MT\>$I7+:VY.6@9N@8\&EFZTMKS-'^S+%B5UM;14<.MOZK]J9B8^GP9N[2OE- MYHK@0!;0/XAY8K,RPZR(DQC$49:+4WDN M)(JWY5YK\9?MXA_*8!FLL\+PG7(RKR049SA!?XUXFX*L#%JQ_D+QM,.Y^*L$ MS0:<_]\5&3N06S.]W ZB;TR_[LQD=S1.8C[^[QKRY M+*)56=>982?=O&^[Y$\.'YAJSO^@'Y^K>=S\<7+ ME3%+,8)&&9AF" M:AO$4)'BG>=<)3"X5NO9Q =GQ*9+F'"MGYU$"^>#3QS Z&ZI!C@P@LEEM6@J MTA:;X#+"E @G.BRP.,6'*09%C K 8(3"#,.0FW7)\L:I;^?[\7&I AK!AJP) M0)O_B?(-]BH#O?%Y%,MC2#"11/8-[4B?G[:0+2?,PVZ?5\OY UL^-W?\84G%,M\BG&F"2)X>P?,*^BP< MEJ6$LU?4U>7Z82A.'U;RC"8N!R#=*,%L<6G)'_SI%(=-3U:K2.2982>+1%X6 M;1B)U'C:OMO+9[9ZJJGQ:CSQNN\#Q+#W2TO:H%G2"8DOKSH'PAK>PA_*Z6&! M71!K5(.;_3$G;W%S0JAC36Y./6IWC:#5X?O0M1UD=X+QK/D>5U_&Q9:VVF)WI\#]H[G#D2>K M@?E1S\(RRU%*.1#G\@+ ),$ IR4#/(QQ&,*8D;NZ%\'#M5>];-7DH.9E,)C%\:EONVG0!F/X MCN^#TJ;GZG[+U1OC/A@[HFH MUY"D)WWB98LD;UBA?J@/O3UUE)1F:Z@74!%S"*)Z411G_3CWQY^X!><)\0Z[ M;IYZT#)_EY#U\WHN"P-5I/#[+O&M+3K[L* 2:'&6LR@B M*4<@91@!B&(.<"$KD', MO#B1ULQP& MJ%!<^*XQ58/CXB)-%AL\*- P-GW_0_"RE'%"R6J/Y_%4"_/^G M7,/M@C:.2^F,Y=UO'!Y&.E[:MA'?F[^K_:EE2/\(IJ6ART(A MU&4BN=7Y3HO 9.<^$W&'YT&C]\P7^CUCR]^6]?KE4].LQ<+ZN#!>WV>&\+RL M)>5 D0XZVA)EH5XM:MVM\Y(*+B]@1]*;K=MS@GM8JAHR6JW0<^-.MC UA!NN M1YW'S9=AFT1R2]MXJ_+=-%??X9O>[S%;4@8.Z@D)+R^N<<*9K:EC&51ZLAJM MI=,B62VA(\--MG).BS)<,&>>&GW7HE.FA35[D[,X0 M+M,"B5,C3)(<0-5DBHA3(XVR*"]QR@C.S""K7+&F]96/P:/ZG37-/P(TN,:A MX^L@G4^0\>V8?Z6/OBY[OU-N]WZGW&XW"MHS*OXF6;U1CVRX]7)]YD1_[N_3 MQK'U5A=L3I1YYL;-S?BV)1GOQ"!+-/^TH.SG_V2OLP*%91:&!&0)20&$&08X MIQ D')4X+#A./8\;R ]YD+ZK6*.NG%JLP\G)'S MHN?73*=M,P,R3M$>@MIN%.7(;1G)S*3.BAO%[;LHCD:ULYB_HJ9J[OA]BW.! M.I?H6_6X4/P()ZB%WA$G_?MZ7I&*-=O;OH(SGH<8 X98*.QE*'R80IC/,BYB M'&Y+K7DR%R.8F528^E":?NF MTLF8]HB#1)KCXU7_75;N+*=I%I>Y.,=%# *8910@%B$0Q1G.XK1(DLBH_8T> M6<_&3]4V :Q*:LB NCG(H(X&692P/*$@24H*8$A*@#DL0,@9B8JXC"#)9]_9 M$M=OI\,A^>O4HN95H'/-F!GZ"[5:-WU7(;<@C?H2.P1IU" Z.4BCOB*.@30: MO&T>X/M2+[ZNYRP*<1K)$Q6 MP%<+J3;]..!I15P.!SK1@=F*UA,_^%-RX2C:?E%*JT#AZ5$GBQ=>%&P8-KS\ ML)W?L\F>D8FIM]]1-6^+)[NR2KFG/=5S,5ZC:G$9W>1J<\%+D7 *,IPS !-> M@!+F(<8Q-7R)H3[T?#1:V^ZWKY#[.]W%ZW>MO[)!HSM _;%+DV MVSW8\-550:EJ[P%K-T''G)=<^-$J MK68LA3BA- )01OM@E"2@1(0!CM(R3EB99P4R1*DO;@=1F*[H36-;%]>V&?^F(GH;9L8%U.2>6.ZR6HU2F!F Y)^H1 M5)6SCUN>,.K%'WV!<9H7:29.!R#*J6P6)58G0A$':1KA.$QAEL:9T9EA.[;G MQ?BQ7K+JT7#]#477=.GM!#(_Q/_QS4/D^0CWKOSGPL2'(AWXN$<>L5LJ M[UDCOC%Y@W+;_ >CCPHYN.\YV'U'(0E)A!$#+.8Y@"PJ (ZR%""QJ15)F1&4 M1B9+2(.F_]AKQT& FJ#C8= ^U&S-Z>A0;RTZUHS9&KVD% ^KUT!>1ZM:A^*D MJ]U !?M6P.15RS,MJI8*/_Q]U9!YW:R7PX2 F.,B020&&"8$0)[G ,=0'&TY MB7F2EB4IC'JAG:7F>[,5M%NT?IDE( X1:$$JE9RY:-@]JSK-DZXKA1@> M<[>Z&!#VE FA):.K$^Y96M,>;W7$/CC;:KUDZ3.OI;VXXWW!N_))@KW_PDG6D]]4OB'OCM%U^P+5S] MM*"J"851S6KWDN]UI]U:XU"<\^MIE"1FZ^=(;:KL\T.K[Q5="S_!36N-DP*- MJ$SM1YJX*'5/@,-ZU/T'[+8M'="C>UF-52^.]1&>93PE/(=0%FAP *GT8=,H M!3G+2IR@6/PWGJWJ%9KK;6XC^3%:BANNM+_BMBB [!0%5(J_3;_?%?IIMAF. MG0&&"YY'8090"<4,B",%0)!@D,"BQ!F*HS@.S;+S)IP#J[2]:YP%/<=E0LV: MF6F*MA+6];JP9U[1YE60[_ MVJ*H/B@2F\N!LBQH O,2%+1D )(P 661IB"D-*<0Q2RC1@GN6KK4O'=UK2'#F]<=\D,5_:E8"+SKZ58OFM!>P)FHXN((U>MD21!J]5,+3J_ZWS(A>J%0EF7LCK-47(>%ZJ?;O M@B-,8(A!$?$$0%3F .68@B2DF)0A3'%FABNM0=3WN7%#R!!D6D=?>G;!M1;, MS,* >M"3#R1]YVD!B5XC5.B2G!;$V4,(!KK7)N[8Q6[SZQL18 MU:IBVQ3'C_52;J>2:K58U^OFC\62M9Q([^:^;BIII*+XLWCBJ;E;_EXO'MER M4!2L: 7 MX":(XJ"50:RVH)7B9@GZ9N3Z-M96-PGKQ,'U"=0^V$H?@JB=MN%1)Q: MO1H6>NR^Y&]UMW2\%&(<%\'1@MD;?-(O_+A@^Y_DB:@0"U' 3+GH5@+GD(Q)C/P2^O#"U-^W4:JUKSZM:C @WO:CREIJPM4MK"GY::]=+95S<,]J.XXM3)NZ=_DH MY.E/7?^L5D_OULVJ?F;+#S_)?"WCM[(01/R//J"?,YB5+&,A!GDAL898*,\X MB("($5Z&$8^BU*ADPX('SU;JJU63+AM=ZMD@SQHR,T/]%:M< ]OKE1^"GZ!G M2*)%="P%/4\R@.02.,U:(\[0TLPYF!@BS5I%A[AH]D.YZ.#RKO[&YJK=ZF=A M^-9+%YU<3H_IV;A8@ HWD2\0RF89KH0CSOC.S95FQH!9*8/J#SKO3GU_@HF'6DRF.:C @SAF8\_8%N&O5O:O4V(WVX)+*:\S!(,DC*! $I449Q&L5!6 MR!-2EBE/C+"7-6AZ7D9'( >^,,/HJ([F]+QYQ_HP6X('JAB4JGBJ5#&0UUE% M]V6*$U=W:ZO@L-);_U4[F_"Y7K#7SVCY+[;ZN%[0O@HZ2;(BSJ'8)+,4 8C+ M'&!Q\@W@3TG] M])=KJC&]->M G6UL56&0I79+.66[224(39R1=$O@P#^GB&V^1?23;GCT\ MH4W(>S^5A4'AK:>< !PGI7#:(P0*R%- DER<<PC3;6[S3[2)>K4]UN] M0\OE:[5X5'@&LP2'983R%&2PC %,<@9*R%+ ,Y27"4L2SK4N-HVH3N41$OD7 MMF7#B2NXI\!17J&]6APYB#5X.F-WGB M93M+H8#_&QE+$8;K ?V4H5F)U"N&EY;L:%N &8HR%,8E%*=&B $D',GS(P,A M83RC,6-1F)KYBS9L>'<#!1^L"9:L]116M:H3;B0O0<-6JWD+AU]S9696KP'Z M@9:T"7ZI%NU3IDEH5G.A9X.\Z==/OY"6W4!QR>8T$%Z?@@L=L!W+[S MBK'5&J,F1T;,BH5);=H8)>V;N%%C^0.O.%:%O,GE#B$D*(XCD.;B#\@+#%!1 M$%#$"4I1&B*:&K7+&\N09X_J-'!"\,N\K?+WB9]P=BKTC-^4"C8SA$X1%,3! M=B[F=R$6B1C&1W*_*T5."*UPEIVKPU;049X-N(+6N&;F]+_GK\WLX8F)68D^ M/+_,ZU?&5)^'>_&M/PF;+7NO=Q&O+*,8L[0 +)=X/XFL2RC%'S3.<4C"F'&4 MZEA, YJ>C:)@(I!Z%^%9_%/1,?T&(UBU*.LCPATI[& H#"HJ\ MB(4'2F0)15AFV @;W)0!S\;UH,Z+=BP$@DO#EO7&NM5T*3UJS-"%O%C8U;,3 M2'Z$$]ER-%%IUQE=3%':=8S\]91VG5&.46G7N7$LVR3OA3.V@0X9]OB,5MV_ MY'F]6MPMV/]B:+E!2IXE6!@H&$4@RQXYG M<_5^S50%4[4(!.5 DC;L!3Q.V7H6:SH5>HCU;L'1;X*.U5=YW)VWW6N[GO*+ M1W$<[G\=O%?63DHAI\5AZV$GBG35DG@<,].V*G:BN(,6QFY&M8R>2'_P*WOI M/$)ZNZ!?V:I:,OI>D%T\"F-#K M9J\4/+4[9?\;N4_>"3_RX4C)]5B^^L6:E, ^&,4/FU M-*VPK\%S6SE,93X4ER>-[ZH-DT*E$(9\\2@#GL/?+!FI'Q=J?/&+^DR %.T< M9AJAR+_=M ,W[3?VW']C5&A,.0%H\RG*Y^KUZNBC-]T_A9N N+!@4II:O,VK MAJ!Y(#&0 EZ+H7[(1SH(S.%O75T<3__9G+U\GI"=Z2ZPI]?QSB7X&Y!W ?RA M J/N,#^.#N<[F_4\<$6;/N X^.XJLZ[#IZT9+;MFRAH$CB/L_([0O(X3N,- M03S."GT>O^/\JY9=]=AJFP*Q,53.%74WU5:=(\? %-$TS##@(IC#(!I4LC^$PCP-"J3C(4YHD9= M)\[0\FR*-I2#:D#:S"R=TY2>Z7$DOYEYV8H^I.H!WZO<2=/H6Q.^K^5K\M(T W:U7S4I\)(+T M+&*<9P1Q4$*8 Y@G8OW#K 19QG)&XS0FI9$1,*3O.T.F)6L?!S959T))DL;B M$(<9E5&K- )EE,MFZGF2131C!84F#69]JM.\H6ROSA_[>9*M;J=3LYXE]J@\ M,\-\D!FY[<_>)3 ,V+@).@;=&6I+13BRVZ;4)S7CEJK9M^JVPYA?-W\4DM8+ M]I41&01^%7N'^-2Z?H32AQ1'P(H@7,VKU:OQY;/5X)YM>,=3T#,E8=HW;,DE MM,^8_GVTG2XOWTY[5Z.9^3'6H(<+ZU$JL;J^MJ,XV67V*(4,K[;'#621!'2_ MK%_8(=_Z/I0$!G,$8A9(5P-N5LP9Q M@&E2 E[RDN8H3-,8:N?T6+/AV5X]2+]*-9P#\^J[W/0558,T#7L%GS=-TZG- MS#[U+*D4&-8SU58@RQ_M59HT 0@4<\$=#P1[4RK8(*UE$D5;9ZG(LIPV?P,- M0,DH>UDR4J$6PTS\:\[4'J'20]IX^6;3>'EZ;2J9U(%:1.9UTV:ER.K!A2PK MG 0!,W;')6EU!6H.1#4-H3%@\*7WGPDJB57XRK-9/0TGLT:L1]]NB20T1K8 MR>D8/YH+(,MM=]Y-N#!-2R0VH0R$/.)RPF7ZDKJ M!4KQ"+DW1$,\+?QY0,,S[[E!BM\'TT,X3XJ21R OLAS ,*, )\(UC5$#'G2H [,%?X@F[Q5M4%-.3P#S;XHPJ"GZ)[7CW52YDF.H,)3,L,%8 3 M4@!(HA 4*66 $1;C%,(0,;-XJ3]>?8=:%8P>5N5C9,"[6&H;EOJ8P"81?20\ MH:=)U8SI7L=4&8:#!V"'N^FJ6[X#_!H.45"$. $12N*,HQ*6.'/8 M GRJ .G1UM;-;F]KMTW!37L'^E"4F0G0:/_MJ8^@J>S3-/I^HXZ"ILHP;.GM MJHZG\SF:A_J6_/>Z6K+^TEHB[ZV&-]19"")$6)L"DP V5",H"+C"1) MEE!"B!DBO3YQK>4R!H>^!QQL5+RGC]*A893.S*X8*%;/LCA6EEWXLN-!AK8Z M+H*>C1N%E;FZ44K[<%%IQM;%7'Y']L6 \*06QEPA^S;&8@2;HN&][N&WSRO] M"N'#=SV[&"<;U;>19),*X"-RGU_J+D0V6]"VTAI6\)X6R;)<]\B $];FGA9G MMQ#WS'/7@$CT?LUN95Y$!]CV\+2LUX]/QT%.>)HG!20YR%.2 IBA&)1BQP4E M2L*81QEEH1:PVIM+XME\2*#*-MFDQZD,5BTWUP%B9#+GYXW5F_,W82C=/="1 M_$YN=[^3A_WOY)K@CTR^F[<$1/+T_?Q_B"1-B"0%BB0SL'NKIWZP^E%?+1:2 MQ1^:EYJL7O_)BS1BWA#]210/9!9GU)<+YI9RK(XSM(0 M% H)F^ 4E#@O 8Q#S+.V9A2!)/5MR^(_MV'8/'FH(=Q M!ZK=R]'^7GADF#U6BX5T=.0%L:)IWNYXLD^ YT62Q$4&:(HCL6? I0%34 H MG)42IT4F_M=] A\6FK?UU_T!]&)XFGXF?OQ7F'B]K>]:I]+P\E+-X&'+[2WG M0?M(B_N^\\/=-S8B!;U,@1)*O3D4*]C*Y;:/]]2SX; =^&2L3]Y5?.I).=:< M?'(>+(\P;=%@EN=[P7%MZH3;4_.QPI+9O_"%API*^XX(Y,3P?R24)_:CF66$O1S==R6FX,A350)&55Z4/ MU;,"&/W\Y?Z3VM[%+]9+IAP!6GVOZ%K8@[-Z,8I_Z@AM%0<]._!D\5 =\89Q M4:WG[78AL>?5O^MXVJEM2WU8GD,@:]F4LX^=! M;TN=5+MF-F? V@;(N*LFV>LLKY"39+3F ^>LA1!H60XDS]M6Q%NNW>WQSA3H MR#T8S\^DGH4S]>T[)>X&-C.DE%6S=Q)<9U/J@*,=N@*I&T$3C)_QAD1[[3K M6/QENWP/1YID&9X4H%].IQ^PO,87:Y$M225#!.+D_*5>M:=L1E5N=GLBWSN' M=S$I3 FE(0H!HBD#L*0)*!)( <0%+'!4ADEA%,6S9\5_ F7'6/ B.3.\++77 ML.;5YR1Z,UW:&Y4IIB1VQRKH^>IJ-]1%].+P]M)#U'"\CEQ=+]HS,NUEX6B% M'5S]C1]Q!*P OERQBOU#WB?[*F3:B0I6_R6O*AEC_Z\%-*TTC'90] M]"M[1I4,K/5E+N+P_<"6S]$,%EE(DI" $&69-)1-DS(G'*>DZ"><793<"V[*L#GTS8LH(MN K-FJ <7 7#_G85 M!Z (G;0W02MO6]K322R/KO+'$F)U(_5-< O9$\&(@>2-D=@RE1%.MV+<6T[)MO?VU MS4J6#[0P6CB)LIAPF8L20P CSF352 K"D)(T3"E->&*6O^B78<^;LVIG=011 MR#0!TO.L:<8TKV@N#&-"]Y_>W1S?^[9K6&6&+"5&IT)GE:F^P8!%EWF:T^C1 M6:JG9W8GSA:=1OF'":<3T37;&(BL_%R^SO[X-BM)5$:,A"#)< E@5H2@X'D! MBI+F+$7B=)9KX45NA_1L7.5EN%C*WU9HQ31S.0;BGK=Y=D*86:4_OGQZ^/ ^ M^/9P^_#AVWCS5N9(=93/W0TMU>BZ$:X68+;BCNO!PI6HBI:--6HODI!NMB1+V-TNC M=RTA\60%Y>]5VT!D!YYYAO(P3UB$0((E]@U25B J 28LS!G#2::W$5XFY7GM MM]W:%UMH\/F6"4-TO-/:TEOX;G1@MMQ;\0=$AS#I#O'Q+HKF"B#O-*%I$?(N M"GP D7?YC8EQD=MTBD^+9K54M=Z-8O'A"2UVKFP^+5IO>^]ZYCX!4 //N:SK>&@W8NUU\#/-K7=#J#FO;&H.6IO%J@A4Q\&'+T8R'%6K[4 M2PG,P/#J=K4UK[1 *$(E!.(/#&"&8U D60(2$E*,JHYL M@&OC)B?FZM0\MOM4DN$9OF=EN"O\\:WWS8Y"GWPESQN;= M>7?:ID':\^;Y .MT+MX\5VX@1I\PUPNR/8]>P3G35.MO?7[4YO>O<2XT5;^S M\YXQ8;O=Y'?6-(SM=KKM[WM?>^3Q]^*\46(H.PI@P&.< TB*'!08AR"4;4IH MSF,8,1/,"%W"1KZ9+:K$<[6HGM?/;:?FX*6C;F;?M36I9Z9]Z,?,VK8;V1V,68*(<^=J325W)'%TR8[J>$R5<:^_3%^?U3+HTWVJ[!-7+9< M%S+>X7GUV((,IQ C0O,,),*%!#"*0U"@",GV1PQ%L(01,HK/:E'U?+C;)LZ_ M;*D']8:\59^C"WK4LR#.M6-F/CKR-X/2@@$'P9:%&V=M#*PD=]O?Z +-MVAN MI*>&$YV--%^VQ]O\.*]__ >CC]N$)(;C@B"$008S"&"<1*!@$04)3I#P/9(D MIV8UN,>H^+X,EN6?DFC0434'(SQ4C-ZR'RVNV3(_D-1'I>LYD1QBY!W2F!S, M[J28QU#G3C_LJ-OH+(G3(DPRV3XL$5X_A@@4, I!3!-"&8N3/,I60887G)UN-M0'N'>>VH$: MR.OJ:E&#XK27@_HJ.+C>,WCU#3#IVRO"OCKN/6O_N\&<_?"S[5CS%:U8"VLV MHSQFL2P>$KYV!B L$,!1&8$(PS2D'$),N,F&/RW[GKV)+TPV!.I*#:N%@AW7 M R>?$(O.2M4-OBTU]ZN?XVQ"KO90ND>&*?8Y/9<6./"UL_L][II^G[:U6(M"&WASW]EPC]D[7,/ MZ"=K/E>+>JGR(H4G*N00XNR.TJ9-?F:K)RE)W]:MF<&H($D,8\#3A -(: Q0 M&7$0EDF2A26&&8U-]KD)>9_BR&P,)#O9Q.EM5EN+Z!DX&^!-#'! M5I)!CXL *UGZI/N6PV# HMJ.Y%!*T+:82L*3U/.Y'*F7V"E@[=3J=P=M.QGG M4X/@3CTE1^!R)V?!;B<2CK[<"^^7]?>*,OKKZQ^-3*WOLEH7C[=D57UO.QCV M"+20$![E40IXD4 @SDTA0$D( =&O+!'O&0G0 MAI-_F&T;%EK6L_Y^=6=FQ.694:FNYT8FJ/TB&1(GR+\%&YZ"+5-.X8/'Z\21 M9;5@8%(#::^@?3LW8B2K[/=[5G]AM7'^^_ US[9#)H[??[@+OGRX,TJ"WY'L M_-H?*93AHM[*XSX7_I@(MMGP.V--F0]_3(B]C/BCC]CMUZT7(#,LZX78_M_7 M,FEA1HJ8I@2FH"AC!B".0E#(N\P2XP1S2AEAU&1+/DK%\\KI?/H-T>#/EJPF M4OYY!>GMIJ/%-EM;YA(;[X5G)7*TW1VG,>F.=E;,_4WK_,,6_;;H?SW4\:S4C 4KOF9C_Q6J6%$5<)@D" M)$PCF240 PPA!RR"&";B?PDWQS#QPJKG1;UIP_0B&9!-FE3'K!N9G"O)HT?- M+GH33)IF/L)53(5A&L/X.JW-1-[W$]FWYVKGLY/A"L#)M?7\UF#CEQG]:X"' M:RO<&1BX/L4QD';UXE$BA0]N,;N#;Q[CK, H HBS&$!4Y@#A(@8ASS@)&<4% MCLQA[4Z1\VRA)5T@WGL.GM'R7ZSMK]=(A$!K=+N3BM.SL.[4868E.Y0[J0]) M>1BP\9!#K2>E4\"[D\3> /3NDN#'@>\NOF5U7_>;(-#A8[YG#5E6JM1SFZBH M?X5W8:0);O5^N[V]#SH6@@$/1M=\EQ2B=?/G4!?FEX&GU. X:=-,5-M+PTO# M3WF/J"GJWM6B[EMVV_4>MM:7M30)=[QM_GFW7C4KM) ),L*QK<@LQ013GF0@ M9#@#D.8< ,AJ! M$I89R$M.,E)F89)F,S$2KM];0''CSJ.R4H(C!\N,]J3^EI5:]MTONT',NRA_6*SDK7<+:;S) MXI>-*=;-+*>\3",& <60"(-#T^FA..WK!X?V7)&4)B744K$,J;"%0M3 MX861* ,\S*$L,8=IJG61XH(9SXN^V_]6@GCP0U /Y DV6 OZP:IE0'D4VVMQ M3:_"R3RNQ(3[^_C]\$7"JPW2CDB'(O@&&21&H_<$)CDCW#I3;Z?<7IF"/A M$;8IR#-91A*2, )I+,[T,"H@*%&4@XQA3M(L+Q )K0 2MC2,=@KS>H^N-$ E M]=:;3&Q+@(2!9C0OW\?):WCCO@%)V"FM\("4<"B-:ZR$ 86W04LX%/$D7L*1 M1RV\OV-09M_6+R]S%;M#\QX195"#+8-+VVMDR'@>L50L3BHA#%DL',$LETLW MS;((T;R$6BUNG7#CV_\C3XRNYVI['+(5;/%Z!F +:GO!K!!"A?4E9OH2I5G_<311*9S%%WI8\=3 M=#;H2#S,3:]?PQ*FTP/XLV,=S6'O;"^E2)=E$CH;8 83PI\$GWQ]!N6 M<#)UL[KCW?"SE)6$Y%D(.$(4P#Q. $HQ!1%+Q.&E%.X2->K)LS.Z9P]'M7D7 M%G[94C,\L>SJ(<,T2R&)0<+%V0VF#($B"S.0"(WPM(Q9@LJ^X\W7LMBAX M>%NMZ%DJZSDW,TZ]8!TAAP@JQ_AW!7"R,_:T^"/'Q#J !SGZD'E2T_WW%[5] MZJ8N]<][-A'WZ#7XWNS #F_W>_T,I8UTYQ>$K6!FZ^"L3-UYPE&FT;XP5OE$ MFT$FRQK:9WN8&W3P.\M2#G$V48[D[]6"?1)_;68H8W&29!Q$"0L!)&D.2BS^ M%J8P3M(T9!B; 34>D/!]8] 3#/Z4) -%T[#,\(A>]#:1<=*:K2!#03;-+]JFV2VG528A+QZJ.6/!ADE;:K)+,UYRI,R M!1$JA$<(98)Y :#X$Q09CT!&,YAE,$\A M1%-N2F>Y]>ZNUN1?O9D*MIP,3D.&EQ]^YVZ:O@$#L"R#$I"8T1R@NC2F!=PA,F*VP9&?:)-[3DNOK4-,H>M&1H7R\JR"23 MP-Q.&BK EV?'V_9@^UL%K_O4;S MBE=$6;X[_H!^_LH6C%>KYO9YI7MU;S.V9_/1L13T/ 5TS>09=9\MN7H$8T'/ MV<7&@VX4>SEJX%NG9L;&FSJ-@@]C=&(5J+ B.%E08XPZA@&04>-8H,!)#ZIY M)]PE0>?SXJ62SI-1J/#T")ZM2DLX4)1ELY>'ZEDM@\]?[C^9'S(O*..RC7"C M!S-+H*L"MV''RY+:0-(WBA%/( 2D3<=I(LA24<ZU9;;X'2G*(A_'1&YGB3I:1"?.X#%1 MQ&%JC]';MFFN9(Z:9NLYK%=W_):0]?-Z+A/8%(J2O&]9LB>V:-1)1Y:"= NA M)#Q.I9J.K6;63#?&K=(?':A*&?)T:.8F3B!VH7B#I.LG8QJ49[F:0IX4D (PX!PB@&G,4)+;(BY[E6 M2QE]DIY-8,]#"\H;O&S >L53!G5/>MH[;[O\Z,3,/FW4T<8RMY"WXJD>P.@B M$*3UQZ5?^^5<3:/+_X=56TOV*(Y)JKG[F<^KRTQR5<-EI)*SA5IZ(TU7C64D MV4[)E=F;IZSF<()^%W_[]W_K?R+^D*7___YO_P=02P,$% @ [HBG6 3- MIP,NBP ][,& !4 !Q;'ES+3(P,C0P,S,Q7W!R92YX;6SLO5ES6TF2+OC> MOR*GYG6\*O:EK;NO*25EMNQFIC22JNO>>8'%XB'A%@BH % I]:\?#W G00I+ M')Q0=I=E420(XOCRA8>'AR__\C^^G,U^^(S+U70Q_]<_\3^S/_V \[3(T_F' M?_W37]__!.Y/_^/?_NF?_N7_ OA?/[[]Y8<7BW1^AO/U#\^7&-:8?_A]NO[X MP_HC_O"WQ?+OT\_AAS>SL"Z+Y1G OVW^[/GBT]?E],/']0^""77UMJO?+O\Y M:<.SS R\HR\J<80@M(8@C4@J!\N\^'\^_'/@T@6-#$K2"$HI#R%S#LD6G[/B M)B>^^=#9=/[W?ZY?8ECA#\3>?+7Y\5__]'&]_O3/?_G+[[___NY>3?WWO]E\]OKMZZFV]Y('\O_\K]^_>5=^HAG M :;SU3K,4WW :OK/J\V+ORQ26&^D_DVZ?GCT'?4GN'H;U)> "Y#\SU]6^4__ M]D\__' ACN5BAF^Q_%#__>O;5W<>^8_S,/NZ^G-:G/VE_OHOSQ<$!R)T\X?K MKY_P7_^TFIY]FN'5:Q^76/[U3_^@/X*J428O'O=_7_SA7VZ>^FF)*X+*ALM? MZ(7+OZ]/V9<"_++&><8+GJX^?[9(=]XTJQ)=7/_E+$2<;5Z=9)Q.-I_Z+*[6 MRY#6$Q:UY45'P)@L*&818@P!F-'*:N%+-NPNPY7@%5&\4< *TY\_+#[_A3Z8 M%"%D_:9*0VXD\>!Q%U(YC.ZK%?>>WCLIQK.@&*T3KQR13>O$)Q,@8, 4LT!5 M\E%DWW[:7:IO:_/9,OVP6&9EQ8I@>:O0O6RW?\Y5-8T@=!^CB=71-; MEHNS%KI:+QI([D(M1.Z??B"N"RZ7F'^YT,JCS&TX6Y,AQW^&FQ7$^D845$EZ#(J$%I8B9$9P ="J9+,0 M>(/+Z2*_G.<7M/E.D@P)4Q:$Y)1 <87@^I.*#"]H^ (27:!A%=TB%^2"=L(_AW)'Y\OSN?KY=?GBXP3 M9J0Q)3#@-DI0A2Q:S#F UCJ%R+4V+C8 QI-$[(03VSM.VLFY"]B\#U]>91+? MM$POHA.7EC F:67@$92@+5#1R0F"R1ZX9IDI&TU4M@%@'GG\3E!QO4.EA6R[ M ,FSG$D%J\M_?IG.D=/QFEL;? 1M-3$A$X=HO0>=+7HABY%>-@#(ED?O! [? M.SB.E6E/P'A.W[Y>OE_\/I\H5ODV&>BHS4&1SP0!;01!?+B0/9.\(2QN'KQ; MZ(I])Z@X4* ]86*S-;Y>OEDN/D_GB1PJIV+&[$!DSNIQNT"PQ8/ B"@E.F=; M'$ZV/WTW='0C<0Z,CBJU7NVQ+"A6SDK&>>*1.&)[AJ#"9GLGI&< M%X]"2N^/@L/MI^T&@(Y#G >+;F25USO1V9N/B_E5!":[HBU:#CP09I6)"%X( M!IA4E$I8X\-Q$)TL^I=?TL"MWC)<:8(V)[)72S)(4"+5&194DUFTK-5GXMY^Z&P8Z#DD>+N@P C,6BKFG!$-(++] MZ;M!I/M 9 /1=@&1>HV[?![6^&&Q_#J1 E%Q8\$G[T %H\';>JTO5": 6\32 MXL+KSD-W2YOJ/@9YN""[P,&[LS";_7B^FLYQM9I$8QF7J=[C*P$J%_HNDU\L MI>8&2Q&2'W>@V/+0W7#0?;3Q<$%V@8.79[C\0%O>S\O%[^N/SQ=GG\+\ZP11 MR.*B X.9S)J0"@)S2%]X9#YD'9I+Q@N\#'NX\XFUU1'X-# MFQ2=ESCC1'T.9.5< *ZE,"DD)EP+7_/V,W=#0\4ZZT0^4:S"H+V0F4C;8)9@ M7"Z#=0=!SE;"'0KC!Q48ARP83F(A>I)+BD-:A2*U"2S9#( ME[(R11WE<8'O1Q^]&RXZ#G&V$>K(R'A&'.0-%[/P82*(-J$E\>X,$>Y9!L^, M R^*,ED;.FT?E_5PYW&[(:#C".;APFNF]7_YRP/A_4(O'%J*36[0?(69OEDM M9M-<*^Y_#+-:2DX'+5RO[M*_:YWV-S^U21'W?K0?6>%]OH(/(7R:;)+A*@1> MEY^FK"V M6.FLC28_M946IH&X1]QD[E)_Z6!?,^&MYA;IM"V",Z"$ M=1""2L"50L:B30S-()BY1\BXT#E&LUM!ZS\O_W$^_1QF MQ,SJV?IY6"Z_3N(DEFFLA'J'Q=W3ISSWA4RM2*R]JY(W (V@GZPJS, M+&5KGKJN.P126PD9IP/&-TUA@.9D-JJ < MIE1K?5=O,2&98>+S-UQ?\:*U-UDB"0IEJM&HFG<;'8@H$PO>:)Z>NED^"&U/ MT#-.AXX!H=5*]AW@Z,T2/X5I?OGE4STPT];^>OT1EW=D-O&8S@T%NLP.ZD#]=MBGBXYC$IKPS2=@G,M M)A+>@HN9OB#+S'BGBGHJ,69('^J&RAZ\]3;!@V$5U(%U>K-!%;- MA-X!@%X3)Z&6,OR"885O:Y_AU^6OM'=7<9$CF)(57--9HDHI>82(S@%SF5ZE MU>'+4S5DAR#H28)Z\,*;0*B=V#O T(O+Q]9>3F?X/GRY$%1=#;*@L9%+X)99 M4$%:B,X+$,;FA$SFF%K'#!ZGI@=ONPEZ&@F\ ^B\(@7,/TQIB[YFX>67-#NO MF8P_+Q;Y]^EL-@E,A-J\'(AX<@LU;T&1OI"@M%M':Z=Z&K!U^\"9R: M*Z$#8%W3;;CEK+@"B8@$Y;F#F,B_,^A4%!Q=BJU#X'L!I'FBV .4B8'8#@ M;IC^X9W/+;\_LZ0*4QX\.@\*>0''! *S'*/C-KJ C6&R.W7C].\; $@#*:0# MJ-T*=-UBHBACBV>&A)-KT_PH:3>V G0*7$2A1(E/E3PS2>@^.A@(H\@@^$\*RDT9'S@GZ8_**1FOL-EAVRER0[B!O^ M,@UQ.MM$GL@$;LIX/BYF)/55-87KK]>B*3&HP'($5B,(*B@'@9<"Q:22/1>F M/)G,? A"=J5MW!CAX+EI@ZBH ]-SBZ_[8?PLO#92:"C*^UILJ" R1:Z>%+&8 MR%'QUNE'CU,S;L[1,-I_'&+'J*(#4%W=);\)7VNP_>HVATZ&+&=G(>M()\:4 M,\0H"D2>%4/IHS=#W>#?I:0;,!VEYTA_069[34Q_(:%(KT;S-FG9R MYNOL" Y1.P>>V2!B,HD'WAX]VXD9=[,;#D -1-\!AIXOYAMI_&VZ_OC\?+5> MG.'RBJNKCDT3)M&0:QF!FYJ;%P7QY%@"(6OL(G'D_*D:TH.2:W>@:]P[L8&0 MU5PA'8#L[H7- VZRRMGHI$";7"OD1 )7#S$HM)6!^")/8-"+LH. -=A-V4# M:JB$#B"UQ?+JHDQM0@\I;X3C.(3::];)X LRPR)KG:5VX&XWV#790- Y4M@= M1 V>M*JW@F':Z!43C-.CH)3<9-=.M[^QW)*T;-VJX0]T02NK M5#UB>&\Q9$L2E@4#F]P7$IH'ASZ ]3)K%TS0IO7]R3>)ZL:Y&@YO;173 ])J M@/^6Z&YQHJRB%>,$V&($>8QUG$_4FMQ&;:)!X>C0,L1ERE9JNO&O!L16&U5T M *I;3$R",!R-1BA%1"*]-N ,IBZ*)+@D)O23,UZ/=+&Z\:U.$M?<2]A=N%AG M9]/UV:8<=%X;+U3+BO-46;&Q>&)" L\82"0N0Y"T8SON,HHZY5BUCD<]0 M8 E+)T%5(U5T *HW5\_=L'11M"X)_>B2!5XR!Z6KO8U10!&EH(V(_,D&[@=6 MN=TG8^R^)6TT_+"T[2AQ=X"86VU#+^C/:&T2+ /Q$>IH"Q*%Y!:"3US)8IF2 MK7VA^S2,G4A&E^-7\>/DW)QYIH@2)'8(6;M9 M+_$CSE?3SWA1LO#+8E6SS%^7]^'+Q-1BW^;JG$C! -AK;$R.H#70T%-6,GH8V%@0@V* M^>3!,6+#I*A\T*4R,OA1;MS P$#P.5+8'426OG6VG: N+!INP'I>RX8]!R]3 M!A>0/DTJ7ECK3?!;-(U;=7+J6.7Q:FD&LQ/WP'VST<='7$\3.=9WF&G5$/?N M(T[2'?<)KD[9*I?,E,T$0S!H'=DI0>B,-D#.115ILB^F=4/0D[3*GKF19-X$6=[@,)-3< 7!(F.@ M,,J::*$A)!ZEY5QD]M2PHN/!=I^BL2-C)P794>KH%%RO5JMSXD0RG:TQ!3"% M3)RP2$(2$FR4SB2&0>36I\G'J1D[ #8"J Y00Z> NCT<3@B1G60>D*4"2CH% MOCC:\6LJ+ \E\^8%Z=\@:>QXUPC0.E0A'>#KULW6HQL\,Y;96HCMLR667!9T M(.<.C")3C*E@\NU+;;Y)UMB!L8%QUEHQ?6'MP3YOM)?TGX 8:_40,P9<$0JL M9%J#19U/3V6#E! CSBZO:=+5E 4Y\ 95=N1T#'7E^+!):E8(=Z2 M;S[(Y=BAQX,U_SD]H@Y5Q7UWX:91S/XB MK^'Z@;>:$&7"AJK#3ID$I9R&6#B'&)37TFMCL+7]?X24X_,>/N/\''^BA;BM M&.VZL6-MG43_Y4UJ!\9$*\Q '1-"CJ$U$%-*X'W$HF/0PK:.-1Q YK@Q^Q;( M>9@6,:RNNM@H5V3Y+QF=N!"93&3G@])$?,QDB6.M36,>HT:EI6W=T.H. >-& MX(> T.'R[0 +)U14VNG MZ=;CQXV:#P&,0V7;0;+,=5'KY1R9FUZ!A9@67!@@[XT$DBPQXFLL0VO$*+1 MWKH3]*/$C!L3'P(R;>3>@5UY2[H@ FJ#V1=D&6>+S72&2ZXF1+Z,3!3(3(O: M8A_!A> @L> TB4<)V_K*[DF"QO5K&BG]8:/?1AKH $[O<#:K7M@\_QJ6?\=; MPIH$'8+A L$;1S(R7M0>M I,U-[$$"6MO=;I/8]2,ZYW,PR0&LF^ Q3]C',2 MT(PX>9;/IO-I%L4#8.GEEKH %0/A#1!'815/H(5B83#K "',8/A.CNTZ&QJO;L](&)D&&!F=>19C8RB<2",T5I'E1RVOJK=0L:X*0"#>M(' MRKH#N/RVF"_N"MJX>_2=2X MM_Q#0*FM'CK8LE[-/^-JT]?C@IU7<_IL>F7BO"XEQ0A>) :J& ZAWMID.A,H MAD6IYL;H,5K&/9(U5OF#:4\-Y-\!CC9%JX^*:B(5>EIT#K3VM3<#"@C*8)TU M;#=I[U8-,GKE48K&/9T-BZF&NN@ 68\SDI5#9'4B<7(.%)$.7CH.-C)E%!K+ MFK>T/PY/@YW.AL53&PUTX$7=^']7EWS3^3DQ=7/-_2.6Q1*O)SGBZN47DA^I M;SH/RZ^OR)/8--ZKUX.+32CDVEZS>M\G2<"6U9090X?68!R9[X+,YN2-;GYC M,B [X^;0#>&Y]:+[;I8!L7BYC'_$.6XNIC Y53"3C5"U=C<9\"@*>2!1,\?H M@!W;3_;<2LJX:7?#P>\XF?>P&>/ZUB&:TY[BG97 E5;U$&W!9R.@2$8;@' J MR-8V[PX!X^;2#7*^/%B^'=B5JWXB5RGNUQ)AS@J7DP-$6>H($P6>.PE).BW0 M&\RY=6SB,5I&GK8W!&::B+T#VW*?CQ_#:IHF0:(VY%Z")C>5'%>!F^E)P*4R MI63AHV\]RV,K(>,&(=KH^!O V5_@':+FQ71VOL8\*2JH('R@H\GF5IO71B0R M@]2:,4PAI#*TS;DD9=Q0PTF0PSG0$^X&_G9Q&7K\N# MQ/6;F2?&^3H/"6@1T(8L5 !OO(,LUR[N-8:G G$84^W?Y9US)/#L:QC+I&WA28(UKOJ9B4$PF,#Y M(C6*X'AJ766R)XEM@V(H4&4C-H/.R=.QY/XZF2V0WV.C0*:Q><.%_8-BIVBF MUAP=3P?+]I%[!]OK+EV>GZW7RVD\7]?V<.\7%ST4;UJX&B=5L@&,5[0]:.' M"\^ "1X#DH\11.LRP6-I[J;EVN#0/*EV.T?SL\]A.JM,_K18O@LS?(?I?'G1 MY37_G_.+Y)?KON9*28,F9PBAWE-[Z<%S+B"I)%QV(FK;?'1O(]I'KAPY*>+V M@/M@ZN\<]L_#ZN-/L\7O_X[Y _X^]+H43@")SA?%E?C?+)8; M-K=H81+HN.5"3E#HX G*, 1G52%#4+@MP8>DP@B.S1,DCUR:TRO<6RN[@RON M+9Q>[UVHM1611>!I$T/!#)&\1D#%-(M6ABA:I\\\04XWG6<'][5;Z>0[FAAP M)^YSN:D,TW#HYM-/$L/:SDO[R-7U@ZX1:%/)FCL/R&L[%Y,$1$DV,:B4A!), M%=LZ;/,4/0UB4O4SWRP7GZK_85YI&!9ZU\2"S):]3%%ZO8AU8*9R-M'RQ>1['$'R,7,1T6A2/#H0. M%L,+I">GZ4;%]/T,+V,%S\[J$>L_-Z]/BA0AV*0@1BY R5!3#*R'Q$N0I38( M-JW/(;O0-:[)'1\]BX%5V0$\-[);$>%;!AU->(K!,MIR;' )5,18V^K7H!9* MSH)7++>^!WZ*GG%M9W=P;*:Z#F!XE+B$S[FR6> M3<_/5C9P7#[Y5%GMQ-_6<7IP21XJ,?S3>@E>\D! 9(Q>%6\!D M6?(N:X7MOG;MSN2-W!=""U=@G8+=-?R;^Q1+<& M0?2#(D&!*SZ!EB5GZ:,SS>O5=J%K]#;_@V#BF] [4D%=;-T/N2*/Y%.8YJL- MX:I'S#QO;O'K7 /:#8JP5@B;R46IE5K<1W#>UA9427$A"FK1NE73892./CY@ M'&@V5V*G8+U:@F_"U\WZLTRDHG*I4XEJ[WQ-+.E@:3ER)D-("JT_F8&\)&KT M007C6L=#5-/K?KP\)SJF(4YG%R[-Y7JZENBMWTV$TAZ5]U#[LX#27(*OLQQR M#B64:$S[/N/'TCSZ?(31D#J48KL$\K;!15<,?IU8;4W4+@ )E%R8*.F@QU+- M^R/OQ?LH4QE^:W^2Q-&;#X\#TW9JZP"5N]\+3TQRBC-TX(0A-Z7P#$') (R\ ME^!2,K[YG=#NU(WG!&9O+%>,Q9;GWCV M)K++;+C!D#FH"GNTDL0Q.2/KKV]F8;XF=E_2JYLY9A.>6?(6!63+L78R0W#9 M6=#T"^:$8AY;1X9VIZY++_)D]K*-TKHPFKN+V5&>+^;OU(OU] MHD(LV3-!:RJ3XY%9@!A100J6EK;-)IK6R6[?IJK+ TTS7#RR03=24A<;\QU7 MN++P^M-FGL/++[A,4Q+GA!9FXDH5L-YK4%%QDEVQ8!.Y&M'ED-*@IY=M1'5Y M6AD,=DU5U)&Q>XNSBN/WB_?A2PW>?US,:C_%VNIF>U9SS,[7%LG ?;TM2&AI M#XD%-&KKE)?%J-9=NPZEMSN +%HQE21@X+63 MWD:B#D$$(7A&FV7SSG+?)*K+4\LIS.7Q*NK'7-(JNAB\](%^J#T@2)C+RRX2 MEY>=6T0Z8=*I+(.O]1\!5+V:=\$:8+1+1)94TJ7UF)FC"![W$GLM0(!(-;<^%0DAU-2H:'S"*%1L/Y9W9^K&S4 _,5 '4EH' MH:#*5OU_#:Y^#K,+-X8D-DV$^OJ+9_-\]X5;[WR#R^DB/TQ)2;/SO)FO3D=$ M6M1O:06]+ 7KW/8<#-J$O/-I,F)3#(C*PEDH".OTME" MJ!57R27!C:\5KZUWA5/R-ZX#U.<"&A(B!R^?3YM530);KK^_152BB-$Y RDJ M)&= ,_"&UX'I.3$Z ^D26O>0ZFX1#>:<_3$6T3X0.7(1O9S?#L^\W%3W!HW8R*9"V7KP77\"5.N#::>U%$<'E MUE7]=RGHIL]C(RP\:'IRN+P[B.==4W\AD1H07\SK:GWV9;J:8/!9<5W >Q/J MV.($@<[FY+K(:'2QCOO6\>,G">H$2P=H^C'0'"WV#C!TCX<7B[,PG4\RTR,?C#"2+E@Y21=]'N 4DKG9^>;U(#')EY<,F9"2LXD!I;V>5!>^-HKL0!F8@V-2"&V MCDKL3-RX&1T#0&P0K70 M[>X)ME@OIJS?F5_@V16\@(R!-KX/?F.7D0/UDH2 M%D=93.N\\NV4C'M#TAY(#>3= 6JNO<9?B)=7]"VYBA$58F; 5J@W/7X<)N .(/+S >QC?>+N8S7Y:+'\/RSQ1L0@Z M300H(M&B"K17>^8DL&!XL=XR6X;O=/(DB9TSAWG/%@ MG>,.$IEG4(E'<#PZ,$$%@L+F<<,!\Y2Z/1C*GW$9%\W.C"3* M6F. ^<7YDER"BT2_"T]A>ZD6ALQ85@&D%G5DJ]=T*M8ERP6%:#Y5 M8V\BQ\WOZ@"AC?37"T!OZJFWK,-)4N@B9@-9*4L'+>*-Y%> VQP%YF*Y:KWI M?YNJG2!H_S 0;*>A+@HYG^)IL[8FS'G-F9=@Z9!/CG7)Y%@7A)*0CFLJ,B[C M"4&W(6HGS+D_.N;VU\^HD*O)HD\[&C@\)P." MTF@@6!$@<9Z$D%YR_LWN^&GIA20Q'8MTL_)1Q,L M Q.YJWVD$D1-5MZ@-]S2EZ";9^T>0.=ND6CV/4/U9&KL8HN^-61I[\82DM/! M3&@/9A-*8#J#CYS5J*KU3JH45.MHY!'D[@;=/\0MRJF4V@6"G]Q57IY]FBV^ MXL4A[LVEGU-;/:XFF4LKBPJT5#T'9;! 0%-S5(4/FOP;H\40KN?^I.Z&W#_. MM0MDK17TS6^P^7G:<(+Z=19CA_FFT^Y.&5: MP952L2;86EJ]Y-.#SZ0!)TD14:,KV'KN]= \[;8&_A W4EW!HX/E\C"'Q7(I MM$H)F/>&#K#1@2_U/,NE$C((A:5Y[L=A.41_C/NFHQ30M,JZ:0J1]#I;9R/( MP"RHG"-$J1,(FU$P+%'[3E*(^!_G5NAP%?1;KO\"5VDYW5QI+]X 53C%!J(8AROO96D0XROR MYK:M(,$_)>_W).(?9YMFS]DQ%:T';1T#95D [R0'4:+@,BKI7>OZ@&/H'3=5 MMQ&B[AO"DRFPF??6U%S^%*;+C2>Z*)>]^,+LU9SD>KYQ>@^QA]_ZR 8&;R^J M&UFTZV?6;C>SQ>I\>0N!"B7#) E\T=5F%-S4HG!+>Z7("DH[@LXE%9@!><\BF\! M\(CGC^YE#0ZI.XD3)U!2G^;O:CA;N#67C<1ZB+E[[*,:F+>=J&QDSAX=5W>S MG69I34ZU]6&QH(04X&OR#!;GN386 Q]@-L+31#68"+'] =M@[[R(KD0#W),K MH02=.BK:@2^C1/;_$SSL^Q2KF.%JCB M6_T^77]\?KY:DTU>'N27??M#&YBL/2EO9+PNGWKK@N=FA*)2DG-; [,H"0PL M@>>60XD1T07T=H#&(8]1!U2$60'Q"=5L0U\>\Y M+V",-UP+7V+S>LY=:1O73#5"RL,N*@,HID_;](H^8?YA&F?X;+7"]>I MVG; MQS2P/]^DKI'%^7FQR+]/9S/:B^X_\F9+NH96O5]66FA(N3ARF.N5,Y<),N.9 MG'/%0VD]?G0O H_OK?+8$VZ0KZ/ E!V"*4: BMG0^:0H$-9$73))1K0N3-N! MK'&MT7 H>MA>I:V&^K1-O]2;VX.YXL[!=S\?(/- MHJ-5*#40$$M-U5'@C8T@M)2>926*L=_2\?Z/'=X23=IQ6HW5NG M%WEC89ZO9[,=FF+PU,XY!)2-&#RXP#2IH@E\P M$E X*4TR*>OFDT;V(;!%/^5O/NQ6:"%I9PTS(#=][S$[<-P@>%J!67'/:0,= M0QR=6*SAL+6M0_- >NO3J#W,&:LY1O7%!]FOAQBY?3Z^@=$[F)M&1O#>. N+ M,EO-"M3Y4@0/YFEK=1R2<2XZ):23K<]GC6>8U,S4NZ,ZYOFF$.MJQ/.M.(3) MWD=C 4OQ=>W1@D#4M-4++GF@=2F:EWSL26,/3>4/0LC6M.&AE-.GM;JX.WP? MOASFH:61-KC]_RR;G,";%&2.X2 5*>@71Y4C':^YE3DH5W;H$ MY0ER&C31O?_1-[ U1CBFM07AD6#+0P8G9(82E&=)*\MM:ROZ%#VC-S=M@HDM M?7+;:*!/P_$./U1C2-[ S[CXL R?/D[3LR6&5_.R6)X=[M[L\+$MW)I]J6\U MP.WBN6_Q4VW0-_]PDYR+3G%'?B\WJL8,O 2WZ0QO60Y1\*!-\WE4C]!RM(MS M[W.WX9\'HUU6!9A$ 2HC>?@F*I#"%Z^*I:VZM07:@:R1^W2WP,8#EZ:Q,OHT M1M>]6M_@15>#0TS/PP]I8&B^05FK4]+E3(BKAUQ#AULO&;,>T#*"3G"TE8G MZ$?E%>.*H6I]E_,8+4?/8KOWN;RTL)!R+KF$->)/=*5FF3G1/".R3@T MDYV8D"8X>#".K8G@^S0 M;(Q)2A9V:U.W^S-'3[1N 8 [MVP#R;N#O@.757KWA/: *RYU$5%IR*+VLCORTF$95Q.?A;2> M3@\ZD914209\0 5",UHZ6N0L6[<.ODO!N',I!H+.$4+N "*_X>^WY+(D[^)\ MGC:#J!ZQMB;6RF0N:D*#JGD3&F+.#+CBJ%C*7*O6,9!]:1QWRL1 ,!M447WZ M_=\HC=Z,X1NBK/OR@X?968WZ_F?-TUBMWR^N1;2Q#KHSU9!+G,66P,ACRAP22KVP#V"A\R<'PK%JG7#BP% M=X#M5_//>-DB\_DLK%;3,L7\X]>K&C1R[GX-ZRJ8KR_HK'>/UZR53LHF"$;3 M=H58.S]X7:[O-RGOGKFY/O&UQN$G?FZ=::PY 5TSX YJQ!<1JV 29=] MDL*A;9Y3TYJ)<2?PC07B@97=9TQJQZ9"A\>F]GO Z;I^#1BK.K11DTV)ZYP0 MT#M1\S,Y>#HZ 6.)!ZN*\K9U&.?$O;\>KL1]M'7+L5&"^<0+Q(ATQJ1]!1S] M#$+K4(I'ZT3K@-^1)(]^HSTX(A^WML/KN -/XBVF2_\\;=3Z^GR]$^?WN1;> MXS_#T M!P[7.F] G^#;#="D"#D:R4%N?HEW>@ ;KJ59H)>A2)R&1(V9K:4@MW1 >DM;2\,AB*.U]E(&;YKW%,SK^ M7TQ2NSKGOXZSZ8>-TEY^^81U1O#[Z1F]Y75Y1Z^N"CV=?G?_BD QI)6I:LRU MIJ=' R$%!ED*(7@J-O/6I=.-6>BW!=\>N'ND!=\H:N[@=/)BN@H?/BSQ@L_7 MY5(<]YC2PAI#YAZR_G=&&(GU$:?[M^6/I^'.WR/?]@P'4D'=.KVZRA)VQACM?- +.CJA5Z MZ)BE'TU4*&P403?>#D[:E_1VA)(.083#81I8R.0&B$PG)<0 R4>MHY691#5@(/HPJK^GKJ;[8/"I"/0)]-N! MFW?%\28]^S%.?SI?5PE?9/-=^[WSU7W70_J (3H!V=L RM860SDJ8 45'J4GUSG?6[]%_U+#]_M[_Q]LX:_ ^[I]_K "B>]L#9#$35V MES0=494GYRUP(YV,PH?6/2@';OO[[OP3Z6W3.6=69 M,TG^<:EM19)/X'V6P*W09+GI=(YLIY/$L91TU1QX'U!\LSGP8/H8^_QZP>S? M;B-%E(^3E&9GT>^^IW-=*MKAX6NO [=NV2G^9ACB=3==?K_*#[['(T"BO M2VS[/^2T M+8H']/WNM:$-*DK&.8(SU7LWJ29/B00JY&1L"DF4U@F$C1L57Y_8;QK@WA;E M1L"O-UU45L_2>OKYX:*):=-7BD,VR9#!C@R"M@HX=Y$9M,J4UAU5CZ>ZJV;& M^Z#H\9#+2138P=Y[C^,'J_\MDEBG]59QPSNY(?=>^2L=VA^312@Q&<89D !H M!X@:(8CL(4IDRBL7K&@]SGM(?L9U.(>#^7A*[VH!O*3=>O$5\1TN/T\3;K< MSV:;C[R\\MS<=_TGYC>XG"XVA<6W@J\L.JL2^5LA^#I(F&R"-T%#QLA$,C%E M;-UB<3!FQG5D!X'^F.H>.U2P8?8M?CI?IH_$\IME[>=\=C^SM[:D\=Z"2(*! MJGN:YTF#]4G0(9(9)_2WG-N=GS9N_6L#@ TCUT[/1=_N!'[$>6CG#S]-3_,! MSS^/=J]V/G.3:NQ&L%H\XNGH+.ML1(4^6 (**ZT;=0[6V?S:X%YFB:SJ'-F7 M),#E/,RN4T')Q_AE,?^PN?VYNM&\44F85:7<3_3@2:HLC DMQH4BCH*FW-( MV7I5!!EDU?J"?SAN.NVCO@\2']]K1U5]GS;T09/SPRWF8Q\U1"OV(:-!CS7B M=LD$8Q*"#+4ECRP&?$P)N A19\L#;S_ :J"&[+? MNW@O5@KI:!G&.IQ)N>HS1'(ALE?&!>8M2P.>)?8AM=-F[OM@Z(DSPV!*Z^HD M_&R^GN;*$IGDF]Y#+[^DV3DM\XLY\&>?SM>7!Z,GFMW[HFGWX.!4/1.5HL%[ M;B'QH(/VV?CF$R7;BD<'7O5:=QXCI,9T,T M/7WJ:<-W0MV9UU.T1Y4JHE0$)0(VG<&%BN!#XL S>F19$_VFZRL(SIU/IT M>#31'3=0W0=?CS90/8DR.W 2KJG_\>OUM_\^Q241]?'K+W3,FSW[,EU- G*= M9/# XR;&%0U$:Q3P@,XQ);@.K5M)[D99=S@<$BZ/@;6=[GI"Y*7,-AO80_Y> M+&I*U<1%IFVT#J*Q]7;*%_"2V!06O0Q%L%)U]U.B!F.L0S#=(ZL28G@HBB^'TU0'\ M:I,@7&YZWH=/N+S/33;<2AD3)$&;D>+.T*Z1"IWW%(N"AUJUUAA]3U/4W?GE MI.!KJ*T.L/?7=S\O/N-RONEV^H&5IUUK1NF;L7@=WMVR=%YG"Z[ "HVR[]7_\^K\4/RT^+95ACG3MV2Z83 M9@-'*QUP)ZL[7P2X6M:#4;$J9F%+\W/0OD1V-T3KI( =5J<=@/:RZ5_Z.^8G M%B+7)CJ4($*J'0^(IU##N]FK@LGK1/\TQNDN='4W6.NDT&RNN0[0^.ARNYG. M5%/;+\_9AB1?QC-LK47B#W-6\>N0U,A$W?86:Y1)ZUM*U+&5K2 MW]W$K3X,[]!(Z'D5W.&I2.3&T.[B9,TLI$9.\M:.["UT[H=;^ MET/MH9H['(V+=9BU0>-BB=,/\^?G].QYNAXSNKH6Z!:A3[B*TK-,*\[XFLUB M+03%B%%F/'E 6D1L'E0]@,Z=T.K^L&@=6K,]V=);6=?;V I&&">C(CG2>E39 MQITG;":/^#XO1 ?37S*B>LE2BME4,\US_J97UG\.L MOCIL7G"F#)8>T67! M!";!HP^TGI5 \F*" :]4@N2DDUB$QM3<__P#%TSL@Z_V!1/[*+.#3;T:A6!:!*8M\II%-G!^2 \ .QT2 MOI$/O;JPNP3=O.>7YXFWO%8F(N:A00O7:@:O_"$$*&8G+)CG&O MFK==.H#,L;M.'@G+7DV+$!@,M5, Y^$2HZ) MYF[B-D+&GC$W$NZ.5TH'R-H2M=BX*F@--]F1%=]4!%C#2#!I4]@I610VMP?S9LZ]U[#VK'1>UX"'MZ MRQ]*W5T ^U9JX /W.8A8C&:RSNU-=99!A"!5 .&5E,E'PWA[S_,)@L;U$3J" M9RNE=8# K:F!5S7TW K',=79]!D4"PIBS8HJ*J/V'C/SK0.23Y S[OFG&_2U M4E@'V-N6XK]U3>F -F5RF6(V 12Y\N"$$A"4SE%[:^8U\EI*(BTUCPR")YQT+3B?#)"AM ZT?U18KJK M%#KEX;V)AGJ"VD7WSRMAO9Y?%][7=L>KO\X7<45+O0INT_>FSD6A]3:;;A1^ M6PJ7ZUH6GGE1=.JD)4PBSJPVVZG]%GW6.HIB>&OK.10OG=R2'P>UQP \IMX[ MP/_V YU(J(W,!K)5"I30 6**!6+AS@D;:@^* 9(T.CN:]X&1+6D;QRFL ]2] M^[A8KNN$WU?SS[A:G]WB)!N1C.<28D@:5% ;V60(1?JHI0@I-A^?]R@UG<3G M>\)?(]5U ,)-:5(=PK*=&VX4XYY$PU5*=*Q3#J)'2=ZS0L\,\M*\IO)IBCKQ M-WL"8T,5=@#(%JG\)2MI+;$L&:]I6)PV I9H#=9Y!,RSHH9KN#IPLZ13UK"/ M<90ZD=8[ /JSSV$ZJX+[:;%\1W[,W9C%L[,ZCNL_<3-K[)H1WXFI_9X _7/?[ ]Y? 'Z.'RHA[P?#_0W?=Z4PL<:Y9.J]#9TDB+U0 M;U,L@X29H19>EMC:T=Z5MNZ\Z5'1VT2#'5CD&OB;J!R]RU-^[\[.SL/RZ*#=+9#J_:]S?+%;3 M3?G!<%7MAU Q?*W[T;(Y105\(8.F4XF0,M8\5UO 9Z3EY4.N34R3,+;UU,W_@K4GQ^!R$%5V -$6P68E4.N2#? D JBD"SC!L=Z$ M12%=\/D4K1<'2<+JN!G%40&!$VN] Z#?7:P7/:;7-^TNF=(N<@U2A%AO;QD) M,SHR#4I[.KMRYUO?W#])4'?1JF'AL1A*5P<#CVQ]7 P"O?L7MK7-^71^OCA? M;;]A^057J_K.58@;)JTTHY&W$>7FWNN;3D8 M%]P-P?4D;$^JY^X,[+'E-X5'O/I>KOW@.YS_W]O<I($H M=82LE;4VN!)#ZWRC01GJR0/I>AD< X0.G9!K"0M!;A[6$1^J=LD)WH%')B$' M%CQMDR*(@<^1^S@<79*.L M,C9XQ8:-NNU&9T\.PV'XV,L^-E!6!R6,A_!XW](SBR(RAU"RS*!<[;@CZ+AI M=(Y).#J#ZM:Y-0W([FEC'PVNQZCRZ/*L$C/JH4KM='S1X M5$AW^+KD_>NSV>8SZ4 [S^^F M\P\SO/K-BYI]=X[/"A%W*9GW'Y>+\P\?W_^^J#_=;7 R";I(G@P"9D8&QYA" M(N,)@E;>1T=2Y/);#L7H7'3E- ^V/$87\UY@^<.MJM>?<;E=+%FRY 4:\%FG M>N6*$ 6=5JSVQ>CHBW5YG#7T*,WC1NV^[Q73!@C?F3>U.%\_E,1=[IT2Y*&2 M8?"B-I93RD(,(H,P$F50B:%M?;?8EH-QLZ5[]K(::[]#['^S"5R,@F.0&8J2 MI78MIK7M'#F8*EH6;3+.R('1W:2MWV"=3\;&;U,-=A<#_W>+J^5WT^#V M2I(A985)<]"A!@ZTU1 X[43&:"-M9DF6UETG]R*PN[RD(6(N+974H8WF$02:*;7 ,;$IT3Y&3(2#?-0C^4(OC M]JEXXHT.69!+YT,F$Q'1@BM)@R7OKA03TH->JJ=8"K=)["D \GT _V %?V>> MS-:S[LWN)YE1DG$+7CM2AF0%'&H+)?KH@L&27.MZV7;4]Q3AZ,7#::CO[I%^ MJZ-LDIGK5(N/HZJ]: Q""/1CT(+Y6%#%V#J!M&E/X!/%,<9#Z8&Z:A:Y.&7B MTV]AN:0G?,;ATIH>/&+XI*6GN3I)FU6?4T21:7/.JGJCL6:[:^ Z,V9ETM&R M[R@EZ?B^"]H*9$5I$,ES4-X$$HUVM)S(DEM=7#8GZ';QQVFSN@>^VK=9W4>9 M'6S-+W Y_;RQ!S+%" M#%"6_S@]8X=?6VG]43@=J8(.X$2.*DX_S%]^21_#_,,U0Y?=LRPM+-0N@F3> M@V*D MNSOP$SI5#733)<(NER-FXUBNI96\?G%D<'W1'J04SD07:M.%P3'6@QO50L_? MA,X!0N\ /%<,T,I:7?)TXVI>6MR@&&[2YC2=G6F)<0ZA+C9C!0].HI.B=9;9 M#F3U!JE#]/_ *V^KC [P]=MBGJ^YNNXX7W3A08&,I68D.P6!<;+;W*N8"].N M^9RE+62,N_$-@I]CA=T!7K:=>%=U$.QF-N;72[&]Q=E&9JN/TT\;4ZZU"X6\ M3Y!&ANH42H@1%42&WBE3@BCM.X\<0FEWG4E&CF$UUFT'"-["QN72IO=&Z;P! M%KT@V6E!2YL)R"K$'%,PQ;8>7?4H,;V$(89#PG:'[4BU=("O.L7EI]GB]TN& M+LV\%-DD57-?I):T;>AZ&QL*.!9,CE'1-M ZKW4K(5UX9<$'GIRQM+J4$C>X$-[>#M.4_Y33G$VZYI]9Z!T!_ M-?^,J_5F1YE(8PTYS)S.]9%6?:Q7P4HHT$Q&)650G+6^3+KU^.[N*X=5_:*- M'CJ T(U[0@(B=879L[/%^7P]T2X+$YD'0?\C!T0GVD5*!,FY9L8YDU/[]EW; M:>DN;GM2<#714 =(N[SXN.B7GK[>]C3PRA]^O_@1WV*:A=5J6J:87YPOR0OY M#;^LKQO[)R9)9"S4$4$&5&:Z#FK?^MLKN&[T.U&P D[T!T@D5.D>M))B$Y!*8 Q@5S7)!AX3U\T MU\)@8%*[YLD77:=Z>N.*PZ(!@R"!2*X@U&8<7G&+WN7 4NL)I7_D5,]]\-4^ MU7,?97;@:SQR"\I$\-:2B^0+US4CIVY@3D(I.C&NBO2R]1H](A.AX_3.O>"P M6R;"/KKI$F%7_5&A(S,AZ($E[9U%]+O*A-A+SWOFHFP MC] [ ,\NE]]*:8[)9"B^9@\F-!!S)#F%PGDN,AG?>OO\?C,1]M+_ 9D(^RBC M WQMNQP7SKM@H@.+FDPV*C+9+CB0R1N=F779M;XU^7XR$8[!S['"[@ O+8(# M67(;0Y% 1W2RZS6M(WC#06JF3?")9]/ZQO>_YQ@?Y8B=6NL] /U>%.HR^7K# M]A9Q3$QB)4B1@,4Z^* 6GS@,-0!69!:)<\-:!\'W)+&[D\2P$/I&5+&E/ON% MZ^I:MMMX5(7\Z!@YF.SKF"WD$*Q*H%.P7"17=&P^!N$ .KNSO#T MYUF&P[/ M/&7<^^)J:_46T^+#O+:/?#5_1X_$^LM%>?T)EQ?9+L,%OO>E8/C(]U$R.47H M.S+.))<"DA=D5S^^MTJVI?&0EGCQ! MKB;DB1G.$JU3@Q:4$Q$"+QR*%CIH+9P*HK%X&K/0G9-Q&/;N&^$Q%=V!=_%Z M_1&7SQ=G]/R/.%]MN"6;A%4D]P3R?AGF*Q)WU?@\;WZZ2#M\EO_/^47FRV^X M?EW>AR\3%HP6L19GN]HQ1].QU]?#2=2,3BO(;6Z>^CL,)]UY*&U0WX':.P#_ MXYQ>YV;7UME862._2GN').V2Z9"MC:%UK0T888NV3%M96A>P[D%>=WDE;6 Z ME(+Z[,]U:^+B4^NSOKR8U\TFS//S30'Y,:YP@Z UZ M%T+TVB3(B>%% XA8; 2!@J=LM92J=8+:@:0>W>MPM\=>1"H-,RY*9D#*:$#Q M(,$[:8&[F)/E/GG7VBW8A[YQ7=Q38.U!]\.AM-?![GY]/G[YC_/I^NN-Z;BX M@F:8:"_*D%V*H(Q"<-5?T0E+T4QDU;R%[),$?1?8.P 'BZ&4T@'"[O%P>8\8 MLQ>B%JM'FV@]QJ3 *95 HDA&ED#.<.M+^ZV$C(NHAHI>M)9Z!]#98<%=%;1[ M'BQR#LS7_C]9UT$]F]8=/&UZVA%2ODSU@;6I5-W>^8AT#E<4"V MUUM?N+QBA/B\4QCR9J..JR)D'KBT68"R0H&2B8/7P4-,28:4R.4=\@"Q"XGC M!@Q/CLKF6NL+E$\YPS>7P+764V<3@,Y:A4Y@Y,@$DR3H+%,QTG+!FH\SWY/& M[F'9YG@QJ.IZ@.;KYZ^>K=?+:3Q?5V&]7UPLM*N@P-O%;/;38OE[6.9)064L M*PY2J=TI:;V##^0(<:2MP7#ELV^=M[0'>=WOWD?@Y#XH!U):!WA\MUZDOW]< MS$A;JPMW?&)JXU-73;QG%E0Q'ES$VI,^0H\=&+W[W/U$ G^V2-.+:\KUF\WJ>)IC MDTT4KF30R,C[5KF DY&D+&-!7V>WE=;(/9[J<2^93P7B$VOWV 8%@V0.VYSK),9XA/I MLWOP7@GV"8XGRN8@M0P0%-JUW:FBZQGTM8WB0<>IKE M_+8I'".I[*:^X+KS4E5&%?_PN64[//QT*6;[2F+D3+/$DR=#9L D10=^:E^\+)0/-NF10O+?<:;9 M/E@[*M-L'^UU&!!X?4Z"VX'ABU28D(@_7Q.54[TA"QH"8P&PV, ]MYA$ZRO- M8^C]+I![ (J^$0483*7?,7ROIJ E'FWD%J*O_9H3^5Y!& Z^6$[R9E&RUE-3 MCZ-X7 B?#EF-('V FK]C4%^-'3*Y*(8<6,AUV&AV9#N,!2F5RM%(;VWK6ZSC M*/X^07T(MAK!^@!%=P#KI]-JL[3!U(N_4I0C!TT:$F%0Q%ODF1@M4K<^#!R? MU-Y'ULDQSD([I72 L.U9M4(J:ZO#;QGM.B M=TIJWT?J'4!GW[Q E:(//B MH/G(9=I-?WDO,XO> JJZU'+6$&C! <(' MJ:<#N+W%SS@_QYI ==7;[F_3]?I_$-MND?_Y=K%PV@? M2G DOUCO<+G1)$E5\Z>*,,DJ\J-;)ZT?0&:?Z<6'X>1!.&58I76 R^>+U?IU MN61TDDIDR- \TR1+\,B>$FN36+,&N&L8*EUI>,= OI,#6Z"I<,%W7ILTS%& M;(5$Q\=G\_R"&)DM/FW._U\^T1Z DZR*$X%S2%B3Y4JNWH8U("03Q96 D;7. M'7N2H#Y3=!L9IE:*Z =<[W VJ[9TGG\-R[_CFKZ_8JA63(I()V]BQ1-#DD$P M48%A6HCD4J&ETSJ4^R@U?6;--H%5(Q7T@ZF?<8[+,".&GN6SZ7Q:952[6%YQ M9;UR.F4/=$H*M%G[ B$E5ZUR23[D()LG#'V#I#[369N@JZ4R^H'8K5Z1EV[B M='Y."^>F#?%%?<3%^\A#Q-6OT_EB.5U_?34G/PY7M%Z0O;Z3*YM OU>0=)!JOK_O[TO:VXK1]9\G_^"&>S+RT2H MJNP:1[AMARU7Q7U28)5XFR)]2[";HI.XQBV3@RFHFF*1;M%Z\$^SS-KBIYV$O)N^K?OW M;OGC VJ_^WVH0)UW 0X+U73??O+3V$ZR,;O[[IV!581KC@%%1&&)..,1F8@I M"ECK) *@BI9./KQ(U,%!C;^*X687FEY_GL,2R1 -".B*LHDA1<+IY M;CZH*1P-3B?B@"85=>D+C@YD52YJ&00/TV&5TS+>,D/KBW(N)#@)42*JP!_A MUC%D)*.(8^64,#(95;H/= >R&K5N?:'0%6H]]=( U+++>P/+W;%RUUC-$+*9)^7$B2C20&$9)0H796WA91&(=57Y<\N,@Z7?T,P^C)-B[]L#KT7 M=G(Y MN^G'NV9BJFQ$(B&H&I)X@3"'0T@]]B1<'$*Z&8+>V6=2*L;A1Z+(B5 MTTT#@'L?[3SF5]7O(&2??E^6SMYU*G5>J"0,DI)#E.ZU0LXGCRS1BB3A12A> MJ[Z#G+H79T.#JY0>*D(J)QC 5;6329R=??LV'MF)C[<\")>4C-HA(4P$SY09 MY$C0*$HO<;02A_@$2\_S%;L^4/?^:RAT%!-I Y;F[PA5/D&(7_HS)&7[J^^ZAK8SA;30 )ZV2NH^ MS6RHI4E@\/98 L-IP81JSSV$+"(!,S[H5+H[R\M4U762ZJ82^JFF9;#]/IO. MYQ+8FPI*C18*^G_KO":W]EM RMI87. MK<&-U-?O@YNVW"!SXD5V/@3R[SHVW_K/\[86)$7OJ M/(I!8<1SKV[#=$1&,.LQ]V#K2V;L EQIDV4E OMBO==+T1[HU%P&6JUYS ^*_ZD8*8&''A4C^RBG9;P]2+\RY[7E M+#]8SV/L9:)( SM(<:%DY-%$4MK$O8J*D;V@T*-B9!^]-'=-!CS=E4X_JF/X MST;>LTMN+09-HY!@<4&%L?E+'D2;1(Q>$,9*'A*U\R6TK M1TZC".R+D)U7<(.KZW0 ^F&Z )G[W![F2YQ]'_G;OGV*>>_@/\@2!_O= ;N& M\P3Y@*9,6NC ZM]'2:*;PN- LHJB6S^C[#(!G24?E XHQ4L3UJE&E1C'Y M90-6E8JW+7LU%W^#>(3]5-,RV'(^2#/8,,PX9(+RL'%L0$X+CD!(ACLB*)9' M@UG7Q%S-2[^]=+]/8FX?1=0^6;MDMN]ZN#RI,7QT>Z.])\P8CQ(1<&0$')". M6B#L0B L4LY<-^^O%$6-GK*'X:^>SMI\G;CN%9,>=!^:__6@_="\1"YY_X\4 MR"H?R%FA_/*:BL_13R\GHR7.;A.$SB;%7&)(,@7P]4DCG;1%5&%.&*4!0HC" MQ\UV:@ZO='_>NNK]R+K1>+3X^?BS_XGA(CD270"OV$H=@'=FD"&&P]:5/'$< MF OE2][WH;!V=_\CZ8DAKP[79R=Q&48=S&B(AS(#>F. 3JX%@D;Z3F M,6)N2S>.VDE0W=.U!L#V4D$#>'IXTG],OZV)^&+'<0[!^/5H/L\]-2Y2LHX; M(9"@;ME1QB+'DD5Y/).%/W.8EY[&THVRNK4E R%L *4T +5?[;?18M65^78+ MY59^[ZZ_V=%LZ?3F2DCNO(.=8Q#&5$)8)#1RUB7D&=-2*RVT*-XXL0MA=2M( MAC)EQ572 ,[.O+^=M1A'WW-^*(?;!DM/% ](1HB>N,J!M\$LS]T,VAOC2"B- MJXV$U'VJ,93!.ECD#>!FY[F^GM-^H9-S0E*+F($=P',#()VP051R:ZB/@KFC M^O1KNNIV_*KA:/512.L@^S"=^#5; >-$712("N (PI*(G.<&<:NYC,Y:;TNG M:3N2U@EJZC5!K:=:3C07EIN2^44,#W[P;#S^'/.5WVAR^2G.TG1VG:_M/KKQ MZ'+5=&_(O-E!!!TCQU9.8L/GX_+4"DH"V$<1..+2> 3Q*D:*8V]-8 E]6MX!OV <"I;X$)+E[06%MGH%N?QT,F379^ M\!A)D>X<'Z$(*3)BDI#(<)4=$!:0)5BCX(/0>;"<=J5;B32?]%",1,DE@YC< M0(ANF$<.TX"28ES[//\6E[X/>^5)CWU0-E#28Q^E-N!*;,JZ/S07R\B5)1J< M"Q0IEV^?E27(4))0M-CG&=$,Y'Z$FY"G=#4"PR/BI<.5R4'*.P% KA\^)2D# M"4HB$6+N(QX#4U87E.41L2?D>JBG = ]XF T@RT[ M_GD^!5[G-\#?^KT;D8S'O#]-8/D=)A$Y2,PMPJ-)Q$D;G_:B/;Q'10>ZV@9< M'SP\;5)16CF- >[\:C:]N;Q:SD:[CF%D9S_73 'E2F"(Q<"=@;/!@<"<%0%A M+FS03E!L2@\UZ418W=C[R) KHYX&,%"2SA7\QMK 2$=K; VPBL#!P%DO(( QN15?GJQ/BH'?R5):7]CA>) M:L3R'H:-CJ]2>JJB@9-_.T,/2HL93E82#8<-E1Z"2 =.E581A41X4%@0EXI7 M?'>@JQ&']5@(ZZF0-@_G)UT=YGD'V=GL)W@A?]CQ39RFIS]QP,G;_V,%CM5" MG!8Z,W^?3L-?H_%X.6G^R6='SO,PFUL@YSF[)!F">^^0QTX( MFKP7IG2MYEX$ENO#^Q;\\T5\/_H>GWUV'5AB[A1SR[D7&'%O$K*8>D2#E<89 M2:DOG5CO3EW=LW8X3&WORUM47PV7GO^Q_3V>_CNU\OKRGP"Y&18A% M21J1L36'_L!1981EU\OE=W\EKIU%L6(4_G?@VDKK:1>,_8!WM]VVJ1 M,L& P8!(E"FW6F3(VB"1<\E)9444KG29YYXDUD7D8%#I#LF#]=8 +'\#=WL\ M_1;#>?17D^EX>OES.:OG=MP>!5XDS5>V,K/#DT(6?&W$A;6",&=Y\3;2+Y#4 M+.P.A\-T.-TT +5/%ESM.^*EEH[D9HB)<@CA*#-(0R"/I*/ B"!P3Y8;G5L0>V,0C\HAS8E'3%!@ M)A*-XY, :DM3R6U?J-MDZ!CH*"?@!DS+.PCATQX. =784K"2*$B2,TG:(8,M M1H'S !Q'S5GIQ.Z>)+;2AGE0=W](M;6/RLU;&4=)(DLHA00;#^,(@@7I>L,! M4BX%YTL/_>M!9ET?;%#8[ ?1@W58^XA]ED:=W@^'>-B4;GTN,,J]"TDB;/-T M%$+!Y528(*$3XQ@BJY12IX-WO^\VC;?#,3 ]CD(:,(D[CI/W]T_4K"5!XX"P M3![Q/!Y1)\ER]SEO0'I1TM(E,%WHJNL3UL_ ]5-0TZ#[.H_I9OQ^E.)%LI;K MW-A)4P\\<8V1"]K"?VAR$&E+STLG.KK0U6RVHR<:.L.MIVJ:AMM\-?H].JO! M;"<4:!C97%)<,*]V-;C=%=;L\UX3G$ M1<2*^8 ILI[F(>M@W($K@9B1.EK!<&"EIUSO2V/=]M"# W!0E35P%&_85<]Y M@@"= 3<<$:K!B@<1D Z*(J5XBM9PG(I?YG>AJVX/Z2- K[!JBEG H6L^2TRW MZK+L,'6<1YE@M6]UG1?4*X]22A)@&"$^@+ 34>V$\5A2@DL_?#AJQ>;C^2-/ MOW?AHB;"I("23A%Q Y&1PXDCY[3PTC)C\;##8)Y2=%J5F=VQLWLNS$%Z.9F" M]=N'>X_'%GZ+DWD<3=[>+$"VJSYBA6O7]__N,.;O0/ZKV,>0WRWF*>&198P+ M:L%]PPH%JSB%4UNI<-+V<5?D_EQ-JX>I8(-RLG[N[?B_HIU=X&@9CBXW/@D@ MHX0MG(H MSOOT_*_IA7)I0 M!>S%"Z\U!!!"(4\Q1QPDBQQC'BD?N3+<&.-+-V;J26K=;'K3<-U;DVT#-M\> M0(3IK(H)";>\F!<,&>)S6W.-E0S1V"/63'2^S!DLE]X$_/;52YLYS??1SN,+ MH^R[!?I;5BH0NG>AL5 POOK4'70(S>-^I4,F60/046!%4J[3=T$K+JP$+ZWP MOGM,P:%VY>.WF(4VN5PNN[:2%UYRD7C0B"23$-=&(J,\150D1R2-/,72#W W M$E(WY#U UT_-Q.%B;N ,^CJ919^%'KY._'02ECU![/C3S/< M >S+58P+.(1O)HL+ZX@CB5/$7,Q3R4A"!A.PA@(G;G62SI2^_CV W+KQ:4'< M'4ME;::T5X+\X"+LE;CTI?I0YY^G^S/+-7YA8*?Q,ECI"E5 M^1&O1%93@BAQEG'%@F'#'G^WE#1U_NVC[=WG7R]!]S8QW^/,34OU$PQKW>3C"] 0-$$(I%3N2]Q?AL*I[Q'4EFM M.74@VM)UGP>0V]01> CTCJ6R@O@-A7Z/O%#M$AY#',(:O!!E)!*/(R O:QI<@0P]5Z23KOC0V=3#O@Y#= M!W-AY300L^[D[^&._A1G/G>>%$)&QF-$THM76#)O+#/#^GXO MT]C4T3P8^ Y53LLAZ;]@5UW?7)]-)O#7CUSB@P_:EY79_:ILZ,O=!S5.K=22%-7!X=N+TMYOGA2M&2VX4 M5MDPYS9( N)Z21,$;2)"[!1L^2%M?6EMZC ='):'*NN$0'E;F<*X2\YICH1Q M>6 .> \ZZNPS.,.#ILJKTCY)8M[*H @3[J.;4D+R>Q-9MU"H%OKV5L^)X>_M]&9VP;QGWE*+A._G]F/QKIU0I70M[=R:O0QH'D1T3:.P+B5:6SP+T([00_?>KP*Z*F0WOR MG ]T)W%_VQPY-=%8AEADP(UWF2^KD-%6>1T\(;CT,*)#+O_-"<"JA*C;O$CX MLICZ?U]-QZ"*^9O_N0&F["0L_] !I^'7Z76N,5U^I$3Q]B&?*W#A4(S;0I<0 M*QKN(!I]U-1QA4)2N<=LX$A;H0"B20D-_P-,%=ZYCRDH-R?LRQ7LT5^>"O4, M9#JY7!8=SG_Y>?\S:\?@["\["ZN6ITXE[2-)2'H)/JBD'%D?679)N?"2..^& M&R-V(/%UKR@.P-3V,6+'5&<#(<6GL9WDWL_+;N/&$AW5K$O*E2ZX>_C]5N:$'14"3R>>]-5'0UA:]Q'77GJAP.^04N=& OF&A%J# MC(].*2*#\\7'Y#RBH"Z>^FMR"R1ZB+5V&NS\*E),Z,I0OYODDA3P,S)#ZQ[P M44IO\E0#ZD@$9B LUE021(S7X% M;Q<%2EG95H3+?+:X^)P/W]5,%!&E\$P@EH=_<>KR@*=H$8@C4I9TXJE3.)(J:0@,$@26>4EHB((*A2F M,G4J:.@"F)JGS0'*>JKN'I*KK/!U;>7M?$G*B"?8(FQEC@6]1L8PAQ(7(26B MO=,E;,2CCU96>A^534O(K[;B[8\'A!NKK;."(F W >JC0C8%@WQ,Q"D:,7-% M%/_PHW4.B&**[RV_!D+.U?$&/[PT>7"Z*0NX15I!J,7!>T$0=0E$8F16:"\$ M+1UQ/B*@E3%+-1,8_372 )SZ"^Z>[4EXXL2S8"R+2J(4%,1D(H'_;C7\BEA+ M)01J3)2NIQR"C[H1] &P>IKJK:WC!G#^*"[\^.W!4#XGA9*$>!2",*L!;([ MUE>>Z:!\ D9*W^-O):9R/K@Z3J9#**T!]'V.\\5LE/M$+UGY.ADMYI^_?+V= MWVP=\=@S)&P> 2BHSX7U"JE@=#34ZD1,803N)*AR^-\:"LLIKW;^\5.<+7O M3/Q*>)LXN_6*%1-POC@DM-:YHY!')G(%,9$/$$9[_NR!]98<9/=O5O8E6X'= MD)JJ#< W7SY]6@KQCG@-<7?D&'F?*P5MBD@3!;\5! LBK.2"=(+9TY7K/EEH M"TP'2;URKN-\M,CQW;M)&'T?A1L[7GK#V+ 0HN.(2A]S%7-^$*3A^%=2Z$"U MY:%3PXL7C;^?3-Y/%:/%SO>\2 MTY0E#(**"@3E@T&.2HXX5;"'DM%<=.H^OB_8=I-5+_=: "[X%10&Y6!]N9' M]#?YNOIC2B,?9VOKJZ(2#AMP$;D28'VM1BYYC[2V@2O%"$Z=QJ^\@*?-7V\( M-B45/2TJ]08BQA>M^S;C_OYN&E\(/C%G(F+)YLYY&".C,/!.$S!-B"*I=.N' MPZFN^]BOC83RD75_RFC_<),W]\=T%F[[UJX>.$DOS8%7%\CVX\@;IG-DBC@A'O*.T^+.VH7AI/(_9^%XI 9!7M%$> M6 IBP2-U#!%M/>(!*P1'O47 7U!1L^1-Z9<\Q9EH/-=Z&ENC'R1JYV"7Q#][ M$O><>_>4>XBGXFPTN5S-,[T@EK&8E$/&@PG@$. C$Z- 2DC)C)>)N&Y5RH4( M:CSC.PRDJVFT-HJWUGFO^X#:2PCBWHQ'RV%+#\7RZW2RF(WTCI9R6[=!Y<9*J36"M$D*.*1>F2%8LBD0 3G&$LUB)/&] MT(_4NKV":@/]".IM <5]I;S\SQ]QOK@3#;G0P*ZAU"'&A4:YN3YR!G8P#H(S M3J.@MG3?JY+TUVU.5!OOM8#0RB;H!>8\R5T!*7KIXL1GS=)DHMP/_H$&@ ^W='69Q]'^6!BIO4\&$Z^0X[ M/*XV^_P\=[M['/?,%Q^FB_^*B\_13R\GRSR4S=W,J$Z(,RT1)P$$$9T'[7@5 M,1%&%Q\$-!@SW6ZZ\"O='&U@Y#5OEI7M>#N=K?\H_QRY()1I3%)6DE(Y@8"1 MYBPAQC1U*L%9:O6I[*"-'';;5J_U!KEA--7.J/8^CL_M[#(N[O-T%X1$XUTB M*%"77]32"!8&1R0YE4DX)A5[$FZ7OAEX2E(WT+^VJ^"*:FT3S ]SR:NLPOF5 M7?PY&H]S,/7UVW1R/AM=7N:GY8(RQE5$@62/TE"%=' !R91(T,%&J;K="QQ( M2#?@OK:+VJ.KL $_I[>H;UMCS1>SFV5AXL?%59R!5":K%Y/S9=G&_-UML)0, M)S(2$ 2$3.#_Y3@I]UJBEH$?2*S@LIFRT#UYZ[9;7ML=<-,(:F!GG8V7/Q/# M9@&]^9%_&2\XIDEHAA$(W2-N,45 6"4D"VWEZ M4160+LGKAM%7?;$Z@![;@^BGV?1R9J_OII+?UVC>_\QJ, BYT$+D:,TC&QQP MJ@-PFB)#6EE.5& Q=>N8UQ^Q>U#;#<"O]J;T.%H^^3$>7VZNK^WLYS1M_NNU MLW2<&1_[T7+< 2 'R&F8Z2 D82TB; G+<+Z441&9$"P23A-FC""G<@TQ)B1(NU\0B0*[(/6"A@MC,P=Y+R6 MV2%[ 60ZC+;:!=ZZ&8+PS!.Z?'27IVDD$I"FF*-$G>=Y/C&3I0L[=A)4%WS% MU-X-3CUTT "@\BTU[$X[OFO[A(607E.!I$L4_&XKD;,$1&,Y<":MQ+9TL^!G M1#0)G#X*GI:4=@-P^0R: *NSB;AM_@]CJ??LH36GO!M#Q4I348Z",BM$R.RP<*OG(O$)9X$*3U MQ-A=5\O M#X>R\EII &H%LJ$\!>X8]2C0W((S.(X<&&QDO )SKHV!G==*%<;[O9ISGD(]^:'"RU M82Y/;(B<>X>19PHB;9:[>DI,D23>2;#EN1*T[I:91^T%7,> MRBFZ 8>BH!16';DNDO/&@%905!"7<&,=N^3;ZN"OX6=+9K8+8^+MW^?3>?SBQ2Y)E$IE#B#B-Y)@[32#G2# ML4HR>&5+^^H#L'&B_3W;W3&'0J6%LV57#YF'?NJ;'W'F1R 'B'U(Y(EX"*JR MQ"4'JQ!U@%]9R7!@S)C2=ZO[4WFB#3L'Q/JPBMX?RF8%Y4F\S.%V$Z8?Y)SB M:'&3FY5.'K3-N'_*PZS%SAF/@C=P(H;@D2'8(968\H)XJU4S[8.Z,G6BC4#; M/1;*PNA5[*SGOB5A#@L*W./E'$#B$]+1$L2UBR)XT%%LS:7J%X*T]]"LW9US M&$P.#$'>3)K;*W_&T>55;JSQ/<[L9;P]FI<-*K/.TEIGR=)D"36(8(C1N&04 M69=STMP%"-*4,+*9%NN]N:P;OK29U1H"("U$)<>1T 6AG$2I):(B:U$ED A. M8&(LHTE2K;CWI[EO7DUV;!"$U]F0>\'M=/)I6XL'-F9)=@I(&2^E2QY)GFM MA55(YZ%S3G.CX3_,I*.'5^78>S7YMR;V9"78G<+I^))H;KGO)AW.DK#>..05 M7KX0D" 8L%]:"R)D)%V'!Q]S4^[%X:O)%9[$OAP.?*>P-0]-'>T6%J8D\?QX MD0>19PH'9&(@2#.C0I"6&%'ZO4%5AE]-YK*)C=L,-%_!/NX:$7CCG:)$(\QP M0MQPC33- F*.D80C-Z:9YG(#!*"GD!L]A;TY!-Q>23;U?H3M;Z.Y'T_G2P-V MF\9;YI"-8,@QR?)[,(LVH1QI.;6_@M/HCU5W M[N6I'3W\\GR:_^CY;8N2Q$0O%9)&$#BE243&YN&<$ A3;B4.M'A3LB/Q=MH) MT8)P+KS1!L'6WV+/[4Y),2N351H%XBSB$7-DC,#@+U-%#$Y*V-/;B:\W.7K* M^[,8#EO9M<^>W'09[?N2(WW7/&\Y0!6T>F/'YW%V32\B%=%(SI!Q!.);:Q1R M*1G$I+16)&RL'>1IZG'9/.TDZ<#[LV'$O8)-N;<)VR8YXRFN#^M-.E[6[A2OAL96>7R5N]RV/))_.17[555A ; M$$T]\B;DIT<:!)$@9'#:8&Z)(GR8C3H$,Z>="FW7M2V#GE>PC5XV0&>7E[-E M.?@301&1;U 91H&2;&\">/;)1@0.1C(\!N))\>:QM9CMM W;&[O0_#8\#OI> M[S9=!]RYT\XZ5<:C$\X3!>8K&L1QS/&V Z> &B:Q3<&5;^E\)-XZ;<+VYDJ< MZB8\#%M_BSVW,_T5(L,I&(V",P3QZ#4R7EJDC&/!$VRP.9$T;$>..^W/]L9F MO(+]60R'K>S:\A'U=FEMCZAYE-R8W,-"@+ZY$0H9#I&!MAXL(:4X&7D:&9\> MW'?:S>9ONIN;T-!>^&QE9P]J![<&"V#B0% AWS\M.YU*9!@Q* 3&,6&8&-': MT_O>S'8K5L!_TXW;//Q>SURLSR <<$!R/\S\@U\GH\61VSSN04FEF5C[RFB8 MIHY*8"J<-HAZ+A$/,2*CI43>A:A=L@+CT@GS5B=BZ8BYP58BR7GN8. ,,E3F MFEQJ/ Z.\/)5;*]R(M8^F!IN(M8^ZFS 0UI1#C^\'*^3B'%*!HR\SR13A9&U MWB$=P (XYAAGIC 6'Q'P6J9>[06"ISV=>VND 3CU%]P]VY/P:6PG'^QU7$\H MD-XP$Z)%V&9GAN?*;"<#2BPD:RW%K/A4AR'XJ ON V!5[$UE(1TW@/,-7M3\ M\Y>OZX$7C"LCG6&(:D40%RXBJZ-"7IH8$LZS:4MWB]I)4./5Y(/CY?GHI4+* MJXC$'*=$A2Y]HA; M(I$V6"%&C34!-I3RG;Q(^,(#TP>_NS=[6S_^6H;8]/$@RVBD-4C].5IOMJ]&W\^F;R2)G*U8[DCDA--<)25*;# 7.6!:-0@KG5 .E&/ M+$\N&2.T3[C32;GE PUAHZ0VIX5%6]D./65AS4&DG.61=2BR/,LN]YO6QEKD M71X$&T5RI-,(RQ?,S>:OUSGS0FM.,JUJ5OJ(MC5XL#4/5IFH&<8HID 1#R(A:[1 (7&C MM(PFF7ZG#JLY@K0J//J(MC5X\#4/7A'K$F9YI@$&!PZB3T-B1#ZQ&)4AX5EF MOB,\^![P*/[JHRH\^HBV@=1C[Z*"]W;_7>-KAGO0V<3=T9-V?,MI7E\/O)O/%[&:IE8^+JS@[O[*3 M=7'-A^GD^[*^YN$X@<08;'H"GD2(.4[F$AGP(I P4JE(I?2AF1;;O3AL_"J@ M,'Y+;9_AP?3WV&KK5QW4@!:3 <]IZ2X<1@98SDR6#CEF"!*-=/';%_F3G2# M'0'AQ]^,/>!V.HWL>XOG<:OQ"V>%S>$SL@F#%Z*90CI^ MYV/>3K05TVO:A > [;3G^;THF76;\ ?"8=1CH[T!Y5&9*^,DTM@39!CG)$CB M33R=G?B,O1-MJO2:-N-AD'OE^_&IZQXMMN ?4.0U6"ENM$3.8XN(SN,TB,&Q MG8XO@T2*[35:>DU[\1"X5>XXO[S2Z/HRN*_+T*%1T?S,GW 5M61X9U->O(H?QE)_P9G^%L[ MFBU?^3ZTKY:I8 FHGCN69W0K!>Z#YH@Z1C")B5':S$S=841PHG'FR=QL# ;' M?W;SN@VD (^(2HZTY0J<#P41 (\,!9&P3)9@H3N5%I[8%G[U%R;#;9P&C M*/[;7;:\+#[&/<;.4$2B@$/ ,(-L#!$E@QG&UDJ:FFGA5IKY$_6__U:68$@\ MOVI'X'$._F7!Q9@"\<$BE3S846D,@A#((.%-U#+Z&/31'[T?B_D3=>7_5H9@ M2#R_:D/P8#+MRU)+$!)R'SUB.$]8B$(CDYQ&+G"6.*>2JM.Q OMP_NHOJEZ! M"1@,R:]Z_^\12W$E30A4(LM]GISDP68:!B*TD86D+3/R=.ZB"V<$3OEB[!7L M_8%0?$J7:FZ RY#=\["I!I$YBB+)#Y5P?C@=B$-.:YRHQUJZ)V73!UZU'9O# M$SWTCW@!US3F3K^1[/J15^Z2^NUFYJ_@!\XN9W'UK.M(+60[T7#DYK'[RV68 MMK&"7)Y '<0^:\YC$(5OP% M53?2Z@!K"#0\]:4'4$WM;@-;>+IKB/^<.T*2XAJ\]^ ">#C21>1H$,AKJ[UP M26/"#[!0.SY=YW9H0& =00-M>F3O)O#+>&Y_Q/D'"RYN[LEP@'.U:[D"?E)G M:@NY/'??NY]&<7]0>JJH8!K<;P@MN+(&::8CBHDQ[G7BQ)=NF[^#G$,/N[NE M+":>Z(P0(1DSRX P+XI2(@8)%99:.5JG0AS!92ZGI)I9#P M]"0K(?<&?*4W*<4\N2+>\?/9+F(>632:W$!<^_%;G*V:R%QX(@4G-L&9;%SN M'Y9'5H/AE#A2.*R%3(&6CALZ4U>W[&$HD VDG09P]W4RBWYZ.?A\F ,YK(@2F?R0.C+OM6"$"%]Z,F _2NLF M<8\,OI)::]-9_Q(O!TML@SR&\Q&QA1D0>#F,IO0PVFR.7;O\BC)R8J:53Q[AQ;:#G4 M\*T>^GQ,ZY-_C ME\#!4]M51O -')VWC*S$D[OIW7$BN72*.(5\4A1QFR@RP@3D!*>461L,+1T9 M;Z>F\9]CM_CY";"CWR:36$?+6_+\C7&M_PO/\2%^_GXWPY[ M%O8FYSAG9AEI#7VV4NYC\MX@E8C-UL^"/Y@$HC9*%Y1R1!S<\FX?UTO)EP-I]'<&"7/4E#HIX3:I#' MFB%.F !)P&' J=8Z82D=+VT]#Z.XT5-Z'T1M'T$YN HKCU;X II:E@[F*VPEH)7YD\,C8%I:';4Q MM=J2#UE8]PM/!.)L\&I1P+G?LB3@F<3$D?4^8>*YEMVF1[Z$J6T$U!OW4DBQ MT])2K@@5G^]09S\OOGZY<):F0 1'SG%P6[4*2 MN4'2),4=Q'AJ\ Q?SZ/_W MY?3[_UFON(+&^C?WR+C_7D48E%':]" )MA ]3B=?;V?L)2T2980@[<5R5K1& M6AN&M#'<)^LEB*9TN'C_^7IS?,IBX5#)-F (WGVX,%8K'E1$F&C@7.27*41Z MI*5Q4EHBR9$ MQQ (E1X7A$7;5Y-01\KDI*/L79 M[>L_\)TFX;?1^"8WCGWZ]P?<^_3^5H%+G3)\EGKU96<3 -7\]EOW-YC$1NI4 MCB9IA,,_YK<5,2'/B PV@5M@2Q=!;:/EX&S$K4#?3^?SL^\@R^SHG$]_G5Y? M3R6?41 71P=1>6[ M8+:7_%L#STZ!K8^6.Y&Q& 7#B8#7RL!;H"3/Z346!>&%@JW)/2[][J,WL75] MP,K&[1#%-8#0)PT/;DN;EI*W$)DMY+CDK&SQ6(V+ ME82?]R)Y,((8CA_GL=00>7&P 3SB7(D2\ZM4!X>)-])[4QBUAU-=UZC6@?*1 M==V ^>W$\:]V/%YWL#F;A#]S#7YF%3CQ#GN/E&<4<6D3,DPY%%1,,GJ%&=YU M:3\8K#>36_<=5L-X+J#=4P'RJM7)U\EH\>E9YYR+F!PU+N!\ZZ81UP1$GB)# M,1B!P>6/$$34@/,NHNN^[VH8U,4TW0"TMSA8:YD^\[,N*/A3R5J-L >Y\I + MR@0-B%I!5?+&)ETZ1[ GB76;2C;E)A?18G^03F$7E6D \"0*_AS]=.)'X]%* MK;<2-)'CA%U"3(B8W7^+3(!313+)A<312ES:R':CK*Y[,$@.80"5-& -GW*U M"BM]$)%P3<&&9SDEV#).8(I"?G&.(\6)%6]&MXF0MO+L)33^ JCV%W^#&%H; MX0N3O"9",N1<;B&EK93F$7#41P4GD7=Z4-#W$_OS^'0E],I2,/RDR\25!YQ"S!R,1! *B SP.G)XM!^ M1OGGA _%_"7ZF]EH,8KS5?E1#*ORI.MO-RN%?DQ/"5I5[PDGI>!.(I5R%XQ$ M-=).&,2TIA0KZC K/M2J* =M';&]$+?]N>'15=S :7P@S[_\W+S \G$5Y]3Q M:#U*634\>8RL8PKY*$CN9N7*^X4#LM/*D\CCHW3:)F2:W3T?['5_! M:0J(NJ00C]( /S(@AWG2(BJ,1>DZK9=HJHOC9L#3"=0]-=D ,M^ $SO]&>,R MH[:Z85B_2.'>&IDI5]:$/$L%(QU(+J5A(1 JA'>QM'>VC9@6L=A7YT]CK"(* M: !)GR,X6:,\,&/)2D[KSS]_^;IF1EOMJ,44&28HXA2#B )GB&CL@XN8"%VZ M8<9.@NK&[H,BJIPB:K]Y>+0W;N^(/HWM^C9IS9$EL!L2QXA@G"]!72[3%Q%A MA:6+EA,ONKUOZ/2YNCGH08 SD*P;L$D'>A'O[YZ"X$"3D9Z@R%5$W$2"-!42 M44],'M2G32P=D)>BO95GC*<>C_0#P^EO@M48A8LDF!8^":2Y\(CS%) FW"T' M-@1F,*6N],/'(H2WZ#H.C;FRP.\!@/I)_T>=)J(/J^67$^#.1]? WGV[XY?3 M^AO;5^1%5R#VX1Z[F[^P9SZ_-_&E&@"^--AOOFVRWXI&^,S9)&3GX4$ZH7"Z M>@@2#WJ?&V?+;HX3O_KD)B]\[4%V\47W6*[M&9 '0.7QF]J]Y=O;"(T'#X>; MBW3K#0.S M1_3%Q=4T%-;7DS6KY 'Z:6NS-!K1U2?X[&)V/0EOQ_:RB*8>KU@EP=A+3QLE MT8B6\H[_=3(/LW)J>K)D%;^[M_5[+HM&%/7_IG_=TU?6 FY9NHI#W$MQNV53 M68%W9^KH.H:WTUGV"/^PXX.WVZYUJSB_>ZFN@U1:V'CS7\?3>3R?WI&[?%Y3 M;O>]L'X7/:KZ6[";E)K5YT!J[*0]W:CV&E':NTD8?1^%F_48A4,4]62IND'9 M;IE/7Q) [:TT'M_3M3%+L^\FVK1@-0UMD?FTFP!:N,J\2R+MWC2];AL?K5TW M6.ZTBW8*I;BRCGYSNI&KIS7Y0Z8CZ\-]>SUD6>@?5G\.7A1U W!8 MTG;V#3[O5X_\ENUCYU_./G\9!!8O?Z]J+=PQX=%9]+4=F$VG!YSHFO%X7K;N&JGTQW7U]HND;2@LC<_ M9O[3;.0+[*_[I3HIIX&KM6?,MZ"1WW-SK-_L(KZUH]D?=GQ30#4;UNRDHP8N MU+:+H[*R'N_LG__Z]V()I5^O)I>?_&%F[X6E.ZFN[AU;-^&T6FCY;C(?@13/ M9W8Y<^-AR\I'E!]8;;GC,T5*+KNR<6#=9:74TY[E2W\"BS\_I3A*@+,]*I@V M_;MZ2K\RO[;[J."#?^L7H*KJP:V\UJO".R907AF MPWNF\+P"Q]\O]\A-$?OB5T,8%*V:S7]+%P_-TES J^T'WI!U\%_1DJ6JZ MV2GMC5IIZQ9HPXE?YDC>OG #NMIQ*_2B0/[6]ZF#')1=]]"1;E+_N:CL",5_ M+6;C\SB[GG],Y[, ZBM35K-CV6H0W>\(?EDPU0_B3%6)=/GCE:I5].[K(FU@ MOQ65G(\6!WNOCY:J5K[;4RF/!%!9*Y]OQI%@)TAV&L+TVR(>7F6];D%D516V(?I9 B=[5BV6J7N?FI[63!-&, E72"\G,8O8 0?+5>M%K>/(=PD MB(:,X?GL>K(H:PL?+%FM[K:_*7PND+8L82&%;5^U6FW$07:P.;7=!@RSZ]'$ M%K2$3U>L5Q71QQIND4<3NOKM9K8DK("2[I:J5Q;11SM/)="$6A[4T5Q>+@?K M'%IBM&O=>C42?12V4S:M7K6_F2W?F W4S^CYZD4NUE\@NL!]>AZ'\3W.?GY, MS[[U# G]?+0N'SA@NZY7O?W,X;=W&Q>LEN+=1S\/=^HNL=0.!.(<9+>\',FG M\<$7$9O6JZ:OG7*?=A+"/U=$M93RSV.[?^ZP]HV2/\1I":4\7JGINJ^MC#=T MKL1%P1!XY\+5C%I?SZ"+F&J;O,O+Q9JI@Q]V/%ZJVA5C7VUM%D5E_=P2-,FS MU$;S,A?W6Q>M=@-YH.^]53R5M?=E\>]/,_]Q=CZ?O9DO1M=V]8JS7&>U3A^H M=E_95ZO[B*VRAA_,7BYH2K>O6NT2LZ\N7Q10.P?@A^GBO^+=21U+M?[J\H%J M-YX%#LL7Q599PV]AT>DDWG):HIAJRY+5;D/[:G&W:-K2VV\W\7SZYD=^5A^! MSTF:SOS2M3[4V.[SG6IWIX4TW$6(#:K]C]%TO)X%\?^FU_'7//YA]O.]_6L( MW>_\6+W;V)((Z"+/!F$ '.>ATJ,T\FOJS^V/7^(DIM'BX+X$O3Y8[_JW)!RZ MRK4M2( 9&]O)FN!WU]_R/&5@P(W&H\7/,KY;OR_6NV(N!(K])-M.!%;2Q=NQ M;+VW^@6"L#9]O0T$%HZCGR[;28E-Y;I>EE%#MP+3.(>X\'/\GYO1[,ZNE#'* M>WRFDY*;2GWM+\-6JX ^?1^J NCQRD6J?W806Z#RYY/]^+@CGW)?^T+H1_3+N8F_@IFXG,Y^'EPZLGG%>FIZ M*N]I1^9K)Y+'XZ?DC3;/U=J_B&3[PO6JKW:J8KJ?7"JK[E.<%M#3_2HU:TI> MEO5T!^/UBWR I ]%U/%TK9KMA?92RA8A_%.K>,R3YI_ZQ'_J$_?33?CO\^DR M'C]T>SQ>J5H9U:[=L9'9V@H8C^_(*K,UGBY7[UC?*.YI%]YK=YZ)-@=8!^^) MA^M4*U+;M2,V,%K;J5U36R;I]GRU>L?V87%\:_<7OTZ_Q'',,Z+7&#KXZF+S MBO4.DG[ZVBF7VG$*D!+NG/J/*8T\K/MV4F:OO;QZ/1/83Y>=Y57;9L8X^WTV MO?GV;CZ_*:C17>M6J\[M:T=?EE%MBWJ5.T*&.T)+:7'7NM7JMF>BGM!-K7=SMO,\-GWRV*V<>NB]4I=^WJ9+XBG M(>TM*7M@(4HJ<=/:]>I4"^ARA[!:,*5WI!8WJ%M7KE=A>HA=?4E0M2LK_N=F MM/B9QU&M1 GAS?6JL^-RXDH$;DMI=\]/U2LX[:GN?J*L'38^,3-_S)>'R')@ MY]5T#%+^O"@52>[WJ7JUJKUS=WU$V9S^/\3%NXF?7A?*H7?Z0+V2U6*ZWBZV MYC3\+,D\E*9W?*B3QIO*'?408^U.D\_-3^9\G?PJH_2NW^BD[Y:R3WL*K[E- M_G%QE0?F#;J_-W^CDZI;2ESM*;S:N]JZF[&=O1_-%P6ONK>OVDF=+:6S7A10 M;04^MRP']_[=O&2G:H66DEF[15,]\W]K_,LK\*6U.VFRI5161V%55.G-'%U: M^^WBSG%_/YWOJM=*=NZ61*S_X5J3X\7\]D_N5;IY[4Y*;"6!M5,\U;V=)Y[W MH=MOXX*=U-52 FJ76&H_=:HD,(VK==)7RTEC'8(I844?Y'VF \7ZJ2@ MEK(\F\10W0F9'EPJ>;M&)WVTE(-YPGP;9=X'JV/?>E7:4IJDP3+5Z>1W<%S6 MA/T6YWXV6E[#%*I3?7GY3DIL*0'27635SZ4PRG39,SP_Z-!V/_"C./\VF_C'E!W;7V/&9(JTVNK)1H._&]D\]0TK/ MAZPOKW_0D]OU\N'ATJ4FI;Z\>L6'H)WU]OC-;D=Y57]*O8G.#]/%FM0R)KS[ M5ZJ]Y"JJYQWR&]ZBK_\B_\?9>?R__^O_ U!+ P04 " #NB*=8JD$L(BT( M "B+0 %P '%L>7,M,C R-# S,S%X97@S,3$N:'1M[5I=4QLY%GW?7Z&% MV@2J;.,V-F!#4L409W#M3)@!L[-O6W*WFM;2;O5(:AOOKY]SI3:VL4E,V"0. ME53%N%M7TOTXNO=(UDEBA^G;DT3PZ.W?3OY>K;)W*BR&(K,LU();$;'"R.R& M_1$)<\NJU5+J3.43+6\2RQKU1I/]H?2M'''?;J5-Q=OI."=[_OEDSTUR,E#1 MY.U))$=,1F^V) ]:K2,AF@>M=K,9M \&8K]Y-!NM]G^"+72%N.]C M["05;[:&,JLF@N;O-%NY/1[+R":=H%[_Q]:B'-=2_[O?>]L]-^[^(#NWC/ MSLY[W?>L^^_NV76_]Z\N7J&U>[GQAOQV?7EU??JAS_H7[/+ZERX+]GDU:.[P M779Q6;YI1>6;C;<&@>B?=]D5HG#9Z_>Z5XC(V?GIAY^[[/2L3W$*VOO-1\WX MR,KX;V&LC"=?W*[F2KMZ%7:%Q!0EK)_P6ZXK+!2:]&$VX?;5=NOH>&VCQ42>@;&1[4IG9]_=D7/16T:RUR0X\E?"28%B,I MQJ@T-I&&_5EP#=2G$[S/E;9,9>R]TD,6U*N_,Q6SWPN>3DR%];*PAG"U7VBX M&AL7KI^X09 0CN&$W69JG(KH1E1\U,I810HJ9 KD 3-PF3&>35B165T(6 Z MX9@%@LC9$$]:\I3%**A,:::&J%A6>;DE@4R$PAC47!(9\EN!>>?&-'@701E, MF3I:@CE(()0:- 1B&;I#DTAH-DYDF#!3T,>L_UAH40Y"!@RE2<%7B/J,I4U@ MH,E%Z!2D<7.HIB*8.4*WB TF\VYXP:C<_WY0*5@L,\2=(#2++W:/FH$A\>F!%G)+BB1J#B6>'21[#&NA<,,," 'J:#8,@&@#E)I M$A(GL2&2*"52>HZD"5-E"O2C]*I5ZL&3:Q6*"*\-VP%6(@'P>4!T[\*$9S>" MG2)S718I)!PG;>V(7=?5\5%Z\H^2^&;F04OC,TIO\ M,.MWH7(Y$$!*.9,OP*K0& I;"2-2XR0$ID;ASCX+*7.IV4M4NZ@5U;@&7PJ M9(]H+#>9(\>_9$R'&X1IGZZ[(YX6+J=1P$4<@VS*$4)E5I#&>Q*R M1H[VCZMYI(,P.B*_&L]6!ZJPCVNP3A7A]]*"J'C\Z0T5&TQ)OEN5PGL"^C@$ MT@0O%(71!J&PS*P^P,M H9U^20)=RTHT/B&?$A%085AH@L-:T-W^:]_N0&SQUN1M/U4IDE M,ZI@7N!P89#::T0R[4"G08*M(-:(@F= M7/<=H!E)V5#2QU\BXM,E*/XL)%1VRZW(0G>,L?MC[_8URC'4EU1Z[34Z@GX:[<[OCSBQ6YCD?H:,1] MJEN!T9+40AAP _>L>()@P [\3ZMPCS.C+"XK3^I>>O'?O&W5*6I\K)%0*L" M<-D/*'+'Y27<*KY$RFRDTI&@.IGQF_+47Y<)4PSS5$T$6L>)\EF2+X 9X%M! M(EX_H3;6'O]]=0X3+JN?6+<'*UL' */053@YY;D1G>F78^3Q/.63CLR[O*5B-_]%TYK*YYIKV;+3Q8BBR7GV9FM_ M:]JAQ'>GD=^Q8#$1$.0?!M+'\.MG H>4=UA)3GE! /EILD'P^!8.>+7=Q-[)?;*KZU^[ M[\Y9__STGZ>7G^N2-<'Q!#>N(5H6'T=7_X>XK%PNV:[\K_WY.7 M?]-@\<11'4T^2Z2(6?=.A 6=R+$+OQ']X?TOY/V=\A _^\/H7 M\OK\S:]G.7G/T?<5FX/Y.\6Y,N[>1L?_\C@2C]XR+OE_?=:%#Y"\"[O&5X,S$R+FAT;>U::W,:.1;]OK]":]W>J1N,/OK]URI,6!P@N-)C%U)53#=NI+NX^C>(Z'C M89[$;X^'@H=O_W'\SVJ5O5-!D8@T9X$6/!QS*$9/AFRU9;_@' M]?W#1K/.#UKUYH'OMQJ'WF'SB =>DP?[__&VT!7BKH_))[%XLY7(M#H4-'^G MU<[R[EB&^;#CU>O_VEJ4X_H*HKG*.EX#7,A&& MG8DQNU )3U]7#$\-YM0R9>:S(> MAEAPU5A$F*A&J)J^TF[RVAVD/:G1B-?E^S[[V.]]NAA<#OH?6?_?O?R73$)'L5$GHB:SV:E.[OO_LBY[RCFIMO_L%4Q/XH>#PQ%39(@QK" M=?1"P]78N'#]Q V"A' D$W:=JG$LPBM1<5$K8Q4JJ) J$ S,P&7*>#IA19KK M0L "4 [+/A!$SA(\:U)XH6)HHP$=EY M%]N0(!+P"-ZUWUP#K][AD^$5.X)- >Q^[<@C/[P3!IY" &T1_#*Z*E2? UZ8 M];M0H?0%D%+.Y$JO*C0&0/(:26-3(J1$:L.UGO\&SQYKA=+U49DF, MUR*]+ 'F#L_MB[?4\R_#=O6W6"&A]I))0*,"!L M]@.*[$%Y";>**Y$R':EX)*A.IORJ/._79<(421:KB4#K>*A&=&9?NDBC6LW[RK9V^^"K>GY.UU:]UMAO_OW#'M4.O?7LW+/N=2Y&%$W&TS=;S:T[O\%W M&MD-\Q;S "'^;B!=#+]_(K!(>8>UM5A=2^,_8U>=V3*QCNA#76!7U%/XX0.? MO-KV]NO=@XJ]DW3G.L\#G?*" /+39(/@\10.>+7=PM;)?K)?SL_9AP'[=?#A M:_VQ)C(>X,,U1,O*8ZE*!@?2 38CSW6?4R!F%VJ>E?.?DXM[0RDB=GK+><[= MGO.'O[^1OW?*\VZZ@G+K=-J:S!V)E_O^W1]!^$9!F+_M]2@G[UGFOF)?,'_7 M.%/&WM7HN-\<1^+>V\GN3N_9.]O_!U!+ P04 M " #NB*=8KICL?_$$ "8%P %P '%L>7,M,C R-# S,S%X97@S,C$N M:'1M[5AM4]M&$/[>7[$U4P(SEI!D8;#L,.,:43PMD-BFZ;?.63JA*Y).N3L# MZJ_OWDDF-H24I"4AF3",QKI]?YZ]U4F#5.79P2"E)#[X8?"C9<$ACQ8Y+11$ M@A)%8UA(5ES FYC*2["L1FO$RTJPBU2!YW@^O.'BDEV16JZ8RNC!TL]@I[X? M[)@@@SF/JX-!S*Z Q2];S-W=[\5)XG?W>HG?\7MSVHE\XA+:>GUKH>$1>HJG@9N![JE22.L1HK MHXD*]FR]I.B-LDC&+HK %(0.$EXH3%1@X/IG'?]>%I:DD87F@D0JD(L#8.ITC(Z'AX^DL(P]%, MT^3V.CX,3P_!W8=S>VJ/;*UM2'0[N\Z#%7Y@S_RUD(HEU9.7[+^WY'$!$2\* M&BG&"[AF*@654GB]( )YR"J8T)(+!3S1:UDEVS N(ANVM-;FQK[G.?T1STM2 M5.;.[6\#.CKB(@?7L5Y#PH7Q^+;V"+2(<>2>$!&EFQMNU^EWW+89L6T@$A*6 MH?0VC2F-%H(IAO62(H;P)DI)<4%Q..WU34^8NDC,2_VH6=5N='I.=^E]2L2<%%1:9S<9 MK6 8&=P]Q_':*">JK>$><+<;\EZ MB14:G,!R]\NG'^WO;](M]W9V?/[PZU!U[8ZO<9@A"\W62!89[I,(.R/3C7K; MO(*^73!!]1%!:K*FS29S.UL$-XG P;@5;]]R_Z[5;]N\:0 ]=)#=7E]WZ#?* ML/XZA49%Y1I?B.1G"O%\T"WSI4>=Q')FO8Q;5.+WYU, M;:<^G2H\5JIX&;D1VT:TH^+[LJ[M>.Z#4L?^5)GO=#_)\D.Y^H[M=3O_O]N> MO>\^+%YUNV/@K2%&%B7VQDJH]">_5)Z,Y+V4>"\@TUR,_5,VJ/ M+P' YH:_UY?F"M/SD_#P&%]0AK\.)Y\*R2.;XR-@?(1J\_ Q)Y,2,>09BT&# MU_^:N%A[;?BJ\/^:4'[4V]AW])\(_:U2,#R@\QKT[>^H/Q'JJQ]6 M_A/(.^;X_IZW@]4OR267YJTC$#0CFN 'ORTWYW_GG0F9X_!>J/LF__))N;G6 M7\9WS!?Y?P!02P,$% @ [HBG6!3\)87Q! EQ< !< !Q;'ES+3(P M,C0P,S,Q>&5X,S(R+FAT;>U845/;.!!^OU^Q%^8HS,3&=DP"3LI,+@W7M"6Y M)F%Z;S>*+1,=MN5*,N#[];>2'0A0.,H=+>V483*)=K7:_;[5:J7>4J7)06]) M273P4^]GRX)7/"Q2FBD(!26*1E!(EIW AXC*4["L6FO \U*PDZ4"S_%\^,#% M*3LCE5PQE="#E9W>3O6[MV,6Z2UX5![T(G8&+'K98'';CUP_=#L1C7SJ+1;[ M8LXOS2N MZQ%Q@JJ*YX'KH9ZB%\HB"3O) N,]:L<\4^B5P%6JK]5BMY:T) TMG"Y(J )9 MI&BZ[#[0_LI&R!,N@@W'_'6UQ(I)RI(R>#%G*94PIN;9W/:RU@-9\#9$G*KZ2 MLX/A=#XZ' WZ\]%D#)-#&+P>#0_A<#3NCP>C_CL<0NEP"L\^DM^/I[/C_G@. M\PE,C]\-P6T1R_6W%MLPF=8CNU$]\NRC02;FKX_Y4-__ KUZ]P9X3V[YJ]"*A:73QZR_\F0 M1QF$/,MHJ!C/X)RI):@EA?<%$2TK9A%$6VK"EM38W]CS/ MZ0YXFI.L-+_<[C:@H4,N4G =ZSW$7!B+'RN+0#,L>W!$1+C69\1L2 9E=;D(J$E]$,# ML^Z#\RTG481GFI70N#X_;F=@ M-<20GTP%EKN7/WTM_W1.;KG;J\"^_/+7H6K;+5_C,$<6ZIT0%PENBQ S(]%Y M>9FK@GXLF*"Z 9":K%F]I]S6%L$](; 0;D7;E]Q?9?9E5M<)H&L,LKO?U3G_ MG3+L/4N&68;5*B6&-JR*BN#,"$<-8ROZ"=-E,1=4:J:;6DR2!' :.H,E! 4Y M4B^;9E9\65K08,2,:5W*4*M(JD3A.15F37FC[-@/(=]S;I+?L=?S053GG1Y# MLA59)'1E9<%%1(6%J"E&3.8)*0.6&>S,I%7CM^!*\330"7:FBV)( MDCK)3')5XJONU':J#E5AMZFBU&7+PTF4U[A/KI^MM7!WQ.7HZ-J/$CU" M\ATER*_E,TJ/KP' YH;?Z4KS"6\F$S@:P=O1T6/Q>&!F? :&#U"M3Q[3O.0( M($]8!!JY[K=$Q-5%XIL"_UN"^([[V0^\GPCOK5PP1#I'J*\Z5]VODC#D1:;T MNRBO.-C^0<(3D;#^T/*?0-XQG?LG[@_K#\DYE^9:$@B:X#7DC-[YM%RW_L[5 M%++ TEVHVU/^Y9&Y_JP>QG?,@_P_4$L! A0#% @ [HBG6+LK,\6KK $ M% ,5 !$ ( ! '%L>7,M,C R-# S,S$N:'1M4$L! A0# M% @ [HBG6"+_P?_E#P "; !$ ( !VJP! '%L>7,M M,C R-# S,S$N>'-D4$L! A0#% @ [HBG6/@P99"\(P UF4! !4 M ( ![KP! '%L>7,M,C R-# S,S%?8V%L+GAM;%!+ 0(4 Q0 ( M .Z(IU@K93>X3C\ !;U @ 5 " =W@ 0!Q;'ES+3(P,C0P M,S,Q7V1E9BYX;6Q02P$"% ,4 " #NB*=8W+/(\.KV -T@D %0 M @ %>( ( <6QY&UL4$L! A0#% @ M[HBG6 3-IP,NBP ][,& !4 ( !>Q<# '%L>7,M,C R-# S M,S%?<')E+GAM;%!+ 0(4 Q0 ( .Z(IUBJ02PB+0@ *(M 7 M " =RB P!Q;'ES+3(P,C0P,S,Q>&5X,S$Q+FAT;5!+ 0(4 Q0 ( M .Z(IU@M6]0X*P@ +HM 7 " 3ZK P!Q;'ES+3(P,C0P M,S,Q>&5X,S$R+FAT;5!+ 0(4 Q0 ( .Z(IUBNF.Q_\00 )@7 7 M " 9ZS P!Q;'ES+3(P,C0P,S,Q>&5X,S(Q+FAT;5!+ 0(4 Q0 M ( .Z(IU@4_"6%\00 )<7 7 " <2X P!Q;'ES+3(P F,C0P,S,Q>&5X,S(R+FAT;5!+!08 "@ * )X" #JO0, ! end XML 85 qlys-20240331_htm.xml IDEA: XBRL DOCUMENT 0001107843 2024-01-01 2024-03-31 0001107843 2024-04-26 0001107843 2024-03-31 0001107843 2023-12-31 0001107843 2023-01-01 2023-03-31 0001107843 2022-12-31 0001107843 2023-03-31 0001107843 us-gaap:CommonStockMember 2023-12-31 0001107843 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001107843 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001107843 us-gaap:RetainedEarningsMember 2023-12-31 0001107843 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001107843 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-03-31 0001107843 us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001107843 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001107843 us-gaap:CommonStockMember 2024-03-31 0001107843 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001107843 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-31 0001107843 us-gaap:RetainedEarningsMember 2024-03-31 0001107843 us-gaap:CommonStockMember 2022-12-31 0001107843 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001107843 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001107843 us-gaap:RetainedEarningsMember 2022-12-31 0001107843 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001107843 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001107843 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001107843 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001107843 us-gaap:CommonStockMember 2023-03-31 0001107843 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001107843 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001107843 us-gaap:RetainedEarningsMember 2023-03-31 0001107843 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001107843 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001107843 us-gaap:FairValueMeasurementsRecurringMember 2024-03-31 0001107843 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001107843 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001107843 us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001107843 us-gaap:MoneyMarketFundsMember us-gaap:CashEquivalentsMember 2024-03-31 0001107843 us-gaap:CommercialPaperMember us-gaap:CashEquivalentsMember 2024-03-31 0001107843 us-gaap:USGovernmentCorporationsAndAgenciesSecuritiesMember us-gaap:CashEquivalentsMember 2024-03-31 0001107843 us-gaap:CashEquivalentsMember 2024-03-31 0001107843 us-gaap:ShortTermInvestmentsMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2024-03-31 0001107843 us-gaap:ShortTermInvestmentsMember us-gaap:CorporateDebtSecuritiesMember 2024-03-31 0001107843 us-gaap:ShortTermInvestmentsMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2024-03-31 0001107843 us-gaap:ShortTermInvestmentsMember 2024-03-31 0001107843 us-gaap:OtherLongTermInvestmentsMember us-gaap:CorporateDebtSecuritiesMember 2024-03-31 0001107843 us-gaap:OtherLongTermInvestmentsMember us-gaap:AssetBackedSecuritiesMember 2024-03-31 0001107843 us-gaap:OtherLongTermInvestmentsMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2024-03-31 0001107843 us-gaap:OtherLongTermInvestmentsMember 2024-03-31 0001107843 us-gaap:MoneyMarketFundsMember us-gaap:CashEquivalentsMember 2023-12-31 0001107843 us-gaap:USGovernmentCorporationsAndAgenciesSecuritiesMember us-gaap:CashEquivalentsMember 2023-12-31 0001107843 us-gaap:CashEquivalentsMember 2023-12-31 0001107843 us-gaap:ShortTermInvestmentsMember us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2023-12-31 0001107843 us-gaap:ShortTermInvestmentsMember us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0001107843 us-gaap:ShortTermInvestmentsMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-12-31 0001107843 us-gaap:ShortTermInvestmentsMember 2023-12-31 0001107843 us-gaap:OtherLongTermInvestmentsMember us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0001107843 us-gaap:OtherLongTermInvestmentsMember us-gaap:AssetBackedSecuritiesMember 2023-12-31 0001107843 us-gaap:OtherLongTermInvestmentsMember us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-12-31 0001107843 us-gaap:OtherLongTermInvestmentsMember 2023-12-31 0001107843 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2024-03-31 0001107843 us-gaap:AssetBackedSecuritiesMember 2024-03-31 0001107843 us-gaap:CorporateDebtSecuritiesMember 2024-03-31 0001107843 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2024-03-31 0001107843 us-gaap:CommercialPaperNotIncludedWithCashAndCashEquivalentsMember 2023-12-31 0001107843 us-gaap:AssetBackedSecuritiesMember 2023-12-31 0001107843 us-gaap:CorporateDebtSecuritiesMember 2023-12-31 0001107843 us-gaap:USGovernmentAgenciesDebtSecuritiesMember 2023-12-31 0001107843 2018-12-31 0001107843 us-gaap:ForeignExchangeContractMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2024-03-31 0001107843 us-gaap:ForeignExchangeContractMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2023-12-31 0001107843 qlys:ForeignExchangeContractsForGBPAndEuroMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2024-03-31 0001107843 us-gaap:ForeignExchangeContractMember us-gaap:NondesignatedMember 2024-03-31 0001107843 us-gaap:ForeignExchangeContractMember us-gaap:NondesignatedMember 2023-12-31 0001107843 us-gaap:DesignatedAsHedgingInstrumentMember 2024-03-31 0001107843 us-gaap:DesignatedAsHedgingInstrumentMember 2023-12-31 0001107843 us-gaap:NondesignatedMember 2024-03-31 0001107843 us-gaap:NondesignatedMember 2023-12-31 0001107843 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2023-12-31 0001107843 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-12-31 0001107843 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2024-01-01 2024-03-31 0001107843 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2024-01-01 2024-03-31 0001107843 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2024-03-31 0001107843 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2024-03-31 0001107843 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2022-12-31 0001107843 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2022-12-31 0001107843 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2023-01-01 2023-03-31 0001107843 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-01-01 2023-03-31 0001107843 us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2023-03-31 0001107843 us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-03-31 0001107843 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2024-01-01 2024-03-31 0001107843 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember 2023-01-01 2023-03-31 0001107843 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2024-01-01 2024-03-31 0001107843 us-gaap:ReclassificationOutOfAccumulatedOtherComprehensiveIncomeMember us-gaap:AccumulatedNetUnrealizedInvestmentGainLossMember 2023-01-01 2023-03-31 0001107843 us-gaap:ComputerEquipmentMember 2024-03-31 0001107843 us-gaap:ComputerEquipmentMember 2023-12-31 0001107843 us-gaap:ComputerSoftwareIntangibleAssetMember 2024-03-31 0001107843 us-gaap:ComputerSoftwareIntangibleAssetMember 2023-12-31 0001107843 us-gaap:LeaseholdImprovementsMember 2024-03-31 0001107843 us-gaap:LeaseholdImprovementsMember 2023-12-31 0001107843 qlys:ScannerAppliancesMember 2024-03-31 0001107843 qlys:ScannerAppliancesMember 2023-12-31 0001107843 us-gaap:FurnitureAndFixturesMember 2024-03-31 0001107843 us-gaap:FurnitureAndFixturesMember 2023-12-31 0001107843 qlys:ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember 2024-03-31 0001107843 qlys:ScannerAppliancesAndOtherComputerEquipmentSubjectToSubscriptionMember 2023-12-31 0001107843 qlys:ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember 2024-03-31 0001107843 qlys:ScannerAppliancesAndOtherComputerEquipmentNotPlacedInServiceMember 2023-12-31 0001107843 2024-04-01 2024-03-31 0001107843 2025-01-01 2024-03-31 0001107843 2026-01-01 2024-03-31 0001107843 2027-01-01 2024-03-31 0001107843 2028-01-01 2024-03-31 0001107843 2029-01-01 2024-03-31 0001107843 us-gaap:SalesChannelDirectlyToConsumerMember 2024-01-01 2024-03-31 0001107843 us-gaap:SalesChannelDirectlyToConsumerMember 2023-01-01 2023-03-31 0001107843 us-gaap:SalesChannelThroughIntermediaryMember 2024-01-01 2024-03-31 0001107843 us-gaap:SalesChannelThroughIntermediaryMember 2023-01-01 2023-03-31 0001107843 us-gaap:DevelopedTechnologyRightsMember 2024-03-31 0001107843 us-gaap:PatentsMember 2024-03-31 0001107843 qlys:AssembledWorkforceMember 2024-03-31 0001107843 qlys:IntangibleAssetsNotSubjectToAmortizationMember 2024-03-31 0001107843 us-gaap:DevelopedTechnologyRightsMember 2023-12-31 0001107843 us-gaap:PatentsMember 2023-12-31 0001107843 qlys:AssembledWorkforceMember 2023-12-31 0001107843 qlys:IntangibleAssetsNotSubjectToAmortizationMember 2023-12-31 0001107843 qlys:The2012EquityIncentivePlanMember 2022-06-08 2022-06-08 0001107843 qlys:The2021EmployeeStockPurchasePlanMember 2021-06-09 0001107843 qlys:The2021EmployeeStockPurchasePlanMember 2021-06-09 2021-06-09 0001107843 srt:MinimumMember qlys:The2021EmployeeStockPurchasePlanMember 2021-06-09 2021-06-09 0001107843 srt:MaximumMember qlys:The2021EmployeeStockPurchasePlanMember 2021-06-09 2021-06-09 0001107843 qlys:The2021EmployeeStockPurchasePlanMember 2024-01-01 2024-03-31 0001107843 qlys:The2021EmployeeStockPurchasePlanMember 2024-03-31 0001107843 qlys:The2012EquityIncentivePlanMember 2024-01-01 2024-03-31 0001107843 2023-01-01 2023-12-31 0001107843 srt:ExecutiveOfficerMember qlys:PerformanceBasedRestrictedStockUnitsMember 2024-01-01 2024-03-31 0001107843 srt:MaximumMember srt:ExecutiveOfficerMember qlys:PerformanceBasedRestrictedStockUnitsMember 2024-01-01 2024-03-31 0001107843 srt:MinimumMember srt:ExecutiveOfficerMember qlys:PerformanceBasedRestrictedStockUnitsMember 2024-01-01 2024-03-31 0001107843 us-gaap:RestrictedStockUnitsRSUMember 2023-12-31 0001107843 us-gaap:RestrictedStockUnitsRSUMember 2024-01-01 2024-03-31 0001107843 us-gaap:RestrictedStockUnitsRSUMember 2024-03-31 0001107843 qlys:ExecutiveOfficer1Member qlys:PerformanceBasedRestrictedStockUnitsMember 2023-01-01 2023-12-31 0001107843 qlys:ExecutiveOfficer1Member qlys:PerformanceBasedRestrictedStockUnitsMember 2022-01-01 2022-12-31 0001107843 qlys:ExecutiveOfficer1Member qlys:PerformanceBasedRestrictedStockUnitsMember 2021-01-01 2021-12-31 0001107843 qlys:ExecutiveOfficer2Member qlys:PerformanceBasedRestrictedStockUnitsMember 2023-01-01 2023-12-31 0001107843 qlys:ExecutiveOfficer2Member qlys:PerformanceBasedRestrictedStockUnitsMember 2021-01-01 2021-12-31 0001107843 qlys:ExecutiveOfficer2Member qlys:PerformanceBasedRestrictedStockUnitsMember 2022-01-01 2022-12-31 0001107843 qlys:ExecutiveOfficer3Member qlys:PerformanceBasedRestrictedStockUnitsMember 2022-01-01 2022-12-31 0001107843 qlys:ExecutiveOfficer3Member qlys:PerformanceBasedRestrictedStockUnitsMember 2023-01-01 2023-12-31 0001107843 qlys:ExecutiveOfficer3Member qlys:PerformanceBasedRestrictedStockUnitsMember 2021-01-01 2021-12-31 0001107843 qlys:ExecutiveOfficer4Member qlys:PerformanceBasedRestrictedStockUnitsMember 2023-01-01 2023-12-31 0001107843 qlys:ExecutiveOfficer4Member qlys:PerformanceBasedRestrictedStockUnitsMember 2021-01-01 2021-12-31 0001107843 qlys:ExecutiveOfficer4Member qlys:PerformanceBasedRestrictedStockUnitsMember 2022-01-01 2022-12-31 0001107843 qlys:ExecutiveOfficer4Member qlys:PerformanceBasedRestrictedStockUnitsMember 2024-01-01 2024-03-31 0001107843 us-gaap:CostOfSalesMember 2024-01-01 2024-03-31 0001107843 us-gaap:CostOfSalesMember 2023-01-01 2023-03-31 0001107843 us-gaap:ResearchAndDevelopmentExpenseMember 2024-01-01 2024-03-31 0001107843 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-03-31 0001107843 us-gaap:SellingAndMarketingExpenseMember 2024-01-01 2024-03-31 0001107843 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-03-31 0001107843 us-gaap:GeneralAndAdministrativeExpenseMember 2024-01-01 2024-03-31 0001107843 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-03-31 0001107843 qlys:PerformanceBasedRestrictedStockUnitsMember 2024-01-01 2024-03-31 0001107843 qlys:PerformanceBasedRestrictedStockUnitsMember 2023-01-01 2023-03-31 0001107843 us-gaap:EmployeeStockOptionMember 2024-03-31 0001107843 qlys:PerformanceBasedRestrictedStockUnitsMember 2024-03-31 0001107843 qlys:ESPPSharesMember 2024-03-31 0001107843 us-gaap:EmployeeStockOptionMember 2024-01-01 2024-03-31 0001107843 qlys:ESPPSharesMember 2024-01-01 2024-03-31 0001107843 2018-02-12 0001107843 2018-10-30 0001107843 2019-10-30 0001107843 2020-05-07 0001107843 2021-02-10 0001107843 2021-11-03 0001107843 2022-05-04 0001107843 2023-02-09 0001107843 2024-02-07 0001107843 country:US 2024-01-01 2024-03-31 0001107843 country:US 2023-01-01 2023-03-31 0001107843 us-gaap:NonUsMember 2024-01-01 2024-03-31 0001107843 us-gaap:NonUsMember 2023-01-01 2023-03-31 0001107843 country:US 2024-03-31 0001107843 country:US 2023-12-31 0001107843 country:IN 2024-03-31 0001107843 country:IN 2023-12-31 0001107843 qlys:OtherGeographicAreasMember 2024-03-31 0001107843 qlys:OtherGeographicAreasMember 2023-12-31 0001107843 us-gaap:EmployeeStockOptionMember 2024-01-01 2024-03-31 0001107843 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-03-31 0001107843 us-gaap:RestrictedStockUnitsRSUMember 2024-01-01 2024-03-31 0001107843 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-03-31 0001107843 qlys:EmployeeStockPurchasePlanSharesMember 2024-01-01 2024-03-31 0001107843 qlys:EmployeeStockPurchasePlanSharesMember 2023-01-01 2023-03-31 0001107843 qlys:WendyPfeifferMember 2024-01-01 2024-03-31 0001107843 qlys:WendyPfeifferMember 2024-03-31 0001107843 qlys:SumedhThakarMember 2024-01-01 2024-03-31 0001107843 qlys:SumedhThakarMember 2024-03-31 shares iso4217:USD iso4217:USD shares iso4217:EUR iso4217:GBP iso4217:INR iso4217:CAD pure qlys:segment 0001107843 --12-31 2024 Q1 false P0Y9M P1Y P1Y P1Y P1Y P3Y P452D P455D 10-Q true 2024-03-31 false 001-35662 QUALYS, INC. DE 77-0534145 919 E. Hillsdale Boulevard, 4th Floor Foster City CA 94404 650 801-6100 Common stock, $0.001 par value per share QLYS NASDAQ Yes Yes Large Accelerated Filer false false false 36939262 273783000 203665000 0 1500000 179887000 221893000 1099000 778000 115629000 146226000 36112000 26714000 605411000 599998000 89693000 56644000 30191000 32599000 31371000 22391000 66565000 62761000 8943000 9715000 7447000 7447000 1200000 1200000 20961000 19863000 861782000 812618000 645000 988000 48246000 43096000 332128000 333267000 10046000 11857000 391065000 389208000 31311000 31671000 27784000 16885000 7420000 6680000 457580000 444444000 0.001 0.001 20000000 20000000 0 0 0 0 0 0 0.001 0.001 1000000000 1000000000 36962000 36962000 36909000 36909000 37000 37000 610923000 597921000 -1007000 -1704000 -205751000 -228080000 404202000 368174000 861782000 812618000 145805000 130683000 27198000 26954000 118607000 103729000 27530000 27795000 29408000 25628000 16908000 15128000 73846000 68551000 44761000 35178000 6123000 2397000 -1399000 -216000 4724000 2181000 49485000 37359000 9754000 8254000 39731000 29105000 1.08 0.79 1.05 0.77 36955000 37068000 37723000 37669000 39731000 29105000 -407000 1131000 1104000 -755000 697000 376000 40428000 29481000 39731000 29105000 5239000 7444000 193000 119000 19031000 16033000 1915000 259000 -4111000 -4241000 -30404000 -19890000 10126000 1289000 -335000 -1215000 8892000 -2000 -1498000 1228000 85505000 66813000 61340000 46010000 71463000 69709000 2051000 4037000 8072000 19662000 18029000 66551000 2770000 2328000 11808000 5105000 3608000 2988000 1500000 0 -24959000 -66340000 68618000 20135000 206365000 176419000 274983000 196554000 36909000 37000 597921000 -1704000 -228080000 368174000 39731000 39731000 697000 697000 46000 2770000 2770000 105000 627000 17402000 18029000 149000 66000 11808000 11808000 29000 3608000 3608000 19059000 19059000 36962000 37000 610923000 -1007000 -205751000 404202000 37362000 37000 512486000 -1947000 -221447000 289129000 29105000 29105000 376000 376000 61000 2328000 2328000 584000 7014000 60018000 67032000 108000 43000 5105000 5105000 29000 2988000 2988000 16033000 16033000 36933000 37000 521716000 -1571000 -252360000 267822000 Description of Business and Summary of Significant Accounting Policies<div style="margin-top:12pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Description of Business</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Qualys, Inc. (the “Company”, "we", "us", "our") was incorporated in the state of Delaware on December 30, 1999. The Company is headquartered in Foster City, California and has wholly-owned subsidiaries throughout the world. The Company is a leading provider of cloud-based information technology ("IT"), security and compliance solutions that enable organizations to identify security risks to their IT infrastructures, help protect their IT systems and applications from ever-evolving cyber-attacks and achieve compliance with internal policies and external regulations. The Company’s cloud solutions address the growing security and compliance complexities and risks that are amplified by the dissolving boundaries between internal and external IT infrastructures and web environments, the rapid adoption of cloud computing and the proliferation of geographically dispersed IT assets. Organizations can use the Company’s integrated suite of solutions delivered on Qualys' Enterprise TruRisk Platform to cost-effectively obtain a unified view of their security and compliance posture across globally-distributed IT infrastructures.</span></div><div style="margin-top:12pt;padding-left:13.5pt"><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</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><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 and condensed footnotes have been prepared in accordance with accounting principles generally accepted in the United States ("U.S. GAAP") for interim financial information as well as the instructions to Form 10-Q and the rules and regulations of the U.S. Securities and Exchange Commission ("SEC"). Certain information and disclosures normally included in the financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated balance sheet as of December 31, 2023, included herein, was derived from the audited financial statements as of that date but does not include all disclosures, including notes required by U.S. GAAP. In the opinion of management, the accompanying unaudited condensed consolidated financial statements reflect all adjustments, which include only normal recurring adjustments, necessary for the fair statement of the financial position, results of operations and cash flows for the interim periods. The results of operations for the three months ended March 31, 2024 are not necessarily indicative of the results of operations expected for the entire year ending December 31, 2024 or for any other future annual or interim periods. These condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023 filed with the SEC on February 22, 2024.</span></div><div style="margin-top:12pt;padding-left:13.5pt"><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:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the unaudited condensed consolidated financial statements in conformity with U.S. GAAP requires management to make certain estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of assets and liabilities at the date of the condensed consolidated financial statements and the reported results of operations during the reporting period. The Company’s management regularly assesses these estimates, which primarily affect revenue recognition, allowance for credit loss, the valuation of goodwill and intangible assets, leases, stock-based compensation and income tax provision. Actual results could differ from those estimates and such differences may be material to the accompanying unaudited condensed consolidated financial statements.</span></div><div style="margin-top:12pt;padding-left:13.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recently Adopted Accounting Pronouncements</span></div><div style="margin-top:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None. </span></div><div style="margin-top:12pt;padding-left:13.5pt"><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%">Recently Issued Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:12pt;text-align:justify;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 November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2023-07 requiring enhanced segment disclosures. The ASU requires disclosure of significant segment expenses regularly provided to the chief operating decision maker ("CODM") included within segment operating profit or loss. Additionally, the ASU requires a description of how the CODM utilizes segment operating profit or loss to assess segment performance. The requirements of the ASU are effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company's annual reporting requirements will be effective for fiscal 2024 and interim reporting requirements will be effective beginning with the first quarter of fiscal 2025. Early adoption is permitted and retrospective application is required for all periods presented. The Company is in the process of analyzing the impact of the ASU on related disclosures.</span></div><div style="margin-top:12pt;text-align:justify;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 December 2023, the FASB issued ASU 2023-09 requiring improvements to income tax disclosures. The new ASU requires disclosure of disaggregated information about the effective tax rate and income taxes paid. The requirements of the ASU are effective for annual periods beginning after December 15, 2024 and are to be applied on a prospective basis. Companies can choose to early adopt and apply the guidance retrospectively. The Company is in the process of analyzing the impact of the ASU on related disclosures.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no material changes to the Company’s significant accounting policies set forth in "Note 1" of Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023.</span></div> <div style="margin-top:12pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Description of Business</span></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Qualys, Inc. (the “Company”, "we", "us", "our") was incorporated in the state of Delaware on December 30, 1999. The Company is headquartered in Foster City, California and has wholly-owned subsidiaries throughout the world. The Company is a leading provider of cloud-based information technology ("IT"), security and compliance solutions that enable organizations to identify security risks to their IT infrastructures, help protect their IT systems and applications from ever-evolving cyber-attacks and achieve compliance with internal policies and external regulations. The Company’s cloud solutions address the growing security and compliance complexities and risks that are amplified by the dissolving boundaries between internal and external IT infrastructures and web environments, the rapid adoption of cloud computing and the proliferation of geographically dispersed IT assets. Organizations can use the Company’s integrated suite of solutions delivered on Qualys' Enterprise TruRisk Platform to cost-effectively obtain a unified view of their security and compliance posture across globally-distributed IT infrastructures.</span></div> <div style="margin-top:12pt;padding-left:13.5pt"><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</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><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 and condensed footnotes have been prepared in accordance with accounting principles generally accepted in the United States ("U.S. GAAP") for interim financial information as well as the instructions to Form 10-Q and the rules and regulations of the U.S. Securities and Exchange Commission ("SEC"). Certain information and disclosures normally included in the financial statements prepared in accordance with U.S. GAAP have been condensed or omitted pursuant to such rules and regulations. The condensed consolidated balance sheet as of December 31, 2023, included herein, was derived from the audited financial statements as of that date but does not include all disclosures, including notes required by U.S. GAAP. In the opinion of management, the accompanying unaudited condensed consolidated financial statements reflect all adjustments, which include only normal recurring adjustments, necessary for the fair statement of the financial position, results of operations and cash flows for the interim periods. The results of operations for the three months ended March 31, 2024 are not necessarily indicative of the results of operations expected for the entire year ending December 31, 2024 or for any other future annual or interim periods. These condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and related notes included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023 filed with the SEC on February 22, 2024.</span></div> <div style="margin-top:12pt;padding-left:13.5pt"><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:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the unaudited condensed consolidated financial statements in conformity with U.S. GAAP requires management to make certain estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of assets and liabilities at the date of the condensed consolidated financial statements and the reported results of operations during the reporting period. The Company’s management regularly assesses these estimates, which primarily affect revenue recognition, allowance for credit loss, the valuation of goodwill and intangible assets, leases, stock-based compensation and income tax provision. Actual results could differ from those estimates and such differences may be material to the accompanying unaudited condensed consolidated financial statements.</span></div> <div style="margin-top:12pt;padding-left:13.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Recently Adopted Accounting Pronouncements</span></div><div style="margin-top:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">None. </span></div><div style="margin-top:12pt;padding-left:13.5pt"><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%">Recently Issued Accounting Pronouncements Not Yet Adopted</span></div><div style="margin-top:12pt;text-align:justify;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 November 2023, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2023-07 requiring enhanced segment disclosures. The ASU requires disclosure of significant segment expenses regularly provided to the chief operating decision maker ("CODM") included within segment operating profit or loss. Additionally, the ASU requires a description of how the CODM utilizes segment operating profit or loss to assess segment performance. The requirements of the ASU are effective for annual periods beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024. The Company's annual reporting requirements will be effective for fiscal 2024 and interim reporting requirements will be effective beginning with the first quarter of fiscal 2025. Early adoption is permitted and retrospective application is required for all periods presented. The Company is in the process of analyzing the impact of the ASU on related disclosures.</span></div><div style="margin-top:12pt;text-align:justify;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 December 2023, the FASB issued ASU 2023-09 requiring improvements to income tax disclosures. The new ASU requires disclosure of disaggregated information about the effective tax rate and income taxes paid. The requirements of the ASU are effective for annual periods beginning after December 15, 2024 and are to be applied on a prospective basis. Companies can choose to early adopt and apply the guidance retrospectively. The Company is in the process of analyzing the impact of the ASU on related disclosures.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There have been no material changes to the Company’s significant accounting policies set forth in "Note 1" of Notes to Consolidated Financial Statements included in the Company’s Annual Report on Form 10-K for the year ended December 31, 2023.</span></div> Fair Value of Financial Instruments<div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Fair value is defined as the price that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants at the measurement date. For certain of the Company’s financial instruments, including certain cash equivalents, accounts receivable, accounts payable and accrued liabilities, the carrying amounts approximate their fair values due to the relatively short maturity of these balances.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company measures and reports certain cash equivalents, marketable securities, derivative foreign currency forward contracts at fair value in accordance with the provisions of the authoritative accounting guidance that addresses fair value measurements. This guidance establishes a hierarchy for inputs used in measuring fair value that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. The hierarchy is broken down into three levels based on the reliability of inputs as follows:</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 1 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Valuations based on quoted prices in active markets for identical assets or liabilities.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 2 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Valuations based on other than quoted prices in active markets for identical assets and liabilities, including quoted prices for identical assets or liabilities in less active or inactive markets, quoted prices for similar assets or liabilities in active markets, or inputs other than quoted prices that are observable for substantially the full term of the assets or liabilities.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Level 3 </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">- Valuations based on inputs that are generally unobservable and typically reflect management’s estimates of assumptions that market participants would use in pricing the asset or liability.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's financial instruments consist of assets and liabilities measured using Level 1 and 2 inputs. Level 1 assets include a highly liquid money market fund, which is valued using unadjusted quoted prices that are available in an active market for an identical asset. Level 2 assets include fixed-income U.S. Treasury and government agency securities, commercial paper, corporate bonds, asset-backed securities and derivative financial instruments consisting of foreign currency forward contracts. The securities, bonds and commercial paper are valued using prices from independent pricing services based on quoted prices of identical instruments in less active or inactive markets, quoted prices of similar instruments in active markets, or industry models using data inputs such as interest rates and prices that can be directly observed or corroborated in active markets. The foreign currency forward contracts are valued using observable inputs, such as quotations on forward foreign exchange points and foreign interest rates.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth by level within the fair value hierarchy the fair value of the Company's financial assets and liabilities measured at fair value on a recurring basis:</span></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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" 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:114%">March 31, 2024</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Level 1</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Level 2</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" 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:114%">(in thousands)</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:114%">Money market funds</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:114%">$</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:114%">11,466 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">11,466 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Commercial paper</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">47,317 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">47,317 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">178,188 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">178,188 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">87,378 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">87,378 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">590 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">590 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.36pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total 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:114%">$</span></td><td style="background-color:#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:114%">11,466 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">325,617 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">337,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></tr><tr><td colspan="3" style="background-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:114%">Foreign currency forward contracts</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #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:114%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #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:114%">677 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #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:114%">677 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.36pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">677 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">677 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top: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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" 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:114%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Level 1</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Level 2</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" 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:114%">(in thousands)</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:114%">Money market funds</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:114%">$</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:114%">87 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">87 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Commercial paper</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">54,279 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">54,279 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">208,536 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">208,536 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-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:114%">Corporate bonds</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">56,465 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">56,465 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">13,881 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">13,881 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">111 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">111 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total 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:114%">$</span></td><td style="background-color:#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:114%">87 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">333,272 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">333,359 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,986 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,986 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">1,986 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">1,986 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no transfers between Level 1, Level 2 and Level 3 categories during the three months ended March 31, 2024 and 2023.</span></div><div style="margin-top:12pt;padding-left:22.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Cash equivalent and investments</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's cash equivalents and marketable securities consist of the following:</span></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><td style="width:43.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.557%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.557%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.557%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.086%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="21" 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:114%">March 31, 2024</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Amortized Cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Unrealized Gains</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:115%">Unrealized Losses</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="21" 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:114%">(in thousands)</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:114%">Cash equivalents: (1)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Money market funds</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:114%">$</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:114%">11,466 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">11,466 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Commercial paper</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,600 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(1)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,599 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">53,851 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">53,848 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">66,917 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(4)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">66,913 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Short-term marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;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:114%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:114%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:114%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:114%"> </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Commercial paper</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">45,752 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(35)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">45,718 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">28,822 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">8 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(111)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">28,719 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">105,553 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(110)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">105,450 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><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:10pt;font-weight:400;line-height:114%">180,127 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">16 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">(256)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">179,887 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Long-term marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">58,771 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">94 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(206)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">58,659 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,074 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">72 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">18,904 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(26)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">18,890 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">89,749 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">178 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(234)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">89,693 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">336,793 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">194 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(494)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">336,493 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;padding-left:31.5pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Excludes cash of $206.9 million.</span></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><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="21" 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:114%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Amortized Cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Unrealized Gains</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:115%">Unrealized Losses</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="21" 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:114%">(in thousands)</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:114%">Cash equivalents: (2)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Money market funds</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:114%">$</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:114%">87 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">87 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">54,620 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">4 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">54,624 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.72pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><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:10pt;font-weight:400;line-height:114%">54,707 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">4 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">54,711 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Short-term marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Commercial paper</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:114%">54,254 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">32 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(7)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">54,279 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">23,013 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(149)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">22,865 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">144,901 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">52 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(204)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">144,749 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19.72pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">222,168 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">85 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(360)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">221,893 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Long-term marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">33,337 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">285 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">33,600 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">13,785 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">102 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">13,881 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">9,116 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">49 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">9,163 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.72pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><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:10pt;font-weight:400;line-height:114%">56,238 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">436 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">(30)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">56,644 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">333,113 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">525 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(390)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">333,248 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;padding-left:31.5pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Excludes cash of $149.0 million.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the gross unrealized losses and fair value of the Company's marketable securities that were in an unrealized loss position aggregated by length of time: </span></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><td style="width:34.960%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.055%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="33" 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:10pt;font-weight:700;line-height:115%">March 31, 2024</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:10pt;font-weight:700;line-height:115%">Less than 12 months</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><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:10pt;font-weight:700;line-height:115%">12 months or longer</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><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:10pt;font-weight:700;line-height:115%">Total</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:100%">Gross unrealized losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:100%">Gross unrealized losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:100%">Gross unrealized losses</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="33" 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:115%">(in thousands)</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:114%">Commercial paper</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:114%">$</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:114%">44,391 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">44,391 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">687 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">687 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">45,533 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(233)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">8,705 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(84)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">54,238 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(317)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">142,202 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(65)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,864 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(74)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">155,066 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(139)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">232,126 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(334)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">22,256 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(160)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">254,382 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(494)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top: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><td style="width:34.960%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.055%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="33" 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:10pt;font-weight:700;line-height:115%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:10pt;font-weight:700;line-height:115%">Less than 12 months</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><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:10pt;font-weight:700;line-height:115%">12 months or longer</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><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:10pt;font-weight:700;line-height:115%">Total</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:100%">Gross unrealized losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:100%">Gross unrealized losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:100%">Gross unrealized losses</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="33" 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:115%">(in thousands)</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:114%">Commercial paper</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:114%">$</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:114%">24,838 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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:114%">$</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:114%">(7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">24,838 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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:114%">$</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:114%">(7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">20,717 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(171)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">20,717 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(171)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">43,373 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(18)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">18,172 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(188)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">61,545 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(206)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">68,211 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(25)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">40,374 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(365)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">108,585 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(390)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company considered the extent to which any unrealized losses on its marketable securities were driven by credit risk and other factors, including market risk, and if it is more-likely-than-not that the Company would have to sell the security before the recovery of the amortized cost basis. At March 31, 2024 and December 31, 2023, the unrealized losses related to its marketable securities were due to rising market interest rates compared to when the investments were initiated. The Company does not believe the unrealized losses represent credit risk, and the Company does not intend to sell any of the securities in an unrealized loss position and it is not likely that the Company would be required to sell these securities before recovery of their amortized cost basis, which may be at maturity. Thus, no credit loss was recognized for the Company's marketable securities for the three months ended March 31, 2024 and 2023.</span></div><div style="margin-top:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the fair value of marketable securities by contractual maturity:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">March 31, 2024</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Amortized Cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">(in thousands)</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:114%">Due within One Year</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:114%">$</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:114%">247,044 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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:114%">$</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:114%">246,801 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Due after One Year through Two Years</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:114%">49,810 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">49,762 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Mature over Two Years</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:114%">27,865 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">27,786 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,074 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,144 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">336,793 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">336,493 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;padding-left:13.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Non-Marketable Securities</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the fiscal year ended December 31, 2018, the Company invested $2.5 million in preferred stock of a privately-held company. The fair value of the investment is not readily available, and there are no quoted market prices for the investment. The Company accounts for the investment at cost less impairment and will measure the investment at fair value when the Company identifies observable price changes. The investment is assessed for impairment whenever events or changes in circumstances indicate that the fair value of the investment is less than carrying value. During the second quarter of 2023, the Company identified an observable price change in the investment and recognized an immaterial unrealized loss in other income (expense), net of the condensed consolidated statement of operations. The investment is included in other noncurrent assets on the condensed consolidated balance sheets. The Company has not received any dividends from the investment. </span></div><div style="margin-top:23pt;padding-left:13.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Derivative Financial Instruments</span></div><div style="margin-top:12pt;padding-left:13.5pt;text-align:justify"><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%">Designated cash flow hedges</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company enters into foreign currency forward contracts to reduce the risk of variability in future cash flow due to foreign currency exchange rate fluctuation from certain forecasted subscription revenue orders billed in British Pound ("GBP") and Euro ("EUR") and operating expenses incurred in Indian Rupee ("INR"), which are designated as cash flow hedges. Hedge effectiveness is assessed at inception and at each reporting period utilizing regression analysis. Unrealized foreign exchange gains or losses related to those designated cash flow hedge contracts are recorded in accumulated other comprehensive income ("AOCI") and will be reclassified into revenues or operating expenses, respectively, in the same periods when the hedged transactions are recognized in earnings.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, the Company had designated cash flow hedge forward contracts with notional amounts of €46.1 million, £16.0 million and Rs.4,068.0 million. As of December 31, 2023, the Company had designated cash flow hedge forward contracts with notional amounts of €48.5 million, £14.6 million and Rs.4,042.0 million. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> March 31, 2024</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, a net unrealized loss of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$0.8 million</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> before tax on the foreign currency forward contracts for GBP and EUR reported in AOCI is expected to be reclassified into revenue within the next 12 months. As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, an immaterial amount of unrealized loss before tax on the foreign currency forward contracts for INR reported in AOCI is expected to be reclassified into operating expenses within the next 12 months.</span></div><div style="margin-top:12pt;padding-left:13.5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Non-designated forward contracts</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company also uses foreign currency forward contracts to hedge certain foreign currency denominated assets or liabilities, which are not designated as cash flow hedges. Unrealized foreign exchange gain or losses related to the non-designated forward contracts are recorded in other income (expenses), net and offset the foreign exchange gain or loss on the underlying net monetary assets or liabilities.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, the Company had non-designated forward contracts with notional amounts of €10.7 million, £8.6 million, Rs.990.0 million, and Canadian Dollar ("C$" or "CAD") 1.0 million. As of December 31, 2023, the Company had non-designated forward contracts with notional amounts of €19.2 million, £6.0 million, Rs.440.0 million, and C$1.0 million.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the fair value of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">derivative financial instruments as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 31, 2023</span><span style="background-color:#ffffff;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"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">March 31,<br/>2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">December 31,<br/>2023</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">(in thousands)</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:114%">Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts designated as cash flow hedge</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:114%">$</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:114%">552 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">63 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts not designated as hedging instruments</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:114%">38 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">48 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">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:114%">$</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:114%">590 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">111 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Liabilities</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts designated as cash flow hedge</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:114%">$</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:114%">544 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">1,502 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts not designated as hedging instruments</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:114%">133 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">484 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">677 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,986 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company presents its derivative assets and derivative liabilities at gross fair values in the condensed consolidated balance sheets. However, under the master netting agreements with the respective counterparties of the foreign exchange contracts, subject to applicable requirements, the Company is allowed to net settle transactions of the same currency with a single net amount payable by one party to the other. The potential offset to both assets and liabilities under the right of set-off associated with the Company's foreign currency exchange contracts are immaterial as of March 31, 2024 and December 31, 2023. The derivatives held by the Company are not subject to any credit contingent features negotiated with its counterparties. The Company is not required to pledge nor is entitled to receive cash collateral related to the above contracts. The counterparties to these derivatives are large, global financial institutions that the Company believes are creditworthy, and therefore, it does not consider the risk of counterparty nonperformance to be material.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the gains (losses) recognized from forward contracts and other foreign currency transactions in other income (expense), net in the condensed consolidated statements of operations:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:115%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2024</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:115%">(in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Net gains from non-designated forward contracts</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:114%">$</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:114%">512 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">259 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Other foreign currency transactions losses</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:114%">(1,941)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(425)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total foreign exchange losses, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,429)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(166)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth by level within the fair value hierarchy the fair value of the Company's financial assets and liabilities measured at fair value on a recurring basis:</span></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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" 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:114%">March 31, 2024</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Level 1</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Level 2</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" 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:114%">(in thousands)</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:114%">Money market funds</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:114%">$</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:114%">11,466 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">11,466 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Commercial paper</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">47,317 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">47,317 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">178,188 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">178,188 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">87,378 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">87,378 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">590 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">590 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.36pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total 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:114%">$</span></td><td style="background-color:#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:114%">11,466 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">325,617 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">337,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></tr><tr><td colspan="3" style="background-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:114%">Foreign currency forward contracts</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #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:114%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #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:114%">677 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #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:114%">677 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.36pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">677 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">677 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top: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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" 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:114%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Level 1</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Level 2</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" 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:114%">(in thousands)</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:114%">Money market funds</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:114%">$</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:114%">87 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">87 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Commercial paper</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">54,279 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">54,279 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">208,536 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">208,536 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-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:114%">Corporate bonds</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">56,465 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">56,465 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">13,881 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">13,881 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">111 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">111 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total 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:114%">$</span></td><td style="background-color:#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:114%">87 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">333,272 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">333,359 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,986 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,986 </span></td><td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total liabilities</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">1,986 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">1,986 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 11466000 0 11466000 0 47317000 47317000 0 178188000 178188000 0 87378000 87378000 0 12144000 12144000 0 590000 590000 11466000 325617000 337083000 0 677000 677000 0 677000 677000 87000 0 87000 0 54279000 54279000 0 208536000 208536000 0 56465000 56465000 0 13881000 13881000 0 111000 111000 87000 333272000 333359000 0 1986000 1986000 0 1986000 1986000 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's cash equivalents and marketable securities consist of the following:</span></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><td style="width:43.900%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.557%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.557%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.557%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.086%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="21" 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:114%">March 31, 2024</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Amortized Cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Unrealized Gains</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:115%">Unrealized Losses</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="21" 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:114%">(in thousands)</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:114%">Cash equivalents: (1)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Money market funds</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:114%">$</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:114%">11,466 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">11,466 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Commercial paper</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,600 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(1)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,599 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">53,851 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(3)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">53,848 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">66,917 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(4)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">66,913 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Short-term marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;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:114%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:114%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:114%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:114%"> </span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Commercial paper</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">45,752 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(35)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">45,718 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">28,822 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">8 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(111)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">28,719 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">105,553 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">7 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(110)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">105,450 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><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:10pt;font-weight:400;line-height:114%">180,127 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">16 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">(256)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">179,887 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Long-term marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">58,771 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">94 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(206)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">58,659 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,074 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">72 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">18,904 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(26)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">18,890 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">89,749 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">178 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(234)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">89,693 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">336,793 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">194 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(494)</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">336,493 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;padding-left:31.5pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Excludes cash of $206.9 million.</span></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><td style="width:44.354%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="21" 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:114%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Amortized Cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Unrealized Gains</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:115%">Unrealized Losses</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="21" 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:114%">(in thousands)</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:114%">Cash equivalents: (2)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Money market funds</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:114%">$</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:114%">87 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">87 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">54,620 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">4 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">54,624 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.72pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><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:10pt;font-weight:400;line-height:114%">54,707 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">4 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">54,711 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Short-term marketable securities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Commercial paper</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:114%">54,254 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">32 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(7)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">54,279 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">23,013 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(149)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">22,865 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">144,901 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">52 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(204)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">144,749 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19.72pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">222,168 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">85 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(360)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">221,893 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Long-term marketable securities:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">33,337 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">285 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(22)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">33,600 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">13,785 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">102 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">13,881 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 8.92pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">9,116 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">49 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(2)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">9,163 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19.72pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><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:10pt;font-weight:400;line-height:114%">56,238 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">436 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">(30)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">56,644 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">333,113 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">525 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(390)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">333,248 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;padding-left:31.5pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Excludes cash of $149.0 million.</span></div> 11466000 0 0 11466000 1600000 0 1000 1599000 53851000 0 3000 53848000 66917000 0 4000 66913000 45752000 1000 35000 45718000 28822000 8000 111000 28719000 105553000 7000 110000 105450000 180127000 16000 256000 179887000 58771000 94000 206000 58659000 12074000 72000 2000 12144000 18904000 12000 26000 18890000 89749000 178000 234000 89693000 336793000 194000 494000 336493000 206900000 87000 0 0 87000 54620000 4000 0 54624000 54707000 4000 0 54711000 54254000 32000 7000 54279000 23013000 1000 149000 22865000 144901000 52000 204000 144749000 222168000 85000 360000 221893000 33337000 285000 22000 33600000 13785000 102000 6000 13881000 9116000 49000 2000 9163000 56238000 436000 30000 56644000 333113000 525000 390000 333248000 149000000 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the gross unrealized losses and fair value of the Company's marketable securities that were in an unrealized loss position aggregated by length of time: </span></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><td style="width:34.960%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.055%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="33" 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:10pt;font-weight:700;line-height:115%">March 31, 2024</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:10pt;font-weight:700;line-height:115%">Less than 12 months</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><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:10pt;font-weight:700;line-height:115%">12 months or longer</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><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:10pt;font-weight:700;line-height:115%">Total</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:100%">Gross unrealized losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:100%">Gross unrealized losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:100%">Gross unrealized losses</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="33" 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:115%">(in thousands)</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:114%">Commercial paper</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:114%">$</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:114%">44,391 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">44,391 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(36)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">687 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">687 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(2)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">45,533 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(233)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">8,705 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(84)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">54,238 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(317)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">142,202 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(65)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,864 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(74)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">155,066 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(139)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">232,126 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(334)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">22,256 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(160)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">254,382 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(494)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top: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><td style="width:34.960%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.055%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="33" 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:10pt;font-weight:700;line-height:115%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><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:10pt;font-weight:700;line-height:115%">Less than 12 months</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><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:10pt;font-weight:700;line-height:115%">12 months or longer</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><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:10pt;font-weight:700;line-height:115%">Total</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:100%">Gross unrealized losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:100%">Gross unrealized losses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair value</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:100%">Gross unrealized losses</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="33" 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:115%">(in thousands)</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:114%">Commercial paper</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:114%">$</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:114%">24,838 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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:114%">$</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:114%">(7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">24,838 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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:114%">$</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:114%">(7)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,485 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(6)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Corporate bonds</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">20,717 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(171)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">20,717 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(171)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">U.S. Treasury and government agencies</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:114%">43,373 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(18)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">18,172 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(188)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">61,545 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(206)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">68,211 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(25)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">40,374 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(365)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">108,585 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(390)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 44391000 36000 0 0 44391000 36000 0 0 687000 2000 687000 2000 45533000 233000 8705000 84000 54238000 317000 142202000 65000 12864000 74000 155066000 139000 232126000 334000 22256000 160000 254382000 494000 24838000 7000 0 0 24838000 7000 0 0 1485000 6000 1485000 6000 0 0 20717000 171000 20717000 171000 43373000 18000 18172000 188000 61545000 206000 68211000 25000 40374000 365000 108585000 390000 <div style="margin-top:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the fair value of marketable securities by contractual maturity:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">March 31, 2024</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Amortized Cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Fair Value</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">(in thousands)</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:114%">Due within One Year</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:114%">$</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:114%">247,044 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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:114%">$</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:114%">246,801 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Due after One Year through Two Years</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:114%">49,810 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">49,762 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Mature over Two Years</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:114%">27,865 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">27,786 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Asset-backed securities</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,074 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">12,144 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">336,793 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">336,493 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 247044000 246801000 49810000 49762000 27865000 27786000 12074000 12144000 336793000 336493000 2500000 46100000 16000000 4068000000 48500000 14600000 4042000000 -800000 10700000 8600000 990000000 1000000 19200000 6000000 440000000 1000000 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the fair value of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">derivative financial instruments as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 31, 2023</span><span style="background-color:#ffffff;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"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">March 31,<br/>2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">December 31,<br/>2023</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">(in thousands)</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:114%">Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts designated as cash flow hedge</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:114%">$</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:114%">552 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">63 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts not designated as hedging instruments</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:114%">38 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">48 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">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:114%">$</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:114%">590 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">111 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Liabilities</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts designated as cash flow hedge</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:114%">$</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:114%">544 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">1,502 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 9.64pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Foreign currency forward contracts not designated as hedging instruments</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:114%">133 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">484 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">677 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,986 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 552000 63000 38000 48000 590000 111000 544000 1502000 133000 484000 677000 1986000 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following summarizes the gains (losses) recognized from forward contracts and other foreign currency transactions in other income (expense), net in the condensed consolidated statements of operations:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:115%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2024</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:115%">(in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Net gains from non-designated forward contracts</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:114%">$</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:114%">512 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">259 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Other foreign currency transactions losses</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:114%">(1,941)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(425)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total foreign exchange losses, net</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,429)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(166)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 512000 259000 -1941000 -425000 -1429000 -166000 Accumulated Other Comprehensive Income (Loss)<div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components and changes in accumulated other comprehensive income (loss) for the three months ended March 31, 2024 and 2023 were as follows:</span></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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Available-for-sale debt securities</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Cash flow hedges</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Total</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">Balances at December 31, 2023</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:114%">$</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:114%">108 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,812)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,704)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Change in unrealized gains (losses) during the period</span></td><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:10pt;font-weight:400;line-height:114%">(436)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">1,222 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">786 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Amount reclassified into income during the period</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">218 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">218 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Tax effect</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:114%">29 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(336)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(307)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 34.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Net change during the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(407)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,104 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">697 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">Balances at March 31, 2024</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:114%">$</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:114%">(299)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(708)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,007)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></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:700;line-height:114%">Balances at December 31, 2022</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:114%">$</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:114%">(2,705)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">758 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,947)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Change in unrealized gains (losses) during the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,131 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(443)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">688 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Amount reclassified into income during the period</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(534)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(534)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Tax effect</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">222 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">222 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 34.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Net change during the period</span></td><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:10pt;font-weight:400;line-height:114%">1,131 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">(755)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">376 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">Balances at March 31, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,574)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">3 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,571)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The effects on income before income taxes of amounts reclassified from AOCI to the condensed consolidated statements of operations were as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:115%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2024</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:115%">(in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Reclassification of AOCI - Cash flow hedges</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Revenues</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:114%">$</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:114%">(279)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">1,136 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Cost of revenues</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:114%">15 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(139)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">37 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(383)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Sales and marketing</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:114%">3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(23)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">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:114%">6 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(57)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(218)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">534 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There was no reclassification of AOCI to other income (expense), net related to Available-for-sale debt securities during the three months ended March 31, 2024 and 2023.</span></div> <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components and changes in accumulated other comprehensive income (loss) for the three months ended March 31, 2024 and 2023 were as follows:</span></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><td style="width:58.142%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Available-for-sale debt securities</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Cash flow hedges</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Total</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">Balances at December 31, 2023</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:114%">$</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:114%">108 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,812)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,704)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Change in unrealized gains (losses) during the period</span></td><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:10pt;font-weight:400;line-height:114%">(436)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">1,222 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">786 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Amount reclassified into income during the period</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">218 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">218 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Tax effect</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:114%">29 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(336)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(307)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 34.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Net change during the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(407)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,104 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">697 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">Balances at March 31, 2024</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:114%">$</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:114%">(299)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(708)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,007)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></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:700;line-height:114%">Balances at December 31, 2022</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:114%">$</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:114%">(2,705)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">758 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,947)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Change in unrealized gains (losses) during the period</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,131 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(443)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">688 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Amount reclassified into income during the period</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(534)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(534)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Tax effect</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:114%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">222 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">222 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 34.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Net change during the period</span></td><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:10pt;font-weight:400;line-height:114%">1,131 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">(755)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">376 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">Balances at March 31, 2023</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,574)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">3 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(1,571)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 108000 -1812000 -1704000 -436000 1222000 786000 0 -218000 -218000 -29000 336000 307000 -407000 1104000 697000 -299000 -708000 -1007000 -2705000 758000 -1947000 1131000 -443000 688000 0 534000 534000 0 -222000 -222000 1131000 -755000 376000 -1574000 3000 -1571000 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The effects on income before income taxes of amounts reclassified from AOCI to the condensed consolidated statements of operations were as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:115%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2024</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:115%">(in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Reclassification of AOCI - Cash flow hedges</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Revenues</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:114%">$</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:114%">(279)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">1,136 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Cost of revenues</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:114%">15 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(139)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">37 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(383)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Sales and marketing</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:114%">3 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(23)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">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:114%">6 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(57)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(218)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">534 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> -279000 1136000 -15000 139000 -37000 383000 -3000 23000 -6000 57000 -218000 534000 0 0 Property and Equipment, Net<div style="margin-top:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net, consists of the following:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">March 31,<br/>2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">December 31,<br/>2023</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:115%">(in thousands)</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:114%">Computer equipment</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:114%">$</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:114%">180,860 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">179,002 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Computer software</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">26,139 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">26,133 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Leasehold improvements</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:114%">20,924 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">20,924 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Scanner appliances</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:114%">18,449 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">18,369 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Furniture, fixtures and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">6,712 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">6,699 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total property and equipment</span></td><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:10pt;font-weight:400;line-height:114%">253,084 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">251,127 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Less: accumulated depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(222,893)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(218,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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">30,191 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">32,599 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> and </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 31, 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, physical scanner appliances and other computer equipment that are or will be subject to leases by customers had a net carrying value of $9.6 million and $10.1 million, respectively, including assets that had not been placed in service of $6.1 million and $6.4 million, respectively. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Depreciation and amortization expenses relating to property and equipment were $4.5 million and $6.5 million for the three months ended </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024 and 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, respectively, which were mainly recorded in cost of revenues in the condensed consolidated statements of operations.</span></div> <div style="margin-top:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net, consists of the following:</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"> </span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">March 31,<br/>2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">December 31,<br/>2023</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:115%">(in thousands)</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:114%">Computer equipment</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:114%">$</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:114%">180,860 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">179,002 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Computer software</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">26,139 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">26,133 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Leasehold improvements</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:114%">20,924 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">20,924 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Scanner appliances</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:114%">18,449 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">18,369 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Furniture, fixtures and equipment</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">6,712 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">6,699 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total property and equipment</span></td><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:10pt;font-weight:400;line-height:114%">253,084 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="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:10pt;font-weight:400;line-height:114%">251,127 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Less: accumulated depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(222,893)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(218,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></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Property and equipment, net</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">30,191 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">32,599 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 180860000 179002000 26139000 26133000 20924000 20924000 18449000 18369000 6712000 6699000 253084000 251127000 222893000 218528000 30191000 32599000 9600000 10100000 6100000 6400000 4500000 6500000 Revenue from Contracts with Customers<div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company records deferred revenue when cash payments are received or due in advance of its performance obligations offset by revenue recognized in the period. Revenues 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 $131.0 million and $113.8 million were recognized during the three months ended </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024 and 2023</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, respectively, which amounts were included in the deferred revenue balances of $364.9 million and $317.2 million as of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">December 31, 2023 and 2022</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, respectively. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's payment terms vary by the type and location of its customers. The term between invoicing and when payment is due is not significant. In certain circumstances, based on the credit quality of the customer, the Company requires payment before the products or services are delivered to the customer.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the expected revenue from all remaining performance obligations as of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024:</span></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><td style="width:85.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">(in thousands)</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:114%">2024 (remaining nine months)</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:114%">$</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:114%">163,231 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2025</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:114%">141,528 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2026</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:114%">63,966 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2027</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:114%">7,421 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2028</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:114%">496 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2029 and thereafter</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:114%">110 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">376,752 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues allocated to remaining performance obligations represents the transaction price of noncancelable orders for which service has not been performed, which include deferred revenue and the amounts that will be invoiced and recognized as revenues in future periods from open contracts and excludes unexercised renewals. The Company applied the short-term contract exemption to exclude the remaining performance obligations that are part of a contract that has an original expected duration of one year or less.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, the Company enters into contracts with customers that extend beyond one year, with certain of its customers electing to pay for more than one year of services upon contract execution. The Company concluded that these contracts did not contain a financing component.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues by sales channel are as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2024</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">(in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Direct</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:114%">$</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:114%">80,126 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">75,093 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Partner</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:114%">65,679 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">55,590 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">145,805 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">130,683 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company utilizes partners to enable and accelerate the adoption of its cloud platform by increasing its distribution capabilities and market awareness of its cloud platform as well as by targeting geographic regions outside the reach of its direct sales force. The Company's channel partners maintain relationships with their customers throughout the territories in which they operate and provide their customers with services and third-party solutions to help meet those customers’ evolving security and compliance requirements. As such, these partners</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">may</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">offer the Company's IT security and compliance solutions in conjunction with one or more of their own products or services and act as a conduit through which the Company can connect with these prospective customers to offer its solutions. For sales involving a channel partner, the channel partner engages with the prospective customer directly and involves the Company's sales team as needed to assist in developing and closing an order. When a channel partner secures a sale, the Company sells the associated subscription to the channel partner who in turn resells the subscription to the customer. Sales to channel partners are made at a discount and revenues are recorded at this discounted price over the subscription terms. The Company does not have any influence or specific knowledge of its partners' selling terms with their customers. See Note 11</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> "Segment and Geographic Area Information" for disaggregation of revenue by geographic area.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred costs to obtain contracts are as follows:</span></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><td style="width:71.778%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.557%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">December 31,<br/>2023</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">(in thousands)</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:114%">Current</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:114%">$</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:114%">6,052 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">5,858 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Noncurrent</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:114%">$</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:114%">12,141 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">11,844 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> March 31, 2024 and 2023</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 Company recognized $1.6 million and $1.4 million, respectively, of amortization expense relating to deferred costs to obtain contracts in sales and marketing expense in the condensed consolidated statements of operations. During the same periods, there was no impairment loss related to the deferred costs to obtain contracts.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of December 31, 2022,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">the net carrying value of the Company’s accounts receivable, current deferred revenues, and noncurrent deferred revenues were $121.8 million, $293.7 million and $23.5 million, respectively.</span></div> 131000000 113800000 364900000 317200000 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the expected revenue from all remaining performance obligations as of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024:</span></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><td style="width:85.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">(in thousands)</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:114%">2024 (remaining nine months)</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:114%">$</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:114%">163,231 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2025</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:114%">141,528 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2026</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:114%">63,966 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2027</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:114%">7,421 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2028</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:114%">496 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2029 and thereafter</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:114%">110 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">376,752 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 163231000 141528000 63966000 7421000 496000 110000 376752000 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenues by sales channel are as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">Three Months Ended</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2024</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">(in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Direct</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:114%">$</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:114%">80,126 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">75,093 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Partner</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:114%">65,679 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">55,590 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">145,805 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">130,683 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 80126000 75093000 65679000 55590000 145805000 130683000 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Deferred costs to obtain contracts are as follows:</span></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><td style="width:71.778%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.557%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">December 31,<br/>2023</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">(in thousands)</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:114%">Current</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:114%">$</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:114%">6,052 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">5,858 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Noncurrent</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:114%">$</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:114%">12,141 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">11,844 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 6052000 5858000 12141000 11844000 1600000 1400000 0 0 121800000 293700000 23500000 Intangible Assets, Net<div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets consist primarily of developed technology and patent licenses acquired from business or asset acquisitions. Acquired intangibles are amortized on a straight-line basis over the respective estimated useful lives of the assets.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying values of intangible assets are as follows:</span></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><td style="width:44.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.930%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.933%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" 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:114%">March 31, 2024</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">Weighted Average Life (Years)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:114%">Cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:115%">Accumulated Amortization</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Net Book Value</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:114%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">4.6</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">40,141 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">(31,368)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">8,773 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Patent licenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">14.0</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,387 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(1,346)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">41 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Assembled workforce</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2.0</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">359 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(270)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">89 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total intangibles subject to amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">41,887 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(32,984)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">8,903 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Intangible assets not subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">40 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">8,943 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top: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><td style="width:43.748%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" 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:114%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">Weighted Average Life (Years)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:114%">Cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:115%">Accumulated Amortization</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Net Book Value</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:114%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">4.6</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">40,141 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">(30,667)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">9,474 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Patent licenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">14.0</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,387 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(1,322)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">65 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Assembled workforce</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2.0</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">359 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(223)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">136 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total intangibles subject to amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">41,887 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(32,212)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">9,675 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Intangible assets not subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">40 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">9,715 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible asset amortization expense was $0.8 million and $0.8 million for the three months ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 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%">2023, respectively. Intangible asset amortization expenses were primarily recorded in cost of revenues in the condensed consolidated statements of operations.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, the Company expects amortization expense in future periods to be as follows:</span></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><td style="width:85.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">(in thousands)</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:114%">2024 (remaining nine months)</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:114%">$</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:114%">2,132 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2025</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:114%">2,556 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2026</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:114%">2,477 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2027</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:114%">1,738 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total expected future amortization expense</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">8,903 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The carrying values of intangible assets are as follows:</span></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><td style="width:44.051%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.930%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.933%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" 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:114%">March 31, 2024</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">Weighted Average Life (Years)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:114%">Cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:115%">Accumulated Amortization</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Net Book Value</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:114%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">4.6</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">40,141 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">(31,368)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">8,773 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Patent licenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">14.0</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,387 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(1,346)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">41 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Assembled workforce</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2.0</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">359 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(270)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">89 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total intangibles subject to amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">41,887 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(32,984)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">8,903 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Intangible assets not subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">40 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">8,943 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top: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><td style="width:43.748%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.085%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="15" 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:114%">December 31, 2023</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">(in thousands)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">Weighted Average Life (Years)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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:114%">Cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:115%">Accumulated Amortization</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">Net Book Value</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:114%">Developed technology</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">4.6</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">40,141 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">(30,667)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#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:114%">9,474 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Patent licenses</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">14.0</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">1,387 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(1,322)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">65 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Assembled workforce</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2.0</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">359 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">(223)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">136 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total intangibles subject to amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">41,887 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">(32,212)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">9,675 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Intangible assets not subject to amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">40 </span></td><td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 16.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total intangible assets, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">9,715 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> P4Y7M6D 40141000 31368000 8773000 P14Y 1387000 1346000 41000 P2Y 359000 270000 89000 41887000 32984000 8903000 40000 8943000 P4Y7M6D 40141000 30667000 9474000 P14Y 1387000 1322000 65000 P2Y 359000 223000 136000 41887000 32212000 9675000 40000 9715000 800000 800000 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, the Company expects amortization expense in future periods to be as follows:</span></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><td style="width:85.718%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">(in thousands)</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:114%">2024 (remaining nine months)</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:114%">$</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:114%">2,132 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2025</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:114%">2,556 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2026</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:114%">2,477 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">2027</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:114%">1,738 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.37pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Total expected future amortization expense</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">8,903 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2132000 2556000 2477000 1738000 8903000 Leases<div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company leases certain offices, computer equipment and its shared cloud platform facilities under non-cancelable operating leases for varying periods through 2029</span><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%">.</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> While under the Company's lease agreements the Company has options to extend its certain leases, the Company has not included renewal options in determining the lease terms for calculating its lease liabilities, as these options are not reasonably certain of being exercised. Lease expense was $3.8 million and $4.0 million for the three months ended</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">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%">2023, respectively.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to operating leases was as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2024</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2023</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">(in thousands)</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:114%">Cash payments included in the measurement of lease liabilities</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:114%">$</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:114%">3,621 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">3,905 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Lease liabilities arising from obtaining right-of-use assets</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:114%">$</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:114%">12,347 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted average remaining lease term and the weighted average discount rate of the Company's operating leases were as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Weighted average remaining lease term (years)</span></td><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:114%">4.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">3.1</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:114%">Weighted average discount rate</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:114%">6.7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">5.2 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">%</span></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of the Company's operating lease liabilities as of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> are as follows:</span></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><td style="width:83.748%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.052%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</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%">2024 (remaining nine months)</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%">9,402 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</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%">9,862 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,586 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</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%">8,532 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</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%">5,644 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2029 and thereafter</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,741 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;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="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,767 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: interest</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,937)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Present value of net minimum lease payments</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,830 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The operating lease payments in the table above exclude approximately </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$19.4 million</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> of legally binding minimum lease payments for a lease signed during the three months ended </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024 that</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> has yet to commence</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">.</span></div> 3800000 4000000 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental cash flow information related to operating leases was as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2024</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></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:10pt;font-weight:700;line-height:114%">2023</span></td></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></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:114%">(in thousands)</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:114%">Cash payments included in the measurement of lease liabilities</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:114%">$</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:114%">3,621 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">3,905 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Lease liabilities arising from obtaining right-of-use assets</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:114%">$</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:114%">12,347 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">$</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:114%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3621000 3905000 12347000 0 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The weighted average remaining lease term and the weighted average discount rate of the Company's operating leases were as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:114%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">Weighted average remaining lease term (years)</span></td><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:114%">4.1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">3.1</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:114%">Weighted average discount rate</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:114%">6.7 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">5.2 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:114%">%</span></td></tr></table></div> P4Y1M6D P3Y1M6D 0.067 0.052 <div style="margin-top:12pt;text-align:justify;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Maturities of the Company's operating lease liabilities as of </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> are as follows:</span></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><td style="width:83.748%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.052%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</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%">2024 (remaining nine months)</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%">9,402 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</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%">9,862 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,586 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</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%">8,532 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</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%">5,644 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2029 and thereafter</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,741 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;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="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">43,767 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: interest</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,937)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Present value of net minimum lease payments</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,830 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 9402000 9862000 8586000 8532000 5644000 1741000 43767000 5937000 37830000 19400000 Commitments and Contingencies<div style="margin-top:12pt;padding-left:13.5pt"><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:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company from time to time enters into certain types of contracts that contingently require it to indemnify various parties against claims from third parties. These contracts primarily relate to (i) the Company's bylaws, under which it must indemnify directors and executive officers, and</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">may indemnify other officers and employees, for liabilities arising out of their relationship, (ii) contracts under which the Company must indemnify directors and certain officers for liabilities arising out of their relationship, and (iii) contracts under which the Company</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">may</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">be required to indemnify customers or resellers from certain liabilities arising from potential infringement of intellectual property rights, as well as potential damages caused by limited product defects. To date, the Company has not incurred and has not recorded any liability in connection with such indemnifications.</span></div><div style="margin-top:12pt;padding-left:7.2pt;padding-right:7.2pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains director and officer insurance, which may</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">cover certain liabilities arising from its obligation to indemnify its directors.</span></div> Stockholders' Equity and Stock-based Compensation<div style="margin-top:12pt;padding-left:13.5pt"><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%">Equity Incentive Plans</span></div><div style="margin-top:12pt;padding-left:13.5pt"><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%">Restated 2012 Equity Incentive Plan</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 8, 2022 ("Effective Date"), the Company's stockholders approved the Amended and Restated 2012 Equity Incentive Plan (the "Restated 2012 Plan"). Under the Restated 2012 Plan, the Company is authorized to grant to eligible participants incentive stock options, nonstatutory stock options, restricted stock, restricted stock units ("RSUs"), stock appreciation rights, performance units and performance shares. Pursuant to the relevant plan provisions, 3,072 thousand shares were available for grant under the Restated 2012 Plan on the Effective Date. In addition, any outstanding awards or options granted under the previous version of the 2012 Equity Incentive Plan (“Previous 2012 Plan”) will be added back to the shares available for grant under the Restated 2012 Plan if they expire unexercised or are otherwise forfeited after the Effective Date. Any remaining shares available for grant under the Previous 2012 Plan as of the Effective Date were no longer available for future grants under the Restated 2012 Plan.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 1,660 thousand shares were available for grant under the Restated 2012 Plan.</span></div><div style="margin-top:12pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2021</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Employee Stock Purchase Plan</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 9, 2021, the Company’s stockholders approved the 2021 Employee Stock Purchase Plan (the “ESPP”). A total of 600 thousand shares were authorized for issuance to eligible participating employees upon adoption of the ESPP. The ESPP provides for consecutive 6-month offering periods beginning on or about August 16 and February 16 of each year. Eligible employees who elect to participate can contribute from 1% to 15% of their eligible compensation through payroll withholding. During any offering period, contribution rates cannot be changed. However, eligible employees may withdraw from the current offering period. Any contributions made prior to each purchase date in the case of withdrawal or termination of employment will be refunded. On each purchase date, eligible participating employees will purchase the shares at a price per share equal to 85% of the lesser of (i) the fair market value of the Company's stock on the first trading day of the offering period or (ii) the fair market value of the Company's stock on the purchase date (i.e., the last trading day of the offering period).</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> months ended March 31, 2024</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 29 thousand shares were issued in connection with the purchase of common stock by participating employees. As of </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, 465 thousand shares were available for future purchases.</span></div><div style="margin-top:12pt;padding-left:13.5pt"><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:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock options granted under the Restated 2012 Plan and Previous 2012 Plan (collectively, the Plans) generally vest based on continued service over four years and expire ten years from the date of grant. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of the Company’s stock option activity during 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%">three</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> months ended March 31, 2024 is as follows:</span></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><td style="width:42.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.994%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Outstanding Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Remaining<br/>Contractual Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate Intrinsic Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</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%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,447</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97.98 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">142,302 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">168.24 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(46)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60.33 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canceled</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119.79 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2024</span></td><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%">1,464</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">103.02 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">93,624 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested and expected to vest as of March 31, 2024</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #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%">1,293</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98.39 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.3</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88,616 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercisable as of March 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">771</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74.64 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.7</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,126 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">RSUs granted under the Plans generally only contain a service-based vesting condition that is typically satisfied over four years.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance-based Restricted Stock Units ("PRSUs") granted under the Plans contain both service-based and performance-based vesting conditions. During the three months ended March 31, 2024, the Company granted PRSUs to its executive officers and certain other members of its senior leadership team. The performance-based vesting condition is satisfied upon the achievement of certain Company annual performance targets, including revenue growth and adjusted EBITDA margin, set by the Compensation and Talent Committee of the board of directors of the Company. The target PRSUs are scheduled to vest in <span style="-sec-ix-hidden:f-764">three</span> equal annual installments over a three-year period. Each annual installments at 200% of the annual target will be considered granted when the performance targets for the corresponding performance year is determined and approved. The actual number of the PRSUs earned and eligible to vest ranges from 0% to 200% of the annual target number of PRSUs granted based on the weighted-average achievement of such Company annual performance metrics set for the corresponding annual performance period. The vesting and release of the first and second installment is capped at 100% of the target number at the end of the first and second year, respectively, with cumulative achievement over 100%, if any, to be vested and released at the end of the third year, together with the vesting of the third installment. For PRSUs granted under the Plans, any unvested PRSU award may be accelerated in part or in full upon the occurrence of certain events, such as death or disability, or a change in control, as defined in the grant agreement.</span></div><div style="margin-top:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of the Company’s RSU activity, inclusive of PRSU activity, during 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%">three</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> months ended March 31, 2024 is as follows:</span></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><td style="width:66.627%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:2.990%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.993%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Outstanding RSUs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value<br/>Per Share</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,074</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%">(1)</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%">133.60 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">187</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%">(2)</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%">168.24 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(149)</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%">(3)</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%">143.89 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(86)</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%">(4)</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%">135.63 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2024</span></td><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%">1,026</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%">(5)</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%">140.47 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding and expected to vest as of March 31, 2024</span></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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%">815</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">138.10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt;padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 139 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 156 thousand PRSUs granted to certain executive officers in the three months ended March 31, 2024.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 64 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 59 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 172 thousand PRSUs granted to certain executive officers in 2024, 2023, 2022 and 2021. </span></div><div style="margin-top:12pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-based Compensation</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows a summary of the stock-based compensation expense included in the condensed consolidated statements of operations:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenues</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%">2,020 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,592 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,303 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</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,739 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,454 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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%">7,969 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,027 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align: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 stock-based compensation, net of amounts capitalized (1)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,031 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,033 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;padding-left:31.5pt;text-align:justify;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Total stock-based compensation expense capitalized was de minimis during the three months ended March 31, 2024.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Of the total stock-based compensation expense in the table above, the Company recognized stock-based compensation expenses related to all PRSUs of $2.8 million and $1.3 million during the three months ended March 31, 2024 and 2023, respectively.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">March 31, 2024</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 Company had unrecognized stock-based compensation expenses of $23.7 million, $85.9 million, $11.9 million, and $0.8 million related to options, RSUs, performance-based RSUs, and ESPP purchase rights, respectively, which are expected to be recognized over weighted-average periods of 2.5 years, 2.6 years, 0.9 years, and 0.4 years, respectively.</span></div><div style="margin-top:12pt;padding-left:13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Share Repurchase Program</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's share repurchase program was authorized by the board of directors as follows: </span></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><td style="width:85.112%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Announcement Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Authorized Dollar Value</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in millions)</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%">February 12, 2018</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">October 30, 2018</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">October 30, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 7, 2020</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 10, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">November 3, 2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200.0 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 4, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 9, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 7, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total as of March 31, 2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,200.0 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Shares may be repurchased from time to time on the open market in accordance with Rule 10b-18 of the Exchange Act of 1934, including pursuant to a pre-set trading plan adopted in accordance with Rule 10b5-1 under the Exchange Act. All share repurchases have been made using cash resources. Repurchased shares are retired and reclassified as authorized and unissued shares of common stock. On retirement of the repurchased shares, common stock is reduced by an amount equal to the number of shares being retired multiplied by the par value. The excess amount that is retired over its par value </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">is first allocated as a reduction to additional paid-in capital based on the original cost of additional paid-in capital per share of identified issuances. The remaining amount is allocated to accumulated deficit.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three months ended March 31, 2024 and 2023, the Company repurchased 105 thousand shares and 584 thousand shares of its common stock for approximately </span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$18.0 million </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and $66.6 million, respectively. As of March 31, 2024, approximately $265.7 million remained available for share repurchases pursuant to the Company's share repurchase program.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Excise tax on stock repurchases net of issue was immaterial to the Company's financial results and cash flows for the three months ended March 31, 2024 and 2023 and the Company's financial position as of March 31, 2024 and December 31, 2023.</span></div> 3072000 1660000 600000 P6M 0.01 0.15 0.85 29000 465000 P4Y P10Y <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of the Company’s stock option activity during 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%">three</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> months ended March 31, 2024 is as follows:</span></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><td style="width:42.536%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.994%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Outstanding Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise<br/>Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Remaining<br/>Contractual Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate Intrinsic Value</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(Years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</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%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,447</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">97.98 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">142,302 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">89</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">168.24 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(46)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60.33 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Canceled</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26)</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">119.79 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2024</span></td><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%">1,464</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">103.02 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.6</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">93,624 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested and expected to vest as of March 31, 2024</span></td><td colspan="3" style="background-color:#ffffff;border-top:3pt double #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%">1,293</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98.39 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.3</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">88,616 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Exercisable as of March 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">771</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74.64 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.7</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,126 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 1447000 97.98 P6Y6M 142302000 89000 168.24 46000 60.33 26000 119.79 1464000 103.02 P6Y7M6D 93624000 1293000 98.39 P6Y3M18D 88616000 771000 74.64 P4Y8M12D 71126000 P4Y P3Y 2 0 2 1 1 <div style="margin-top:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A summary of the Company’s RSU activity, inclusive of PRSU activity, during 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%">three</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> months ended March 31, 2024 is as follows:</span></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><td style="width:66.627%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.990%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:2.990%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.993%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Outstanding RSUs</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value<br/>Per Share</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,074</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%">(1)</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%">133.60 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Granted</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">187</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%">(2)</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%">168.24 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Vested</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(149)</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%">(3)</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%">143.89 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(86)</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%">(4)</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%">135.63 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance as of March 31, 2024</span></td><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%">1,026</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%">(5)</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%">140.47 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Outstanding and expected to vest as of March 31, 2024</span></td><td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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%">815</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">138.10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt;padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 139 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 156 thousand PRSUs granted to certain executive officers in the three months ended March 31, 2024.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 64 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.</span></div><div style="padding-left:22.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Included 59 thousand PRSUs granted to certain executive officers in 2023, 2022 and 2021.</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(5)</span>Included 172 thousand PRSUs granted to certain executive officers in 2024, 2023, 2022 and 2021. 1074000 133.60 187000 168.24 149000 143.89 86000 135.63 1026000 140.47 815000 138.10 139000 139000 139000 156000 64000 64000 64000 59000 59000 59000 172000 172000 172000 172000 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows a summary of the stock-based compensation expense included in the condensed consolidated statements of operations:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenues</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%">2,020 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,592 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,303 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</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,739 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,454 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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%">7,969 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,027 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align: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 stock-based compensation, net of amounts capitalized (1)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,031 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,033 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;padding-left:31.5pt;text-align:justify;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:1.84pt">Total stock-based compensation expense capitalized was de minimis during the three months ended March 31, 2024.</span></div> 2020000 1592000 5303000 4960000 3739000 2454000 7969000 7027000 19031000 16033000 2800000 1300000 23700000 85900000 11900000 800000 P2Y6M P2Y7M6D P0Y10M24D P0Y4M24D <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's share repurchase program was authorized by the board of directors as follows: </span></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><td style="width:85.112%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.082%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Announcement Date</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Authorized Dollar Value</span></td></tr><tr><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in millions)</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%">February 12, 2018</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">October 30, 2018</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">October 30, 2019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 7, 2020</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 10, 2021</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">November 3, 2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200.0 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">May 4, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 9, 2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100.0 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">February 7, 2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200.0 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total as of March 31, 2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,200.0 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 100000000.0 100000000.0 100000000.0 100000000.0 100000000.0 200000000.0 200000000.0 100000000.0 200000000.0 1200000000 105000 584000 18000000 66600000 265700000 Income Taxes<div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's income tax provision for interim periods is determined using an estimate of its annual effective tax rate, adjusted for discrete items, if any, that arise during the period. Each quarter, the Company updates its estimate of the annual effective tax rate, and if the estimated annual effective tax rate changes, the Company makes a cumulative adjustment in such period.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company's quarterly tax provision, and estimate of its annual effective tax rate, is subject to variation due to several factors, including variability in pretax income (or loss), the mix of jurisdictions to which such income relates, changes in how the Company does business, tax law developments and possible outcomes of audits. The Company's estimated effective tax rate for the year differs from the U.S. statutory rate of 21% primarily due to non-deductible stock-based compensation expense, state taxes, the benefit of U.S. federal income tax credits, the impact of mandatory capitalization of research expenses for U.S. tax purposes, and the benefits related to foreign-derived intangible income deduction.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded an income tax provision of $9.8 million and $8.3 million for the three months ended March 31, 2024 and 2023, respectively, resulting in an effective tax rate of 19.7% and 22.1%, respectively. The increase in income tax provision for the three months ended March 31, 2024 compared to the three months ended March 31, 2023, was primarily due to tax effect of an increase in pretax income, partially offset by an increase in excess tax benefits arising from stock-based compensation and lower net capitalization of research and development expenses for tax purposes. </span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, the Company had unrecognized tax benefits of $11.2 million, of which $6.5 million, if recognized, would favorably impact the Company's effective tax rate. As of December 31, 2023, the Company had unrecognized tax benefits of $11.9 million, of which $6.1 million, if recognized, would favorably impact the Company's effective tax rate. The Company does not anticipate a material change in its unrecognized tax benefits in the next 12 months.</span></div> 9800000 8300000 0.197 0.221 11200000 6500000 11900000 6100000 Segment and Geographic Area Information<div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under ASC 280</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Segment Reporting, operating segments are defined as components of an entity about which separate financial information is evaluated regularly by the chief operating decision maker in deciding how to allocate resources and in assessing performance. The Company operates in one segment and has only one reportable segment. The Company’s chief operating decision maker is the Chief Executive Officer, who makes operating decisions, assesses performance and allocates resources on a consolidated basis. All of the Company’s principal operations and decision-making functions are located in the United States.</span></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue by geographic area, based on the customer's billing address, is as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align: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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#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,436 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78,016 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,369 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">145,805 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,683 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, which consist of Property and equipment, net and Operating leases - right of use asset, by geographic area, are as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31,<br/>2023</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#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%">39,325 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,622 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">India</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,223 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,952 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rest of world</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,014 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,416 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Long-lived Assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,562 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,990 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 1 1 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Revenue by geographic area, based on the customer's billing address, is as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align: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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#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,436 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">78,016 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Foreign</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,369 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,667 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">145,805 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130,683 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets, which consist of Property and equipment, net and Operating leases - right of use asset, by geographic area, are as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31,<br/>2023</span></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#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%">39,325 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,622 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">India</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,223 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,952 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Rest of world</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,014 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,416 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total Long-lived Assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,562 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54,990 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 86436000 78016000 59369000 52667000 145805000 130683000 39325000 42622000 20223000 9952000 2014000 2416000 61562000 54990000 Net Income Per Share<div style="margin-top:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The computations for basic and diluted net income per share are as follows: </span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands, except per share data)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td 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%">39,731 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,105 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic weighted average shares</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%">36,955 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,068 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of potentially dilutive shares:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock options</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%">471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">489 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units</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%">292 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Employee stock purchase plan</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted weighted average shares</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,723 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,669 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per share:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</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%">1.08 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.79 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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.05 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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%">0.77 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div><div style="margin-top:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potentially dilutive shares not included in the calculation of diluted net income per share because doing so would be anti-dilutive are as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align: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 colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">325</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">990</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">365</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Employee stock purchase plan</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total anti-dilutive shares</span></td><td colspan="3" style="background-color:#ffffff;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%">325</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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%">1,369</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> <div style="margin-top:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The computations for basic and diluted net income per share are as follows: </span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands, except per share data)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income</span></td><td 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%">39,731 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,105 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic weighted average shares</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%">36,955 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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,068 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 28pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of potentially dilutive shares:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock options</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%">471 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">489 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units</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%">292 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">110 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Employee stock purchase plan</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align: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 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted weighted average shares</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,723 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">37,669 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income per share:</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Basic</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%">1.08 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.79 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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.05 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #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%">0.77 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 39731000 29105000 36955000 37068000 471000 489000 292000 110000 5000 2000 37723000 37669000 1.08 0.79 1.05 0.77 <div style="margin-top:12pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Potentially dilutive shares not included in the calculation of diluted net income per share because doing so would be anti-dilutive are as follows:</span></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><td style="width:71.930%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.406%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.083%"></td><td style="width:0.1%"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="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%">2024</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align: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 colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">325</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">990</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">365</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Employee stock purchase plan</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total anti-dilutive shares</span></td><td colspan="3" style="background-color:#ffffff;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%">325</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;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%">1,369</span></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr></table></div> 325000 990000 0 365000 0 14000 325000 1369000 1200000000 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 23, 2024, Wendy M. Pfeiffer, a member of our board of directors, adopted a Rule 10b5-1 trading arrangement providing for the sale from time to time of an aggregate of up to 2,000 shares of our common stock. The trading arrangement is intended to satisfy the affirmative defense in Rule 10b5-1(c). The duration of the trading arrangement is until May 23, 2025, or earlier if all transactions under the trading arrangement are completed. Prior to entering into the new Rule 10b5-1 trading arrangement in February 2024, Ms. Pfeiffer’s previous Rule 10b5-1 trading arrangement expired according to its terms because all the transactions under the arrangement were completed.</span></div> February 23, 2024 Wendy M. Pfeiffer board of directors true 2000 <div style="margin-top:12pt;text-align:justify;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 28, 2024, Sumedh S. Thakar, our Chief Executive Officer and a member of our board of directors, adopted a Rule 10b5-1 trading arrangement providing for the sale from time to time of an aggregate of up to 114,000 shares of our common stock, which represents the gross number of shares authorized to be sold during the duration of the plan, before excluding any shares withheld by the company to satisfy its income tax withholding in connection with the net settlement of the equity awards. The trading arrangement is intended to satisfy the affirmative defense in Rule 10b5-1(c). The duration of the trading arrangement is until May 28, 2025, or earlier if all transactions under the trading arrangement are completed.</span></div> February 28, 2024 Sumedh S. Thakar Chief Executive Officer true 114000 false false false